@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
  --accent: #FED130;
  --accent-light: #FFE066;
  --accent-glow: rgba(254, 209, 48, 0.25);
  --accent-dark: #D4A800;
  --green: #1A6B2C;
  --green-light: #22863A;
  --green-glow: rgba(26, 107, 44, 0.3);
  --bg-primary: #1E1E1E;
  --bg-header: #14532D;
  --bg-card: rgba(255, 255, 255, 0.05);
  --bg-card-hover: rgba(255, 255, 255, 0.08);
  --bg-elevated: rgba(255, 255, 255, 0.09);
  --bg-input: rgba(255, 255, 255, 0.08);
  --bg-input-focus: rgba(255, 255, 255, 0.12);
  --border-subtle: rgba(255, 255, 255, 0.1);
  --border-accent: rgba(254, 209, 48, 0.4);
  --text-primary: #f0f2f5;
  --text-secondary: rgba(255, 255, 255, 0.6);
  --text-muted: rgba(255, 255, 255, 0.4);
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --shadow-card: 0 1px 3px rgba(0,0,0,0.3), 0 0 0 1px var(--border-subtle);
  --shadow-elevated: 0 8px 32px rgba(0,0,0,0.4), 0 0 0 1px var(--border-subtle);
  --shadow-popup: 0 24px 64px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.08);
  --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
  font-family: 'Inter', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
  background-color: var(--bg-primary);
}

* {
  transition-duration: 0.2s;
}

/* ─── HEADER ─── */
.header {
  background: var(--bg-header) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  min-height: 64px !important;
}

.header__c-box {
  background: transparent !important;
  min-height: 64px !important;
}

.header--sticky {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  margin-bottom: 0 !important;
}

.p-box-lng {
  display: none !important;
}

.header__logo img {
  filter: brightness(1.1);
}

/* Centered nav (desktop) */
@media (min-width: 56.26em) {
  .header__c-box {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    position: relative;
  }

  .header__l {
    display: flex !important;
    align-items: center;
  }

  .header__nav {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }

  .header__nav .nav__list {
    display: flex !important;
    align-items: center;
    background: transparent !important;
    border: none;
    padding: 0 !important;
    gap: 4px;
  }

  .header__nav .nav__itm:not(.mob_item):not(.header__mbl):not(.nav__btn-box):not(.nav__user) {
    margin: 0;
  }

  .header__nav .nav__itm:not(.mob_item):not(.header__mbl):not(.nav__btn-box):not(.nav__user) > a {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.7) !important;
    padding: 10px 28px !important;
    border-radius: 10px;
    transition: all var(--transition-fast);
    display: block;
    white-space: nowrap;
  }

  .header__nav .nav__itm:not(.mob_item):not(.header__mbl) > a:hover {
    color: #fff !important;
    background: rgba(0, 0, 0, 0.25);
  }

  .header__nav .nav__itm.nav__itm--active > a,
  .header__nav .nav__itm.active > a {
    color: #fff !important;
    background: rgba(0, 0, 0, 0.3) !important;
  }
}

.nav__list .nav__itm a,
.nav__list .nav__itm button {
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0;
  opacity: 0.7;
  transition: opacity var(--transition-fast);
}

.nav__list .nav__itm a:hover,
.nav__list .nav__itm button:hover {
  opacity: 1;
}

/* Balance */
.balance {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 6px 14px;
}

.balance h6 {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.balance span {
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--text-primary);
}

/* ─── BUTTONS ─── */
.btn {
  font-weight: 600;
  font-size: 0.875rem;
  border-radius: var(--radius-md) !important;
  transition: all var(--transition-fast);
  letter-spacing: 0;
  position: relative;
  overflow: hidden;
}

.btn:active {
  transform: scale(0.97);
}

.btn-bolster,
.form__submit,
.btn-accent,
.btn[style*="background-color: #FED130"],
button[style*="background-color: #FED130"],
.c-cup__btn {
  background: var(--green) !important;
  color: #fff !important;
  border-radius: var(--radius-md) !important;
  font-weight: 700;
  box-shadow: none;
  border: none;
  transition: all var(--transition-fast);
}

.btn-bolster:hover,
.form__submit:hover,
.btn-accent:hover,
.c-cup__btn:hover {
  background: var(--green-light) !important;
  box-shadow: 0 4px 16px var(--green-glow);
  transform: translateY(-1px);
}

/* Иконка в кнопке (.btn__ico) — это <span> с display:inline, поэтому заданные
   ему width/height 1.33em игнорируются. Пока родительская .btn — флекс, span
   становится флекс-элементом и размеры применяются; но там, где .btn имеет
   display:block (кнопка «Пополнить» в мобильном меню), span остаётся inline,
   и картинка .p-img-c раздувается до натуральных 400px. inline-flex делает
   размер применимым независимо от родителя. */
.btn__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  vertical-align: middle;
}

/* Кнопка содержит аватарку и точки, то есть неквадратная: border-radius 50%
   давал бы эллипс. Обводки у неё нет — форму задаёт только круглая аватарка. */
.btn-user {
  border-radius: 0 !important;
  background: transparent !important;
  border: none;
  transition: all var(--transition-fast);
}

.btn-user:hover .btn-user__ico--avatar {
  background-color: var(--bg-elevated);
}

/* Auth buttons */
.btn-login-outline {
  background: transparent !important;
  color: var(--text-primary) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 12px !important;
  font-weight: 600;
  font-size: 14px;
  padding: 9px 20px !important;
  transition: all var(--transition-fast);
}

.btn-login-outline:hover {
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

.btn-reg-filled {
  background: var(--accent) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700;
  font-size: 14px;
  padding: 9px 20px !important;
  box-shadow: none;
  transition: all var(--transition-fast);
}

.btn-reg-filled:hover {
  background: var(--accent-light) !important;
  box-shadow: 0 4px 16px var(--accent-glow);
  transform: translateY(-1px);
}

/* ─── POPUPS / MODALS ─── */
.popup {
  transition: visibility 0.2s ease 0s !important;
}

.popup__content {
  transition: transform 0.2s ease 0s !important;
  /* На невысоких экранах карточка сама становится скролл-контейнером, иначе
     низ формы (кнопка «Сохранить») уходит за пределы экрана. Скроллим саму
     карточку, а не внешний .popup — так тач-драг по карточке работает на
     мобильных стабильнее. 100dvh учитывает адресную строку браузера. */
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
}

.popup__wrapper {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(0, 0, 0, 0.7) !important;
}

.popup-form {
  background: linear-gradient(180deg, #2A2A2A 0%, #222222 100%) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-xl) !important;
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-popup);
  padding: 1.5em 1.75em !important;
}

.popup-form__ttl {
  color: var(--text-primary) !important;
  font-weight: 700;
  font-size: 1.375rem !important;
  letter-spacing: -0.02em;
}

.popup-form__account {
  color: var(--text-secondary) !important;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 8px 16px;
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 500;
}

.popup__close {
  opacity: 0.5;
  transition: opacity var(--transition-fast);
}

.popup__close:hover {
  opacity: 1;
}

/* Avatar circle */
.popup-form__ava .user-avatar,
.user-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0 auto;
  box-shadow: none;
}

/* В модалке настроек аватар лежит внутри контейнера .popup-form__ava (94px,
   свой зелёный фон и border-radius). Аватар в 64px давал «круг в круге» —
   видно кольцо фона контейнера. Растягиваем аватар на весь контейнер, чтобы
   остался один сплошной круг. */
.popup-form__ava .user-avatar {
  width: 100%;
  height: 100%;
  font-size: 2.25rem;
}

/* ─── FORM INPUTS ─── */
.form__input,
.usr-form__inp {
  background: var(--bg-input) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 16px !important;
  font-size: 0.9375rem;
  font-weight: 400;
  transition: all var(--transition-fast);
}

.form__input:focus,
.usr-form__inp:focus {
  background: var(--bg-input-focus) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-glow);
  outline: none;
}

.form__input::placeholder,
.usr-form__inp::placeholder {
  color: var(--text-muted);
  font-weight: 400;
}

select.form__input,
select.select-ignore {
  background: var(--bg-input) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 14px !important;
  padding-right: 36px !important;
}

/* Form links */
.form__r-link {
  color: var(--text-secondary) !important;
}

.form__link {
  color: var(--accent-light) !important;
}

.form__tt {
  color: var(--text-secondary) !important;
}

.form__lbl {
  color: var(--text-secondary) !important;
  font-size: 0.8125rem;
}

/* ─── DROPDOWN MENU ─── */
.btn-user-dropdown .dropdown-content {
  background: linear-gradient(180deg, #333333 0%, #2A2A2A 100%) !important;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-elevated);
  padding: 6px;
  overflow: hidden;
}

.btn-user-dropdown .dropdown-content button {
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-weight: 500;
  font-size: 0.875rem;
  transition: background var(--transition-fast);
}

.btn-user-dropdown .dropdown-content button:hover {
  background: var(--bg-elevated) !important;
}

/* ─── MATCH TABS (bets page) ─── */
.mch-tab {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-subtle);
}

.mch-tab__head {
  background: var(--bg-card) !important;
}

.mch-tab__head th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  padding: 12px 8px;
}

.mch-tab__tr {
  border-bottom: 1px solid var(--border-subtle);
  transition: background var(--transition-fast);
}

.mch-tab__tr:hover {
  background: var(--bg-card-hover);
}

.mch-tab__cast-td span:not([class]) {
  background: #1e2740;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.8125rem;
  transition: all var(--transition-fast);
}

