/*
 * Legend Gold — тёмная тема личного кабинета в стиле лендинга Legend World: чёрный фон, золотой акцент, тонкие золотые линии.
 * Надстройка над styles.css: базовый файл подключается импортом, ниже идут только переопределения.
 * Переменные заданы с !important, поэтому тема остаётся тёмной при любом значении data-theme-mode.
 */
@import url("styles.css");

@font-face {
  font-family: "Reaver-Bold";
  src: url("../fonts/legend/Reaver-Bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Radiance";
  src: url("../fonts/legend/radiance.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@property --gold-orbit-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

:root {
  color-scheme: dark;

  --body-bg-rgb: 8, 8, 11 !important;
  --body-bg-rgb2: 16, 16, 20 !important;
  --primary-rgb: 232, 180, 92 !important;
  --secondary-rgb: 155, 146, 136 !important;
  --warning-rgb: 242, 140, 56 !important;
  --info-rgb: 118, 168, 204 !important;
  --success-rgb: 91, 200, 70 !important;
  --danger-rgb: 239, 106, 76 !important;
  --light-rgb: 24, 23, 28 !important;
  --dark-rgb: 244, 239, 230 !important;

  --default-font-family: "Radiance", "Segoe UI", system-ui, sans-serif !important;
  --default-font-weight: 400 !important;
  --default-body-bg-color: rgb(var(--body-bg-rgb)) !important;
  --default-text-color: #f4efe6 !important;
  --default-border: rgba(226, 196, 150, 0.16) !important;
  --default-background: rgba(255, 255, 255, 0.04) !important;
  --menu-bg: rgba(8, 8, 11, 0.55) !important;
  --menu-prime-color: #9b9288 !important;
  --menu-border-color: rgba(226, 196, 150, 0.16) !important;
  --header-bg: rgba(8, 8, 11, 0.72) !important;
  --header-prime-color: #9b9288 !important;
  --header-border-color: rgba(226, 196, 150, 0.16) !important;
  --custom-white: #101014 !important;
  --custom-black: #ffffff !important;
  --bootstrap-card-border: rgba(226, 196, 150, 0.16) !important;
  --list-hover-focus-bg: rgba(255, 255, 255, 0.06) !important;
  --text-muted: #9b9288 !important;
  --input-border: rgba(226, 196, 150, 0.22) !important;
  --form-control-bg: #121216 !important;
  --shadow-color: rgba(0, 0, 0, 0.42) !important;

  --white-1: rgba(0, 0, 0, 0.1) !important;
  --white-2: rgba(0, 0, 0, 0.2) !important;
  --white-3: rgba(0, 0, 0, 0.3) !important;
  --white-4: rgba(0, 0, 0, 0.4) !important;
  --white-5: rgba(0, 0, 0, 0.5) !important;
  --white-6: rgba(0, 0, 0, 0.6) !important;
  --white-7: rgba(0, 0, 0, 0.7) !important;
  --white-8: rgba(0, 0, 0, 0.8) !important;
  --white-9: rgba(0, 0, 0, 0.9) !important;
  --black-1: rgba(255, 255, 255, 0.05) !important;
  --black-2: rgba(255, 255, 255, 0.2) !important;
  --black-3: rgba(255, 255, 255, 0.3) !important;
  --black-4: rgba(255, 255, 255, 0.4) !important;
  --black-5: rgba(255, 255, 255, 0.5) !important;
  --black-6: rgba(255, 255, 255, 0.6) !important;
  --black-7: rgba(255, 255, 255, 0.7) !important;
  --black-8: rgba(255, 255, 255, 0.8) !important;
  --black-9: rgba(255, 255, 255, 0.9) !important;

  --bs-body-bg: #08080b;
  --bs-body-color: #f4efe6;
  --bs-border-color: rgba(226, 196, 150, 0.16);
  --bs-link-color-rgb: 232, 180, 92;
  --bs-link-hover-color-rgb: 246, 208, 138;

  --gold: #e8b45c;
  --gold-bright: #f6d08a;
  --gold-ink: #16110c;
  --gold-ink-soft: #c9bfb0;
  --gold-surface: rgba(16, 16, 20, 0.78);
  --gold-surface-solid: #101014;
  --gold-surface-raised: linear-gradient(180deg, rgba(26, 23, 30, 0.97), rgba(13, 13, 17, 0.97));
  --gold-field: rgba(255, 255, 255, 0.03);
  --gold-hover: rgba(255, 255, 255, 0.06);
  --gold-tint: rgba(232, 180, 92, 0.1);
  --gold-line: rgba(226, 196, 150, 0.16);
  --gold-line-strong: rgba(226, 196, 150, 0.38);
  --gold-hairline: linear-gradient(90deg, transparent, rgba(232, 180, 92, 0.45), transparent);
  --gold-online: #5bc846;
  --gold-warn: #ef6a4c;
  --gold-radius-large: 16px;
  --gold-radius: 12px;
  --gold-radius-small: 10px;
  --gold-font-display: "Reaver-Bold", "Times New Roman", serif;
  --gold-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
  --gold-shadow-raised: 0 18px 46px rgba(0, 0, 0, 0.55);
  --gold-glow: 0 18px 50px rgba(0, 0, 0, 0.5), 0 0 26px rgba(232, 180, 92, 0.16);
  --gold-focus-ring: 0 0 0 3px rgba(232, 180, 92, 0.22);
  --gold-ease: ease;
}

body {
  background-color: rgb(var(--body-bg-rgb));
  background-image:
    radial-gradient(ellipse 120% 90% at 50% 30%, transparent 35%, rgba(4, 4, 6, 0.85) 100%),
    linear-gradient(180deg, rgba(8, 8, 11, 0.55) 0%, rgba(8, 8, 11, 0.82) 45%, rgba(8, 8, 11, 0.96) 100%),
    url("../images/legend/header-bg.webp");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: var(--default-text-color);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body::before,
body::after {
  content: "";
  position: fixed;
  z-index: -1;
  pointer-events: none;
}

body::before {
  inset: 0;
  opacity: 0.09;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 0.9  0 0 0 0 0.75  0 0 0 0.9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

body::after {
  top: 0;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  box-shadow:
    6vw 12vh 0 0 rgba(246, 208, 138, 0.55), 14vw 64vh 1px 0 rgba(232, 180, 92, 0.35), 21vw 33vh 0 0 rgba(246, 208, 138, 0.4),
    29vw 88vh 2px 0 rgba(232, 180, 92, 0.5), 37vw 20vh 0 0 rgba(246, 208, 138, 0.3), 44vw 71vh 1px 0 rgba(232, 180, 92, 0.45),
    52vw 46vh 0 0 rgba(246, 208, 138, 0.5), 59vw 7vh 2px 0 rgba(232, 180, 92, 0.3), 66vw 92vh 0 0 rgba(246, 208, 138, 0.45),
    73vw 55vh 1px 0 rgba(232, 180, 92, 0.4), 81vw 28vh 0 0 rgba(246, 208, 138, 0.55), 88vw 79vh 2px 0 rgba(232, 180, 92, 0.35),
    95vw 41vh 0 0 rgba(246, 208, 138, 0.4), 10vw 96vh 1px 0 rgba(232, 180, 92, 0.3), 48vw 3vh 0 0 rgba(246, 208, 138, 0.35),
    6vw 112vh 0 0 rgba(246, 208, 138, 0.55), 14vw 164vh 1px 0 rgba(232, 180, 92, 0.35), 21vw 133vh 0 0 rgba(246, 208, 138, 0.4),
    29vw 188vh 2px 0 rgba(232, 180, 92, 0.5), 37vw 120vh 0 0 rgba(246, 208, 138, 0.3), 44vw 171vh 1px 0 rgba(232, 180, 92, 0.45),
    52vw 146vh 0 0 rgba(246, 208, 138, 0.5), 59vw 107vh 2px 0 rgba(232, 180, 92, 0.3), 66vw 192vh 0 0 rgba(246, 208, 138, 0.45),
    73vw 155vh 1px 0 rgba(232, 180, 92, 0.4), 81vw 128vh 0 0 rgba(246, 208, 138, 0.55), 88vw 179vh 2px 0 rgba(232, 180, 92, 0.35),
    95vw 141vh 0 0 rgba(246, 208, 138, 0.4), 10vw 196vh 1px 0 rgba(232, 180, 92, 0.3), 48vw 103vh 0 0 rgba(246, 208, 138, 0.35);
  animation: gold-sparks 48s linear infinite;
}

@keyframes gold-sparks {
  to { transform: translateY(-100vh); }
}

/* Страницы входа и регистрации: собственная картинка убрана, виден общий фон темы */
body > div.bg-with-overlay:has(.authentication),
body > div:has(form[action="/registration/user"]) {
  background: none !important;
}

body > div.bg-with-overlay:has(.authentication)::before,
body > div:has(form[action="/registration/user"])::before {
  display: none;
}

/* Страницы входа и регистрации: кнопки и заголовок в стиле темы */
html body .authentication .card .h5 {
  font-family: var(--gold-font-display);
  font-size: 1.05rem;
  font-weight: 400 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

html body .authentication .text-info {
  color: var(--gold) !important;
}

html body .authentication .btn.btn-success {
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold-ink) !important;
  box-shadow: 0 12px 40px rgba(232, 180, 92, 0.28) !important;
}

html body .authentication .btn.btn-success:hover,
html body .authentication .btn.btn-success:focus-visible {
  background: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  box-shadow: 0 0 30px rgba(246, 208, 138, 0.45), 0 12px 40px rgba(232, 180, 92, 0.35) !important;
  transform: translateY(-2px);
}

html body .authentication .btn.btn-dark,
html body .authentication .btn.btn-primary-transparent,
html body .authentication .btn[class*="-gradient"] {
  padding: 0.7rem 1.1rem !important;
  background: var(--gold-field) !important;
  border: 1px solid var(--gold-line-strong) !important;
  color: var(--gold) !important;
  font-size: 0.72rem !important;
  box-shadow: none !important;
}

html body .authentication .btn.label-btn {
  padding-inline-start: 3rem !important;
}

html body .authentication .btn.btn-dark *,
html body .authentication .btn.btn-primary-transparent *,
html body .authentication .btn[class*="-gradient"] * {
  color: inherit !important;
}

html body .authentication .btn.btn-dark:hover,
html body .authentication .btn.btn-dark:focus-visible,
html body .authentication .btn.btn-primary-transparent:hover,
html body .authentication .btn.btn-primary-transparent:focus-visible,
html body .authentication .btn[class*="-gradient"]:hover,
html body .authentication .btn[class*="-gradient"]:focus-visible {
  background: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
  box-shadow: none !important;
  transform: none;
}

h1, h2, h3, h4,
.h1, .h2, .h3, .h4,
.page-title,
.card-title,
.modal-title,
.offcanvas-title {
  font-family: var(--gold-font-display);
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

h5, h6,
.h5, .h6 {
  color: var(--default-text-color);
}

a {
  transition: color 0.2s var(--gold-ease);
}

a:where(:not(.btn, .dropdown-item, .side-menu__item, .nav-link, .page-link, .list-group-item, .header-link)):hover {
  color: var(--gold-bright);
}

hr {
  border-color: var(--gold-line);
  opacity: 1;
}

::selection {
  background: rgba(232, 180, 92, 0.3);
  color: #ffffff;
}

/* Шапка */
.app-header {
  background: var(--header-bg);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  backdrop-filter: blur(18px) saturate(1.2);
  border-block-end: 1px solid var(--gold-line);
  box-shadow: none;
}

.app-header .main-header-container {
  min-height: 4.25rem;
}

.app-header .header-content-left,
.app-header .header-content-right,
.app-header .header-element {
  align-items: center;
}

.app-header .header-content-right {
  gap: 0.35rem;
}

.app-header .header-link {
  border: 1px solid transparent;
  border-radius: var(--gold-radius-small);
  color: var(--text-muted);
  transition: color 0.2s var(--gold-ease), border-color 0.2s var(--gold-ease), background-color 0.2s var(--gold-ease);
}

.app-header .header-link:hover,
.app-header .header-link.show {
  color: var(--gold);
  border-color: var(--gold-line);
  background-color: rgba(255, 255, 255, 0.04);
}

.app-header .header-link-icon,
.app-header .animated-arrow span,
.app-header .animated-arrow span:before,
.app-header .animated-arrow span:after {
  color: var(--text-muted);
}

.app-header .animated-arrow span,
.app-header .animated-arrow span:before,
.app-header .animated-arrow span:after {
  background-color: var(--text-muted);
}

.app-header .animated-arrow:hover span,
.app-header .animated-arrow:hover span:before,
.app-header .animated-arrow:hover span:after {
  background-color: var(--gold);
}

.app-header .server-btn-shadow,
.app-header #mainHeaderProfile {
  background: var(--gold-field);
  border: 1px solid var(--gold-line);
  box-shadow: none;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  color: var(--default-text-color);
}

.app-header .server-btn-shadow:hover,
.app-header #mainHeaderProfile:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--gold-line-strong);
  transform: none;
}

.app-header .header-link.bg-info-transparent {
  border: 1px solid var(--gold-line-strong);
  border-radius: var(--gold-radius-small);
  padding: 0.5rem 1rem;
  background-color: var(--gold-field) !important;
  color: var(--gold) !important;
  font-family: var(--gold-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.app-header .header-link.bg-info-transparent:hover {
  background-color: var(--gold-bright) !important;
  border-color: var(--gold-bright);
  color: var(--gold-ink) !important;
}

.app-header .header-link.bg-info-transparent .text-info {
  color: inherit !important;
}

.app-header .user_self_avatar {
  box-shadow: 0 0 0 2px var(--gold-surface-solid), 0 0 0 3px var(--gold-line-strong);
}

/* Боковое меню */
.app-sidebar,
.app-sidebar .main-sidebar-header {
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  backdrop-filter: blur(18px) saturate(1.2);
  background: var(--menu-bg) !important;
}

.app-sidebar::before,
.app-sidebar::after {
  display: none !important;
}

.app-sidebar {
  border-inline-end: 1px solid var(--gold-line);
  box-shadow: none;
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  backdrop-filter: blur(18px) saturate(1.2);
}

.app-sidebar .main-sidebar-header {
  border-block-end: 1px solid var(--gold-line);
  border-inline-end: 1px solid var(--gold-line);
}

.app-sidebar .main-menu {
  padding-inline: 0.75rem;
}

.app-sidebar .slide {
  margin-block: 2px;
  box-shadow: none;
}

.app-sidebar .slide.glow-element:not(.glow-red):not(.glow-green):hover {
  box-shadow: 0 0 18px rgba(232, 180, 92, 0.3);
}

.app-sidebar .side-menu__item {
  border-radius: var(--gold-radius-small);
  padding: 0.7rem 0.85rem;
  font-family: var(--gold-font-display);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--menu-prime-color) !important;
  transition: background-color 0.2s var(--gold-ease), color 0.2s var(--gold-ease), box-shadow 0.2s var(--gold-ease);
}

.app-sidebar .side-menu__item .side-menu__label {
  color: inherit !important;
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  line-height: 1.35;
}

.app-sidebar .side-menu__item .side-menu__icon {
  color: var(--menu-prime-color) !important;
  fill: var(--menu-prime-color) !important;
  font-size: 1.05rem;
  transition: color 0.2s var(--gold-ease);
}

.app-sidebar .side-menu__item:hover {
  background-color: var(--gold-hover) !important;
  color: var(--default-text-color) !important;
}

.app-sidebar .side-menu__item:hover .side-menu__icon {
  color: var(--default-text-color) !important;
  fill: var(--default-text-color) !important;
}

.app-sidebar .side-menu__item.active {
  background-color: var(--gold-tint) !important;
  color: var(--gold) !important;
  box-shadow: inset 2px 0 0 var(--gold);
}

.app-sidebar .side-menu__item.active .side-menu__icon {
  color: var(--gold) !important;
  fill: var(--gold) !important;
}

.app-sidebar .side-menu__item.text-success {
  background: var(--gold) !important;
  color: var(--gold-ink) !important;
  box-shadow: 0 12px 40px rgba(232, 180, 92, 0.28);
}

.app-sidebar .side-menu__item.text-success .side-menu__icon {
  color: var(--gold-ink) !important;
  fill: var(--gold-ink) !important;
}

.app-sidebar .side-menu__item.text-success:hover {
  background: var(--gold-bright) !important;
}

.app-sidebar .slide__category {
  padding: 1.1rem 0.85rem 0.4rem;
}

.app-sidebar .category-name {
  font-family: var(--gold-font-display);
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.75;
}

.app-sidebar .side-menu__item .badge {
  flex: 0 0 auto;
  margin-inline-start: 0.5rem !important;
  font-family: var(--default-font-family);
  letter-spacing: 0;
}

.app-sidebar .slide-left svg,
.app-sidebar .slide-right svg {
  fill: var(--text-muted);
}

/* Карточка сервера в боковом меню */
.app-sidebar .legend-server {
  position: relative;
  margin: 0.75rem;
  padding: 14px 14px 12px;
  border: 1px solid var(--gold-line);
  border-radius: var(--gold-radius-large);
  background-color: rgba(16, 16, 20, 0.6);
  background-image: var(--gold-hairline), radial-gradient(12rem 7rem at 100% 0, rgba(232, 180, 92, 0.14), transparent 70%);
  background-size: 100% 1px, 100% 100%;
  background-repeat: no-repeat;
  transition: border-color 0.3s var(--gold-ease), box-shadow 0.3s var(--gold-ease);
}

.app-sidebar .legend-server:hover,
.app-sidebar .legend-server.is-current {
  border-color: var(--gold-line-strong);
}

.app-sidebar .legend-server:hover {
  box-shadow: 0 0 26px rgba(232, 180, 92, 0.16);
}

.app-sidebar .legend-server__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.app-sidebar .legend-server__name {
  min-width: 0;
  overflow: hidden;
  font-family: var(--gold-font-display);
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--default-text-color);
}

.app-sidebar .legend-server__state {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  padding: 3px 9px 3px 8px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-family: var(--gold-font-display);
  font-size: 0.56rem;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.app-sidebar .legend-server__state.is-online {
  color: var(--gold-online);
  border-color: rgba(91, 200, 70, 0.4);
}

.app-sidebar .legend-server__state.is-offline {
  color: var(--gold-warn);
  border-color: rgba(239, 106, 76, 0.4);
}

.app-sidebar .legend-server__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: currentColor;
}

.app-sidebar .legend-server__state.is-online .legend-server__dot {
  animation: gold-status-pulse 2s ease-out infinite;
}

.app-sidebar .legend-server__rates {
  margin-top: 5px;
  font-family: var(--gold-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}

.app-sidebar .legend-server__rule {
  position: relative;
  height: 1px;
  margin: 12px 0 11px;
  background: linear-gradient(90deg, transparent, var(--gold-line-strong) 30%, var(--gold-line-strong) 70%, transparent);
}

.app-sidebar .legend-server__gem {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  background: var(--gold);
  box-shadow: 0 0 10px rgba(232, 180, 92, 0.7);
  transform: translate(-50%, -50%) rotate(45deg);
}

.app-sidebar .legend-server__facts {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.78rem;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  color: var(--default-text-color);
}

.app-sidebar .legend-server__facts > :only-child {
  margin-inline: auto;
}

.app-sidebar .legend-server__fact {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.app-sidebar .legend-server__fact i {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.app-sidebar .legend-server__launcher {
  display: block;
  margin-top: 11px;
  padding: 7px 10px;
  border: 1px solid var(--gold-line-strong);
  border-radius: var(--gold-radius-small);
  font-family: var(--gold-font-display);
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-align: center;
  text-transform: uppercase;
  color: var(--gold);
  transition: background-color 0.2s var(--gold-ease), color 0.2s var(--gold-ease), border-color 0.2s var(--gold-ease);
}

.app-sidebar .legend-server__launcher:hover {
  border-color: var(--gold-bright);
  background-color: var(--gold-bright);
  color: var(--gold-ink);
}

@keyframes gold-status-pulse {
  0% { box-shadow: 0 0 0 0 rgba(91, 200, 70, 0.55); }
  70% { box-shadow: 0 0 0 8px rgba(91, 200, 70, 0); }
  100% { box-shadow: 0 0 0 0 rgba(91, 200, 70, 0); }
}

/* Карточки */
.card,
.card.custom-card {
  border-radius: var(--gold-radius-large);
  border: 1px solid var(--gold-line);
  background-color: var(--gold-surface);
  background-image: var(--gold-hairline);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  box-shadow: none;
  color: var(--default-text-color);
  transition: border-color 0.3s var(--gold-ease), box-shadow 0.3s var(--gold-ease);
}

.card.custom-card:hover {
  border-color: var(--gold-line-strong);
  box-shadow: var(--gold-glow);
}

.card.custom-card .card-header {
  padding: 1.1rem 1.35rem;
  border-block-end: 1px solid var(--gold-line);
  background-color: transparent;
}

.card.custom-card .card-header:first-child {
  border-radius: var(--gold-radius-large) var(--gold-radius-large) 0 0;
}

.card > .card-header .card-title,
.card.custom-card .card-header .card-title {
  position: relative;
  margin: 0;
  padding-inline-start: 1.15rem;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold);
}

.card.custom-card .card-header .card-title:before {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0.1rem;
  inset-block-start: 50%;
  width: 7px;
  height: 7px;
  border-radius: 0;
  background: var(--gold);
  box-shadow: 0 0 10px rgba(232, 180, 92, 0.6);
  transform: translateY(-50%) rotate(45deg);
}

.card.custom-card .card-body {
  padding: 1.35rem;
  color: var(--default-text-color);
}

.card.custom-card .card-footer {
  padding: 1rem 1.35rem;
  border-block-start: 1px solid var(--gold-line);
  background-color: var(--gold-field) !important;
  border-radius: 0 0 var(--gold-radius-large) var(--gold-radius-large);
}

.card-img-top {
  border-start-start-radius: var(--gold-radius-large);
  border-start-end-radius: var(--gold-radius-large);
}

.card-title {
  color: var(--gold);
}

.card-text {
  color: var(--gold-ink-soft);
}

/* Кнопки */
.btn {
  border-radius: var(--gold-radius-small);
  font-family: var(--gold-font-display);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.7rem 1.1rem;
  transition: background-color 0.2s var(--gold-ease), color 0.2s var(--gold-ease), border-color 0.2s var(--gold-ease), transform 0.25s var(--gold-ease), box-shadow 0.25s var(--gold-ease);
}

.btn:active {
  transform: translateY(1px);
}

.btn:focus-visible {
  box-shadow: var(--gold-focus-ring);
}

.btn-sm {
  border-radius: 8px;
  font-size: 0.64rem;
  padding: 0.45rem 0.75rem;
}

.btn-lg {
  border-radius: var(--gold-radius);
  font-size: 0.82rem;
  letter-spacing: 0.16em;
  padding: 0.95rem 1.6rem;
}

.btn-icon {
  padding: 0;
}

.btn.label-btn {
  padding-inline-start: 3rem;
}

.btn.label-btn.label-end {
  padding-inline-start: 1.1rem;
  padding-inline-end: 3rem;
}

.btn.label-btn .label-btn-icon,
.btn.label-btn .label-action-icon {
  width: 2.9rem;
  font-size: 1.25rem;
}

.btn-primary,
.btn-check:checked + .btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-primary-light:hover,
.btn-primary-light:focus,
.btn-primary-light:active {
  background-color: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--gold-ink) !important;
}

.btn-primary {
  position: relative;
  isolation: isolate;
  box-shadow: 0 12px 40px rgba(232, 180, 92, 0.2);
}

.btn-primary::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  padding: 2px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--gold-orbit-angle),
    #6b4514 0deg,
    #6b4514 100deg,
    #fff6dc 172deg,
    #6b4514 180deg,
    #6b4514 280deg,
    #fff6dc 352deg,
    #6b4514 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s var(--gold-ease);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background-color: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
  box-shadow: 0 0 30px rgba(246, 208, 138, 0.45), 0 12px 40px rgba(232, 180, 92, 0.35);
  transform: translateY(-2px);
}

.btn-primary:hover::before,
.btn-primary:focus-visible::before {
  opacity: 1;
  animation: gold-orbit 2.4s linear infinite;
}

@keyframes gold-orbit {
  to { --gold-orbit-angle: 360deg; }
}

.btn-outline-primary,
.btn-primary-light,
.btn-primary-transparent {
  background-color: var(--gold-field) !important;
  border: 1px solid var(--gold-line-strong) !important;
  color: var(--gold) !important;
}

.btn-primary-transparent:hover {
  background-color: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
}

.btn-light,
.btn-secondary,
.btn-outline-light,
.btn-outline-secondary,
.btn-default {
  background-color: var(--gold-field) !important;
  border: 1px solid var(--gold-line) !important;
  color: var(--default-text-color) !important;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-outline-light:hover,
.btn-outline-secondary:hover,
.btn-default:hover {
  background-color: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
}

.btn-dark {
  background-color: #1c1b21 !important;
  border: 1px solid var(--gold-line-strong) !important;
  color: var(--gold) !important;
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
  background-color: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
}

.btn-success,
.btn-warning,
.btn-info {
  color: var(--gold-ink) !important;
}

.btn-link {
  color: var(--gold);
}

.btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
  opacity: 0.6;
}

.btn-close:hover {
  opacity: 1;
}

.bg-primary,
.badge.bg-primary {
  color: var(--gold-ink) !important;
}

.bg-primary .text-fixed-white,
.bg-primary.text-fixed-white,
.bg-primary .text-white {
  color: var(--gold-ink) !important;
}

/* Формы */
.form-control,
.form-select,
.choices__inner {
  border-radius: var(--gold-radius-small) !important;
  border-color: var(--input-border);
  background-color: var(--form-control-bg);
  color: var(--default-text-color);
  transition: border-color 0.2s var(--gold-ease), box-shadow 0.2s var(--gold-ease);
}

.form-control,
.form-select {
  padding: 0.6rem 0.9rem;
}

.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23e8b45c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}

.form-control:hover,
.form-select:hover {
  border-color: var(--gold-line-strong);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--gold);
  box-shadow: var(--gold-focus-ring);
  background-color: var(--form-control-bg);
  color: var(--default-text-color);
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
  background-color: rgba(255, 255, 255, 0.02);
  color: var(--text-muted);
}

.form-control::placeholder {
  color: #6f685f;
}

.form-label {
  font-family: var(--gold-font-display);
  font-size: 0.66rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-block-end: 0.45rem;
}

.form-text {
  color: var(--text-muted) !important;
}

.input-group > :first-child {
  border-start-start-radius: var(--gold-radius-small) !important;
  border-end-start-radius: var(--gold-radius-small) !important;
}

.input-group > :last-child {
  border-start-end-radius: var(--gold-radius-small) !important;
  border-end-end-radius: var(--gold-radius-small) !important;
}

.input-group > :not(:first-child) {
  border-start-start-radius: 0 !important;
  border-end-start-radius: 0 !important;
}

.input-group > :not(:last-child) {
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

.input-group-text {
  background-color: var(--gold-hover);
  border-color: var(--input-border);
  color: var(--gold);
}

.form-check-input {
  background-color: var(--form-control-bg);
  border-color: var(--gold-line-strong);
}

.form-check-input:checked {
  background-color: var(--gold);
  border-color: var(--gold);
}

.form-check-input:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%2316110c' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked[type="radio"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%2316110c'/%3e%3c/svg%3e");
}

.form-check-input:focus {
  border-color: var(--gold);
  box-shadow: var(--gold-focus-ring);
}

.choices__list--dropdown,
.choices__list[aria-expanded] {
  border-color: var(--gold-line) !important;
  border-radius: var(--gold-radius-small) !important;
  background: var(--gold-surface-solid) !important;
  box-shadow: var(--gold-shadow-raised);
}

.choices__list--dropdown .choices__item--selectable.is-highlighted,
.choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background-color: var(--gold-tint) !important;
  color: var(--gold) !important;
}