.mch-tab__cast-td span:not([class]):hover {
  background: #FED130 !important;
  color: #000 !important;
  transform: scale(1.05);
}

/* ─── COUPON SIDEBAR ─── */
.coupon {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg) !important;
}

.coupon__top {
  border-bottom: 1px solid var(--border-subtle);
}

.coupon__ttl {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.lbl-cc {
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: var(--radius-sm) !important;
}

.a-create-bet {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg) !important;
}

/* ─── LEAGUES SIDEBAR ─── */
.leagues {
  border-radius: var(--radius-lg);
}

.leagues__sect {
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  margin-bottom: 8px;
}

.leagues__top {
  padding: 12px 14px;
}

.leagues__top h3 {
  font-weight: 600;
  font-size: 0.875rem;
}

.list-leag__itm {
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  transition: background var(--transition-fast);
}

.list-leag__itm:hover {
  background: var(--bg-card-hover);
}

.hed-leag .btn-self {
  border-radius: var(--radius-md) !important;
  font-weight: 600;
  font-size: 0.8125rem;
}

.search__inp {
  background: var(--bg-input) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  color: var(--text-primary) !important;
  font-size: 0.875rem;
}

.search__inp:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-glow);
}

/* ─── MOBILE EVENT CARDS ─── */
.event-card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg) !important;
  margin-bottom: 8px;
  overflow: hidden;
}

.event-odds .odd {
  background: var(--bg-input) !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 600;
  transition: all var(--transition-fast);
}

.event-odds .odd:hover,
.event-odds .odd:active {
  background: var(--accent) !important;
  color: #000;
}

.sport-header {
  padding: 12px 0;
}

.sport-header h2 {
  font-weight: 700;
  font-size: 1.125rem;
}

/* ─── FOOTER ─── */
.footer {
  border-top: 1px solid var(--border-subtle);
}

.nav-ftr__itm a {
  font-weight: 500;
  font-size: 0.8125rem;
  opacity: 0.6;
  transition: opacity var(--transition-fast);
}

.nav-ftr__itm a:hover {
  opacity: 1;
}

.footer__nav-icons {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999 !important;
  background: #1A1A1A !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 6px 0 env(safe-area-inset-bottom, 4px) !important;
}

.footer__nav-icons-list {
  display: flex !important;
  justify-content: space-around !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer__nav-icon-item {
  flex: 1 !important;
  text-align: center !important;
}

.footer__nav-icon-item a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  text-decoration: none !important;
  color: rgba(255,255,255,0.45) !important;
  font-size: 10px !important;
  padding: 4px 0 !important;
  transition: color 0.15s ease !important;
}

.footer__nav-icon-item a svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
}

.footer__nav-icon-item a img {
  width: 22px !important;
  height: 22px !important;
  opacity: 0.45 !important;
  filter: brightness(0) invert(1) !important;
}

.footer__nav-icon-item a span {
  font-size: 10px !important;
  line-height: 1.2 !important;
}

.footer__nav-icon-item.mob-nav--active a {
  color: #14532D !important;
}

.footer__nav-icon-item.mob-nav--active a img {
  opacity: 1 !important;
  filter: none !important;
}

/* ─── MOBILE COUPON FAB ─── */
.mob-coupon-fab {
  display: none;
  position: fixed;
  bottom: 140px;
  right: 16px;
  z-index: 999;
  background: #14532D;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.mob-coupon-fab:active {
  transform: scale(0.92);
}

.mob-coupon-fab.visible {
  display: flex;
}

.mob-coupon-fab__count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #FED130;
  color: #000;
  font-size: 0.75rem;
  font-weight: 700;
  min-width: 20px;
  height: 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  box-sizing: border-box;
}

@media (min-width: 62.5em) {
  .mob-coupon-fab {
    display: none !important;
  }
}

.footer__nav-icon-item.mob-nav--home a {
  color: #FED130 !important;
  margin-top: -12px !important;
}

.footer__nav-icon-item.mob-nav--home a svg {
  background: #14532D !important;
  border-radius: 50% !important;
  padding: 12px !important;
  width: 36px !important;
  height: 36px !important;
  box-sizing: content-box !important;
  opacity: 1 !important;
  fill: #fff !important;
}

.footer__nav-icon-item span {
  font-size: 0.6875rem;
  font-weight: 500;
}

.footer__nav-icon-item.active a img {
  filter: none;
}

/* ─── MOBILE SIDEBAR NAV ─── */
@media (max-width: 768px) {
  .nav__list {
    background: linear-gradient(180deg, #2A2A2A 0%, #222222 100%) !important;
  }

  body {
    padding-bottom: 70px !important;
  }

  .ftr {
    margin-bottom: 60px !important;
  }
}

.mob_item {
  border-bottom: 1px solid var(--border-subtle);
}

.mob_item a,
.mob_item button.modal_link {
  font-weight: 500;
  font-size: 0.9375rem;
  padding: 14px 0;
}

/* ─── MY BETS / MATCH HISTORY ─── */
.table-ipr {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-subtle);
}

.table-ipr__top {
  background: var(--bg-card) !important;
}

.table-ipr__top td {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  padding: 12px;
}

.table-ipr__line {
  border-bottom: 1px solid var(--border-subtle);
  transition: background var(--transition-fast);
}

.table-ipr__line:hover {
  background: var(--bg-card-hover);
}

.table-ipr__line td {
  padding: 12px;
  font-size: 0.875rem;
}

/* ─── DEPOSIT HISTORY ─── */
.check-history {
  color: var(--accent-light) !important;
  font-weight: 500;
  font-size: 0.8125rem;
  text-decoration: none;
}

.check-history:hover {
  text-decoration: underline;
}

/* ─── VERIFICATION ─── */
.private-verify__label-text {
  background: var(--bg-card) !important;
  border: 2px dashed rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--radius-lg) !important;
  color: var(--text-secondary) !important;
  padding: 40px 20px;
  text-align: center;
  transition: all var(--transition-normal);
  cursor: pointer;
}

.private-verify__label-text:hover {
  border-color: var(--accent) !important;
  background: var(--bg-card-hover) !important;
}

.private-verify__info {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg) !important;
  padding: 20px;
  margin-top: 16px;
}

.private-verify__info-title {
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--text-primary) !important;
  margin-bottom: 12px;
}

.private-verify__info-list li {
  color: var(--text-secondary) !important;
  font-size: 0.8125rem;
  line-height: 1.7;
  padding-left: 8px;
}

/* ─── NOTIFICATIONS ─── */
.notifications-message {
  border-radius: var(--radius-md) !important;
  padding: 14px 16px;
  font-weight: 500;
  font-size: 0.875rem;
  border: 1px solid var(--border-subtle);
}

.notifications-success {
  background: rgba(27, 94, 32, 0.2) !important;
  border-color: rgba(27, 94, 32, 0.4) !important;
  color: #66BB6A;
}

.notifications-error {
  background: rgba(225, 52, 52, 0.15) !important;
  border-color: rgba(225, 52, 52, 0.3) !important;
  color: #ff7b7b;
}

.notifications-info {
  background: rgba(33, 150, 243, 0.15) !important;
  border-color: rgba(33, 150, 243, 0.3) !important;
  color: #7bc4ff;
}

/* ─── SPINNER ─── */
.spinner-overlay {
  background: var(--bg-primary) !important;
}

.spinner {
  border-color: var(--border-subtle) !important;
  border-left-color: var(--accent) !important;
  width: 40px !important;
  height: 40px !important;
  border-width: 3px !important;
}

/* ─── ADMIN PANEL ─── */
.priv__section {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin-bottom: 12px;
}

.priv__ttl {
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: -0.02em;
}

.lbl-usr__ttl {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
}

.info-priv__ttl {
  font-weight: 700;
  font-size: 1rem;
  margin: 16px 0 8px;
}

.str-ip {
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
}

.str-ip__ttl {
  font-size: 0.8125rem;
  color: var(--text-secondary);
}

.str-ip__ops {
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.str-ip__ops._js-active {
  background: var(--accent);
  color: #fff;
}

.control-priv__btn {
  border-radius: var(--radius-md) !important;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 12px 20px;
}

.error-data {
  text-align: center;
  padding: 40px;
  color: var(--text-muted);
  font-size: 0.9375rem;
}

/* ─── SCROLLBARS ─── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

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

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* ─── SELECTION ─── */
::selection {
  background: rgba(40, 120, 84, 0.3);
  color: #fff;
}

/* ─── FOCUS VISIBLE ─── */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* ─── SEPARATOR OVERRIDES ─── */
.middle_seporator {
  background: linear-gradient(90deg, var(--border-subtle) 0%, transparent 100%) !important;
}

/* ─── PAY BUTTONS ─── */
.pay-btn {
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--border-subtle);
  transition: all var(--transition-fast);
  background: var(--bg-card) !important;
}

.pay-btn:hover,
.pay-btn.active {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-glow);
}

/* Checkboxes */
.form__lbl::before {
  border-radius: 4px !important;
}

/* ─── INLINE STYLE REPLACEMENTS ─── */
.spoiler--padded {
  padding: 1.25em 0.625em 0;
}

.page-content-wrapper {
  padding: 20px;
}

.catalog-img-wrap {
  float: left;
  margin: 10px;
}

.s-error__ttl--dark {
  color: #000000;
}

/* ─── BETS PAGE ─── */
body {
  --container-background-color: #1E1E1E;
  --primary-background-color: #2A2A2A;
  --primary-text-color: #fff;
  --secondary-background-color: #333333;
  --secondary-text-color: #fff;
  --tertiary-background-color: #2A2A2A;
  --tertiary-text-color: #fff;
  --blur-background-color: var(--primary-background-color);
  --gray-text-color1: #999;
  --primary-gradient-background-color1: #2A2A2A;
  --primary-gradient-background-color2: rgba(42, 42, 42, 0.6);
  --primary-gradient-text-color: #fff;
  --scrollbar-track-background-color: #2A2A2A;
  --scrollbar-thumb-background-color: #444;
  --secondary-gradient-background-color1: #1B5E20;
  --secondary-gradient-background-color2: #FED130;
  --secondary-gradient-text-color: #fff;
  --skeleton-gradient-background-color1: #2A2A2A;
  --skeleton-gradient-background-color2: #333333;
  --icon-background-color: #1B5E20;
  --primary-active-background-color: #FED130;
  --primary-active-text-color: #000;
  --primary-seperator-background-color: #3A3A3A;
  --secondary-seperator-background-color: #4A4A4A;
  --line-background-color: #1B5E20;
  --line-text-color: #fff;
  --live-background-color: #E92541;
  --live-text-color: #fff;
  --vs-background-color: #1B5E20;
  --player1-text-color: #3DA5FF;
  --player2-text-color: #93C738;
  --primary-odd-background-color: #333333;
  --primary-odd-text-color: #fff;
  --primary-odd-active-background-color: #FED130;
  --primary-odd-active-text-color: #000;
  --primary-odd-empty-background-color: #2A2A2A;
  --secondary-odd-background-color: #3A3A3A;
  --secondary-odd-text-color: #fff;
  --secondary-odd-active-background-color: #FED130;
  --secondary-odd-active-text-color: #000;
  --secondary-odd-empty-background-color: #2E2E2E;
  --collection-background-color: #333333;
  --coupon-bet-background-color: #2A2A2A;
  --coupon-bet-text-color: #fff;
  --tab-active-background-color: #FED130;
  --tab-active-text-color: #000;
  --input-background-color: #333333;
  --input-active-background-color: #3A3A3A;
  --input-text-color: #fff;
  --dropdown-background-color: #333333;
  --dropdown-active-background-color: #3A3A3A;
  --dropdown-text-color: #fff;
  --dropdown-content-background-color: #2A2A2A;
  --dropdown-content-active-background-color: #3A3A3A;
  --dropdown-content-text-color: #fff;
  --selector-active-background-color: #FED130;
  --selector-disabled-background-color: #555;
  --primary-button-background-color: #FED130;
  --primary-button-text-color: #000;
  --secondary-button-background-color: #333333;
  --secondary-button-text-color: #fff;
  --tertiary-button-background-color: #FED130;
  --tertiary-button-text-color: #000;
  --gradient-button-background-color1: #1B5E20;
  --gradient-button-background-color2: #FED130;
  --gradient-button-text-color: #000;
  --small-border-radius: 4px;
  --default-border-radius: 8px;
  --big-border-radius: 15px;
  --left_panel-size: 270px;
  --right_panel-size: 300px;
  --container-height: 100vh;
  --top-margin: 10px;
  --event-text-color: #fff;
  --disabled-background-color: rgba(30,30,30,.7);
  --gradient-button-background: linear-gradient(103deg, var(--gradient-button-background-color1) -30%, var(--gradient-button-background-color2));
  --primary-gradient-background: linear-gradient(110deg, var(--primary-gradient-background-color1), var(--primary-gradient-background-color2) 100%);
  --secondary-gradient-background: linear-gradient(103deg,var(--secondary-gradient-background-color1) -30%,var(--secondary-gradient-background-color2));
  --skeleton-gradient-background: linear-gradient(to left, var(--skeleton-gradient-background-color1) 0%, var(--skeleton-gradient-background-color2) 30%, var(--skeleton-gradient-background-color1) 60%, var(--skeleton-gradient-background-color1) 100%) var(--skeleton-gradient-background-color1);
  --error-background-color: #e13434;
  --error-text-color: #fff;
  --success-background-color: #3a974d;
  --success-text-color: #fff;
  --transparent-background-color: rgba(255, 255, 255, 0.1);
  --transparent-text-color: #fff;
  --coupon_close-color: #fff;
  --coupon_disabled_close-color: #fff;
  --coupon_possible_win-color: #FED130;
}

.h1 {
  display: none;
  width: 203px;
}

.coupon .bet {
  margin-top: 10px;
  opacity: 1;
  transform: translateX(0px);
  position: relative;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  background: var(--coupon-bet-background-color);
  color: var(--coupon-bet-text-color);
  border-radius: var(--default-border-radius);
  transition: transform 0.2s ease-in-out 0s, opacity 0.2s ease-in-out 0s;
}

.coupon .coupon__bets .bet__wrap {
  width: 100%;
}

.coupon .coupon__bets .bet__wrap .bet__header {
  display: flex;
  justify-content: space-between;
}

.coupon .coupon__bets .bet__wrap .bet__header .header__title {
  opacity: 0.8;
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.coupon .coupon__bets .bet__wrap .bet__header .header__cancel {
  position: relative;
  top: -3px;
}

.close {
  opacity: 0.8;
  cursor: pointer;
  position: relative;
  display: inline-block;
  width: 15px;
  height: 15px;
  overflow: hidden;
  z-index: 1;
}

.close::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0px;
  margin-top: -1px;
  background: var(--coupon_close-color);
  transform: rotate(45deg);
}

.close::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0px;
  margin-top: -1px;
  background: var(--coupon_close-color);
  transform: rotate(-45deg);
}