/* Таблицы */
.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--default-text-color);
  --bs-table-striped-color: var(--default-text-color);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.025);
  --bs-table-hover-color: var(--default-text-color);
  --bs-table-hover-bg: rgba(232, 180, 92, 0.06);
  --bs-table-border-color: var(--gold-line);
  color: var(--default-text-color);
  border-color: var(--gold-line);
}

.table thead th {
  font-family: var(--gold-font-display);
  font-size: 0.64rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  background-color: var(--gold-field);
  border-block-end: 1px solid var(--gold-line);
  padding-block: 0.85rem;
}

.table td,
.table th {
  padding-inline: 1rem;
  vertical-align: middle;
}

.table tbody td {
  padding-block: 0.85rem;
  border-color: var(--gold-line);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: rgba(232, 180, 92, 0.06);
  --bs-table-bg-state: rgba(232, 180, 92, 0.06);
  background-color: rgba(232, 180, 92, 0.06);
  color: var(--default-text-color);
}

.table-responsive {
  border-radius: var(--gold-radius);
}

.table.table-bordered.border-primary {
  border-color: var(--gold-line) !important;
}

/* Значки, уведомления */
.badge {
  border-radius: 999px;
  padding: 0.32rem 0.6rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.alert {
  border-radius: var(--gold-radius);
  padding: 0.85rem 1.1rem;
  border-width: 1px;
  background-color: var(--gold-field);
  border-color: var(--gold-line);
  color: var(--default-text-color);
}

.alert-primary,
.alert-warning {
  background-color: var(--gold-tint);
  border-color: var(--gold-line-strong);
  color: var(--gold-bright);
}

.alert-success {
  background-color: rgba(var(--success-rgb), 0.1);
  border-color: rgba(var(--success-rgb), 0.35);
  color: #9be08d;
}

.alert-danger {
  background-color: rgba(var(--danger-rgb), 0.1);
  border-color: rgba(var(--danger-rgb), 0.4);
  color: #f6a591;
}

.alert-info {
  background-color: rgba(var(--info-rgb), 0.1);
  border-color: rgba(var(--info-rgb), 0.35);
  color: #a9cfe8;
}

.alert-dark,
.alert-light,
.alert-secondary {
  background-color: var(--gold-field);
  border-color: var(--gold-line);
  color: var(--gold-ink-soft);
}

.toast {
  border-radius: var(--gold-radius-large);
  border: 1px solid var(--gold-line);
  background: var(--gold-surface-raised);
  box-shadow: var(--gold-shadow-raised);
  color: var(--default-text-color);
}

.toast .toast-header {
  background-color: transparent;
  border-block-end: 1px solid var(--gold-line);
  color: var(--gold);
}

/* Всплывающие слои */
.dropdown-menu {
  border-radius: var(--gold-radius);
  border: 1px solid var(--gold-line);
  background: rgba(8, 8, 11, 0.94);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.42);
  padding: 6px;
  overflow: hidden;
}

.dropdown-menu.pt-0 {
  padding-block-start: 6px !important;
}

.dropdown-item {
  border-radius: 8px;
  padding: 0.55rem 0.75rem;
  color: var(--text-muted);
  transition: color 0.2s var(--gold-ease), background-color 0.2s var(--gold-ease);
}

.dropdown-item:hover,
.dropdown-item:focus,
.app-header .dropdown-item:hover {
  background-color: var(--gold-hover) !important;
  color: var(--default-text-color) !important;
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--gold-tint) !important;
  color: var(--gold) !important;
}

.dropdown-divider {
  border-color: var(--gold-line);
}

.dropdown-menu .drop-heading {
  padding: 0.75rem;
  border-block-end: 1px solid var(--gold-line);
  margin-block-end: 6px;
}

.modal-backdrop.show {
  opacity: 1;
  background-color: rgba(4, 4, 6, 0.72);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.modal-content,
.offcanvas {
  border-radius: var(--gold-radius-large);
  border: 1px solid var(--gold-line);
  background: var(--gold-surface-raised);
  box-shadow: var(--gold-shadow-raised);
  color: var(--default-text-color);
  overflow: hidden;
}

.offcanvas {
  border-radius: 0;
}

.modal-header,
.offcanvas-header {
  padding: 1.1rem 1.35rem;
  border-block-end: 1px solid var(--gold-line);
  background-image: var(--gold-hairline);
  background-size: 100% 1px;
  background-repeat: no-repeat;
}

.modal-header .modal-title {
  font-size: 0.95rem;
  color: var(--gold);
}

.modal-body {
  padding: 1.35rem;
}

.modal-footer {
  padding: 1rem 1.35rem;
  background-color: var(--gold-field);
  border-block-start: 1px solid var(--gold-line);
}

.tooltip .tooltip-inner {
  border: 1px solid var(--gold-line-strong);
  border-radius: 8px;
  background-color: #0d0d11;
  color: var(--default-text-color);
  padding: 0.4rem 0.65rem;
}

.tooltip .tooltip-arrow {
  display: none;
}

.popover {
  border-radius: var(--gold-radius);
  border-color: var(--gold-line);
  background: var(--gold-surface-solid);
  box-shadow: var(--gold-shadow-raised);
}

.popover .popover-header {
  background-color: transparent;
  border-color: var(--gold-line);
  color: var(--gold);
}

.popover .popover-body {
  color: var(--default-text-color);
}

.swal2-popup {
  border: 1px solid var(--gold-line);
  border-radius: var(--gold-radius-large) !important;
  background: var(--gold-surface-raised) !important;
  color: var(--default-text-color) !important;
}

.swal2-title,
.swal2-html-container {
  color: var(--default-text-color) !important;
}

/* Навигация внутри страниц */
.nav-tabs {
  border-block-end: 0;
  gap: 8px;
  padding: 0;
  background-color: transparent;
}

.nav-tabs .nav-link {
  border: 1px solid var(--gold-line);
  border-radius: var(--gold-radius);
  background: var(--gold-surface);
  color: var(--text-muted);
  font-family: var(--gold-font-display);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.7rem 1rem;
  transition: border-color 0.2s var(--gold-ease), background-color 0.2s var(--gold-ease), color 0.2s var(--gold-ease);
}

.nav-tabs .nav-link:hover {
  border-color: var(--gold-line-strong);
  background: var(--gold-surface);
  color: var(--default-text-color);
}

.nav-tabs .nav-link.active {
  border-color: var(--gold);
  background: var(--gold-tint);
  color: var(--gold);
  box-shadow: inset 0 2px 0 var(--gold);
}

.nav-pills .nav-link {
  border-radius: var(--gold-radius-small);
  color: var(--text-muted);
}

.nav-pills .nav-link:hover {
  color: var(--default-text-color);
}

.nav-pills .nav-link.active:not(.side-menu__item) {
  background-color: var(--gold-tint);
  color: var(--gold);
  box-shadow: inset 0 0 0 1px var(--gold);
}

.tab-content {
  color: var(--default-text-color);
}

.pagination {
  gap: 0.25rem;
}

.pagination .page-link {
  border-radius: 8px !important;
  border-color: transparent;
  color: var(--text-muted);
  background-color: transparent;
  font-family: var(--gold-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.pagination .page-link:hover {
  border-color: var(--gold-line);
  background-color: var(--gold-hover);
  color: var(--default-text-color);
}

.pagination .page-item.active .page-link {
  background-color: var(--gold);
  border-color: var(--gold);
  color: var(--gold-ink);
}

.pagination .page-item.disabled .page-link {
  background-color: transparent;
  color: #5f5850;
}

.list-group {
  border-radius: var(--gold-radius);
}

.list-group-item {
  border-color: var(--gold-line);
  background-color: transparent;
  color: var(--default-text-color);
  padding: 0.85rem 1.1rem;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
  background-color: var(--gold-hover);
  color: var(--default-text-color);
}

.list-group-item.active {
  background-color: var(--gold-tint) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

.progress {
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.07);
}

.progress-bar {
  border-radius: 999px;
}

.progress-bar:not([class*="bg-"]) {
  background-color: var(--gold);
}

.accordion-item {
  border-color: var(--gold-line);
  background-color: transparent;
  color: var(--default-text-color);
}

.accordion-button {
  background-color: var(--gold-field);
  color: var(--default-text-color);
}

.accordion-button:not(.collapsed) {
  background-color: var(--gold-tint);
  color: var(--gold);
  box-shadow: inset 0 -1px 0 var(--gold-line);
}

.accordion-button::after {
  filter: invert(1) sepia(1) saturate(2.5) hue-rotate(-12deg);
}

.accordion-button:focus {
  border-color: var(--gold-line-strong);
  box-shadow: none;
}

.accordion-item:first-of-type,
.accordion-item:first-of-type .accordion-button {
  border-start-start-radius: var(--gold-radius);
  border-start-end-radius: var(--gold-radius);
}

.accordion-item:last-of-type,
.accordion-item:last-of-type .accordion-button.collapsed {
  border-end-start-radius: var(--gold-radius);
  border-end-end-radius: var(--gold-radius);
}

.avatar {
  border-radius: var(--gold-radius-small);
}

.avatar.avatar-rounded,
.avatar.rounded-circle {
  border-radius: 50%;
}

.scrollToTop {
  border: 1px solid var(--gold-line-strong);
  border-radius: var(--gold-radius-small);
  background-color: var(--gold-surface-solid);
  color: var(--gold);
  box-shadow: 0 12px 40px rgba(232, 180, 92, 0.2);
}

.page-header .page-title {
  font-size: 1.25rem;
  color: var(--default-text-color);
}

.breadcrumb-item,
.breadcrumb-item a {
  font-family: var(--gold-font-display);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.breadcrumb-item.active,
.breadcrumb-item a:hover {
  color: var(--gold);
}

.footer {
  border-block-start: 1px solid var(--gold-line);
  background-color: transparent !important;
  color: var(--text-muted);
}

.shadow,
.shadow-sm,
.shadow-lg {
  box-shadow: var(--gold-shadow-raised) !important;
}

.text-default,
.text-dark {
  color: var(--default-text-color) !important;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

/* Пополнение баланса */
#numberOfCoinsPurchased {
  font-family: var(--gold-font-display);
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  background-color: transparent;
  color: var(--gold);
  box-shadow: none;
}

.input-group:has(> #numberOfCoinsPurchased) {
  padding: 0.3rem;
  gap: 0.3rem;
  border-color: var(--input-border) !important;
  border-radius: var(--gold-radius) !important;
  background-color: var(--gold-field);
}

.input-group:has(> #numberOfCoinsPurchased) > .btn {
  flex: 0 0 2.6rem !important;
  height: 2.6rem;
  padding: 0;
  border-radius: var(--gold-radius-small) !important;
  background-image: none;
  background-color: var(--gold-field) !important;
  border: 1px solid var(--gold-line-strong) !important;
  color: var(--gold) !important;
  box-shadow: none;
  font-size: 1.1rem;
}

.input-group:has(> #numberOfCoinsPurchased) > .btn:hover {
  background-color: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
  filter: none;
  transform: none;
}

#coinsRangeSlider.noUi-target {
  height: 8px !important;
  border: 0;
  border-radius: 999px !important;
  background-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

#coinsRangeSlider .noUi-connects {
  border-radius: 999px;
}

#coinsRangeSlider .noUi-connect {
  background: linear-gradient(90deg, #6b4514, var(--gold)) !important;
  animation: none !important;
}

#coinsRangeSlider .noUi-handle {
  top: -12px !important;
  border: 0;
  border-radius: var(--gold-radius-small) !important;
  background-color: var(--gold) !important;
  box-shadow: 0 0 0 3px var(--gold-surface-solid), 0 0 18px rgba(232, 180, 92, 0.5) !important;
}

#coinsRangeSlider .noUi-pips {
  color: var(--text-muted);
  font-size: 0.7rem;
}

#coinsRangeSlider .noUi-marker {
  background-color: var(--gold-line-strong);
}