.coupon .coupon__bets .bet__wrap .bet__info {
  display: flex;
  align-items: center;
  overflow: hidden;
  width: 182px;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps {
  width: 60%;
  font-size: 12px;
  position: relative;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps::before {
  position: absolute;
  content: "";
  width: 3px;
  height: 100%;
  background: var(--primary-active-background-color);
  left: -10px;
  border-radius: 1px;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps .opps-opp:first-child {
  margin-bottom: 3px;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps .opps-opp {
  display: flex;
  align-items: center;
  column-gap: 5px;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps .opps-opp .opp__icon {
  min-width: 15px;
  height: 15px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps .opps-opp .opp__name {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 12px;
}

.coupon .coupon__bets .bet__wrap .bet__info .stake {
  width: 40%;
  padding: 6px 10px;
  text-align: center;
  border-radius: var(--default-border-radius);
  background: var(--primary-odd-background-color);
  color: var(--primary-odd-text-color);
  font-weight: 600;
}

.stake__value .odd-change {
  position: absolute;
  left: 0px;
  display: none;
  animation: auto ease 0s 1 normal none running none;
  opacity: 0;
}

.coupon .bet .bet__market {
  font-size: 10px;
  font-weight: 600;
  margin-top: 5px;
}

.info__odd {
  display: flex;
  font-weight: 600;
  margin-bottom: 20px;
  background: var(--primary-button-background-color);
  color: var(--primary-button-text-color);
  padding: 10px;
  border-radius: var(--default-border-radius);
  justify-content: space-between;
  font-size: 11px;
  margin-top: 10px;
}

.sum__input {
  display: flex;
  align-items: center;
  font-weight: 600;
}

.sum__input .input-button {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease-in-out 0s, opacity 0.3s ease-in-out 0s;
  cursor: pointer;
  width: 24px;
  height: 24px;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0.6;
}

.i--minus {
  height: 10px;
  width: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 class=%27icon%27 fill=%27%23fff%27 viewBox=%270 0 121.805 121.804%27%3E%3Cg%3E%3Cpath d=%27M7.308,68.211h107.188c4.037,0,7.309-3.272,7.309-7.31c0-4.037-3.271-7.309-7.309-7.309H7.308C3.272,53.593,0,56.865,0,60.902C0,64.939,3.272,68.211,7.308,68.211z%27%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

input.input {
  background: var(--input-background-color);
  color: var(--input-text-color);
  border-radius: var(--default-border-radius);
  height: 30px;
  padding: 7px 10px 9px;
  width: 100%;
  min-width: 145px;
  text-align: center;
  transition: opacity 0.3s ease-in-out 0s;
}

.i--plus {
  height: 10px;
  width: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 class=%27icon%27 fill=%27%23fff%27 viewBox=%270 0 426.66667 424.66667%27%3E%3Cg%3E%3Cpath d=%27m405.332031 192h-170.664062v-170.667969c0-11.773437-9.558594-21.332031-21.335938-21.332031-11.773437 0-21.332031 9.558594-21.332031 21.332031v170.667969h-170.667969c-11.773437 0-21.332031 9.558594-21.332031 21.332031 0 11.777344 9.558594 21.335938 21.332031 21.335938h170.667969v170.664062c0 11.777344 9.558594 21.335938 21.332031 21.335938 11.777344 0 21.335938-9.558594 21.335938-21.335938v-170.664062h170.664062c11.777344 0 21.335938-9.558594 21.335938-21.335938 0-11.773437-9.558594-21.332031-21.335938-21.332031zm0 0%27%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

.info__sum {
  margin-bottom: 20px;
}

.amounts-div {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 8px;
}

.preset {
  padding: 5px 15px;
  border-radius: 50px;
  background: var(--primary-button-background-color);
  color: var(--primary-button-text-color);
  font-size: 14px;
  line-height: 14px;
  cursor: pointer;
}

/* Coupon responsive */
@media (max-width: 480px) {
  .coupon-as.active {
    width: 100vw;
    max-width: 100%;
    height: auto;
    position: fixed;
    bottom: 0;
    left: 0;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .coupon-as.active {
    width: 100vw;
    max-width: 100%;
    height: auto;
    position: fixed;
    bottom: 0;
    left: 0;
  }
}

/* ─── INDEX PAGE ─── */
._container--no-pad {
  padding: 0;
}

.swiper-container {
  overflow: hidden;
}

.swiper-slide {
  width: 100%;
  height: 100%;
}

.banner-link {
  display: block;
  position: relative;
}

.banner-image {
  width: 100%;
  height: auto;
  display: block;
}

.mobile-banner__link {
  display: block;
}

.card-ngm--center {
  text-align: center;
}

/* ─── MOBILE BANNER ─── */
.mobile-banner {
  display: none;
}

@media (max-width: 768px) {
  .mobile-banner {
    display: block;
    padding: 10px;
  }

  .mobile-banner img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
  }

  .main .swiper-container {
    display: none;
  }
}

/* ─── Inline style replacements ─── */
.btn-user--compact {
  padding: 5px;
}

.btn-user__ico--avatar {
  background-color: #2C3756;
  border-radius: 50%;
  padding: 5px;
}

.btn-user__ico--dots {
  width: 1rem;
}

.form__link--accent {
  color: var(--accent);
}

.info__sum--result {
  text-align: center;
  margin-top: 30px;
  font-weight: bold;
}

.pp-notification--spaced {
  margin-bottom: 20px;
}

.btn--compact {
  height: 35px;
}

/* --- MAJOR DARK THEME OVERRIDES v2 --- */

/* ─── SPORT TABLES: FULL DARK TREATMENT ─── */
.mch-tab,
.mch-tab.match-li__tab,
table.mch-tab {
  background-color: #111827 !important;
  color: #f0f2f5 !important;
}

.mch-tab__grid {
  background-color: #111827 !important;
}

.wrap-tab-ml,
.wrap-tab-ml table,
.wrap-tab-ml table tbody {
  background-color: transparent !important;
  color: #f0f2f5 !important;
}

.mch-tab tbody,
.mch-tab thead {
  background-color: transparent !important;
}

.wrap-tab-ml table tr,
.wrap-tab-ml table td,
.wrap-tab-ml table th,
.mch-tab tr,
.mch-tab td,
.mch-tab th {
  background-color: transparent !important;
  color: #f0f2f5 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.mch-tab__info {
  color: #f0f2f5 !important;
}

.mch-tab__info a {
  color: #f0f2f5 !important;
}

.mch-tab__tr,
.wrap-tab-ml table tbody tr {
  background-color: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.mch-tab__tr:hover,
.wrap-tab-ml table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

.mch-tab__head {
  background-color: rgba(255, 255, 255, 0.06) !important;
  color: #fff !important;
}

.mch-tab__head th,
.mch-tab__head td {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 0.7rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.mch-tab__cast-td > span:not([class]),
.mch-tab__cast-td > span,
.mch-tab__cast-td a {
  background-color: #1e2740;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 600;
  font-size: 0.8125rem;
  transition: all 0.15s ease;
}

.mch-tab__cast-td > span:not([class]):hover,
.mch-tab__cast-td > span:hover,
.mch-tab__cast-td a:hover {
  background-color: #FED130 !important;
  color: #000 !important;
  transform: scale(1.05);
}

.mch-tab__cast-td > span.active,
.mch-tab__cast-td span.active,
.mch-tab__cast-td a.active,
.odd.active {
  background-color: #FED130 !important;
  background: #FED130 !important;
  color: #000 !important;
}

.mch-tab__name,
.mch-tab__name a,
.mch-tab__i-name,
.mch-tab__i-name a {
  color: #f0f2f5 !important;
}

.mch-tab__time,
.mch-tab__date {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 0.75rem;
}

.mch-tab__score {
  color: #32956a !important;
  font-weight: 700;
}

/* Sport category blocks / left sidebar */
.sport-menu,
.sport-menu__list,
.s-menu,
.s-menu__list {
  background: transparent !important;
}

.sport-menu__item,
.s-menu__item {
  border-bottom: 1px solid var(--border-subtle);
}

.sport-menu__item a,
.s-menu__item a {
  color: var(--text-secondary) !important;
  transition: all var(--transition-fast);
  padding: 10px 12px;
}

.sport-menu__item a:hover,
.s-menu__item a:hover,
.sport-menu__item.active a,
.s-menu__item.active a {
  color: var(--text-primary) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.sport-menu__item.active a,
.s-menu__item.active a {
  border-left: 3px solid var(--accent);
}

/* League headers in sport tables */
.lgue,
.lgue-head,
.league-head {
  background: rgba(40, 120, 84, 0.12) !important;
  border: none !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}

.lgue a,
.lgue-head a,
.league-head a {
  color: var(--text-primary) !important;
  font-weight: 600;
}

/* ─── ENHANCED FOOTER ─── */
.footer {
  background: #080c16 !important;
  border-top: 1px solid var(--border-subtle);
  padding: 40px 0 24px !important;
}

.footer__separator {
  background: var(--border-subtle) !important;
  height: 1px !important;
  border: none !important;
  margin: 20px 0 !important;
}

.footer__nav,
.nav-ftr {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
}

.footer__nav a,
.nav-ftr a,
.nav-ftr__link {
  color: var(--text-secondary) !important;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color var(--transition-fast);
}

.footer__nav a:hover,
.nav-ftr a:hover,
.nav-ftr__link:hover {
  color: var(--text-primary) !important;
}

.footer__copy {
  color: var(--text-muted) !important;
  font-size: 0.75rem;
  text-align: center;
}

.footer__line-box {
  border-color: var(--border-subtle) !important;
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  padding: 16px 0 !important;
}

.footer__line-box img {
  opacity: 0.5;
  transition: opacity var(--transition-fast);
  height: 28px !important;
  width: auto !important;
}

.footer__line-box img:hover {
  opacity: 0.85;
}

.footer__nav-icons-list {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.footer__nav-icon-item {
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
  transition: all var(--transition-fast);
  padding: 4px !important;
  opacity: 0.5;
}

.footer__nav-icon-item:hover,
.footer__nav-icon-item.active {
  opacity: 1;
}

/* ─── CASINO / GAME CARDS ─── */
.cas-col {
  border-radius: 12px !important;
  overflow: hidden;
  transition: all 0.25s ease;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  aspect-ratio: 1 / 1.2;
  position: relative;
}

.cas-col:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.cas-col-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  height: 100% !important;
  padding: 12px !important;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 60%) !important;
  text-decoration: none !important;
}

.play_game_name {
  color: #fff !important;
  font-weight: 600;
  font-size: 0.8125rem;
}

.play_money,
.play_demo {
  color: rgba(255,255,255,0.6) !important;
  font-size: 0.6875rem;
}

.play_demo {
  color: var(--accent-light) !important;
}

/* ─── LIVE MATCH CARDS ─── */
.live-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

@media (max-width: 768px) {
  .live-grid {
    grid-template-columns: 1fr;
  }
}

.live-card {
  display: flex;
  flex-direction: column;
  padding: 16px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-subtle);
  background: var(--bg-card);
  text-decoration: none;
  color: var(--text-primary);
  transition: all var(--transition-fast);
  min-width: 0;
  overflow: hidden;
}

.live-card:hover {
  background: var(--bg-card-hover);
  border-color: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.live-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.live-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 6px;
  background: #E92541;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.6;
  animation: live-pulse 2s ease-in-out infinite;
}

@keyframes live-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.live-card__sport {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 500;
}

.live-card__teams {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}

.live-card__team {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.live-card__vs {
  font-size: 0.6875rem;
  color: var(--text-muted);
  font-weight: 500;
  text-transform: uppercase;
}

.live-card__odds {
  display: flex;
  gap: 6px;
  margin-top: auto;
}

.live-card__odd {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 4px;
  border-radius: var(--radius-sm);
  background: var(--bg-input);
  transition: all var(--transition-fast);
}

.live-card__odd:hover {
  background: #c4f027;
}

.live-card__odd:hover .live-card__odd-name,
.live-card__odd:hover .live-card__odd-val {
  color: #000;
}

.live-card__odd-name {
  font-size: 0.625rem;
  color: var(--text-muted);
  font-weight: 500;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-card__odd-val {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* ─── NEW INDEX COMPONENTS ─── */
.idx-section {
  padding: 32px 0;
}

.idx-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
}

.idx-section__title {
  font-size: 1.75rem;
  font-weight: 800;
  color: #f0f2f5;
  letter-spacing: -0.02em;
  margin: 0;
}

.idx-section__subtitle {
  color: rgba(255,255,255,0.4);
  font-size: 0.875rem;
  margin: 4px 0 0;
}

.idx-section__link {
  color: var(--accent-light);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.15s;
}

.idx-section__link:hover { opacity: 0.8; }

.idx-section__link span {
  font-size: 1.1em;
  margin-left: 2px;
}

/* Hide swiper arrows on index page */
.swiper-button-prev,
.swiper-button-next {
  display: none !important;
}

/* Sport card grid */
.sport-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}

.sport-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 22px 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.03);
  text-decoration: none;
  transition: all 0.2s ease;
}

.sport-card:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
  transform: translateY(-2px);
}

.sport-card__icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sport-card__icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

@media (max-width: 768px) {
  .sport-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.sport-card__name {
  color: #f0f2f5;
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
}

/* Casino card grid */
.casino-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

@media (max-width: 768px) {
  .casino-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.casino-card {
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background-size: cover;
  background-position: center;
  position: relative;
  transition: transform 0.25s ease;
}

.casino-card:hover {
  transform: translateY(-4px) scale(1.02);
}

.casino-card__overlay {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 12px;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 50%);
  text-decoration: none;
  cursor: pointer;
}

.casino-card__name {
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
}

/* League card grid */
.league-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
}

.league-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px 12px 20px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.03);
  text-decoration: none;
  text-align: center;
  transition: all 0.2s ease;
}

.league-card:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
  transform: translateY(-2px);
}

.league-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.league-card__icon img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.league-card__sport {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.league-card__name {
  color: rgba(255,255,255,0.4);
  font-size: 0.75rem;
}

/* ─── NEW FOOTER ─── */
.ftr {
  background: #141414;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 40px 0 24px;
  margin-top: 20px;
}

.ftr__nav {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.ftr__nav a {
  color: rgba(255,255,255,0.5);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s;
}

.ftr__nav a:hover { color: #fff; }

.ftr__divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08) 30%, rgba(255,255,255,0.08) 70%, transparent);
  margin: 20px 0;
}

.ftr__partners,
.ftr__payments {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  padding: 8px 0;
}

.ftr__partners img {
  height: 28px;
  width: auto;
  opacity: 0.45;
  transition: opacity 0.15s;
}

.ftr__partners img:hover { opacity: 0.85; }

.ftr__payments img {
  height: 22px;
  width: auto;
  opacity: 0.5;
  transition: opacity 0.15s;
}

.ftr__payments img:hover { opacity: 0.9; }

.ftr__support {
  display: block;
  text-align: center;
  color: rgba(255,255,255,0.35);
  font-size: 0.8125rem;
  text-decoration: none;
}

.ftr__support:hover { color: rgba(255,255,255,0.6); }

.ftr__copy {
  text-align: center;
  color: rgba(255,255,255,0.25);
  font-size: 0.75rem;
  margin: 0;
}

/* ─── BLOCK LINE (section dividers) ─── */
.block-line {
  background: var(--border-subtle) !important;
}

/* ─── GENERAL DARK OVERRIDES ─── */
.content,
.content__inner,
._content,
.wrap,
.wrap__inner,
.main-content {
  background: transparent !important;
  color: var(--text-primary) !important;
}

.sidebar,
.sidebar__inner,
.left-panel,
.right-panel {
  background: transparent !important;
}

/* Any remaining white backgrounds */
[style*="background: #fff"],
[style*="background:#fff"],
[style*="background: white"],
[style*="background-color: #fff"],
[style*="background-color:#fff"],
[style*="background-color: white"] {
  background: var(--bg-card) !important;
}

/* All remaining link colors in main content */
.content a,
._content a {
  color: var(--accent-light);
}

/* ─── MOBILE EVENT CARDS DARK ─── */
.event-card,
.match-card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md) !important;
  color: var(--text-primary) !important;
}

/* ─── TABS (sport/live/etc) ─── */
.tabs,
.tab-list {
  background: transparent !important;
}

.tab-item,
.tabs__item {
  color: var(--text-secondary) !important;
  border-bottom: 2px solid transparent;
  transition: all var(--transition-fast);
}

.tab-item:hover,
.tabs__item:hover {
  color: var(--text-primary) !important;
}

.tab-item.active,
.tabs__item.active {
  color: var(--text-primary) !important;
  border-bottom-color: var(--accent) !important;
}

/* ─── SCROLLBAR DARK ─── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.03);
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* ─── COUPON DARK RESTYLE ─── */
.coupon-as {
  background: #1a1a1a !important;
}

.coupon {
  background: #1a1a1a !important;
  border: none !important;
}

.coupon__top {
  background: transparent !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.coupon__ttl {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.coupon .bet {
  background: #252525 !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 14px !important;
  margin-top: 10px !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

.coupon .coupon__bets .bet__wrap .bet__header .header__title {
  color: rgba(255,255,255,0.5) !important;
  font-size: 11px !important;
}

.coupon .coupon__bets .bet__wrap .bet__info {
  width: 100% !important;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps {
  color: #fff !important;
  text-decoration: none !important;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps::before {
  background: #FED130 !important;
}

.coupon .coupon__bets .bet__wrap .bet__info .bet__opps .opps-opp .opp__name {
  color: #fff !important;
  font-size: 13px !important;
}

.coupon .coupon__bets .bet__wrap .bet__info .stake,
.coupon .bet .stake,
.stake {
  background: rgba(254,209,48,0.12) !important;
  color: #FED130 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
}

.coupon .stake__value,
.coupon .stake .odd,
.coupon .stake .formated-odd,
.coupon .odd.formated-odd {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #FED130 !important;
}

.coupon .bet div:nth-child(1) {
  color: #fff !important;
}

/* Table odds: highlight on click (JS sets inline bg, needs no !important blocking) */
.mch-tab__cast-td span {
  transition: background 0.15s ease;
  cursor: pointer;
}

.coupon .bet .bet__market {
  color: rgba(255,255,255,0.5) !important;
  font-size: 11px !important;
}

.close {
  opacity: 0.4 !important;
}

.close:hover {
  opacity: 0.8 !important;
}

.close::before,
.close::after {
  background: #fff !important;
}

.info__odd {
  background: rgba(254,209,48,0.15) !important;
  color: #FED130 !important;
  border: 1px solid rgba(254,209,48,0.2) !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
}

.c-cup__ct-box {
  background: #252525 !important;
  border-radius: 10px !important;
  padding: 4px !important;
}

.lbl-cc {
  color: rgba(255,255,255,0.5) !important;
  font-size: 13px !important;
  border-radius: 8px !important;
  padding: 8px 0 !important;
}

.radio-cc:checked + .lbl-cc {
  background: #FED130 !important;
  color: #000 !important;
  font-weight: 600 !important;
}

input.input {
  background: #333 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

.preset {
  background: transparent !important;
  color: #FED130 !important;
  border: 1px solid rgba(254,209,48,0.3) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 6px 0 !important;
  transition: all 0.15s ease !important;
}

.preset:hover,
.preset:active {
  background: rgba(254,209,48,0.12) !important;
}

.c-cup__btn {
  background: #14532D !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 14px !important;
  border: none !important;
  transition: background 0.15s ease !important;
}

.c-cup__btn:hover {
  background: #1a6b2c !important;
}

.lbl-acp span {
  color: rgba(255,255,255,0.6) !important;
  font-size: 12px !important;
}

.h1 {
  width: auto !important;
}

.coupon .possible-win {
  color: #FED130 !important;
  font-weight: 700 !important;
}

.coupon .info__sum .title {
  color: rgba(255,255,255,0.7) !important;
}

.a-create-bet {
  background: #252525 !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  margin-top: 12px !important;
}

.a-create-bet__ttl {
  color: #fff !important;
  font-size: 14px !important;
}

.a-create-bet p {
  color: rgba(255,255,255,0.5) !important;
  font-size: 12px !important;
}

/* ─── MATCH LIST HEADER ─── */
.match-li__ico {
  flex-shrink: 0 !important;
  width: 24px !important;
  height: 24px !important;
  overflow: hidden !important;
}

.match-li__ico img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.match-li__top {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: rgba(40, 120, 84, 0.15) !important;
  border-bottom: 1px solid var(--border-subtle);
  padding: 12px 16px !important;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.match-li__top h2 {
  color: var(--text-primary) !important;
  font-weight: 700;
  font-size: 1rem;
  white-space: nowrap;
}

.wrap-tab-ml {
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  margin-bottom: 16px;
}

/* ─── MOBILE SPORT SECTIONS ─── */
.sport-section {
  margin-bottom: 20px;
}

.sport-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: rgba(40, 120, 84, 0.15) !important;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  border: 1px solid var(--border-subtle);
  border-bottom: none;
}

.sport-header h2 {
  color: var(--text-primary) !important;
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
}

.sport-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.event-card {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--border-subtle);
  border-top: none;
  padding: 12px 16px !important;
  color: var(--text-primary) !important;
  transition: background var(--transition-fast);
}

.event-card:last-child {
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.event-card:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

.event-time {
  color: var(--text-muted) !important;
  font-size: 0.75rem;
  margin-bottom: 6px;
}

.event-teams {
  margin-bottom: 8px;
}

.event-teams .team {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.event-teams .team a {
  color: var(--text-primary) !important;
  font-size: 0.875rem;
  font-weight: 500;
}

.event-teams .team img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.event-odds {
  display: flex;
  gap: 6px;
}

.event-odds .odd {
  flex: 1;
  text-align: center;
  padding: 8px 4px;
  background: var(--primary-odd-background-color) !important;
  color: var(--primary-odd-text-color) !important;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.8125rem;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.event-odds .odd:hover {
  background: var(--primary-odd-active-background-color) !important;
  color: var(--primary-odd-active-text-color) !important;
  transform: scale(1.05);
}

.event-odds .odd.active {
  background: var(--primary-odd-active-background-color) !important;
  color: var(--primary-odd-active-text-color) !important;
}

/* ─── LEAGUES SIDEBAR ─── */
.leagues,
.p__leagues {
  background: transparent !important;
}

.hed-leag,
.leagues__head {
  background: rgba(255, 255, 255, 0.04) !important;
  border-bottom: 1px solid var(--border-subtle);
  padding: 14px 16px !important;
}

.leagues__top {
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--border-subtle);
  transition: background var(--transition-fast);
}

.leagues__top:hover {
  background: rgba(255, 255, 255, 0.03);
}

.leagues__l-top {
  color: var(--text-primary) !important;
}

.leagues__list,
.list-leag {
  background: transparent !important;
}

.list-leag li,
.leagues__list li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.list-leag a,
.leagues__list a {
  color: var(--text-secondary) !important;
  padding: 8px 16px 8px 24px !important;
  font-size: 0.8125rem;
  transition: all var(--transition-fast);
}

.list-leag a:hover,
.leagues__list a:hover {
  color: var(--text-primary) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

/* ─── SEARCH IN LEAGUES ─── */
.search__inp,
.search_sports {
  background: var(--bg-input) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-sm) !important;
}

.search__inp:focus,
.search_sports:focus {
  border-color: var(--accent) !important;
  background: var(--bg-input-focus) !important;
}

/* ─── SPORT PAGE OVERRIDES ─── */

.hed-leag.leagues__head {
  display: none !important;
}

.p__leagues {
  background: #252525 !important;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-subtle);
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(100vh - 80px);
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.p__leagues .leagues__sect {
  background: transparent !important;
}

.p__leagues .spoiler__hide {
  background: transparent !important;
}

.p__leagues .leagues__top h3 {
  color: var(--text-primary) !important;
  font-size: 0.875rem;
  font-weight: 600;
}

.p__leagues .list-leag__i-val {
  color: var(--text-muted) !important;
  font-size: 0.75rem;
  background: rgba(255,255,255,0.06);
  padding: 2px 8px;
  border-radius: 10px;
}

.p__leagues .leagues__ico img {
  opacity: 0.85;
}

.p-wrap-aside {
  gap: 12px !important;
  grid-template-columns: 220px minmax(0, 1fr) 260px !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .p-wrap-aside {
    display: block !important;
    padding-bottom: 70px !important;
  }
}

.mch-tab__head {
  background: #252525 !important;
}

.mch-tab__head .mch-tab__th,
.mch-tab__head th {
  color: var(--text-muted) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em;
  padding: 10px 8px !important;
}

.mch-tab__tr {
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  transition: background var(--transition-fast);
}

.mch-tab__tr:hover {
  background: rgba(255,255,255,0.03) !important;
}

.mch-tab__info {
  color: var(--text-primary) !important;
}

.mch-tab__info > span:first-child {
  color: var(--text-muted) !important;
  font-size: 0.75rem;
}

.mch-tab__i-name a {
  color: var(--text-primary) !important;
  text-decoration: none !important;
}

.mch-tab__i-name a:hover {
  color: var(--accent) !important;
}

.mch-tab__cast-td span {
  background: #1e2740;
  color: var(--text-primary) !important;
  border-radius: 6px !important;
  padding: 5px 6px !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  cursor: pointer;
  transition: all 0.15s ease !important;
}

.mch-tab__cast-td span:hover {
  background: #FED130 !important;
  color: #000 !important;
  transform: scale(1.05);
}

.mch-tab {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.p-wrap-aside > div:not(.overlay) {
  min-width: 0 !important;
}

.match-li {
  background: transparent !important;
  min-width: 0 !important;
}

.mch-tab {
  width: 100% !important;
  font-size: 0.75rem !important;
}

.wrap-tab-ml {
  overflow-x: auto !important;
  min-width: 0 !important;
}

.coupon-as {
  background: #252525 !important;
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--border-subtle) !important;
  overflow: hidden;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.coupon__top {
  background: transparent !important;
  border-bottom: 1px solid var(--border-subtle);
  padding: 14px 16px !important;
}

.coupon__ttl {
  color: var(--text-primary) !important;
  font-weight: 600 !important;
}

.c-cup__ct-box {
  background: #333 !important;
  border-radius: var(--radius-md) !important;
  padding: 4px !important;
}

.lbl-cc {
  color: var(--text-secondary) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.8125rem !important;
  transition: all var(--transition-fast) !important;
}

.radio-cc:checked + .lbl-cc {
  background: var(--accent) !important;
  color: #000 !important;
}

.c-cup__btn,
.a-create-bet .btn {
  background: #14532D !important;
  color: #fff !important;
  border-radius: var(--radius-md) !important;
  font-weight: 600 !important;
  transition: all var(--transition-fast) !important;
}

.c-cup__btn:hover,
.a-create-bet .btn:hover {
  background: #1A6B2C !important;
}

.a-create-bet {
  background: rgba(20, 83, 45, 0.1) !important;
  border: 1px solid rgba(20, 83, 45, 0.2) !important;
  border-radius: var(--radius-lg) !important;
  margin-top: 16px !important;
  padding: 16px !important;
}

.a-create-bet__ttl {
  color: var(--text-primary) !important;
  font-size: 0.875rem !important;
}

.a-create-bet p {
  color: var(--text-secondary) !important;
  font-size: 0.8125rem !important;
}

.info__odd {
  background: rgba(254, 209, 48, 0.15) !important;
  color: var(--accent) !important;
  border-radius: var(--radius-md) !important;
}

.preset {
  background: var(--accent) !important;
  color: #000 !important;
  font-weight: 600 !important;
  border-radius: 20px !important;
  transition: all var(--transition-fast) !important;
}

.preset:hover {
  background: #FFE066 !important;
  transform: scale(1.05);
}

.btn-v.spoiler__btn {
  filter: brightness(0) invert(1);
  opacity: 0.5;
}

.overlay {
  background: rgba(0,0,0,0.5) !important;
}

.mch-tab__grid span {
  background: transparent !important;
}

.mch-tab__grid .mch-tab__v-ico {
  opacity: 0.4;
  filter: brightness(0) invert(1);
}

/* Виджет чата над нижним меню на мобильных. Виджет — это fixed-iframe без
   класса/id (прямой потомок body), позицию задаёт инлайном (bottom:12px);
   !important в таблице перебивает инлайновый стиль без !important. */
@media (max-width: 768px) {
  body > iframe[src*="statistikakz"] {
    bottom: 85px !important;
  }
}

/* ─── COUPON: bottom-sheet on tablet/mobile ─── */
@media (max-width: 62.5em) {
  .coupon-as {
    display: none !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #252525 !important;
    color: #fff !important;
    z-index: 9999 !important;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3) !important;
    border-radius: 10px 10px 0 0 !important;
  }

  .coupon-as.active {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    position: fixed !important;
  }

  .coupon-as.active .coupon {
    width: 100% !important;
  }

  .overlay.active {
    display: block !important;
  }

  .coupon-close-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(255,255,255,0.1);
    border: none;
    color: #fff;
    font-size: 1.25rem;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
  }

  .coupon-close-btn:active {
    background: rgba(255,255,255,0.2);
  }

  .coupon__top {
    position: relative;
  }
}

@media (min-width: 62.51em) {
  .coupon-close-btn {
    display: none !important;
  }
}

/* ─── MOBILE NAV: TOP DROPDOWN ─── */
@media (max-width: 56.25em) {
  /* Header nav container: clip overflow when closed */
  .header__nav.nav {
    overflow: hidden !important;
  }

  /* Nav list: slide from top instead of right */
  .nav__list {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: 100vh !important;
    transform: translateY(-110%) !important;
    transition: transform 0.3s ease !important;
    background: #1a1a1a !important;
    border-radius: 0 0 16px 16px !important;
    padding: 80px 20px 24px !important;
    z-index: 15 !important;
    overflow-y: auto !important;
  }

  ._js-burger-open .nav__list {
    transform: translateY(0) !important;
    border-radius: 0 0 16px 16px !important;
    background: #1a1a1a !important;
  }

  /* Remove side-nav visual handle */
  ._js-burger-open .header__nav::before {
    display: none !important;
  }

  /* Background overlay */
  .header__nav-bg-mbl {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    background: rgba(0,0,0,0.6) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    z-index: 14 !important;
  }

  /* Nav items styling */
  .nav__list .nav__itm > a,
  .nav__list .nav__itm > button {
    color: #ccc !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    padding: 10px 0 !important;
    display: block !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    text-align: left !important;
  }

  .nav__list .nav__itm.nav__itm--active > a {
    color: #fff !important;
    font-weight: 600 !important;
  }

  /* Hide footer-box buttons section on mobile */
  .header__footer-box {
    display: none !important;
  }

  /* Mobile Войти button in header row */
  .btn-login-mobile {
    background: #FED130 !important;
    color: #000 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
  }

  /* Header right: align Войти + burger in a row */
  .header__r.header__mbl {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  /* Hide desktop login/reg buttons row on mobile */
  .header__r.header__of-mbl-login {
    display: none !important;
  }
}

/* ─── MOBILE MENU CLOSE BUTTON ───
   Открытое меню (.header__nav, z-index 20) перекрывает бургер, так что повторно
   тапнуть по нему для закрытия нельзя, а видимого крестика в шаблоне не было.
   Крестик виден только в мобильном меню (на десктопе .header__nav — обычная
   горизонтальная панель, кнопка там не нужна). */
.nav__close {
  display: none;
}

@media (max-width: 62.5em) {
  /* Позиционирование и z-index задаём всегда (не завися от класса открытия),
     а показ переключаем только через display — иначе при анимации меню стили
     z-index иногда не успевают примениться, и .nav__list перекрывает крестик.
     .nav__list — position:fixed, поэтому крестик тоже fixed; z-index выше шапки
     (её z-index 1000) гарантирует, что крестик поверх всего и кликается. */
  .nav__close {
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 12px;
    right: 16px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    z-index: 1001;
    transition: background var(--transition-fast);
  }

  ._js-burger-open .nav__close {
    display: flex;
  }

  .nav__close:hover {
    background: rgba(255, 255, 255, 0.16);
  }
}

/* ─── MOBILE MENU BALANCE ───
   Баланс в мобильном меню был «коробкой в коробке»: серая карточка пункта
   (.nav__itm.balance, фон --bg-card) и вложенный тёмно-синий блок .balance--mbl
   со своей рамкой и отступами. Убираем оформление вложенного блока, чтобы
   осталась одна чистая карточка в общем стиле сайта. */
.nav__balance .balance--mbl {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  text-align: center;
}

/* ─── ADMIN TABLES: horizontal scroll ───
   .wrapper in style.min.css has `overflow: clip`, which clips overflowing
   content without creating a scroll container — wide admin tables get cut
   off with no way to reach the hidden columns. Making the table's own
   wrapper a scroll container restores access. */
.user-list {
  overflow-x: auto;
}

.user-list .user-table {
  min-width: 800px;
}

/* ─── WITHDRAWAL MODAL (#deposit) ───
   Светлая карточка в зелёной гамме по референсу. Всё заскоплено под #deposit,
   чтобы не задеть остальные (тёмные) попапы. Десктоп — шире, мобайл — на весь
   экран. Переменные для лёгкой игры с оттенками. */
#deposit {
  --wd-bg: #ffffff;
  --wd-surface: #f2f4f3;
  --wd-surface-border: #e2e8e4;
  --wd-text: #1f2a24;
  --wd-muted: #7a8a80;
  --wd-green: #2f8f5b;
  --wd-green-dark: #26794c;
  --wd-green-tint: #e9f4ec;
  --wd-green-tint-border: #cfe6d6;
  --wd-amber-bg: #fdeccc;
  --wd-amber-text: #b7791f;
}

#deposit .popup-form {
  background: var(--wd-bg) !important;
  color: var(--wd-text) !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 24px !important;
}

/* Модалка должна перекрывать хедер (у него z-index 1000, sticky), иначе шапка
   накрывает верх карточки. Поднимаем весь оверлей выше хедера. */
#deposit {
  z-index: 1100 !important;
}

/* Карточка всегда влезает в экран и скроллится внутри себя, а вокруг остаётся
   тёмный фон — видно, что это модалка. Ключевое: max-height ниже высоты экрана. */
#deposit .popup__content {
  max-height: calc(100dvh - 40px) !important;
  overflow-y: auto !important;
}

#deposit .wd__title {
  color: var(--wd-text) !important;
  margin-bottom: 18px;
}

#deposit .popup__close {
  background: var(--wd-surface);
  border-radius: 50%;
}

/* Блок автоматического отказа — не исчезающий, прямо в форме */
#deposit .wd__reject {
  background: #fdeaea;
  border: 1px solid #f2c2c2;
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 18px;
  color: #a23b3b;
  font-size: 0.8125rem;
  line-height: 1.55;
  white-space: pre-line;
}

/* Доступно к выводу */
#deposit .wd__balance {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--wd-green-tint);
  border: 1px solid var(--wd-green-tint-border);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 18px;
}

#deposit .wd__balance-label {
  font-size: 0.8125rem;
  color: var(--wd-muted);
}

#deposit .wd__balance-value {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--wd-green-dark);
  letter-spacing: -0.02em;
}

/* Чип карты + добавить */
#deposit .wd__cards {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

#deposit .wd__card-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1.5px solid var(--wd-surface-border);
  border-radius: 12px;
  background: transparent;
  color: var(--wd-text);
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

#deposit .wd__card-chip svg {
  color: var(--wd-muted);
}

#deposit .wd__card-chip--active {
  border-color: var(--wd-green);
  background: var(--wd-green-tint);
}

#deposit .wd__card-chip--active svg {
  color: var(--wd-green);
}

#deposit .wd__card-add {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  border: none;
  border-radius: 12px;
  background: var(--wd-surface);
  color: var(--wd-muted);
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background var(--transition-fast);
}

#deposit .wd__card-add:hover {
  background: var(--wd-surface-border);
}

/* Поля */
#deposit .wd__label {
  display: block;
  font-size: 0.8125rem;
  color: var(--wd-muted);
  margin: 14px 0 6px;
}

#deposit .wd__input,
#deposit .form__input {
  width: 100%;
  background: var(--wd-surface) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  color: var(--wd-text) !important;
  font-size: 1rem;
  font-weight: 600;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

#deposit .wd__input::placeholder {
  color: #b3bdb7;
  font-weight: 500;
}

#deposit .wd__input:focus {
  outline: none;
  border-color: var(--wd-green) !important;
  background: #fff !important;
}