#rangeValueBubble.value-bubble {
  padding: 0.3rem 0.6rem;
  border: 1px solid var(--gold-line-strong);
  border-radius: 8px;
  background: #0d0d11;
  color: var(--gold);
  box-shadow: var(--gold-shadow-raised);
}

.cost-accordion .accordion-item {
  border: 1px solid var(--gold-line) !important;
  background-color: var(--gold-field) !important;
  box-shadow: none !important;
}

.cost-accordion .cost-summary {
  background-image: none;
  background-color: var(--gold) !important;
  color: var(--gold-ink) !important;
  letter-spacing: 0.04em !important;
}

.cost-accordion .currency-box {
  padding: 0.6rem;
  border-radius: var(--gold-radius-small);
  border: 1px solid var(--gold-line);
  background-color: var(--gold-field);
}

.cost-accordion .currency-label {
  font-family: var(--gold-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  color: var(--text-muted);
}

.cost-accordion .currency-value {
  font-size: 1.05rem;
  color: var(--default-text-color);
  font-variant-numeric: tabular-nums;
}

.cost-accordion ~ h6.card-title {
  margin-block: 1.4rem 0.75rem !important;
  font-size: 0.85rem;
}

#myTabContent,
#myTabContent > .tab-pane {
  padding: 0 !important;
  border: 0 !important;
}

#myTab1 {
  display: flex !important;
  flex-wrap: nowrap;
}

#myTab1 .nav-item {
  flex: 1 1 0;
  min-width: 0;
}

#myTab1 .nav-link {
  width: 100%;
}

#myTab1 .nav-link .fs-5 {
  font-size: 0.72rem !important;
}

.tab-content li.shadow {
  box-shadow: none !important;
}

.tab-content .payment-system-item {
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  margin-block-end: 0.5rem;
  border: 1px solid var(--gold-line);
  border-radius: var(--gold-radius);
  background-color: var(--gold-surface);
  transition: border-color 0.2s var(--gold-ease), background-color 0.2s var(--gold-ease), box-shadow 0.2s var(--gold-ease);
}

.tab-content .payment-system-item:hover {
  border-color: var(--gold-line-strong);
}

.tab-content .payment-system-item::after {
  content: "";
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 2px solid var(--gold-line-strong);
  background-color: transparent;
  transition: border-color 0.2s var(--gold-ease), box-shadow 0.2s var(--gold-ease);
}

.tab-content .payment-system-item.selected {
  border: 1px solid var(--gold);
  background-color: var(--gold-tint);
  box-shadow: 0 0 26px rgba(232, 180, 92, 0.16);
}

.tab-content .payment-system-item.selected::after {
  border-color: var(--gold);
  box-shadow: inset 0 0 0 4px var(--gold);
}