#deposit .wd__input.input-error {
  border-color: #e05252 !important;
  background: #fdecec !important;
}

/* Сумма с суффиксом валюты */
#deposit .wd__sum-wrap {
  position: relative;
}

#deposit .wd__sum {
  padding-right: 100px !important;
}

#deposit .wd__sum-cur {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  color: var(--wd-muted);
  font-weight: 700;
  pointer-events: none;
}

#deposit .wd__max {
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
  padding: 5px 12px;
  border: none;
  border-radius: 8px;
  background: var(--wd-green-tint);
  color: var(--wd-green-dark);
  font-weight: 700;
  font-size: 0.8125rem;
  cursor: pointer;
  transition: background var(--transition-fast);
}

#deposit .wd__max:hover {
  background: #d3edda;
}

#deposit .wd__hint {
  font-size: 0.75rem;
  color: var(--wd-muted);
  margin: 6px 2px 18px;
}

/* Способы вывода */
#deposit .wd__methods {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 18px;
}

#deposit .wd__method {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1.5px solid var(--wd-surface-border);
  border-radius: 14px;
  cursor: pointer;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

#deposit .wd__method input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#deposit .wd__method--active {
  border-color: var(--wd-green);
  background: var(--wd-green-tint);
}

#deposit .wd__method-ico {
  display: inline-flex;
  color: var(--wd-text);
}