.tab-content .payment-system-content {
  flex: 1 1 auto;
  min-width: 0;
}

.tab-content .payment-system-name {
  margin: 0 0 0.15rem;
  font-family: var(--gold-font-display);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--default-text-color);
}

.tab-content .payment-system-item.selected .payment-system-name {
  color: var(--gold);
}

.tab-content .payment-system-description {
  font-size: 0.8rem;
  color: var(--text-muted);
}

.card-footer:has(> .btn-list > #paynext) {
  padding: 1rem 0 0;
  border: 0;
  background: transparent !important;
}

.card-footer:has(> .btn-list > #paynext) .btn-list {
  display: block;
}

#paynext {
  width: 100%;
  margin: 0;
  padding: 1rem 1.4rem;
  border-radius: var(--gold-radius-small);
  border-color: transparent !important;
  background-color: var(--gold) !important;
  color: var(--gold-ink) !important;
  box-shadow: 0 12px 40px rgba(232, 180, 92, 0.28) !important;
  font-size: 0.82rem;
  letter-spacing: 0.16em;
}

#paynext:hover {
  background-color: var(--gold-bright) !important;
}

#linkPay:not(:empty) {
  margin-block-start: 0.75rem;
}

/* Главная: регистрация и список игровых аккаунтов */
form[action="/registration/account"] .row.align-items-end {
  align-items: flex-start !important;
  row-gap: 1rem;
}