#deposit .wd__method--active .wd__method-ico {
  color: var(--wd-green);
}

#deposit .wd__method-name {
  flex: 1;
  font-weight: 700;
  color: var(--wd-text);
}

#deposit .wd__method-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
}

#deposit .wd__method-badge--instant {
  background: var(--wd-green-tint);
  color: var(--wd-green-dark);
}

#deposit .wd__method--active .wd__method-badge--instant {
  background: #d3edda;
}

#deposit .wd__method-badge--delay {
  background: var(--wd-amber-bg);
  color: var(--wd-amber-text);
}

/* Кнопка вывести */
#deposit .wd__submit {
  width: 100%;
  background: var(--wd-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 16px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin-top: 4px;
  transition: background var(--transition-fast);
}

#deposit .wd__submit:hover {
  background: var(--wd-green-dark) !important;
}

#deposit .wd__history {
  display: block;
  text-align: center;
  color: var(--wd-muted);
  font-size: 0.875rem;
  margin-top: 14px;
  text-decoration: none;
}

#deposit .wd__history:hover {
  color: var(--wd-text);
}

/* Десктоп — шире */
@media (min-width: 62.51em) {
  #deposit .popup__content {
    max-width: 460px;
    width: 460px;
  }
}

/* Мобайл — карточка почти во весь экран, но с полями по краям (виден тёмный
   фон вокруг → понятно, что это модалка). Скролл — внутри карточки. */
@media (max-width: 62.5em) {
  /* отступ у самого .popup задаёт зазор от краёв экрана */
  #deposit {
    padding: 14px !important;
  }

  #deposit .popup__wrapper {
    padding: 0;
    min-height: 100%;
  }

  #deposit .popup__content {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 28px) !important;
    border-radius: 18px !important;
  }

  #deposit .popup-form {
    padding: 20px !important;
  }
}

/* ─── ФИНАНСОВАЯ ИСТОРИЯ (deposit-history) ───
   Базовые стили .dephis в style.min.css светлые (серые карточки на тёмном фоне).
   Переопределяем под тёмную гамму сайта: тёмные карточки, статус-бейджи по
   цвету состояния. */
.dephis {
  padding: 24px 0 60px;
}

.dephis__title {
  color: var(--text-primary);
  font-weight: 800;
  font-size: 1.75rem;
  letter-spacing: -0.02em;
  margin-bottom: 26px;
}

.dephis__body-title {
  color: var(--text-primary);
  font-weight: 700;
  font-size: 1.125rem;
  margin: 28px 0 14px;
}

.dephis__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dephis__col-pay,
.dephis__col {
  background: #252525 !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  color: var(--text-primary) !important;
  box-shadow: none !important;
}

.dephis__col-pay,
.dephis__col-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dephis__col-price {
  color: var(--text-primary) !important;
  font-weight: 700;
  font-size: 1.0625rem;
}

.dephis__col-time {
  color: var(--text-secondary) !important;
  font-size: 0.8125rem;
  margin-top: 3px;
}

/* Статус-бейдж: по умолчанию зелёный (Зачислено/Выплачено) */
.dephis__col-repl__success {
  background: rgba(47, 143, 91, 0.16) !important;
  color: #4ade80 !important;
  border-radius: 999px !important;
  padding: 6px 16px !important;
  font-weight: 600;
  font-size: 0.8125rem;
  white-space: nowrap;
}

/* Отказ — красный, Ожидание — янтарный (классы на .dephis__col-inner) */
.dephis__col-inner.reject .dephis__col-repl__success {
  background: rgba(224, 82, 82, 0.16) !important;
  color: #f87171 !important;
}

.dephis__col-inner.waiting .dephis__col-repl__success {
  background: rgba(183, 121, 31, 0.2) !important;
  color: #fbbf24 !important;
}

/* Реквизиты вывода и причина отказа */
.dephis__col-details {
  background: transparent !important;
  color: var(--text-secondary) !important;
  font-size: 0.8125rem;
  margin-top: 12px;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--border-subtle);
}

.dephis__col-reason {
  margin-top: 12px;
}

.dephis__col-reason .dephis-reject {
  background: rgba(224, 82, 82, 0.08);
  border: 1px solid rgba(224, 82, 82, 0.25);
  border-radius: 10px;
  padding: 12px 14px;
  color: var(--text-secondary);
  font-size: 0.8125rem;
  line-height: 1.55;
}

/* Пустое состояние */
.dephis .error-data {
  background: #252525 !important;
  border: 1px dashed var(--border-subtle) !important;
  border-radius: 14px !important;
  color: var(--text-secondary) !important;
  padding: 26px !important;
  text-align: center;
  font-size: 0.9375rem;
}

/* ─── ИСТОРИЯ СТАВОК (таблица «Мои ставки» на /match) ───
   Приводим к новой тёмной гамме: карточка-таблица #252525, статус-бейджи по
   цвету. На мобайле строки превращаются в карточки (лейблы из data-label). */
.sport > h3 {
  color: var(--text-primary);
  font-weight: 800;
  font-size: 1.5rem;
  margin-bottom: 18px;
}

.table_res {
  width: 100%;
  border-collapse: collapse;
  background: #252525 !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 14px !important;
  overflow: hidden;
}

.table-ipr__top {
  background: transparent !important;
}

.table-ipr__top th {
  color: var(--text-secondary) !important;
  font-weight: 600;
  font-size: 0.8125rem;
  text-align: left;
  padding: 14px 18px !important;
  border-bottom: 1px solid var(--border-subtle);
}

.table-ipr__line {
  background: transparent !important;
}

.table-ipr__line:not(:last-child) {
  border-bottom: 1px solid var(--border-subtle);
}

.table-ipr__line td {
  color: var(--text-primary) !important;
  padding: 16px 18px !important;
  font-size: 0.9375rem;
  vertical-align: middle;
}

.table-ipr__inc {
  font-weight: 700;
}

.table-ipr__empty td {
  text-align: center;
  color: var(--text-secondary) !important;
  padding: 28px !important;
}

/* Статус-бейджи ставок */
.bet-badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.bet-badge--win {
  background: rgba(47, 143, 91, 0.16);
  color: #4ade80;
}

.bet-badge--lose {
  background: rgba(224, 82, 82, 0.16);
  color: #f87171;
}

.bet-badge--wait {
  background: rgba(183, 121, 31, 0.2);
  color: #fbbf24;
}

/* Мобайл — строки в карточки */
@media (max-width: 768px) {
  .table_res {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
  }

  .table_res,
  .table_res tbody {
    display: block;
  }

  .table_res thead {
    display: none;
  }

  .table-ipr__line {
    display: block;
    background: #252525 !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 14px !important;
    padding: 6px 16px;
    margin-bottom: 10px;
  }

  .table-ipr__line td {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    text-align: right;
    gap: 12px;
    padding: 9px 0 !important;
    border: none !important;
  }

  .table-ipr__line td span {
    display: inline;
    width: auto;
  }

  .table-ipr__line td:not(:last-child) {
    border-bottom: 1px solid var(--border-subtle) !important;
  }

  .table-ipr__line td::before {
    content: attr(data-label);
    color: var(--text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
  }

  .table-ipr__empty td::before {
    content: none;
  }
}

/* ─── СТРАНИЦА ВЕРИФИКАЦИИ (/verification) ─── */
.verify-page {
  padding: 28px 0 60px;
}

.verify-page__title {
  color: var(--text-primary);
  font-weight: 800;
  font-size: 2rem;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}

.verify-card {
  background: #1e1e1e;
  border: 1px solid var(--border-subtle);
  border-radius: 18px;
  padding: 28px;
  margin-bottom: 20px;
  max-width: 820px;
}

.verify-card__title {
  color: var(--text-primary);
  font-weight: 700;
  font-size: 1.375rem;
  margin-bottom: 8px;
}

.verify-card__subtitle {
  color: var(--text-secondary);
  font-size: 0.9375rem;
  margin-bottom: 22px;
}

/* Зона загрузки */
.verify-drop {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 260px;
  padding: 30px;
  border: 2px dashed var(--border-subtle);
  border-radius: 16px;
  cursor: pointer;
  text-align: center;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

.verify-drop:hover,
.verify-drop--over {
  border-color: var(--green);
  background: rgba(47, 143, 91, 0.06);
}

.verify-drop__ico {
  color: var(--text-secondary);
  margin-bottom: 6px;
}

.verify-drop:hover .verify-drop__ico,
.verify-drop--over .verify-drop__ico {
  color: var(--green);
}

.verify-drop__title {
  color: var(--text-primary);
  font-weight: 600;
  font-size: 1.0625rem;
}

.verify-drop__hint {
  color: var(--text-secondary);
  font-size: 0.875rem;
}

/* Превью выбранных файлов */
.verify-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.verify-preview:empty {
  margin-top: 0;
}

.verify-preview__item {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
}

.verify-preview__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.verify-preview__remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.verify-preview__remove:hover {
  background: #e05252;
}

/* Кнопка отправки */
.verify-submit {
  width: 100%;
  margin-top: 22px;
  padding: 16px !important;
  background: var(--green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.verify-submit:hover {
  background: var(--green-light) !important;
}

.verify-submit:disabled {
  opacity: 0.6;
  cursor: default;
}

/* Блок «Какие документы необходимы» */
.verify-docs__title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-primary);
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 18px;
}

.verify-docs__ico {
  color: var(--green);
  display: inline-flex;
}

.verify-docs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.verify-docs__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--text-secondary);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.verify-docs__num {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  color: var(--green);
  font-weight: 700;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

/* Подтверждено */
.verify-card--done {
  text-align: center;
}

.verify-done__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(47, 143, 91, 0.16);
  color: #4ade80;
  margin-bottom: 16px;
}

.verify-done__title {
  color: var(--text-primary);
  font-weight: 700;
  font-size: 1.375rem;
  margin-bottom: 6px;
}

.verify-done__text {
  color: var(--text-secondary);
  font-size: 0.9375rem;
}

@media (max-width: 768px) {
  .verify-page__title {
    font-size: 1.625rem;
  }

  .verify-card {
    padding: 20px;
  }

  .verify-drop {
    min-height: 200px;
  }
}

/* ─── АДМИНКА: общие элементы (кнопки, карточки, формы) ─── */
.adm-page__title {
  color: var(--text-primary);
  font-weight: 800;
  font-size: 1.75rem;
  letter-spacing: -0.02em;
}

.adm-banners {
  padding: 28px 0 60px;
}

.adm-banners__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

.adm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 20px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.9375rem;
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none;
  transition: background var(--transition-fast), border-color var(--transition-fast);
  white-space: nowrap;
}

.adm-btn--primary {
  background: var(--green);
  color: #fff;
}

.adm-btn--primary:hover {
  background: var(--green-light);
}

.adm-btn--outline {
  background: transparent;
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

.adm-btn--outline:hover {
  background: var(--bg-elevated);
}

.adm-btn--danger {
  background: rgba(224, 82, 82, 0.14);
  color: #f87171;
}

.adm-btn--danger:hover {
  background: rgba(224, 82, 82, 0.24);
}

.adm-alert {
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 20px;
  font-size: 0.9375rem;
}

.adm-alert--success {
  background: rgba(47, 143, 91, 0.16);
  color: #4ade80;
  border: 1px solid rgba(47, 143, 91, 0.3);
}

.adm-alert--error {
  background: rgba(224, 82, 82, 0.14);
  color: #f87171;
  border: 1px solid rgba(224, 82, 82, 0.3);
}

.adm-empty {
  background: #252525;
  border: 1px dashed var(--border-subtle);
  border-radius: 14px;
  padding: 28px;
  text-align: center;
  color: var(--text-secondary);
}

.adm-file {
  width: 100%;
  color: var(--text-secondary);
  font-size: 0.875rem;
}

.adm-file::file-selector-button {
  margin-right: 12px;
  padding: 8px 14px;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  background: var(--bg-card);
  color: var(--text-primary);
  font-weight: 600;
  cursor: pointer;
}

.adm-file::file-selector-button:hover {
  background: var(--bg-elevated);
}

/* Форма создания */
.adm-form {
  background: #252525;
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 24px;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.adm-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.adm-field__label {
  color: var(--text-secondary);
  font-size: 0.875rem;
}

/* Сетка баннеров */
.adm-banners__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 18px;
}

.adm-banner-card {
  background: #252525;
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.adm-banner-card__img {
  border-radius: 10px;
  overflow: hidden;
  background: #1a1a1a;
}

.adm-banner-card__img img {
  width: 100%;
  height: auto;
  display: block;
}

.adm-banner-card__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.adm-banner-card__update {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ─── АДМИНКА: главная (лобби) — сетка плиток ─── */
.private-lobby {
  padding: 28px 0 60px;
}

.private-lobby__title {
  color: var(--text-primary);
  font-weight: 800;
  font-size: 1.75rem;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}

.private-lobby__inner {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}

.private-lobby__link a {
  display: flex;
  align-items: center;
  min-height: 66px;
  padding: 16px 18px;
  background: #252525;
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  color: var(--text-primary);
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}

.private-lobby__link a:hover {
  border-color: var(--green);
  background: #2a2a2a;
  transform: translateY(-2px);
}