form[action="/registration/account"] .toggle-password {
  padding-inline: 0.85rem;
  border: 1px solid var(--input-border);
  background-color: var(--gold-field);
  color: var(--text-muted);
  text-decoration: none;
}

form[action="/registration/account"] .toggle-password:hover {
  color: var(--gold);
}

form[action="/registration/account"] .btn[data-func="messageRegistrationAccount"],
form[action="/registration/account"] .btn[data-bs-target="#syncAccount"] {
  padding-block: 0.72rem;
  line-height: 1.5;
}

form[action="/registration/account"] .btn[data-func="messageRegistrationAccount"] {
  border-color: var(--gold) !important;
  background-color: var(--gold) !important;
  background-image: none;
  box-shadow: 0 12px 40px rgba(232, 180, 92, 0.2) !important;
  color: var(--gold-ink) !important;
}

form[action="/registration/account"] .btn[data-func="messageRegistrationAccount"]:hover {
  border-color: var(--gold-bright) !important;
  background-color: var(--gold-bright) !important;
}

form[action="/registration/account"] .btn[data-bs-target="#syncAccount"] {
  border: 1px solid var(--gold-line-strong) !important;
  background-color: var(--gold-field) !important;
  box-shadow: none !important;
  color: var(--gold) !important;
}

form[action="/registration/account"] .btn[data-bs-target="#syncAccount"]:hover {
  border-color: var(--gold-bright) !important;
  background-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
}

@media (min-width: 768px) {
  form[action="/registration/account"] .col-md-4:last-child {
    padding-block-start: calc(0.66rem * 1.5 + 0.45rem);
  }
}

.table-responsive:has(#player_account_list) {
  border: 1px solid var(--gold-line);
}

.table:has(> #player_account_list) {
  margin: 0;
}

.table:has(> #player_account_list) > * > tr > * {
  padding: 0.8rem 1rem;
  border-width: 0 0 1px;
}

.table:has(> #player_account_list) > tbody > tr:last-child > * {
  border-block-end-width: 0;
}

.table:has(> #player_account_list) .deleteAccount,
.table:has(> #player_account_list) .btn-change-password {
  color: var(--text-muted);
  transition: color 0.2s var(--gold-ease);
}

.table:has(> #player_account_list) .deleteAccount:hover {
  color: var(--gold-warn);
}

.table:has(> #player_account_list) .btn-change-password:hover {
  color: var(--gold);
}

/* Главная: карточка баланса */
.legend-balance-card .legend-balance-icon {
  width: 3.25rem;
  height: 3.25rem;
  border: 1px solid var(--gold-line-strong);
  border-radius: 50%;
  background-color: var(--gold-tint) !important;
  color: var(--gold);
}

.legend-balance-card .legend-balance-value {
  font-family: var(--gold-font-display);
  font-size: 2rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  color: var(--gold);
  text-shadow: 0 0 26px rgba(232, 180, 92, 0.35);
}

.legend-balance-card .btn img.avatar {
  width: 1.1rem;
  height: 1.1rem;
  vertical-align: text-bottom;
}

/* Окно пополнения баланса */
#modal_donate .calculator-container > .text-center {
  margin-block-end: 1rem !important;
}

#modal_donate .coin-input-wrapper {
  margin-block-end: 1.25rem !important;
}

#modal_donate .coin-input-wrapper .input-group {
  padding: 0.3rem;
  gap: 0.3rem;
  border-color: var(--input-border) !important;
  border-radius: var(--gold-radius) !important;
  background-color: var(--gold-field);
  box-shadow: none !important;
}

#modal_donate .coin-input-wrapper .input-group > .btn {
  flex: 0 0 3rem;
  height: 3rem;
  padding: 0 !important;
  border: 1px solid var(--gold-line-strong) !important;
  border-radius: var(--gold-radius-small) !important;
  background-color: var(--gold-field) !important;
  color: var(--gold) !important;
  font-size: 1.15rem;
}

#modal_donate .coin-input-wrapper .input-group > .btn:hover {
  border-color: var(--gold-bright) !important;
  background-color: var(--gold-bright) !important;
  color: var(--gold-ink) !important;
  transform: none;
}

#modal_donate #modal_numberOfCoinsPurchased {
  padding-block: 0.25rem !important;
  border: 0;
  background-color: transparent;
  color: var(--gold);
  font-family: var(--gold-font-display);
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  box-shadow: none;
}

#modal_donate #modal_coinsRangeSlider {
  margin-block-start: 2.25rem !important;
}

#modal_donate #modal_coinsRangeSlider.noUi-target {
  border: 0;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none;
}

#modal_donate #modal_coinsRangeSlider .noUi-connect {
  background: linear-gradient(90deg, #6b4514, var(--gold)) !important;
  animation: none !important;
}

#modal_donate #modal_coinsRangeSlider .noUi-handle {
  border: 0;
  border-radius: var(--gold-radius-small) !important;
  background-color: var(--gold) !important;
  box-shadow: 0 0 0 3px var(--gold-surface-solid), 0 0 18px rgba(232, 180, 92, 0.5) !important;
}

#modal_donate #modal_coinsRangeSlider .noUi-pips {
  color: var(--text-muted);
}

#modal_donate #modal_rangeValueBubble {
  border: 1px solid var(--gold-line-strong);
  border-radius: 8px;
  background: #0d0d11;
  color: var(--gold);
}

#modal_donate .cost-summary-box {
  padding: 1.1rem !important;
  border-color: var(--gold-line) !important;
  border-radius: var(--gold-radius) !important;
  background-color: var(--gold-field);
}

#modal_donate .cost-summary-box > .d-flex {
  margin-block-end: 1rem !important;
}

#modal_donate .cost-summary-box .row .border {
  border-color: var(--gold-line) !important;
  border-radius: var(--gold-radius-small) !important;
  background-color: var(--gold-field);
}

#modal_donate .cost-summary-box .modal_currency-value {
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}

#modal_donate .cost-summary-box .fs-2 {
  font-family: var(--gold-font-display);
  font-size: 1.5rem !important;
  letter-spacing: 0.04em;
  color: var(--gold);
  white-space: nowrap;
}

#modal_donate .bonus-summary-container {
  margin-block-end: 0 !important;
  padding: 0.75rem !important;
  border: 1px solid var(--gold-line) !important;
  border-radius: var(--gold-radius) !important;
  background: var(--gold-field) !important;
  box-shadow: none;
}

#modal_donate .bonus-summary-container > h6 {
  margin-block-end: 0.6rem !important;
  font-size: 0.85rem;
}

#modal_donate .bonus-summary-container .bonus-item-summary {
  padding: 0.5rem 0.75rem !important;
}

#modal_donate .donate-pay-title {
  font-size: 0.85rem;
  color: var(--gold);
}

#modal_donate #payment_systems_select > .row {
  --bs-gutter-y: 0.5rem;
}

#modal_donate .payment-plugin-item {
  padding: 0.6rem 0.85rem !important;
  border-color: var(--gold-line) !important;
  border-radius: var(--gold-radius) !important;
  background-color: var(--gold-surface);
  transition: border-color 0.2s var(--gold-ease), background-color 0.2s var(--gold-ease), box-shadow 0.2s var(--gold-ease) !important;
}

#modal_donate .payment-plugin-item:hover {
  border-color: var(--gold-line-strong) !important;
  background-color: var(--gold-surface);
  box-shadow: none;
  transform: none;
}

#modal_donate .payment-plugin-item > i {
  display: grid;
  flex: 0 0 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  border: 1px solid var(--gold-line-strong);
  border-radius: 50%;
  background-color: var(--gold-tint);
  color: var(--gold) !important;
  font-size: 1.25rem !important;
}

#modal_donate .payment-plugin-item .fw-bold.small {
  font-size: 0.95rem;
  color: var(--default-text-color);
}

#modal_donate .payment-plugin-item .fs-10 {
  font-size: 0.78rem;
}

#modal_donate .payment-plugin-item .payment-plugin-flags {
  margin-block-start: 0.3rem !important;
}

#modal_donate .payment-plugin-item::after {
  border-color: var(--gold-line-strong);
  background-color: transparent;
  transition: border-color 0.2s var(--gold-ease), box-shadow 0.2s var(--gold-ease);
}

#modal_donate .payment-plugin-item.selected {
  border-color: var(--gold) !important;
  background-color: var(--gold-tint);
  box-shadow: 0 0 26px rgba(232, 180, 92, 0.16);
}

.modal#modal_donate .payment-plugin-item.selected::after {
  border-color: var(--gold);
  box-shadow: inset 0 0 0 4px var(--gold);
}

#modal_donate .payment-plugin-item.selected .fw-bold.small {
  color: var(--gold);
}

#modal_donate #modal_donate_pay_btn {
  padding: 1rem 1.4rem;
  border-radius: var(--gold-radius-small);
  font-size: 0.82rem;
  letter-spacing: 0.16em;
}

#modal_donate .modal-body > .row > .bg-light {
  background-color: var(--gold-field) !important;
}

#modal_donate .modal_bonus_items.eligible .bonus-group-card {
  border-color: var(--gold) !important;
  box-shadow: 0 0 26px rgba(232, 180, 92, 0.16);
}

#modal_donate .one-time-bonus-card-v2 {
  border-radius: var(--gold-radius) !important;
  border-color: var(--gold-line) !important;
  background-color: transparent;
  box-shadow: none !important;
}

.modal#modal_donate .one-time-highlight {
  border-color: var(--gold) !important;
  background-color: var(--gold-tint) !important;
  box-shadow: 0 0 26px rgba(232, 180, 92, 0.16) !important;
  transform: none;
}

#modal_donate .tab-content {
  padding: 0 !important;
  border: 0 !important;
}

#modal_donate .donate-pay-section {
  border-color: var(--gold-line) !important;
}

.modal#modal_donate .donate-bonus-heading {
  color: var(--text-muted);
}

.modal#modal_donate .donate-bonus-rows {
  border-color: var(--gold-line);
  border-radius: var(--gold-radius);
  background: var(--gold-field) !important;
}

.modal#modal_donate .donate-bonus-row.one-time-bonus-card-v2 {
  border-radius: 0 !important;
  border-block-end-color: var(--gold-line) !important;
}

.modal#modal_donate .donate-bonus-row.one-time-highlight {
  background-color: var(--gold-tint) !important;
  box-shadow: inset 3px 0 0 var(--gold) !important;
}

.modal#modal_donate .donate-bonus-rows .table thead th {
  background-color: var(--gold-field);
}

/* Полосы прокрутки */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(226, 196, 150, 0.38) transparent;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(226, 196, 150, 0.38);
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--gold);
}

::-webkit-scrollbar-track {
  background: transparent;
}

@media (min-width: 992px) {
  .main-content {
    padding-inline: 28px;
    padding-block-start: 1.25rem;
  }
}

@media (max-width: 991.98px) {
  .main-content {
    padding-block-start: 5.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .card,
  .form-control,
  .form-select,
  .side-menu__item,
  .dropdown-item,
  .header-link {
    transition: none !important;
  }

  .btn-primary:hover,
  .btn-primary:focus-visible {
    transform: none;
  }

  body::after {
    display: none;
  }

  .btn-primary:hover::before,
  .btn-primary:focus-visible::before,
  .app-sidebar .legend-server__state.is-online .legend-server__dot {
    animation: none;
  }
}
