/**
 * NewXsoftware Frontend Styles
 * ------------------------------------------------------------
 * Clean CodeCanyon-ready CSS. Every main section is grouped and
 * commented so the buyer can customize colors/layout easily.
 */

/* =========================
   Theme variables
   ========================= */
:root,
[data-theme="red-dark"] {
  --bg: #050608;
  --surface: #0b0d12;
  --panel: #11141b;
  --panel-2: #171b24;
  --panel-3: #202632;
  --border: #2a303c;
  --text: #f7f8fb;
  --muted: #98a2b3;
  --muted-2: #687386;
  --accent: #ef233c;
  --accent-2: #ff4056;
  --accent-soft: rgba(239, 35, 60, .15);
  --green: #22c55e;
  --warning: #f59e0b;
  --shadow: 0 24px 70px rgba(0, 0, 0, .45);
}

[data-theme="green-dark"] {
  --bg: #050608; --surface: #0b0d12; --panel: #11141b; --panel-2: #171b24; --panel-3: #202632;
  --border: #2a303c; --text: #f7f8fb; --muted: #98a2b3; --muted-2: #687386;
  --accent: #16a34a; --accent-2: #22c55e; --accent-soft: rgba(34, 197, 94, .15);
}

[data-theme="blue-dark"] {
  --bg: #050608; --surface: #0b0d12; --panel: #11141b; --panel-2: #171b24; --panel-3: #202632;
  --border: #2a303c; --text: #f7f8fb; --muted: #98a2b3; --muted-2: #687386;
  --accent: #0284c7; --accent-2: #38bdf8; --accent-soft: rgba(56, 189, 248, .15);
}

[data-theme="red-light"] {
  --bg: #f4f6f9; --surface: #ffffff; --panel: #ffffff; --panel-2: #f1f3f7; --panel-3: #e8ecf2;
  --border: #dbe1ea; --text: #151922; --muted: #5d6878; --muted-2: #8490a1;
  --accent: #d90429; --accent-2: #ef233c; --accent-soft: rgba(217, 4, 41, .10); --shadow: 0 18px 50px rgba(15, 23, 42, .12);
}

[data-theme="green-light"] {
  --bg: #f3f8f5; --surface: #ffffff; --panel: #ffffff; --panel-2: #edf7f0; --panel-3: #dff1e5;
  --border: #d2e3d7; --text: #142018; --muted: #5d7566; --muted-2: #819487;
  --accent: #15803d; --accent-2: #16a34a; --accent-soft: rgba(22, 163, 74, .10); --shadow: 0 18px 50px rgba(15, 23, 42, .12);
}

[data-theme="blue-light"] {
  --bg: #f2f7fb; --surface: #ffffff; --panel: #ffffff; --panel-2: #eef6fd; --panel-3: #deeffb;
  --border: #d3e3f1; --text: #102033; --muted: #5c7188; --muted-2: #8295aa;
  --accent: #0369a1; --accent-2: #0284c7; --accent-soft: rgba(2, 132, 199, .10); --shadow: 0 18px 50px rgba(15, 23, 42, .12);
}

/* =========================
   Global reset
   ========================= */
* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; }
body {
  font-family: Inter, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font-family: inherit; }
svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; fill: none; }

/* =========================
   Application shell
   ========================= */
.app-shell {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  display: flex;
  background:
    radial-gradient(circle at top left, var(--accent-soft), transparent 28%),
    var(--bg);
}
.sidebar {
  width: 252px;
  min-width: 252px;
  height: 100vh;
  background: color-mix(in srgb, var(--surface) 92%, #000 8%);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  transition: width .22s ease, min-width .22s ease, left .22s ease;
  z-index: 60;
}
.sidebar.collapsed { width: 78px; min-width: 78px; }
.sidebar-head { height: 76px; min-height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border-bottom: 1px solid var(--border); }
.brand { display: inline-flex; align-items: center; gap: 12px; overflow: hidden; }
.brand-mark { width: 42px; height: 42px; min-width: 42px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--accent-2), var(--accent)); font-weight: 950; box-shadow: 0 14px 35px color-mix(in srgb, var(--accent) 34%, transparent); }
.brand-copy { display: flex; flex-direction: column; white-space: nowrap; }
.brand-copy strong { font-size: 20px; font-weight: 950; letter-spacing: -.5px; }
.brand-copy small { color: var(--muted); font-size: 12px; font-weight: 750; margin-top: 2px; }
.sidebar.collapsed .brand-copy, .sidebar.collapsed .nav-item span { opacity: 0; width: 0; pointer-events: none; }
.icon-btn { width: 38px; height: 38px; border-radius: 12px; border: 1px solid var(--border); background: var(--panel-2); color: var(--muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: .18s ease; }
.icon-btn:hover { color: var(--text); border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); }
.sidebar.collapsed .collapse-btn { position: absolute; left: 60px; top: 19px; box-shadow: var(--shadow); }
.side-nav { padding: 16px 10px; overflow-y: auto; }
.nav-item { height: 46px; margin-bottom: 8px; padding: 0 13px; display: flex; align-items: center; gap: 12px; border-radius: 14px; color: var(--muted); font-weight: 900; border: 1px solid transparent; transition: .18s ease; }
.nav-item:hover { color: var(--text); background: var(--panel-2); }
.nav-item.active { color: var(--text); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 36%, transparent); box-shadow: inset 3px 0 0 var(--accent); }
.sidebar.collapsed .nav-item { justify-content: center; padding: 0; }
.main-shell { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; }
.top-header { height: 76px; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 20px; background: color-mix(in srgb, var(--surface) 92%, #000 8%); border-bottom: 1px solid var(--border); }
.header-left, .header-actions { display: flex; align-items: center; gap: 12px; }
.mobile-menu { display: none; }
.top-brand { display: none; }
.top-nav { display: flex; align-items: center; gap: 8px; }
.top-nav a { height: 42px; display: inline-flex; align-items: center; gap: 9px; padding: 0 15px; border-radius: 999px; color: var(--muted); font-size: 14px; font-weight: 900; border: 1px solid transparent; }
.top-nav a:hover { background: var(--panel-2); color: var(--text); }
.top-nav a.active { background: var(--accent-soft); color: var(--text); border-color: color-mix(in srgb, var(--accent) 35%, transparent); }
.currency-form { height: 44px; padding-left: 14px; border-radius: 16px; background: var(--panel-2); border: 1px solid var(--border); display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; font-weight: 850; }
.currency-form b { color: var(--text); margin-left: 4px; }
.currency-form select { height: 36px; border: 0; outline: 0; padding: 0 10px; border-radius: 12px; background: var(--panel-3); color: var(--text); font-weight: 900; }
.user-chip { height: 42px; padding: 0 16px; display: inline-flex; align-items: center; border-radius: 13px; background: var(--panel-2); border: 1px solid var(--border); font-weight: 900; }
.btn { height: 42px; padding: 0 18px; border-radius: 13px; border: 1px solid transparent; cursor: pointer; font-weight: 950; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: .18s ease; }
.btn-primary { background: linear-gradient(135deg, var(--accent-2), var(--accent)); color: #fff; box-shadow: 0 14px 30px color-mix(in srgb, var(--accent) 30%, transparent); }
.btn-primary:hover { transform: translateY(-1px); }
.btn-ghost, .btn-soft { background: var(--panel-2); color: var(--text); border-color: var(--border); box-shadow: none; }
.btn-ghost:hover, .btn-soft:hover { background: var(--panel-3); }
.btn.block { width: 100%; }
.page-title-bar { display: none; padding: 18px 22px; border-bottom: 1px solid var(--border); background: var(--surface); }
.page-title-bar h1 { margin: 0; font-size: 24px; }
.page-title-bar p { margin: 4px 0 0; color: var(--muted); }
.content-shell { flex: 1; min-height: 0; overflow: auto; padding: 16px; }
.iframe-mode .content-shell { padding: 14px; overflow: hidden; display: flex; }

/* Header top layout selected from settings */
[data-layout="top"] .sidebar { display: none; }
[data-layout="top"] .top-brand { display: inline-flex; }
[data-layout="top"] .top-header { padding-left: 20px; }

/* =========================
   Footer - restored simple premium footer style
   ========================= */
.site-footer { min-height: 60px; padding: 0 22px; border-top: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 90%, #000 10%); display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 13px; font-weight: 750; }
.footer-brand { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.footer-brand strong { color: var(--accent-2); }
.footer-links { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.footer-links a:hover, .footer-links b { color: var(--accent-2); }

/* =========================
   Homepage
   ========================= */
.home-scroll { overflow: auto; }
.hero { min-height: calc(100vh - 152px); display: grid; grid-template-columns: 1.04fr .96fr; gap: 22px; align-items: center; padding: 28px; border: 1px solid var(--border); border-radius: 28px; background: linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel) 86%, var(--accent) 14%)); box-shadow: var(--shadow); }
.hero h1 { margin: 0; font-size: clamp(34px, 5vw, 74px); letter-spacing: -2.4px; line-height: .95; }
.hero h1 span { color: var(--accent-2); }
.hero p { color: var(--muted); font-size: 17px; line-height: 1.65; max-width: 660px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.hero-board { min-height: 430px; border-radius: 26px; border: 1px solid var(--border); background: rgba(0,0,0,.18); padding: 16px; display: grid; gap: 12px; }
.match-row { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--border); border-radius: 18px; background: var(--panel-2); }
.match-row b { display: block; margin-bottom: 6px; }
.match-row small { color: var(--muted); }
.odds { display: flex; gap: 8px; }
.odds span { min-width: 54px; padding: 10px 12px; border-radius: 12px; color: var(--accent-2); background: var(--surface); border: 1px solid var(--border); font-weight: 950; text-align: center; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 16px; }
.feature-card { border: 1px solid var(--border); border-radius: 22px; background: var(--panel); padding: 20px; }
.feature-card strong { display: block; margin-bottom: 8px; font-size: 17px; }
.feature-card p { margin: 0; color: var(--muted); line-height: 1.5; }

/* =========================
   Iframe pages
   ========================= */
.iframe-card { width: 100%; height: 100%; min-height: 0; display: flex; overflow: hidden; border-radius: 20px; border: 1px solid var(--border); box-shadow: var(--shadow); background: #000; }
.iframe-card iframe { width: 100%; height: 100%; min-height: 100%; border: 0; display: block; background: #fff; }

/* =========================
   Forms and modals
   ========================= */
.modal-backdrop { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(0,0,0,.72); backdrop-filter: blur(10px); opacity: 0; transition: opacity .22s ease; }
.modal-backdrop.show { display: flex; opacity: 1; }
.auth-modal { position: relative; width: min(100%, 420px); max-height: calc(100vh - 36px); overflow: auto; border-radius: 24px; background: #050505; border: 1px solid #202020; color: #fff; box-shadow: var(--shadow); padding: 22px; transform: translateY(28px) scale(.96); transition: transform .24s ease; }
.modal-backdrop.show .auth-modal { transform: translateY(0) scale(1); }
.auth-modal.wide { width: min(100%, 720px); }
.modal-close { position: absolute; right: 16px; top: 16px; border: 0; background: transparent; color: #a3a3a3; cursor: pointer; }
.auth-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: #fff; }
.auth-brand .brand-mark { width: 34px; height: 34px; min-width: 34px; }
.auth-modal h2 { margin: 6px 0 16px; text-transform: uppercase; font-size: 20px; }
.muted { color: #8c8c8c; margin: 0; }
.form-grid { display: grid; gap: 10px; }
.form-grid.two { grid-template-columns: repeat(2, 1fr); }
.phone-row { grid-template-columns: 140px 1fr 130px; }
label span { display: block; color: var(--muted); margin-bottom: 7px; font-size: 12px; font-weight: 900; }
input, select, textarea { width: 100%; min-height: 48px; border: 1px solid transparent; border-radius: 12px; background: var(--panel-2); color: var(--text); outline: 0; padding: 0 14px; font-weight: 800; }
textarea { min-height: 96px; padding-top: 13px; resize: vertical; }
.auth-modal input, .auth-modal select { background: #262626; color: #fff; margin-bottom: 10px; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); }
.check-row { display: flex; align-items: center; gap: 9px; color: #aaa; margin: 4px 0 14px; }
.check-row input { width: 18px; min-height: 18px; }
.link-btn { width: 100%; margin-top: 18px; border: 0; background: transparent; color: #aaa; text-transform: uppercase; font-weight: 950; cursor: pointer; }

/* =========================
   Account screens
   ========================= */
.account-layout { display: grid; grid-template-columns: 270px 1fr; gap: 16px; min-height: 100%; }
.account-menu, .account-panel, .admin-card { border: 1px solid var(--border); border-radius: 22px; background: var(--panel); box-shadow: var(--shadow); }
.account-menu { padding: 14px; height: max-content; position: sticky; top: 0; }
.account-user { padding: 16px; margin-bottom: 12px; border-radius: 16px; background: var(--panel-2); }
.account-user strong { display: block; font-size: 18px; }
.account-user span { color: var(--muted); font-size: 13px; }
.account-tab { width: 100%; height: 46px; border: 1px solid transparent; background: transparent; color: var(--muted); border-radius: 14px; display: flex; align-items: center; gap: 10px; padding: 0 12px; font-weight: 950; cursor: pointer; text-align: left; }
.account-tab:hover, .account-tab.active { color: var(--text); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 30%, transparent); }
.account-main { min-width: 0; }
.account-panel { padding: 18px; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.section-title h2 { margin: 0; font-size: 22px; }
.tag, .status-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 0 10px; border-radius: 999px; background: var(--panel-2); color: var(--muted); font-size: 12px; font-weight: 950; }
.status-pending { background: rgba(245,158,11,.16); color: #fbbf24; }
.status-win { background: rgba(34,197,94,.16); color: #22c55e; }
.status-lost { background: rgba(239,35,60,.16); color: #ff6476; }
.status-neutral { background: rgba(56,189,248,.16); color: #38bdf8; }
.wallet-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.wallet-card { border: 1px solid var(--border); border-radius: 18px; padding: 16px; background: var(--panel-2); }
.wallet-card.active { border-color: var(--accent); background: var(--accent-soft); }
.wallet-card span { color: var(--muted); font-weight: 900; }
.wallet-card strong { display: block; margin-top: 8px; font-size: 22px; }
.table-wrap { width: 100%; overflow: auto; border: 1px solid var(--border); border-radius: 16px; }
table { width: 100%; border-collapse: collapse; min-width: 800px; }
th, td { padding: 13px 14px; border-bottom: 1px solid var(--border); text-align: left; font-size: 13px; }
th { color: var(--muted); text-transform: uppercase; font-size: 11px; }
.empty-state { padding: 28px; border: 1px dashed var(--border); border-radius: 18px; color: var(--muted); text-align: center; }
.profile-form, .payment-form, .password-form { max-width: 860px; display: grid; gap: 12px; }
.coupon-list { display: grid; gap: 14px; }
.coupon-card { position: relative; border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 22px; padding: 18px; background: linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel) 90%, var(--accent) 10%)); display: grid; grid-template-columns: 1.2fr .8fr .8fr .8fr auto; gap: 14px; align-items: center; }
.coupon-avatar { width: 48px; height: 48px; border-radius: 16px; background: var(--accent-soft); color: var(--accent-2); display: flex; align-items: center; justify-content: center; font-weight: 950; }
.coupon-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
.coupon-title strong { display: block; font-size: 17px; }
.coupon-title small { color: var(--muted); }
.coupon-stat span { display: block; color: var(--muted); text-transform: uppercase; font-size: 11px; font-weight: 950; }
.coupon-stat b { display: block; margin-top: 5px; font-size: 17px; }
.payment-methods { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.method-card { width: 116px; min-height: 96px; border: 1px solid var(--border); border-radius: 14px; background: var(--panel-2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--muted); font-weight: 950; }
.method-icons { display: flex; gap: 6px; }
.method-icons i { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--accent); color: #fff; font-style: normal; font-size: 12px; }
.info-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; max-width: 760px; margin-bottom: 12px; border-radius: 14px; overflow: hidden; border: 1px solid var(--border); }
.info-strip div { padding: 12px; background: var(--panel-2); }
.info-strip span { display: block; color: var(--muted); font-size: 11px; font-weight: 950; }
.info-strip b { display: block; margin-top: 4px; font-size: 12px; }

/* Coupon detail right drawer */
.drawer-backdrop { position: fixed; inset: 0; z-index: 180; display: none; background: rgba(0,0,0,.55); }
.drawer-backdrop.show { display: block; }
.coupon-drawer { position: fixed; top: 0; right: 0; width: min(800px, 100%); height: 100vh; z-index: 190; transform: translateX(104%); transition: transform .26s ease; background: linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel) 86%, var(--accent) 14%)); border-left: 1px solid var(--border); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.coupon-drawer.open { transform: translateX(0); }
.drawer-head { min-height: 92px; padding: 22px; border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.drawer-head small { text-transform: uppercase; color: var(--muted); font-weight: 950; }
.drawer-head h3 { margin: 6px 0 0; font-size: 22px; }
.drawer-body { flex: 1; overflow: auto; padding: 18px; }
.drawer-footer { padding: 16px 22px; border-top: 1px solid var(--border); background: var(--panel-2); display: flex; justify-content: flex-end; }
.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.detail-box { min-height: 78px; border: 1px solid var(--border); border-radius: 18px; padding: 14px; background: var(--panel); }
.detail-box span { color: var(--muted); text-transform: uppercase; font-size: 11px; font-weight: 950; }
.detail-box b { display: block; margin-top: 8px; font-size: 18px; }
.event-card { border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 22px; padding: 18px; background: var(--panel); margin-bottom: 12px; }
.event-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.event-top h4 { margin: 0; font-size: 18px; }
.event-meta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.event-meta-grid div { border: 1px solid var(--border); border-radius: 14px; padding: 12px; background: var(--panel-2); }
.event-meta-grid span { display: block; color: var(--muted); text-transform: uppercase; font-size: 10px; font-weight: 950; }
.event-meta-grid b { display: block; margin-top: 6px; font-size: 13px; }

/* =========================
   Admin panel
   ========================= */
.admin-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 16px; }
.admin-card { padding: 18px; }
.admin-card span { color: var(--muted); text-transform: uppercase; font-size: 11px; font-weight: 950; }
.admin-card b { display: block; margin-top: 8px; font-size: 26px; }
.admin-layout { display: grid; gap: 16px; }
.admin-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.admin-tab { height: 42px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--border); background: var(--panel-2); color: var(--muted); cursor: pointer; font-weight: 950; }
.admin-tab.active { color: var(--text); background: var(--accent-soft); border-color: var(--accent); }
.admin-actions { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 10px; }
.note-form { display: grid; grid-template-columns: 220px 1fr auto; gap: 10px; align-items: end; }

/* =========================
   Settings panel
   ========================= */
.settings-fab { position: fixed; right: 18px; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 16px; z-index: 150; border: 1px solid var(--border); background: var(--panel-2); color: var(--text); box-shadow: var(--shadow); cursor: pointer; }
.settings-panel { position: fixed; right: 18px; top: 50%; transform: translateY(-50%) translateX(24px); width: 310px; max-width: calc(100vw - 36px); background: var(--panel); border: 1px solid var(--border); border-radius: 22px; z-index: 160; opacity: 0; pointer-events: none; box-shadow: var(--shadow); transition: .22s ease; overflow: hidden; }
.settings-panel.open { opacity: 1; pointer-events: auto; transform: translateY(-50%) translateX(0); }
.settings-head { height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid var(--border); }
.settings-body { padding: 14px; }
.settings-label { margin: 6px 0 10px; color: var(--muted); text-transform: uppercase; font-size: 11px; font-weight: 950; }
.layout-option { width: 100%; border: 1px solid var(--border); border-radius: 16px; background: var(--panel-2); color: var(--text); padding: 12px; margin-bottom: 10px; text-align: left; display: grid; grid-template-columns: 40px 1fr; gap: 10px; cursor: pointer; }
.layout-option span { width: 40px; height: 40px; border-radius: 13px; background: var(--accent-soft); color: var(--accent-2); display: flex; align-items: center; justify-content: center; grid-row: span 2; }
.layout-option small { display: block; margin-top: 3px; color: var(--muted); }
.layout-option.active { border-color: var(--accent); }
.theme-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.theme-grid button { min-height: 44px; border: 1px solid var(--border); border-radius: 13px; background: var(--panel-2); color: var(--text); cursor: pointer; font-weight: 850; display: flex; align-items: center; gap: 8px; padding: 0 10px; }
.theme-grid button.active { border-color: var(--accent); background: var(--accent-soft); }
.theme-grid i { width: 16px; height: 16px; border-radius: 50%; display: inline-block; }

/* =========================
   Responsive design
   ========================= */
@media (max-width: 1180px) {
  .feature-grid, .admin-grid { grid-template-columns: repeat(2, 1fr); }
  .coupon-card { grid-template-columns: 1fr 1fr; }
  .info-strip { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .sidebar { position: fixed; left: -270px; top: 0; }
  .sidebar.open { left: 0; }
  .sidebar.collapsed { width: 252px; min-width: 252px; }
  .sidebar.collapsed .brand-copy, .sidebar.collapsed .nav-item span { opacity: 1; width: auto; }
  .sidebar.collapsed .nav-item { justify-content: flex-start; padding: 0 13px; }
  .collapse-btn { display: none; }
  .mobile-menu { display: inline-flex; }
  .mobile-overlay.show { display: block; position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.6); }
  .top-nav { display: none; }
  .top-brand { display: inline-flex; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .account-layout { grid-template-columns: 1fr; }
  .account-menu { position: static; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .account-user { grid-column: 1 / -1; }
  .detail-grid, .event-meta-grid { grid-template-columns: 1fr 1fr; }
  .admin-actions, .note-form { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .top-header { height: 68px; min-height: 68px; padding: 0 12px; }
  .brand-copy strong { font-size: 17px; }
  .brand-copy small, .currency-form span, .user-chip, .page-title-bar { display: none; }
  .currency-form { padding-left: 0; background: transparent; border: 0; }
  .header-actions { gap: 6px; }
  .btn { height: 38px; padding: 0 12px; }
  .content-shell { padding: 10px; }
  .iframe-mode .content-shell { padding: 8px; }
  .iframe-card { border-radius: 14px; }
  .site-footer { min-height: 74px; align-items: flex-start; justify-content: center; flex-direction: column; padding: 12px; }
  .footer-links { gap: 10px; }
  .hero { padding: 18px; border-radius: 20px; }
  .hero-board { min-height: auto; }
  .match-row { grid-template-columns: 1fr; }
  .feature-grid, .wallet-grid, .admin-grid, .form-grid.two, .phone-row, .detail-grid, .event-meta-grid { grid-template-columns: 1fr; }
  .account-menu { grid-template-columns: 1fr; }
  .coupon-card { grid-template-columns: 1fr; }
  .coupon-drawer { width: 100%; }
  .drawer-head h3 { font-size: 19px; }
  .settings-fab { right: 12px; bottom: 18px; top: auto; transform: none; }
  .settings-panel { right: 10px; top: auto; bottom: 12px; transform: translateY(20px); width: calc(100vw - 20px); }
  .settings-panel.open { transform: translateY(0); }
  .theme-grid { grid-template-columns: 1fr; }
  .auth-modal { border-radius: 18px; }
}

/* =========================
   v4 overrides: clean URL release, minimal typography, slim scrolls,
   dynamic payments, toast alerts, modern footer and iframe full height.
   ========================= */
[data-theme="orange-dark"] {
  --bg: #050608; --surface: #0b0d12; --panel: #11141b; --panel-2: #171b24; --panel-3: #202632;
  --border: #2a303c; --text: #f7f8fb; --muted: #98a2b3; --muted-2: #687386;
  --accent: #f97316; --accent-2: #fb923c; --accent-soft: rgba(249, 115, 22, .16);
}
html { scrollbar-width: thin; scrollbar-color: var(--accent) transparent; }
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--accent) 70%, var(--panel-3)); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent-2); }
body { font-size: 13px; }
.no-page-scroll { overflow: hidden; }
.app-shell.iframe-mode { height: 100vh; overflow: hidden; }
.iframe-mode .main-shell { height: 100vh; overflow: hidden; }
.iframe-mode .content-shell { flex: 1 1 auto; height: 100%; min-height: 0; padding: 8px; overflow: hidden; display: flex; }
.iframe-mode .iframe-card { flex: 1 1 auto; min-height: 0; height: auto; }
.iframe-card iframe { width: 100%; height: 100%; min-height: 0; border: 0; display: block; }
.top-header { height: 68px; min-height: 68px; }
.nav-item { height: 42px; font-size: 13px; }
.top-nav a { height: 38px; font-size: 13px; padding: 0 12px; }
.brand-mark { width: 38px; height: 38px; min-width: 38px; border-radius: 13px; }
.brand-copy strong { font-size: 18px; }
.brand-copy small { font-size: 11px; }
.btn { height: 38px; border-radius: 12px; font-size: 13px; padding: 0 14px; }
.currency-form, .lang-form select, .currency-form select { height: 38px; }
.lang-form select { border: 1px solid var(--border); border-radius: 12px; background: var(--panel-2); color: var(--text); padding: 0 10px; font-weight: 850; outline: 0; }

/* Modern footer with editable columns from admin panel */
.modern-footer { min-height: auto; padding: 0; display: block; }
.footer-top { padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--border); }
.footer-brand-block { display: flex; align-items: center; gap: 12px; max-width: 560px; }
.footer-brand-block strong { color: var(--text); font-size: 17px; }
.footer-brand-block p { margin: 3px 0 0; color: var(--muted); line-height: 1.45; }
.footer-social { display: flex; gap: 8px; }
.footer-social a { width: 34px; height: 34px; border-radius: 10px; background: var(--panel-2); border: 1px solid var(--border); color: var(--muted); display: inline-flex; align-items: center; justify-content: center; font-weight: 950; }
.footer-social a:hover { color: #fff; background: var(--accent); }
.footer-columns { padding: 22px; display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 18px; }
.footer-col h4 { margin: 0 0 10px; color: var(--text); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.footer-col a { display: block; color: var(--muted); padding: 5px 0; font-size: 12px; font-weight: 800; }
.footer-col a:hover { color: var(--accent-2); transform: translateX(2px); }
.footer-bottom { padding: 13px 22px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.footer-bottom b { color: var(--accent-2); }

/* Toast alerts */
.toast-wrap { position: fixed; top: 86px; right: 18px; width: min(380px, calc(100vw - 24px)); z-index: 9999; display: grid; gap: 10px; }
.toast { position: relative; overflow: hidden; transform: translateX(20px); opacity: 0; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 12px 13px; border-radius: 16px; background: color-mix(in srgb, var(--panel) 94%, #000 6%); border: 1px solid var(--border); box-shadow: var(--shadow); transition: .24s ease; }
.toast.show { opacity: 1; transform: translateX(0); }
.toast-icon { width: 34px; height: 34px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-weight: 950; color: #fff; background: var(--accent); }
.toast.success .toast-icon { background: var(--green); }
.toast.error .toast-icon { background: #ef4444; }
.toast.warning .toast-icon { background: var(--warning); }
.toast-text { color: var(--text); font-weight: 850; line-height: 1.35; }
.toast-bar { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--accent); animation: toastBar 4.2s linear forwards; }
.toast.success .toast-bar { background: var(--green); }
.toast.error .toast-bar { background: #ef4444; }
@keyframes toastBar { from { width: 100%; } to { width: 0%; } }

/* Dynamic payment methods */
.method-card.selectable { cursor: pointer; position: relative; }
.method-card.selectable input { position: absolute; opacity: 0; pointer-events: none; }
.method-card.selectable:has(input:checked) { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); color: var(--text); }
.method-card img { max-width: 44px; max-height: 34px; object-fit: contain; border-radius: 8px; }
.method-info { margin-top: 12px; }
.section-title.sub { margin-top: 20px; }
.inline-form { display: inline-flex; gap: 6px; align-items: center; margin: 0; }
.inline-form select { height: 34px; border-radius: 10px; border: 1px solid var(--border); background: var(--panel-2); color: var(--text); }
.admin-wide { grid-template-columns: repeat(4, minmax(140px, 1fr)); margin-bottom: 10px; }
.admin-method-form, .footer-manage-form { padding: 14px; border: 1px solid var(--border); border-radius: 18px; background: var(--panel-2); margin-bottom: 14px; }

/* Coupon detail drawer: smaller and scrollable */
.coupon-drawer { width: min(760px, 100%); }
.drawer-head { min-height: 78px; padding: 16px 18px; }
.drawer-head h3 { font-size: 18px; }
.drawer-body { overflow-y: auto; padding: 14px; scrollbar-width: thin; }
.drawer-footer { padding: 12px 16px; }
.detail-grid { gap: 9px; margin-bottom: 12px; }
.detail-box { min-height: 64px; border-radius: 15px; padding: 11px; }
.detail-box b { font-size: 15px; }
.event-card { border-radius: 18px; padding: 14px; }
.event-top h4 { font-size: 15px; }
.event-meta-grid div { padding: 10px; border-radius: 12px; }
.status-badge { display: inline-flex; align-items: center; gap: 6px; }
.status-badge i { width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-style: normal; background: rgba(255,255,255,.1); font-size: 11px; }
.status-win i { background: rgba(34,197,94,.18); color: var(--green); }
.status-lost i { background: rgba(239,68,68,.18); color: #ef4444; }
.status-pending i { background: rgba(245,158,11,.18); color: var(--warning); }

/* Access/admin login */
.access-denied, .admin-login-shell { min-height: 100vh; display: grid; place-items: center; padding: 18px; background: radial-gradient(circle at top left, var(--accent-soft), transparent 30%), var(--bg); }
.access-denied > div { width: min(460px, 100%); padding: 24px; border: 1px solid var(--border); border-radius: 24px; background: var(--panel); text-align: center; }
.access-denied h1 { font-size: 64px; margin: 0; color: var(--accent-2); }

@media (max-width: 980px) {
  .footer-columns { grid-template-columns: repeat(2, 1fr); }
  .admin-wide { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  body { font-size: 12px; }
  .toast-wrap { top: 76px; right: 12px; }
  .footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-columns { grid-template-columns: 1fr; padding: 16px; }
  .admin-wide { grid-template-columns: 1fr; }
  .lang-form select { max-width: 95px; }
  .coupon-drawer { width: 100%; }
}

/* =========================
   v5 overrides requested by buyer
   - page content grows naturally instead of forcing content-shell scroll
   - left header and top header never show at the same time
   - independent admin panel styles
   - promotions and content pages
   ========================= */
body { overflow: auto; }
.app-shell.page-mode { min-height: 100vh; height: auto; overflow: visible; }
.page-mode .main-shell { min-height: 100vh; height: auto; overflow: visible; }
.page-mode .content-shell { flex: 1 0 auto; min-height: auto; overflow: visible; padding: 16px; }
.app-shell.iframe-mode { height: 100vh; max-height: 100vh; overflow: hidden; }
.iframe-mode .main-shell { height: 100vh; max-height: 100vh; overflow: hidden; }
.iframe-mode .content-shell { flex: 1 1 auto; min-height: 0; height: auto; overflow: hidden; padding: 8px; display: flex; }
.iframe-mode .iframe-card { flex: 1 1 auto; height: auto; min-height: 0; }
.iframe-mode .iframe-card iframe { height: 100%; min-height: 0; }
.left-toolbar { height: 68px; min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 18px; background: color-mix(in srgb, var(--surface) 92%, #000 8%); border-bottom: 1px solid var(--border); }
.toolbar-title h1 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.toolbar-title p { margin: 3px 0 0; color: var(--muted); font-size: 11px; font-weight: 750; }
.top-header { display: none; }
[data-layout="top"] .top-header { display: flex; }
[data-layout="top"] .left-toolbar { display: none; }
[data-layout="left"] .top-header { display: none !important; }
[data-layout="left"] .left-toolbar { display: flex; }
[data-layout="top"] .sidebar { display: none; }
[data-layout="left"] .sidebar { display: flex; }
.brand-logo-img { width: 42px; height: 42px; min-width: 42px; border-radius: 14px; object-fit: contain; background: var(--panel-2); border: 1px solid var(--border); padding: 4px; }
.footer-brand-block .brand { flex-shrink: 0; }
.footer-brand-block > p { margin: 0; max-width: 560px; }
.page-content-card { border: 1px solid var(--border); background: var(--panel); border-radius: 24px; padding: clamp(18px, 3vw, 32px); box-shadow: var(--shadow); line-height: 1.7; color: var(--text); }
.page-content-card h1, .page-content-card h2, .page-content-card h3 { margin-top: 0; }
.promo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.promo-card { border: 1px solid var(--border); background: linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel) 88%, var(--accent) 12%)); border-radius: 24px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.promo-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: var(--panel-2); }
.promo-body { padding: 18px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.promo-body h3 { margin: 0; font-size: 18px; }
.promo-body .promo-text { color: var(--muted); line-height: 1.55; }
.promo-body .btn { align-self: flex-start; margin-top: auto; }
#drawerContent { min-height: 0; height: 100%; display: flex; flex-direction: column; }
.coupon-drawer { max-height: 100vh; }
.drawer-body { flex: 1 1 auto; min-height: 0; overflow-y: auto !important; scrollbar-width: thin; scrollbar-color: var(--accent) transparent; }
.drawer-body::-webkit-scrollbar { width: 6px; }
.drawer-body::-webkit-scrollbar-thumb { background: var(--accent); border-radius: 999px; }
.drawer-head, .drawer-footer { flex: 0 0 auto; }

/* Independent admin panel */
.admin-body { min-height: 100vh; background: #101214; color: #f5f7fa; overflow: auto; }
.admin-app { min-height: 100vh; display: grid; grid-template-columns: 268px minmax(0, 1fr); background: radial-gradient(circle at top left, rgba(255, 85, 145, .10), transparent 28%), #141617; }
.admin-sidebar { position: sticky; top: 0; height: 100vh; padding: 18px 14px; background: #0d0f10; border-right: 1px solid #25282c; display: flex; flex-direction: column; gap: 18px; }
.admin-brand { display: flex; align-items: center; gap: 10px; padding: 0 8px 12px; border-bottom: 1px solid #25282c; }
.admin-brand img, .admin-brand .brand-mark { width: 42px; height: 42px; border-radius: 14px; }
.admin-brand strong { display: block; font-size: 17px; }
.admin-brand small { color: #8f98a6; }
.admin-menu { display: grid; gap: 8px; }
.admin-menu button, .admin-menu a { min-height: 42px; padding: 0 12px; border-radius: 13px; border: 1px solid transparent; background: transparent; color: #a7b0bd; text-align: left; cursor: pointer; font-weight: 850; display: flex; align-items: center; gap: 10px; }
.admin-menu button:hover, .admin-menu a:hover, .admin-menu button.active { background: #1b1f23; color: #fff; border-color: #2a3037; }
.admin-main { min-width: 0; padding: 18px; }
.admin-topbar { position: sticky; top: 0; z-index: 5; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; border: 1px solid #2a2f35; border-radius: 24px; background: rgba(37, 40, 43, .95); backdrop-filter: blur(14px); margin-bottom: 18px; }
.admin-topbar h1 { margin: 0; font-size: 20px; }
.admin-topbar p { margin: 3px 0 0; color: #9aa3b2; font-size: 12px; }
.admin-panel-card { border: 1px solid #2a2f35; border-radius: 24px; background: #1a1d20; box-shadow: 0 18px 50px rgba(0,0,0,.25); padding: 18px; margin-bottom: 18px; }
.admin-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.admin-panel-head h2 { margin: 0; font-size: 17px; }
.admin-report-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.admin-report-card { padding: 18px; border-radius: 22px; background: linear-gradient(135deg, #152839, #17202f); border: 1px solid #26364a; min-height: 118px; }
.admin-report-card:nth-child(2) { background: linear-gradient(135deg, #4a321f, #312719); }
.admin-report-card:nth-child(3) { background: linear-gradient(135deg, #144043, #172b31); }
.admin-report-card:nth-child(4) { background: linear-gradient(135deg, #513044, #372431); }
.admin-report-card:nth-child(5) { background: linear-gradient(135deg, #223c73, #1d2c54); }
.admin-report-card:nth-child(6) { background: linear-gradient(135deg, #263d76, #1d2b56); }
.admin-report-card span { display:block; color:#b8c2d1; font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .03em; }
.admin-report-card b { display:block; margin-top: 14px; font-size: 24px; }
.admin-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-panel-card label span { display:block; margin-bottom: 7px; color:#adb5c2; font-weight:850; font-size:12px; }
.admin-panel-card input, .admin-panel-card select, .admin-panel-card textarea { width:100%; min-height:42px; border:1px solid #363b42; background:#303235; color:#fff; border-radius:10px; padding:0 12px; outline:0; }
.admin-panel-card textarea { min-height: 150px; padding: 12px; resize: vertical; }
.admin-table { width:100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 12px 10px; border-bottom: 1px solid #2a2f35; text-align:left; vertical-align: top; }
.admin-table th { color:#aeb7c4; font-size:12px; }
.admin-table td { color:#e8edf5; }
.admin-actions-row { display:flex; gap:8px; flex-wrap:wrap; }
.admin-section { display:none; }
.admin-section.active { display:block; }
.admin-promo-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.admin-promo-card { border:1px solid #2a2f35; border-radius:22px; background:#202326; overflow:hidden; }
.admin-promo-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.admin-promo-card div { padding:14px; }
.admin-promo-card h3 { margin:0 0 12px; font-size:15px; }
.admin-modal { position: fixed; inset: 0; z-index: 300; display:none; align-items:center; justify-content:center; padding:18px; background: rgba(0,0,0,.62); }
.admin-modal.show { display:flex; }
.admin-modal-box { width:min(820px, 100%); max-height: calc(100vh - 36px); overflow:auto; background:#1a1d20; border:1px solid #2a2f35; border-radius:22px; box-shadow:0 24px 80px rgba(0,0,0,.45); padding:18px; }
.admin-modal-box h2 { margin-top:0; }
@media (max-width: 1180px) { .admin-report-grid { grid-template-columns: repeat(3,1fr); } .admin-form-grid { grid-template-columns: repeat(2,1fr); } .promo-grid, .admin-promo-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 820px) { .admin-app { grid-template-columns: 1fr; } .admin-sidebar { position:relative; height:auto; } .admin-menu { grid-template-columns: repeat(2,1fr); } .admin-topbar { position:relative; } .admin-report-grid, .admin-form-grid, .admin-form-grid.two, .promo-grid, .admin-promo-grid { grid-template-columns: 1fr; } .left-toolbar { min-height: 68px; height:auto; padding: 10px; flex-wrap: wrap; } .header-actions { flex-wrap: wrap; } }


/* =========================
   v6 final polish
   ========================= */
.admin-brand small { display: none; }
.admin-menu svg { width: 18px; height: 18px; flex: 0 0 auto; }
.admin-menu button.active svg { color: #fff; }
.admin-lang-form select { height: 38px; min-width: 132px; border: 1px solid #333941; border-radius: 12px; background: #171a1e; color: #f5f7fa; padding: 0 10px; font-weight: 850; outline: 0; }
.admin-auth-lang { position: fixed; right: 18px; top: 18px; z-index: 3; }
.admin-auth-lang select { height: 38px; border: 1px solid #333941; border-radius: 12px; background: #171a1e; color: #f5f7fa; padding: 0 10px; font-weight: 850; outline: 0; }
.footer-brand-block { max-width: none; }
.footer-brand-block > p { display: none; }
.settings-panel .layout-option small { display: none; }
.settings-panel .layout-option b { font-size: 13px; }
[data-theme="red-dark"],
[data-theme="green-dark"],
[data-theme="blue-dark"],
[data-theme="orange-dark"] { color-scheme: dark; }
@media (max-width: 820px) {
  .admin-topbar { align-items: flex-start; flex-direction: column; }
  .admin-actions-row { width: 100%; }
  .admin-lang-form, .admin-lang-form select { width: 100%; }
}


/* =========================
   v7 visual polish: logo-only, Mario-style top header,
   lighter typography and modern icon registration form.
   ========================= */
body { font-family: "Inter", "Segoe UI", Arial, sans-serif; font-weight: 500; letter-spacing: -0.01em; }
.btn, .nav-item, .top-nav a, .user-chip, .currency-form, .admin-menu button, .admin-menu a { font-weight: 720; }
.hero h1 { font-weight: 760; letter-spacing: -0.055em; }
.hero p, .muted, .page-title-bar p, .toolbar-title p { font-weight: 500; }
.brand-copy, .admin-brand strong, .auth-brand strong { display: none !important; }
.brand, .admin-brand, .auth-brand { gap: 0; }
.brand-mark, .brand-logo-img, .admin-brand img, .admin-brand .brand-mark { width: 46px; height: 46px; min-width: 46px; border-radius: 16px; }
.sidebar.collapsed .brand-copy, .sidebar.collapsed .nav-item span { opacity: 1; width: auto; }
.sidebar.collapsed .nav-item span { display: none; }

/* Top header layout inspired by classic betting sites: logo/action row + dark game menu row. */
[data-layout="top"] .main-shell { width: 100%; }
[data-layout="top"] .top-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: 72px 58px;
  gap: 0;
  height: 130px;
  min-height: 130px;
  padding: 0;
  background: var(--surface);
  border-bottom: 0;
  box-shadow: 0 12px 36px rgba(0,0,0,.22);
}
[data-layout="top"] .top-header > .header-left { display: contents; }
[data-layout="top"] .top-header .mobile-menu { grid-column: 1; grid-row: 1; margin-left: 14px; }
[data-layout="top"] .top-header .brand { grid-column: 1; grid-row: 1; align-self: center; margin-left: 22px; }
[data-layout="top"] .top-header .header-actions { grid-column: 3; grid-row: 1; align-self: center; padding-right: 22px; }
[data-layout="top"] .top-nav {
  grid-column: 1 / -1;
  grid-row: 2;
  height: 58px;
  padding: 0 18px;
  gap: 0;
  overflow-x: auto;
  background: #242834;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(0,0,0,.35);
  scrollbar-width: thin;
}
[data-layout="top"] .top-nav a {
  height: 58px;
  border-radius: 0;
  padding: 0 18px;
  color: #eef2f7;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.05);
  white-space: nowrap;
  font-size: 13px;
}
[data-layout="top"] .top-nav a svg { color: var(--accent-2); }
[data-layout="top"] .top-nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
[data-layout="top"] .top-nav a.active { background: var(--accent); color: #fff; border: 0; }
[data-layout="top"] .top-nav a.active svg { color: #fff; }
[data-layout="top"] .currency-form, [data-layout="top"] .user-chip,
[data-layout="top"] .lang-form select, [data-layout="top"] .header-actions .btn { height: 46px; border-radius: 6px; }
[data-layout="top"] .btn-primary { border-radius: 6px; }
[data-layout="top"] .btn-ghost { border-radius: 6px; }

/* Auth modals */
.auth-modal { font-size: 13px; border-radius: 22px; border-color: rgba(255,255,255,.10); }
.auth-modal h2 { font-size: 19px; font-weight: 760; letter-spacing: -.025em; text-transform: none; }
.auth-modal .muted { font-size: 12px; }
.auth-modal.wide { width: min(100%, 840px); padding: 24px; }
.auth-modal label:not(.check-row) { position: relative; display: block; }
.auth-modal label:not(.check-row)::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  width: 17px;
  height: 17px;
  transform: translateY(-50%);
  background: currentColor;
  color: var(--accent-2);
  opacity: .9;
  pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center/contain no-repeat;
}
.auth-modal input, .auth-modal select {
  min-height: 48px;
  padding-left: 44px;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 12px;
  background: #171717;
  color: #fff;
  font-size: 13px;
  font-weight: 560;
}
.auth-modal input::placeholder { color: #9ca3af; }
.form-grid.two { gap: 16px; }
.phone-row { grid-template-columns: .62fr 1fr .62fr; gap: 12px; }
.check-row { font-size: 12px; color: #c7ced8; }

/* Admin logo-only and more polished navigation. */
.admin-brand { justify-content: center; }
.admin-menu button, .admin-menu a { font-size: 13px; }
.admin-menu svg { color: #8ea0b4; }
.admin-menu button.active svg, .admin-menu button:hover svg, .admin-menu a:hover svg { color: #fff; }

@media (max-width: 980px) {
  [data-layout="top"] .top-header { grid-template-columns: auto 1fr; grid-template-rows: 68px auto; height: auto; min-height: 126px; }
  [data-layout="top"] .top-header .brand { margin-left: 62px; }
  [data-layout="top"] .top-header .mobile-menu { display: inline-flex; position: absolute; left: 14px; top: 15px; z-index: 2; }
  [data-layout="top"] .top-header .header-actions { grid-column: 2; grid-row: 1; padding-right: 10px; justify-content: flex-end; }
  [data-layout="top"] .top-nav { height: auto; min-height: 54px; padding: 0 8px; }
  [data-layout="top"] .top-nav a { height: 54px; padding: 0 12px; }
}
@media (max-width: 680px) {
  .auth-modal.wide { width: 100%; padding: 18px; }
  .phone-row, .form-grid.two { grid-template-columns: 1fr; gap: 0; }
  [data-layout="top"] .top-header { grid-template-columns: 1fr; }
  [data-layout="top"] .top-header .header-actions { grid-column: 1; grid-row: 2; padding: 8px; flex-wrap: wrap; justify-content: flex-start; background: var(--surface); }
  [data-layout="top"] .top-nav { grid-row: 3; }
  [data-layout="top"] .top-header .brand { grid-column: 1; grid-row: 1; }
}


/* =========================
   v7 requested fixes
   ========================= */
.toast-wrap { top: 86px; right: 18px; }
.toast-icon { font-size: 17px; }
.brand.logo-only { min-width: 0; overflow: visible; }
.brand-logo-img { width: auto !important; height: auto !important; max-width: 220px; max-height: 64px; min-width: 0 !important; border-radius: 0 !important; object-fit: contain; background: transparent !important; border: 0 !important; padding: 0 !important; }
.sidebar .brand-logo-img { max-width: 170px; max-height: 58px; }
.sidebar.collapsed .brand-logo-img { max-width: 44px; max-height: 44px; }
.brand-mark { width: 52px; height: 52px; min-width: 52px; border-radius: 16px; }
.auth-logo-wrap { display:flex; justify-content:center; align-items:center; min-height: 68px; margin-bottom: 14px; }
.auth-logo-wrap .brand-logo-img { max-width: 240px; max-height: 70px; }
.auth-logo-wrap .brand-mark { width: 58px; height: 58px; font-size: 18px; }
.admin-brand .brand-logo-img, .admin-brand img { width:auto !important; height:auto !important; max-width: 190px; max-height: 70px; border-radius: 0 !important; object-fit: contain; background: transparent !important; border: 0 !important; padding: 0 !important; }
.auth-field { position: relative; display: block; }
.auth-field .field-icon { position:absolute; left:15px; top:50%; width:18px; height:18px; transform:translateY(-50%); color: var(--accent-2); z-index:2; pointer-events:none; }
.auth-modal label:not(.check-row)::before { display: none !important; }
.auth-modal input, .auth-modal select { padding-left: 46px !important; font-weight: 520; }
.btn svg { width: 18px; height: 18px; flex: 0 0 auto; }
input, textarea { autocomplete: off; }
.btn-danger { background:#f65385; color:#fff; border-color:transparent; }
.btn-danger:hover { filter:brightness(1.08); }
.table-scroll { width:100%; overflow:auto; scrollbar-width: thin; scrollbar-color: #4b5563 transparent; }
.table-scroll::-webkit-scrollbar { height: 7px; width: 7px; }
.table-scroll::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 99px; }
.bank-add-card .admin-panel-head h2, .admin-panel-head h2 { display:flex; align-items:center; gap:9px; }
.bank-form-grid { grid-template-columns: 1.1fr 1.2fr 1.2fr .8fr .8fr .7fr; align-items:end; }
.bank-submit { margin-top: 12px; min-width: 210px; }
.toggle-pill { width: 42px; height: 24px; padding: 3px; border-radius: 999px; border:0; cursor:pointer; background:#4b5563; display:inline-flex; align-items:center; }
.toggle-pill span { width:18px; height:18px; border-radius:50%; background:#fff; display:block; transition:.18s ease; }
.toggle-pill.on { background:#0ea5e9; }
.toggle-pill.on span { transform:translateX(18px); }
.method-tabs { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.method-tab { min-height:42px; padding:0 16px; display:inline-flex; align-items:center; gap:9px; border-radius:999px; border:1px solid #343a42; background:#1a1d20; color:#7f91ad; font-weight:780; cursor:pointer; }
.method-tab.active { color:#ffb000; border-color:#ffb000; background:rgba(255,176,0,.08); }
.method-table input, .method-table select { min-height:36px; }
.method-name { display:flex; align-items:center; gap:10px; min-width:180px; }
.method-name img { width:24px; height:24px; object-fit:contain; }
.method-name b { display:block; }
.method-name small { display:block; color:#9aa3b2; font-size:11px; }
[data-method-admin-row="withdraw"] { display:none; }
html[data-admin-method-tab="withdraw"] [data-method-admin-row="deposit"] { display:none; }
html[data-admin-method-tab="withdraw"] [data-method-admin-row="withdraw"] { display:table-row; }
html[data-admin-method-tab="withdraw"] [data-method-admin-tab="deposit"] { color:#7f91ad; border-color:#343a42; background:#1a1d20; }
html[data-admin-method-tab="withdraw"] [data-method-admin-tab="withdraw"] { color:#ffb000; border-color:#ffb000; background:rgba(255,176,0,.08); }
@media (max-width: 1180px) { .bank-form-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 680px) { .bank-form-grid { grid-template-columns: 1fr; } .brand-logo-img { max-width: 170px; max-height: 56px; } }

/* v8 focused fixes: admin request reports and compact request actions */
.request-filter-grid { align-items: end; }
.payment-report-grid { margin: 22px 0; }
.request-action-form { display: grid; grid-template-columns: 140px minmax(180px, 1fr) auto; gap: 8px; align-items: center; min-width: 420px; }
.request-action-form input,
.request-action-form select { height: 38px; }
.warning-strip { border-color: color-mix(in srgb, var(--warning) 35%, var(--border)); background: color-mix(in srgb, var(--warning) 10%, var(--panel)); margin: 12px 0; }
.admin-request-filter-card { margin-bottom: 22px; }
@media (max-width: 820px) {
  .request-action-form { grid-template-columns: 1fr; min-width: 240px; }
  .payment-report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =========================
   v9 focused fixes: green default, theme atmosphere, fixed logo ratio
   ========================= */
body {
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent) 23%, transparent), transparent 28%),
    radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--accent-2) 18%, transparent), transparent 30%),
    linear-gradient(180deg, #020304 0%, var(--bg) 42%, #030405 100%);
}
.app-shell {
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 18%, transparent), transparent 30%),
    radial-gradient(circle at 75% 22%, color-mix(in srgb, var(--accent-2) 10%, transparent), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.028), transparent 35%),
    var(--bg);
}
[data-theme="red-dark"], [data-theme="green-dark"], [data-theme="blue-dark"], [data-theme="orange-dark"] {
  --bg: #040506;
  --surface: #090b0e;
  --panel: #101318;
  --panel-2: #161a21;
  --panel-3: #202631;
  --border: #2a313d;
}
.brand-logo-img,
.sidebar .brand-logo-img,
.admin-brand .brand-logo-img,
.admin-brand img,
.auth-logo-wrap .brand-logo-img {
  width: 260px !important;
  height: 60px !important;
  max-width: 260px !important;
  max-height: 60px !important;
  min-width: 260px !important;
  object-fit: contain !important;
  object-position: left center;
  border-radius: 0 !important;
  background: transparent !important;
}
.sidebar .brand { width: 260px; overflow: hidden; }
.sidebar.collapsed .brand { width: 46px; }
.sidebar.collapsed .brand-logo-img { width:46px !important; min-width:46px !important; max-width:46px !important; height:46px !important; max-height:46px !important; object-fit: contain !important; }
.auth-logo-wrap { min-height: 78px; }
@media (max-width: 760px) {
  .brand-logo-img,
  .auth-logo-wrap .brand-logo-img { width: 200px !important; min-width: 200px !important; max-width: 200px !important; height: 48px !important; max-height: 48px !important; }
}

/* v10: clearer status/action badges used in account history and admin payments. */
.status-approved { background: rgba(34,197,94,.16) !important; color: #22c55e !important; }
.status-approved i { background: rgba(34,197,94,.20) !important; color: #22c55e !important; }
.status-cancelled { background: rgba(239,68,68,.16) !important; color: #ff6676 !important; }
.status-cancelled i { background: rgba(239,68,68,.20) !important; color: #ff6676 !important; }
.status-pending { background: rgba(245,158,11,.16) !important; color: #fbbf24 !important; }
.status-pending i { background: rgba(245,158,11,.20) !important; color: #fbbf24 !important; }
.status-neutral { background: rgba(56,189,248,.16) !important; color: #38bdf8 !important; }
.status-neutral i { background: rgba(56,189,248,.20) !important; color: #38bdf8 !important; }
.status-badge { gap: 6px; white-space: nowrap; }
.status-badge i { width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-size: 11px; font-weight: 900; }


/* v11: compact status/action pills so the colored background follows the text only. */
.status-badge {
  width: max-content !important;
  max-width: 100%;
  flex: 0 0 auto;
  line-height: 1.1;
  padding-inline: 9px !important;
}
.coupon-stat b,
.detail-box b,
td .status-badge,
td .tag {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
}
.coupon-stat b .status-badge,
.detail-box b .status-badge {
  align-self: flex-start;
}


/* v14: custom language picker with real flag sprite icons. */
.flag-language-form {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 38px;
  min-width: 0;
}
.language-picker {
  position: relative;
  min-width: 148px;
  z-index: 80;
}
.language-trigger {
  width: 100%;
  height: 38px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel-2);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  cursor: pointer;
  font-weight: 650;
  font-size: 13px;
  line-height: 1;
  transition: .18s ease;
}
.language-trigger:hover,
.language-picker.open .language-trigger {
  border-color: color-mix(in srgb, var(--accent) 46%, var(--border));
  background: color-mix(in srgb, var(--panel-2) 86%, var(--accent) 14%);
}
.language-trigger span {
  max-width: 82px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.language-arrow {
  width: 14px;
  height: 14px;
  margin-left: auto;
  opacity: .75;
}
.language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 190px;
  max-height: 338px;
  overflow-y: auto;
  padding: 6px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--panel) 94%, #000 6%);
  box-shadow: 0 18px 48px rgba(0,0,0,.45);
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: .18s ease;
}
.language-picker.open .language-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.language-item {
  width: 100%;
  height: 34px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 9px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  text-align: left;
}
.language-item:hover,
.language-item.active {
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  color: var(--text);
}
.multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc {
  width: 22px;
  height: 14px;
  min-width: 22px;
  display: inline-block;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 2px;
  background-image: url('flags.BQeYwOcj.png');
  background-repeat: no-repeat;
  background-size: 100% auto;
  box-shadow: 0 1px 3px rgba(0,0,0,.22);
}
/* Original flags.BQeYwOcj.png sprite positions. Keep percentage positions exactly like the source CSS. */
.flag-bc.turkey, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.turkey { background-position: 0 91.3494809689% !important; }
.flag-bc.unitedkingdom, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.unitedkingdom { background-position: 0 93.7716262976% !important; }
.flag-bc.russia, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.russia { background-position: 0 73.3564013841% !important; }
.flag-bc.iran, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.iran { background-position: 0 41.8685121107% !important; }
.flag-bc.arableague, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.arableague { background-position: 0 4.4982698962% !important; }
.flag-bc.china, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.china { background-position: 0 18.339100346% !important; }
.flag-bc.japan, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.japan { background-position: 0 44.6366782007% !important; }
.flag-bc.germany, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.germany { background-position: 0 33.2179930796% !important; }
.flag-bc.spain, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.spain { background-position: 0 83.044982699% !important; }
.flag-bc.portugal, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.portugal { background-position: 0 70.9342560554% !important; }
.flag-bc.france, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.france { background-position: 0 30.7958477509% !important; }
.flag-bc.italy, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.italy { background-position: 0 43.9446366782% !important; }
.flag-bc.georgia, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.georgia { background-position: 0 32.8719723183% !important; }
.admin-body .language-trigger { border-color: #333941; background: #171a1e; color: #f5f7fa; }
.admin-body .language-menu { border-color: #333941; background: #171a1e; }
@media (max-width: 720px) {
  .language-picker { min-width: 56px; }
  .language-trigger { width: 44px; padding: 0; justify-content: center; }
  .language-trigger span { display: none; }
  .language-arrow { display: none; }
  .language-menu { right: -4px; }
}

/* v12: theme-colored sportsbook/casino background glow while dark themes stay black-based. */
[data-theme$="-dark"] body,
body {
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--accent) 22%, transparent) 0, transparent 30%),
    radial-gradient(circle at 92% 16%, color-mix(in srgb, var(--accent-2) 16%, transparent) 0, transparent 34%),
    linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 84%, #000 16%) 100%);
}
[data-theme$="-dark"] .app-shell,
[data-theme$="-dark"] .admin-shell {
  background:
    radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 34%),
    radial-gradient(circle at 85% 8%, color-mix(in srgb, var(--accent-2) 10%, transparent), transparent 30%),
    transparent;
}

/* v12: status pills stay as compact labels in all cards/tables. */
.status-badge,
.coupon-stat .status-badge,
.detail-box .status-badge {
  width: fit-content !important;
  min-width: 0 !important;
  align-self: flex-start;
}

@media (max-width: 720px) {
  .flag-language-form select { min-width: 86px; max-width: 96px; }
  .flag-language-form { padding: 0 6px; }
}

/* v16: original flag sprite positions fixed from uploaded index.B1IHQGwn.css. */

/* v19 settings controls */
.settings-split { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:16px; margin-top:18px; }
.settings-box { border:1px solid var(--border); background:var(--panel-2); border-radius:18px; padding:16px; }
.settings-box h3 { margin:0 0 14px; font-size:14px; font-weight:750; color:var(--text); }
.check-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:8px; margin-top:12px; }
.currency-check-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.check-pill { display:flex; align-items:center; gap:8px; min-height:38px; padding:8px 10px; border:1px solid var(--border); border-radius:12px; background:var(--panel); color:var(--text); cursor:pointer; }
.check-pill input { accent-color:var(--accent); }
.check-pill span { font-size:12px; font-weight:650; }
.toggle-line { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.toggle-line select { max-width:170px; }
.maintenance-state { display:flex; align-items:center; gap:10px; color:var(--warning); border-color:color-mix(in srgb, var(--warning) 40%, var(--border)); background:color-mix(in srgb, var(--warning) 9%, var(--panel)); }
.maintenance-state svg { width:22px; height:22px; color:var(--warning); }
@media (max-width: 900px) { .settings-split, .check-grid, .currency-check-grid { grid-template-columns: 1fr; } .toggle-line { align-items:flex-start; flex-direction:column; } }

/* v20 flag sprite stability + settings checkbox size fix
   Uses the original flags.BQeYwOcj.png sprite without regenerating it.
   Pixel positions prevent some flags from disappearing after layout/style recalculation. */
.multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc,
.flag-bc.multi-select-icon-bc.ftr-lang-bar-flag-bc,
.language-item .flag-bc,
.language-trigger .flag-bc {
  width: 22px !important;
  height: 14px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  display: inline-block !important;
  flex: 0 0 22px !important;
  overflow: hidden !important;
  border-radius: 2px !important;
  background-image: url('flags.BQeYwOcj.png?v=20') !important;
  background-repeat: no-repeat !important;
  background-size: 22px 5986.6667px !important;
  background-color: transparent !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .24) !important;
  transform: translateZ(0);
}
.flag-bc.turkey { background-position: 0 -5456px !important; }
.flag-bc.unitedkingdom { background-position: 0 -5600.6667px !important; }
.flag-bc.russia { background-position: 0 -4381.3333px !important; }
.flag-bc.iran { background-position: 0 -2500.6667px !important; }
.flag-bc.arableague { background-position: 0 -268.6667px !important; }
.flag-bc.china { background-position: 0 -1095.3333px !important; }
.flag-bc.japan { background-position: 0 -2666px !important; }
.flag-bc.germany { background-position: 0 -1984px !important; }
.flag-bc.spain { background-position: 0 -4960px !important; }
.flag-bc.portugal { background-position: 0 -4236.6667px !important; }
.flag-bc.france { background-position: 0 -1839.3333px !important; }
.flag-bc.italy { background-position: 0 -2624.6667px !important; }
.flag-bc.georgia { background-position: 0 -1963.3333px !important; }

/* v20: keep settings language/currency checkbox controls compact. */
.check-pill input[type="checkbox"],
.check-pill input[type="radio"],
.settings-box input[type="checkbox"],
.settings-box input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  accent-color: var(--accent) !important;
  flex: 0 0 16px !important;
}
.check-pill {
  min-height: 36px !important;
  padding: 7px 10px !important;
  gap: 8px !important;
}
.check-pill span {
  line-height: 1.25 !important;
}


/* v21: Stable language flags.
   These icons are cropped from the original flags.BQeYwOcj.png sprite.
   They avoid browser recalculation issues that caused some sprite positions to disappear after load. */
.multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc,
.flag-bc.multi-select-icon-bc.ftr-lang-bar-flag-bc,
.language-item .flag-bc,
.language-trigger .flag-bc {
  width: 22px !important;
  height: 14px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  display: inline-block !important;
  flex: 0 0 22px !important;
  overflow: hidden !important;
  border-radius: 2px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 22px 14px !important;
  background-color: transparent !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .24) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.flag-bc.turkey, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.turkey { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAABp0lEQVR42p2TMWtUURCFv5nry+7yskqWkEQilm6QCFYK8RdY2cTOwnKLIGJjJ3a2op2NhZ291v4FC2MwIghbJKCLMRvzkn33HotniOuCvnhhuMPl8jFz5oxt0r0ZsCcJ5iPCwPiPI1DAcNiO6I5tcOFrA+8USGNQsyqkKmrCm5gdkAbu2CQ0BFBEaRdpv3bVBlYgOdbxCH9U6ih+x/IWjWsrZN0lCHbcQQ14BPkY1B1pSGv1BnPrr8nXbpGtLBPOn0U6AKWq4RrwU2PQ9IPs0jKdl08ZPn7Ot3v3MfJKnflFtLeHyhKKEf+asR9nhihorV5Ho0OGj57hdgafmsZm2rQf9Jh984JwbgExAvea4JrTqf11g67GpbjI3NtXk1IsLKLhEJWxlhRhjdmHlQmF+RRxu0/57hPTd2/TuHoFO52jnYLY78OhoEy1Srf3dNOE3bSL5x2yy0ukLzuUHz9DOtoC1VoU+0BXE14OAeIIsQ8EjOYJVxvzhAZNzPS7QWMEC5i3MWudCNrELKGBB6wn2MowDOS/rOISnlJ1H739JQyUYQi2Atb7Ca7XsXjBLf0rAAAAAElFTkSuQmCC') !important; }
.flag-bc.unitedkingdom, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.unitedkingdom { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAADvElEQVR42pWS/0+VdRiGr8/7ni8vnAOcgzohmVlRpGPOdMiwAtnUWoVtJkmireVyxwqjlTZbqbiyDXRNzUKLVmygNmATsCJbkJtDVDSN6SgpNAowBYRzPF/f9+mHw5b92P0HXM+z+77UdSgOr31jr3fP1unN10y2fnxOXekbB4+BHohQUjybGqOH30pfA+Deuj2sC2ZTd+QSztQEwqEoBE2mZ6XL5gIPq5oPDl+r3b1R66uqq07uvZw2OLeQx04fUz9+kMf2V+cxxSGYo0Es08QSwQIswBRBYaGsGOFbQQyPG9/KTL5Nv6hWbipFXehJm9/UXK091TcrdZuvUsS3TsV27sYsLOLthD66Dyxj7eo52G0aCCji0RX4QxZiuCguyuL73FHe+7ScKfv2MW2zTxknGuWgZ0GqIv+IRUSU68F0Ni5wUny6Ccfhr0he9BDeLa8wMn8hjqZWxnxvYQEzPq9i/7QcZpzpoqiriYmT55E1Jdhe38DRP2BHzQWu/zomqqK1X3RNEbodIWjp5ObdzVJrkIm6BtCceMueJ9DyA6MlGwDwHP4E74olRA7UMTbuJ2H1MyTNyuDE7+Mc7xzClmAn0dBRofoGAdCUQiEEAlFCdidakhuJRJCYRaS9k0DNYQBc657DvjgX0TV0w4n4/Vj+2ziddpJcNhCwRFA/kyHcEQ2FhiBYKBTxdu0oHAAIESAKCIKg0ACFACb/omx3QvVJ1P9N3Jj//BevQlMKFEwEYoTDUTR3IsrtxgyFUaZFtKOLQM2hySpKcBTmoWwayuHAmvBjRMO4XHYEhSXxA7YqTw63QybRYJRlhWnk35PMRP8AwfpGPMkuHL41jNo1qKkFwLH0YVxFhYzuqwUrTFLpSr7T0unqvIqhmRiJDixL0Nt7c7b9MuRXT+fP5JGkMOPvVBLd8CZuiXHUO5e2YAqLbvUzfvQ4CoWxJB9/5v2kSojQlw3c2PQ+KcND9HpnsqdjjLbGy3Sc+lO0vVWL1eXqAnmx9xuk4AmSursYqNyFb3kFL5z1cOZqCMNpm5xTSHE5eLf1L17unYbVfIQHWj5j6oWzlO/ycT6zh/L12TJlToayrR/tHrn56P5U/8QNGSkrUzun5vHFyb8JDfeiojHchoY5uYsQlyQaszhUf4mvTw1Q9uxsXmpvwdbYhNrxoVTcdUytKi4d0c6tWO6TedlDDbvqeXxwrlQ3XCE05seZkoBoNgQNXcWl0iZ913Qd3ZvAzYhi+0c/UbClk7aFT0r6xXbGs2YP3bep1PcP87+cwen3B2oAAAAASUVORK5CYII=') !important; }
.flag-bc.russia, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.russia { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAAA2UlEQVR42rXTMU7DUBCE4X+en5FtkSYNFVUOwwk4AF0qzsANkDgJDTdCKBTYRki2wXlvaCipnHikbT+NVrvq+/62qqqneZ6vbAOIZbEkyrJ8n6bpXl3XfdR1vR2GwSGEpSgAOWc3TaNxHFu1/afTMTkEyZwWATnbRSwk/3xlJHHO2I6PL6/nRf/Ki5tnrwAT46ZkFdgprQOni8tVYD3s7lbZsd64zlr+bf9fGzj22ihhhzPhGVwgxeBjWxO2E/apzQ1ukL5JbSjQ3nAoEQIHYMkIXCIMhwLtfwHMDli2s6KF3wAAAABJRU5ErkJggg==') !important; }
.flag-bc.iran, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.iran { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAACqUlEQVR42p2Tz2tcVRTHP+e++97MMJNpOhETRUtqVZCKELAWxXaj7t0IbtyWrnTrn+DaVem2CKUr/wDdqAhaISAWsf5IiMUmasZkZkI67913vi7eNJl04cJzuXwv936/33s4h2MffPLWO1bYx6q1LBdgxv8KyYJhme2o1PvR0bVMNvAkYcxMBdgM/ytsjospSVmwFUfXglMP6kpy3AzDVWMYUj3LQ7OvmnXibsZ9qHHcGq96EBaKgZJPrZN3qbykk3dJXtGKHVxOnhXgTkYgI4A3dy6nFTskrzipndpCMZDd/+uebm99xvOPr/Hr39/zzNKLbA5/5OlTz7E93mSp9yQTO6QIBQCll/TUYXfyBysLq/y+/zOrgxf4bfcHzj32Enf/XOfCmTex0f5YedYieUkMObUnshCpPRFijk8OqL68Df2FpqyjMfmlC4ReF0/VETcLkeQVMRRU9ZRYK5GqCjOjqksMo6ynTR+9BEv8c+MW8ewqAGljk9OX16A8AHHELevpsYcZ0QTmAjNs1uAGBVWNDRZpX7rI5KPrAPQ+vEI4vYiGexCzRzRgEgTD9iZjWacN0xJaBZQV5DlUFcQIXmN5zsH1mwB0r7yLqgpCBikdc4v8yEOHD7DhxpYOb3xK643XmH7xLcXrL1N+s06+dp505xfi2aeod3aJZ1aaUmxtky0vkTbuEc8/S7V+h+LiGuVX39G6/ArTz7+m897b2N3lV73euW+hP8BHe4T+KXw0IvQW0OQA67TRg/J4ICWsPcuq18UnY0K/j4/2Cf1FfDQkW35C9hPn5JbLlAyLoESDNRAAn6Hmps2P3yyb0yRkUUGVBVk+bAuTRSHNCGoE0KABFmabk29zGllU45UPQyZdFWznAgMFiQCcQD3EufMjHAPlAsF2Jl39F5g0fZpmDokoAAAAAElFTkSuQmCC') !important; }
.flag-bc.arableague, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.arableague { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAACdUlEQVR42n2TW0tUURTHf2ufcxrnouZlvCSFZiCWL82UURRdoCAQlCRCMCEFEcoe+gJ9h556qYdearDoC3TzAhFlSUiTFYaEMpYOXsZGnXP27mF8yPHUggXrYe/fuvz5C33xyyjuoKnGACAUhgh4uXxtOWAMPmEQQDGP5qZwLbaIbZXjaoNshyoRtNHgetSEK0AglVkA20aJQhc2MBhsJbhe2kaJL1RE0O4maMOl5rN0NLZi2TaPk2M8nRpGK0HsXZi/4YLgaoOScqE3rgvXFxFMboOminquNJ8ivT7L8+lxDIZzDTEqg/tIJIeZWpxBnMB2+Nbsyhfq5aiJRBk80s7I7DD3P42xJCFCZQ08+vqWVz9ecuNoBzWRKMbLISI+qvTGt7WzlMLLZuiLd+K5v5jcWCTkVFBbWsZ6boOQE+bbQpKDgUpsJ8q9d0+wghE8rbeRVWErbQwoi/JghCU3w8kDrWSyKxyqa6Q+WocRjwstp0lvLlNRVAzK2imiH1gQ0B7p7CrupkdtaQndJ9p5NvmajzOfOdN0jJKAjXZhMbsC2ivU3R8MBiyb8dQUnS1tJEYTRMMOty5eZfB8F+FdHomRITpb2hhPTYFl5/8UhO13CnECTMwlGZ1roj/Ww8ORIcLBECJC5vca/fEexuaSTMwlkUDQ9xQWh/fc9nOb5QR4/+UN+6sauX68m8B6gPrQXrpi7byY/sDd4QdYkd15A/msLfTFDZqdBkEQNOVFxTSEq5jPLgNQHSrl+9pP0tlVDAqDj/sU8l9Lg4B286msrVt5oOx88m9LK5QMgE5tybjjpVg2ygkiykGUk6/9BTN5hk6hZOAPGsD+zDFSN4MAAAAASUVORK5CYII=') !important; }
.flag-bc.china, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.china { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAABdklEQVR42q2TMW5TQRiEv/nXcZxg8sQzokxBExBIiANwASoaSgq6NHABxCUoQeIOUHENDkBc0FiR4oAsnCfbu0PxHl0SbMNIqy1W+2l2dn6dHFXP++F3y6w7iIwQBgMSIKB0+/UykHbw6cJ6rZOj6mwP6mZXli0aKCGqVytm7xNlCnEALn9nF/BAqClMozegnp3Lw2dL9R8U8oVQ38w+JlTDzmNTmtaxuX4J1BgnUcfK8ujtSvXLObffzBm+MG4gTyDVpncIXmqdKKCDZ3D4zJp/CTQKnIJfn4SANILF12D+OYibbnNmfbi+HVYePIHyU0Rl8inkMeRzsf+00LtrZh+CdAucN4CP71f2QrDqqrDXvrr30OTvggX4grWj+KPAoL7RDdAQFOAsdh+1HSs/gGBjaXyv8mUhlZmIfUPqvpxNHV9R9Thwe7oFFCB81dXC1jI4Eshb+7ocmkCRzXSg/wN3N9LZTIPEcTGT1I6s/8mpoJgJiePfkC2l1wFjxroAAAAASUVORK5CYII=') !important; }
.flag-bc.japan, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.japan { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAAByElEQVR42rWTsU4bQRCGv5m9PZszDiIUkSyFjpKK0CBFUKK0KC1KSRXxAJQ8AMoT8BKkRylJR0lHJIsIOT7Z4ozvvDspronCJkoRRppiNTO//pn/XynL8n232/3UNM0rMwMQUtHWQNJlwEQE7/33x8fHjzIej0dLS0svq6oyVX0yZSGACNLJ2/e8BjPEuSfIMUYrikJms9kPmUwmFkIwkQSVEJEXPVhEwrchAO71ADLFJg/gNLGYmXNO9K+gK8vUl1eM9g+53zrgfuuA0f4h9eUVsrIMIT4ZExEJIZiUZWlJ0H6P+stXRu8+EOcVStGuS4V2CtY+n5O/fYNN08w1KYMKxMj05KwFzVdBHIhD81XivGJ6cgYxtr0piJT60skJt0Oa6xtUCmgWrSvMoFmgUtBc3xBuh62oZv/I+D+EJq6PzWvc+gC/uUG0CnzW+lcEfEa0Cr+5gVsftPZLaJ9mHA1U6Z8eo52CWI/BAlgg1mO0U9A/PQbVtjfF2CxxIKfY9IF8d5u1i3O6eztIv4f0e3T3dli7OCff3f6jI8zMnu2DPNuXVhE5Au6896iqqSq/pvMel2XoIqCLgMsyXNv7e5r3HuBORI5+AhF49U3ueWhFAAAAAElFTkSuQmCC') !important; }
.flag-bc.germany, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.germany { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAAAoklEQVR42rXSMQ6CUBCE4X/eg0I7sfIKHsQbUHkBruFlhUa01ATe2ICJLfA2mWqzX7YYgBpogTTFCzPft0At4AFU01Ksm9noFZE3Qv9wTe9vhf5wXTmYDKM75yxw8WQgC1xE5YGHMeWBT7djFljuLgltXDfjglcSo02Q1tZDAMkmSgXBPbtY8U7W2s+N2UfxGfuAQgN0lAJhglgUYUoBdCg0XwyQQ2230i1rAAAAAElFTkSuQmCC') !important; }
.flag-bc.spain, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.spain { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAABaUlEQVR42p2UMW4UQRBF3+/uscbWBtaKlcESMmQkIMRByBBXIPJhfAaOQMoJkJxCABKZF8QusoR2lpnp/gRjG6fTJVVYVa9+/y59Wbx8E+2LDCcFA4i6cEBE+JGlc30+eL5pFJZ7igPIlV0FFHBL0OCyTc1xWg7YiSjfw63BjqAB3JCW6ezDE7tYURCC4AZ5LMZ1A+Qgp7iKErAbzLozhxG6bM4WiSSwK5oHKTGYP4P5/de8/9rzsys8O468fQqLKNooylzyAEGNuNxkPv3KFKA3jIaPVyPfdwUl/Rd9Robbmr6YLkMQ7EYotfa4gzb0BdooHrZCwOmRsCEXwJPOzMyE4MWDSAri9QFs9mZ1KK52ZpGmnUKj2Rqn8bp4hYVN2cMqQL42jwJ4NLmr+YKyvj1+5d52gAnr1rw3Gmum1wq4QUr9etg20nJvW/V3YiIFt5J6e5t0FN959EVCJ2V6puojFBGGtVI4/wcKcq3mxQheLAAAAABJRU5ErkJggg==') !important; }
.flag-bc.portugal, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.portugal { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAABtUlEQVR42p2TvWtTYRjFf+e5NzfRFAyh+LEIIggi6CiCFEEKXdx0clFcOukguIiO/gEi0kHQRTfHbiLiXyAIilMXkRQxQa1t09z7Hoe0kEKsVw88y8vhx3k+Xt16Pn9FhR668iEngySAqGD9QHDh2YDzLwesRxCJP8rgDBGwWuGbeUVayp11q9KWEPbYmMDJJJsE7MHckUbYLXS4wksRim65lcbQSRcQAgUo2374Gxm0iR2omzt5KrQyrA1ha82UVcIEdSRQBQ6mQEtDo4CrJ8TCvQ7du7PkM8K4dvKYsgQIuH7ULLz9TvtVj+J0gyMPupBRW7vAEgxLONYRp8qST3c2WH0zx+drP9h/tqB1skmyqTOVmNYHFmqamG2x7/I8WbdAzZ12/iOxDc0MVr4lPrZbHL9hRo9vc/B+wca7is0PQyJU6/byaYEJePI+cfFShzPn2lSvf/HlUf+fEucYT16GgVwwGsGLFfj69CdzywMSOYFqwQ0OhWTvthvIBDMFNFoiy6L2RYy/Nork1M+LmApPHs/dFbWTtpAS7kdGLCJ6WS4krBCTFRKxveW9SuAGwtDL0OJvkDyuwDGTfDUAAAAASUVORK5CYII=') !important; }
.flag-bc.france, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.france { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAAA40lEQVR42u3TsU0DURCE4X/2HeAMuAQkKqASGoAeLBCEFIIEcgVU4KJMYgeABDq/HYI7IYv0DiJGWu1EX7QrLpdXaP+BrCc4QVIJUV87Hm/Pub44Y/PW0YQAYFuJ40Pen57Z3NwT5QhqxeCCCHip+K6hsqChJbdGEjZYQOJMcJKZJAOc2S+bvn1HHfYMnVa8CCJa6mePjoxAH9iB2sDVMB7dxSs4pkR38eCX8g//CWxPjRocqGhKvH9tFGSuKQfC43GDZ0iJ10FhDqyIBpBRDOcdKPoe8WOAkPo9jMB7CMOqoPkXqNpclFBBGXwAAAAASUVORK5CYII=') !important; }
.flag-bc.italy, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.italy { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAAA5UlEQVR42u3TMUoEQRSE4b9ej8tm6iSaeggjY0NDIy+wIGim9zCQvYCebU1WFAZknX5l0Its7mhkNUW96Mtat0/nl5rpwdVHTgNSqDBs3rg6vefs5IJh806oAMBYicN9hsdnXq/viHIAtWJwQQS8VHzTVXLZufR1tCUEbs+QmWSazASpwZltbNr1HX1iz9FxxcsIRT9ucov+LAJ9YAfqw+lJ0F28goMJ0V08+KX8w38BG0+NGhwKyRPi7WujSOe6m8UkuMFzpMTrKMQCsSqdkLAkWiEiiNB2dwqE1HZbgfcQhlVBiy/xmWaaxopEwAAAAABJRU5ErkJggg==') !important; }
.flag-bc.georgia, .multi-select-icon-bc.ftr-lang-bar-flag-bc.flag-bc.georgia { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAYAAAArMezNAAACzUlEQVR42rWSwYscRRTGf6+6p2ZnpntnZwOayxIw5JCzGGQ96AZvCp4WlD14UIkIBv8Bo5Kjl7CGEF1yiCAa9JicAq65LCH5A5ZAIgQPa8TsdE/1THfXTNfzMMkSoxAvfvDgFUXV9/h+jyzL1quq2nPOhVGeB+drdeVER3muo2GmhQZ9sHVF77Cid1jRB1tXtNCgo2GmozxXV07U+VpHeR6cc6Gqqr0sy9aNql4EDk/rGk1TGZ27zOTaDTRJaLwnoARVAsxLlYDSeI8mCZNrNxidu4ymqUzrGuCwql6MoyhaLotC435fxl9/h/v8S0x/CdNPsK+8iIbA09IQMGmC/3mH/OMzhDzDpB16778tZZ5rZO1y3HivAhKco722in35JeKjR4iPHyMUY0xrEZ78PAQIgVCMiY8fY+HN15ndu097bZXgHALSeK9xdGggAKpKazBg+afz0OlgFhbQqSeKLZJ0AQVAki5RbGFpEWlZFjfPQFkSDQYEbRARAInHWz/OJxGgCUjbQhPQpgFVpNfF/3ILaAHgt29RKOh4AiJIFEFk0NpDZB77I7us6FMJPnJ5UjFC+9FtDcx41hvD/yTZ++YH/S9RjC99D0DvvXewr514ZhRx74N1HsMzEtEMh3+H17IUAuNL3wJg106QbLxFM/VIyxKq6t/gETcPhyogGMP0jyHZR58SHz1C+tlpsDEMFtFicpChFhOamSdkI/Az3BebzO7dZ+nCWcxzAzQEFNRE1oqCmjSl3t7B37xNdfU6s927mKQHxszrgMr8bJIes927VFev42/ept7ewaQpChpZK3HTNPudJFme5Ll2T21IcCXxCyvYk6uEPx8SdQ79E4wxNK7Anlyl/9VZZr/+RvfUBrP9fe0miZRluR+LyIfAZqvdfl6d08VP3hWaBi0KImsxCEbkYH3mvYC1UBR033gVogh1TlvtNsDvInL6LxsShIdRkZK7AAAAAElFTkSuQmCC') !important; }

/* v22: Admin member detail + impersonation banner. */
.impersonation-banner {
  margin: 12px 16px 0;
  padding: 10px 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border));
  background: color-mix(in srgb, var(--accent) 14%, var(--panel));
  color: var(--text);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: 0 16px 34px rgba(0,0,0,.22);
}
.impersonation-banner span { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:650; }
.impersonation-banner svg { width:16px; height:16px; color:var(--accent); }
.impersonation-banner form { margin:0; }
.admin-table .btn-sm,
.btn-sm { min-height:30px; padding:6px 10px; border-radius:10px; font-size:12px; }
.admin-detail-top {
  background: var(--panel-2);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.admin-detail-title h2 { margin:0; display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:18px; }
.admin-detail-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.admin-detail-actions form { margin:0; }
.btn-white { background:#f7f9fc; color:#101318; border-color:#f7f9fc; }
.admin-detail-tabs {
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  margin: 0 0 16px;
  padding-bottom: 4px;
}
.admin-detail-tabs button {
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  border-radius: 999px;
  min-height: 40px;
  padding: 0 13px;
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  white-space:nowrap;
  font-weight:650;
}
.admin-detail-tabs button.active,
.admin-detail-tabs button:hover {
  color: var(--accent);
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}
.admin-detail-tabs svg { width:16px; height:16px; }
.user-detail-panel { overflow: visible; }
.user-info-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.user-info-grid > div {
  border:1px solid var(--border);
  background: color-mix(in srgb, var(--panel) 82%, #000 18%);
  border-radius: 12px;
  padding: 12px 14px;
  min-height: 58px;
}
.user-info-grid span { display:block; font-size:11px; font-weight:750; color:var(--muted); text-transform:uppercase; margin-bottom:6px; }
.user-info-grid b { display:block; color:var(--text); font-size:14px; line-height:1.35; word-break:break-word; }
.admin-wallet-grid { margin-top:10px; }
@media (max-width: 900px) {
  .admin-detail-top { align-items:flex-start; flex-direction:column; }
  .admin-detail-actions { width:100%; }
  .admin-detail-actions .btn, .admin-detail-actions form { width:100%; }
  .admin-detail-actions form .btn { width:100%; justify-content:center; }
  .user-info-grid { grid-template-columns:1fr; }
  .impersonation-banner { flex-direction:column; align-items:flex-start; }
}

/* v24: admin user filters, compact balance actions, scrollable admin menu and admin appearance panel. */
.admin-sidebar {
  overflow: hidden;
}
.admin-sidebar .admin-menu {
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
  max-height: calc(100vh - 110px);
  scrollbar-width: thin;
  scrollbar-color: var(--accent) transparent;
}
.admin-sidebar .admin-menu::-webkit-scrollbar { width: 5px; }
.admin-sidebar .admin-menu::-webkit-scrollbar-thumb { background: var(--accent); border-radius: 99px; }
.admin-user-filter { align-items: end; margin-bottom: 16px; }
.admin-user-filter .filter-action,
.request-filter-grid .filter-action {
  display: flex;
  align-items: end;
}
.user-list-table td .btn-sm {
  margin-right: 6px;
}
.user-list-table td:nth-child(6) {
  white-space: nowrap;
}
.balance-modal-box { max-width: 540px; }
.balance-modal-box label { display:block; margin-bottom: 12px; }
.balance-modal-box label span { display:block; margin-bottom:6px; color:#aeb7c4; font-weight:800; font-size:13px; }
.admin-settings-fab {
  right: 18px;
  bottom: 18px;
  top: auto;
  transform: none;
}
.admin-appearance-panel {
  right: 18px;
  bottom: 76px;
  top: auto;
  transform: translateY(20px);
}
.admin-appearance-panel.open {
  transform: translateY(0);
}
.detail-box span,
.event-meta-grid span {
  letter-spacing: .02em;
  word-break: normal;
  overflow-wrap: normal;
}
.detail-box b,
.event-meta-grid b {
  word-break: break-word;
}
@media (max-width: 820px) {
  .admin-sidebar .admin-menu { max-height: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .user-list-table td:nth-child(6) { white-space: normal; }
  .admin-settings-fab { right: 12px; bottom: 12px; }
  .admin-appearance-panel { right: 12px; bottom: 70px; }
}

/* =========================
   v25 admin theme/layout fixes and coupon status colors
   ========================= */
.admin-body {
  background: var(--bg) !important;
  color: var(--text) !important;
  overflow: auto;
}
.admin-app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 268px minmax(0, 1fr);
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 18%, transparent), transparent 28%),
    radial-gradient(circle at bottom right, color-mix(in srgb, var(--accent-2) 10%, transparent), transparent 32%),
    var(--bg) !important;
  transition: grid-template-columns .22s ease;
}
.admin-app.admin-collapsed { grid-template-columns: 82px minmax(0, 1fr); }
.admin-sidebar {
  background: color-mix(in srgb, var(--surface) 94%, #000 6%) !important;
  border-right: 1px solid var(--border) !important;
  color: var(--text) !important;
}
.admin-sidebar-toggle {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  border: 1px solid var(--border);
  background: var(--panel-2);
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .18s ease;
  margin: -6px auto 2px;
}
.admin-sidebar-toggle:hover { color: var(--text); border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); }
.admin-app.admin-collapsed .admin-sidebar { padding-inline: 10px; }
.admin-app.admin-collapsed .admin-brand { justify-content: center; padding-inline: 0; }
.admin-app.admin-collapsed .admin-menu button,
.admin-app.admin-collapsed .admin-menu a { justify-content: center; padding-inline: 0; gap: 0; }
.admin-app.admin-collapsed .admin-menu span { display: none; }
.admin-app.admin-collapsed .admin-menu svg { width: 20px; height: 20px; }
.admin-topbar,
.admin-panel-card,
.admin-modal-box {
  background: color-mix(in srgb, var(--panel) 94%, #000 6%) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
.admin-panel-head h2,
.admin-topbar h1,
.admin-table td { color: var(--text) !important; }
.admin-table th,
.admin-panel-card label span { color: var(--muted) !important; }
.admin-table th,
.admin-table td { border-bottom-color: var(--border) !important; }
.admin-promo-card,
.admin-report-card,
.bank-add-card,
.payment-limits-card {
  background: linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel) 88%, var(--accent) 12%)) !important;
  border-color: var(--border) !important;
}
.admin-panel-card input,
.admin-panel-card select,
.admin-panel-card textarea,
.admin-lang-form select,
.admin-auth-lang select {
  background: var(--panel-2) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
.admin-menu button,
.admin-menu a {
  color: var(--muted) !important;
}
.admin-menu button:hover,
.admin-menu a:hover,
.admin-menu button.active {
  background: var(--accent-soft) !important;
  color: var(--text) !important;
  border-color: color-mix(in srgb, var(--accent) 38%, var(--border)) !important;
}
.admin-settings-fab,
.admin-appearance-panel {
  background: color-mix(in srgb, var(--panel) 96%, #000 4%) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html[data-theme$="-light"] .admin-body,
html[data-theme$="-light"] body.admin-body {
  background: var(--bg) !important;
  color: var(--text) !important;
}
html[data-theme$="-light"] .admin-app {
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28%),
    var(--bg) !important;
}
html[data-theme$="-light"] .admin-sidebar,
html[data-theme$="-light"] .admin-topbar,
html[data-theme$="-light"] .admin-panel-card,
html[data-theme$="-light"] .admin-modal-box,
html[data-theme$="-light"] .admin-appearance-panel {
  background: var(--panel) !important;
  color: var(--text) !important;
  box-shadow: var(--shadow);
}
html[data-theme$="-light"] .admin-table td,
html[data-theme$="-light"] .admin-panel-card input,
html[data-theme$="-light"] .admin-panel-card select,
html[data-theme$="-light"] .admin-panel-card textarea {
  color: var(--text) !important;
}

/* Better spacing in coupon detail boxes. */
.detail-box,
.event-meta-grid div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.detail-box span,
.event-meta-grid span { display: block; line-height: 1.2; }
.detail-box b,
.event-meta-grid b { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 0 !important; line-height: 1.35; }
.detail-box b small { color: var(--muted); font-size: 12px; }

/* Coupon cards and detail selection cards take their accent from coupon status. */
.coupon-card.status-win,
.coupon-card:has(.status-win),
.event-card.status-win,
.coupon-drawer[data-status-class="status-win"] .event-card {
  border-left-color: #22c55e !important;
  background: linear-gradient(135deg, var(--panel), rgba(34,197,94,.10)) !important;
}
.coupon-card.status-lost,
.coupon-card:has(.status-lost),
.event-card.status-lost,
.coupon-drawer[data-status-class="status-lost"] .event-card {
  border-left-color: #ef4444 !important;
  background: linear-gradient(135deg, var(--panel), rgba(239,68,68,.10)) !important;
}
.coupon-card.status-pending,
.coupon-card:has(.status-pending),
.event-card.status-pending,
.coupon-drawer[data-status-class="status-pending"] .event-card {
  border-left-color: #f59e0b !important;
  background: linear-gradient(135deg, var(--panel), rgba(245,158,11,.10)) !important;
}
.coupon-card.status-neutral,
.coupon-card:has(.status-neutral),
.event-card.status-neutral,
.coupon-drawer[data-status-class="status-neutral"] .event-card {
  border-left-color: #38bdf8 !important;
  background: linear-gradient(135deg, var(--panel), rgba(56,189,248,.10)) !important;
}

@media (max-width: 820px) {
  .admin-app,
  .admin-app.admin-collapsed { grid-template-columns: 1fr; }
  .admin-sidebar-toggle { display: none; }
  .admin-app.admin-collapsed .admin-menu span { display: inline; }
}

/* =========================
   v31 mobile header/account drawer fixes
   ========================= */
.mobile-toolbar-brand { display: none; }
.account-menu-trigger { flex-shrink: 0; }
.account-quick-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.58);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: .2s ease;
  z-index: 120;
}
.account-quick-backdrop.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.account-quick-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: min(360px, calc(100vw - 28px));
  height: 100vh;
  padding: 16px;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%),
    color-mix(in srgb, var(--surface) 96%, #000 4%);
  border-left: 1px solid var(--border);
  box-shadow: -24px 0 80px rgba(0,0,0,.42);
  transform: translateX(104%);
  transition: transform .24s ease;
  z-index: 125;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.account-quick-panel.open { transform: translateX(0); }
.account-quick-head {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}
.account-quick-head strong { font-size: 17px; color: var(--text); }
.account-quick-nav { display: grid; gap: 8px; overflow-y: auto; padding-right: 4px; }
.account-quick-nav a {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 13px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--panel-2);
  color: var(--muted);
  font-weight: 850;
  transition: .18s ease;
}
.account-quick-nav a:hover {
  color: var(--text);
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 42%, var(--border));
}
.account-quick-nav svg { width: 19px; height: 19px; flex-shrink: 0; }
.top-header, .top-nav { overflow: hidden; }
.top-nav { flex: 1 1 auto; min-width: 0; scrollbar-width: none; }
.top-nav::-webkit-scrollbar { display: none; }
.top-nav a { flex: 0 0 auto; }
.admin-brand { justify-content: center !important; text-align: center; }
.admin-brand .brand-logo-img,
.admin-brand .admin-logo { margin-inline: auto; }

@media (max-width: 980px) {
  .mobile-toolbar-brand { display: inline-flex; align-items: center; flex-shrink: 0; }
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img {
    width: 118px;
    height: 34px;
    min-width: 118px;
    border-radius: 10px;
    padding: 3px;
    object-fit: contain;
  }
  .left-toolbar .header-left { min-width: 0; }
  .left-toolbar .toolbar-title { min-width: 0; }
  .left-toolbar .toolbar-title h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 720px) {
  .left-toolbar, .top-header { min-height: 64px; height: 64px; }
  .left-toolbar .toolbar-title { display: none; }
  .brand-copy small, .user-chip, .page-title-bar { display: none; }
  .currency-form span {
    display: inline-flex !important;
    align-items: center;
    font-size: 0;
    line-height: 1;
  }
  .currency-form span b {
    font-size: 12px;
    margin-left: 0;
    color: var(--text);
    white-space: nowrap;
  }
  .currency-form select { max-width: 76px; padding: 0 7px; font-size: 12px; }
  .header-actions { margin-left: auto; max-width: calc(100vw - 170px); overflow: visible; }
  .account-menu-trigger { width: 36px; height: 36px; border-radius: 11px; }
  .btn[data-open-modal="registerModal"] { display: none; }
}
@media (max-width: 430px) {
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img { width: 96px; min-width: 96px; height: 32px; }
  .header-actions { max-width: calc(100vw - 145px); gap: 4px; }
  .currency-form select { max-width: 66px; }
  .currency-form span b { font-size: 11px; }
}


/* =========================
   v33 mobile public header and admin sidebar alignment fixes
   ========================= */
@media (max-width: 980px) {
  /* The public left menu must be available on mobile even when desktop layout is Header Top. */
  [data-layout="top"] .sidebar,
  [data-layout="left"] .sidebar {
    display: flex !important;
  }
  .sidebar {
    position: fixed !important;
    left: -280px !important;
    top: 0 !important;
    width: 252px !important;
    min-width: 252px !important;
    height: 100vh !important;
    z-index: 70 !important;
    transform: none !important;
    transition: left .24s ease !important;
  }
  .sidebar.open { left: 0 !important; }
  .mobile-overlay.show {
    z-index: 65 !important;
  }

  /* Mobile header: compact first line + clean action row. */
  .left-toolbar,
  .top-header {
    height: auto !important;
    min-height: 78px !important;
    padding: 9px 10px !important;
    gap: 8px !important;
    align-items: center !important;
    overflow: visible !important;
  }
  .left-toolbar {
    flex-wrap: wrap !important;
  }
  .left-toolbar .header-left,
  .top-header .header-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .mobile-menu {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 12px !important;
  }
  .mobile-toolbar-brand {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
  }
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img {
    width: 142px !important;
    min-width: 142px !important;
    height: 38px !important;
    max-height: 38px !important;
    object-fit: contain !important;
    object-position: left center !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  .left-toolbar .toolbar-title,
  .top-header .top-nav {
    display: none !important;
  }
  .header-actions {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }
  .header-actions .btn {
    height: 38px !important;
    min-width: 0 !important;
    padding: 0 11px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  .header-actions .btn svg {
    width: 17px !important;
    height: 17px !important;
  }
  .btn[data-open-modal="registerModal"] {
    display: inline-flex !important;
  }
  .flag-language-form {
    flex: 0 0 auto !important;
  }
  .language-picker .language-trigger,
  .flag-language-form .language-trigger {
    min-width: 42px !important;
    width: 42px !important;
    height: 38px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
  .language-trigger span:not(.flag-bc) {
    display: none !important;
  }
  .currency-form {
    height: 38px !important;
    padding: 0 7px !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    background: var(--panel-2) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
  }
  .currency-form span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }
  .currency-form span b {
    font-size: 12px !important;
    color: var(--text) !important;
    white-space: nowrap !important;
  }
  .currency-form select {
    height: 30px !important;
    max-width: 72px !important;
    padding: 0 6px !important;
    font-size: 12px !important;
  }
  .account-menu-trigger {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 12px !important;
  }
  .user-chip { display: none !important; }

  /* Account page mobile: hide the old page-side menu; use the right drawer from the header. */
  .account-layout {
    grid-template-columns: 1fr !important;
  }
  .account-menu {
    display: none !important;
  }
  .account-main {
    width: 100% !important;
  }
}

@media (max-width: 430px) {
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img {
    width: 122px !important;
    min-width: 122px !important;
    height: 34px !important;
  }
  .header-actions {
    gap: 5px !important;
  }
  .header-actions .btn {
    padding: 0 9px !important;
    font-size: 12px !important;
  }
  .header-actions .btn svg { margin-right: 4px !important; }
  .currency-form select { max-width: 64px !important; }
}

@media (max-width: 360px) {
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img {
    width: 106px !important;
    min-width: 106px !important;
  }
  .header-actions .btn {
    padding: 0 7px !important;
  }
}

/* Admin leftbar logo/toggle alignment. */
.admin-brand {
  justify-content: space-between !important;
  text-align: left !important;
  gap: 10px !important;
  padding: 0 8px 12px !important;
}
.admin-logo-wrap {
  min-width: 0;
  display: flex;
  align-items: center;
}
.admin-brand .brand-logo-img,
.admin-brand .admin-logo {
  margin-inline: 0 !important;
}
.admin-brand .admin-sidebar-toggle {
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.admin-app.admin-collapsed .admin-brand {
  justify-content: center !important;
  padding-inline: 0 !important;
}
.admin-app.admin-collapsed .admin-logo-wrap {
  display: none !important;
}
.admin-app.admin-collapsed .admin-brand .admin-sidebar-toggle {
  margin-inline: auto !important;
}

/* Admin appearance: independent Left Bar / Top Bar layout. */
.admin-layout-grid { margin-bottom: 16px; }
.admin-app[data-admin-layout="left"] .admin-sidebar { display: flex; }
.admin-app[data-admin-layout="top"] {
  grid-template-columns: 1fr !important;
}
.admin-app[data-admin-layout="top"] .admin-sidebar {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
  height: auto !important;
  min-height: 74px !important;
  width: 100% !important;
  padding: 10px 18px !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  overflow: visible !important;
}
.admin-app[data-admin-layout="top"] .admin-brand {
  width: auto !important;
  min-width: 180px !important;
  padding: 0 !important;
  border-bottom: 0 !important;
  justify-content: flex-start !important;
}
.admin-app[data-admin-layout="top"] .admin-sidebar-toggle {
  display: none !important;
}
.admin-app[data-admin-layout="top"] .admin-menu {
  flex: 1 1 auto !important;
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  gap: 8px !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 4px 2px !important;
  scrollbar-width: thin !important;
}
.admin-app[data-admin-layout="top"] .admin-menu button,
.admin-app[data-admin-layout="top"] .admin-menu a {
  flex: 0 0 auto !important;
  min-height: 42px !important;
  padding: 0 13px !important;
}
.admin-app[data-admin-layout="top"] .admin-main {
  padding-top: 18px !important;
}
@media (max-width: 900px) {
  .admin-app[data-admin-layout="top"] .admin-sidebar {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .admin-app[data-admin-layout="top"] .admin-brand {
    width: 100% !important;
    min-width: 0 !important;
  }
  .admin-app[data-admin-layout="top"] .admin-menu {
    width: 100% !important;
  }
}

/* =========================
   v34 account right drawer + cleaner admin top menu
   ========================= */
.account-quick-panel {
  width: min(318px, calc(100vw - 22px));
  padding: 14px;
  gap: 12px;
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
  background:
    radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 36%),
    color-mix(in srgb, var(--panel) 96%, #000 4%);
}
.account-quick-user {
  padding: 20px 16px;
  min-height: 74px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel-2) 90%, #000 10%);
  border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.account-quick-user strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: -.02em;
}
.account-quick-user span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
  word-break: break-word;
}
.account-quick-nav {
  gap: 7px;
  padding: 0;
}
.account-quick-nav a {
  min-height: 46px;
  border-radius: 14px;
  border-color: transparent;
  background: transparent;
  color: var(--muted);
  font-weight: 900;
}
.account-quick-nav a:hover,
.account-quick-nav a.active {
  color: var(--text);
  background: color-mix(in srgb, var(--accent) 20%, transparent);
  border-color: color-mix(in srgb, var(--accent) 58%, var(--border));
}
.account-quick-nav a.active svg,
.account-quick-nav a:hover svg {
  color: var(--text);
}
@media (max-width: 980px) {
  body.account-quick-open { overflow: hidden; }
  .account-layout { grid-template-columns: 1fr !important; }
  body .account-layout > .account-menu { display: none !important; visibility: hidden !important; }
  .account-main { width: 100% !important; min-width: 0 !important; }
  .account-quick-panel { z-index: 130 !important; }
  .account-quick-backdrop.show { z-index: 125 !important; }
}

/* Admin top menu mode: cleaner single top navigation bar. */
.admin-app[data-admin-layout="top"] {
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr !important;
}
.admin-app[data-admin-layout="top"] .admin-sidebar {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  min-height: 76px !important;
  height: auto !important;
  padding: 10px 16px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 96%, #000 4%), color-mix(in srgb, var(--panel-2) 92%, #000 8%)) !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 16px 45px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}
.admin-app[data-admin-layout="top"] .admin-brand {
  flex: 0 0 auto !important;
  min-width: 190px !important;
  height: 54px !important;
  padding: 0 14px !important;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--panel-2) 82%, transparent) !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.admin-app[data-admin-layout="top"] .admin-brand .admin-logo-wrap,
.admin-app[data-admin-layout="top"] .admin-brand .brand,
.admin-app[data-admin-layout="top"] .admin-brand .brand-logo-img,
.admin-app[data-admin-layout="top"] .admin-brand .admin-logo {
  margin-inline: 0 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 4px !important;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--bg) 50%, transparent) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
}
.admin-app[data-admin-layout="top"] .admin-menu::-webkit-scrollbar { display: none !important; }
.admin-app[data-admin-layout="top"] .admin-menu button,
.admin-app[data-admin-layout="top"] .admin-menu a {
  flex: 0 0 auto !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 13px !important;
  border-radius: 14px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  color: var(--muted) !important;
}
.admin-app[data-admin-layout="top"] .admin-menu button:hover,
.admin-app[data-admin-layout="top"] .admin-menu a:hover,
.admin-app[data-admin-layout="top"] .admin-menu button.active {
  color: var(--text) !important;
  background: color-mix(in srgb, var(--accent) 18%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border)) !important;
}
.admin-app[data-admin-layout="top"] .admin-main {
  padding: 16px !important;
}
.admin-app[data-admin-layout="top"] .admin-topbar {
  min-height: 62px !important;
  border-radius: 20px !important;
  margin-bottom: 16px !important;
}
@media (max-width: 900px) {
  .admin-app[data-admin-layout="top"] .admin-sidebar {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 10px !important;
  }
  .admin-app[data-admin-layout="top"] .admin-brand {
    width: 100% !important;
    min-width: 0 !important;
  }
  .admin-app[data-admin-layout="top"] .admin-menu {
    width: 100% !important;
  }
}

/* =========================
   v35 mobile header, direct iframe and dual logo fixes
   ========================= */
[data-theme="orange-light"] {
  --bg: #fff7ed; --surface: #ffffff; --panel: #ffffff; --panel-2: #fff3e2; --panel-3: #ffe3bf;
  --border: #f2d6b6; --text: #24170c; --muted: #765d45; --muted-2: #9a8064;
  --accent: #ea580c; --accent-2: #f97316; --accent-soft: rgba(249, 115, 22, .12); --shadow: 0 18px 50px rgba(124, 45, 18, .13);
}

.brand-logo-switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
}
.logo-for-light { display: none !important; }
html[data-theme$="-light"] .logo-for-dark { display: none !important; }
html[data-theme$="-light"] .logo-for-light { display: inline-block !important; }
html:not([data-theme$="-light"]) .logo-for-dark { display: inline-block !important; }

.sidebar-mobile-tools {
  display: none;
  margin: auto 12px 14px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel-2);
}
.sidebar-tool-label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.sidebar-language-form,
.sidebar-language-form .language-picker,
.sidebar-language-form .language-trigger { width: 100%; }
.sidebar-language-form .language-trigger {
  justify-content: flex-start;
  min-width: 0;
}

.iframe-mode .content-shell {
  padding: 0 !important;
  overflow: hidden !important;
}
.iframe-mode .iframe-card,
.iframe-card.direct-iframe-card {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #000 !important;
}
.iframe-card.direct-iframe-card iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
  display: block !important;
}

@media (max-width: 980px) {
  .sidebar-mobile-tools { display: block; }
  .header-actions > .flag-language-form { display: none !important; }

  .left-toolbar,
  .top-header {
    position: relative !important;
    height: 66px !important;
    min-height: 66px !important;
    padding: 8px 10px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow: visible !important;
  }
  .left-toolbar .header-left,
  .top-header .header-left {
    position: static !important;
    flex: 0 0 auto !important;
    min-width: 44px !important;
    width: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
  .left-toolbar .mobile-menu,
  .top-header .mobile-menu {
    display: inline-flex !important;
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 4 !important;
  }
  .mobile-toolbar-brand,
  .top-header .header-left > .brand {
    display: inline-flex !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2 !important;
    margin: 0 !important;
    justify-content: center !important;
    max-width: 38vw !important;
    overflow: hidden !important;
  }
  .left-toolbar .toolbar-title,
  .top-header .top-nav { display: none !important; }
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img,
  .left-toolbar .brand-logo-switch,
  .top-header .brand-logo-switch {
    width: 134px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 38px !important;
    max-height: 38px !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  .header-actions {
    width: auto !important;
    max-width: calc(50vw - 8px) !important;
    margin-left: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow: visible !important;
    z-index: 3 !important;
  }
  .header-actions .btn {
    height: 38px !important;
    min-width: 0 !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
  .btn[data-open-modal="registerModal"] { display: inline-flex !important; }
  .header-actions .btn svg { width: 16px !important; height: 16px !important; }
  .header-actions form:has(input[value="logout"]) .btn {
    width: 38px !important;
    padding: 0 !important;
    font-size: 0 !important;
  }
  .header-actions form:has(input[value="logout"]) .btn svg { margin: 0 !important; }
  .currency-form {
    max-width: 118px !important;
    height: 38px !important;
    padding: 0 7px !important;
    gap: 5px !important;
  }
  .currency-form select { display: none !important; }
  .account-menu-trigger {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }
}

@media (max-width: 430px) {
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img,
  .left-toolbar .brand-logo-switch,
  .top-header .brand-logo-switch {
    width: 112px !important;
    height: 34px !important;
  }
  .header-actions { max-width: calc(50vw + 4px) !important; gap: 5px !important; }
  .header-actions .btn { padding: 0 8px !important; font-size: 11px !important; }
  .currency-form { max-width: 96px !important; }
}

.admin-brand .brand-logo-switch,
.admin-logo-wrap .brand-logo-switch {
  max-width: 190px;
  min-width: 0;
}
.admin-brand .brand-logo-img,
.admin-logo-wrap .brand-logo-img {
  object-fit: contain !important;
  object-position: center center !important;
}

/* =========================
   v36 mobile language modal, homepage slider, bottom nav and admin home editor
   ========================= */
.home-slider {
  position: relative;
  width: 100%;
  min-height: 280px;
  margin-bottom: 18px;
  border: 1px solid var(--border);
  border-radius: 26px;
  overflow: hidden;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.home-slider-track { position: relative; min-height: 320px; }
.home-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
}
.home-slide.active { opacity: 1; pointer-events: auto; }
.home-slide img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }
.home-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.24), rgba(0,0,0,.10)); }
.home-slide-overlay {
  position: absolute;
  z-index: 2;
  left: clamp(18px, 4vw, 52px);
  top: 50%;
  transform: translateY(-50%);
  width: min(560px, 80%);
  color: #fff;
}
.home-slide-kicker { display: inline-flex; margin-bottom: 10px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.16); font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .06em; }
.home-slide h1 { margin: 0; font-size: clamp(28px, 5vw, 58px); line-height: .95; letter-spacing: -1.8px; }
.home-slide p { margin: 12px 0 18px; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.5; }
.home-slider-dots { position: absolute; z-index: 5; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; gap: 8px; }
.home-slider-dots button { width: 28px; height: 7px; border: 0; border-radius: 999px; cursor: pointer; background: rgba(255,255,255,.34); }
.home-slider-dots button.active { background: var(--accent-2); }
.compact-home-hero { min-height: auto; }
.admin-home-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.admin-home-feature-grid textarea { min-height: 78px; }
.admin-slider-grid .admin-slider-card img { height: 154px; object-fit: cover; }

.sidebar-mobile-auth { display: none; }
.sidebar-language-open {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel-3);
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  font-weight: 950;
  cursor: pointer;
}
.sidebar-language-open svg { margin-left: auto; width: 17px; height: 17px; }
.sidebar-user-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel-2);
}
.sidebar-user-card span { color: var(--muted); font-size: 12px; font-weight: 850; }
.language-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 260;
  background: rgba(0,0,0,.68);
  opacity: 0;
  pointer-events: none;
  display: grid;
  place-items: center;
  padding: 16px;
  transition: opacity .18s ease;
}
.language-modal-backdrop.show { opacity: 1; pointer-events: auto; }
.language-modal-box {
  width: min(420px, 100%);
  max-height: min(76vh, 620px);
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.mobile-language-list { display: grid; gap: 8px; padding: 14px; max-height: calc(76vh - 70px); overflow: auto; }
.mobile-language-item {
  border: 1px solid var(--border);
  background: var(--panel-2);
  color: var(--text);
  min-height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  font-weight: 950;
  cursor: pointer;
}
.mobile-language-item.active { border-color: var(--accent); background: var(--accent-soft); }
.mobile-bottom-nav { display: none; }

@media (max-width: 980px) {
  .sidebar {
    left: -292px !important;
    width: 286px !important;
    min-width: 286px !important;
    max-width: calc(100vw - 42px) !important;
  }
  .sidebar.open { left: 0 !important; }
  .sidebar-head { height: auto !important; min-height: 84px !important; justify-content: center !important; padding: 16px 14px 8px !important; }
  .sidebar-head .collapse-btn { display: none !important; }
  .sidebar-head .brand-logo-switch,
  .sidebar-head .brand-logo-img { max-width: 198px !important; width: 198px !important; height: 54px !important; object-fit: contain !important; }
  .sidebar-mobile-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px 14px 6px; }
  .sidebar-mobile-auth .btn { width: 100%; padding-inline: 8px !important; }
  .sidebar-mobile-auth .sidebar-user-card { grid-column: 1 / -1; }
  .sidebar-mobile-tools { display: block !important; margin: 8px 14px 14px !important; }
  .sidebar .side-nav { padding-top: 8px !important; }

  .left-toolbar,
  .top-header {
    display: grid !important;
    grid-template-columns: 46px 1fr auto !important;
    height: 68px !important;
    min-height: 68px !important;
    padding: 8px 10px !important;
    overflow: visible !important;
  }
  [data-layout="top"] .left-toolbar { display: none !important; }
  [data-layout="top"] .top-header { display: grid !important; }
  .left-toolbar .header-left,
  .top-header .header-left {
    display: contents !important;
  }
  .left-toolbar .mobile-menu,
  .top-header .mobile-menu {
    position: static !important;
    transform: none !important;
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 42px !important;
    height: 42px !important;
  }
  .mobile-toolbar-brand,
  .top-header .header-left > .brand {
    position: static !important;
    transform: none !important;
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    max-width: 145px !important;
    width: 145px !important;
  }
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img,
  .left-toolbar .brand-logo-switch,
  .top-header .brand-logo-switch {
    width: 145px !important;
    max-width: 145px !important;
    height: 40px !important;
  }
  .left-toolbar .toolbar-title,
  .top-header .top-nav,
  .header-actions > .flag-language-form,
  .header-actions .user-chip { display: none !important; }
  .header-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    max-width: none !important;
    width: auto !important;
    margin: 0 !important;
    gap: 6px !important;
    overflow: visible !important;
  }
  .header-actions .btn,
  .header-actions .icon-btn,
  .header-actions .account-menu-trigger {
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 13px !important;
  }
  .header-actions .btn { padding: 0 10px !important; font-size: 12px !important; }
  .btn[data-open-modal="registerModal"] { display: inline-flex !important; }
  .currency-form {
    height: 40px !important;
    max-width: 98px !important;
    padding: 0 9px !important;
    border-radius: 13px !important;
  }
  .currency-form span { display: inline-flex !important; font-size: 0 !important; }
  .currency-form span::before { content: '₺'; font-size: 12px; color: var(--muted); margin-right: 4px; }
  .currency-form b { font-size: 12px !important; }
  .currency-form select { display: none !important; }

  .modal-backdrop { padding: 0 !important; align-items: stretch !important; justify-content: stretch !important; }
  .auth-modal,
  .auth-modal.compact,
  .auth-modal.wide {
    width: 100vw !important;
    max-width: none !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    overflow-y: auto !important;
    padding: 18px 14px 22px !important;
  }
  .auth-modal .form-grid.two,
  .auth-modal .phone-row { grid-template-columns: 1fr !important; }

  .mobile-bottom-nav {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 180;
    min-height: 60px;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
    border-radius: 24px;
    background: color-mix(in srgb, var(--surface) 88%, var(--accent) 12%);
    box-shadow: 0 16px 42px rgba(0,0,0,.42);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    backdrop-filter: blur(14px);
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    width: auto !important;
    min-width: 0 !important;
    height: 46px !important;
    border: 0;
    border-radius: 17px;
    background: transparent;
    color: var(--muted);
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    font-size: 10px !important;
    font-weight: 950;
    line-height: 1;
    padding: 0 !important;
    cursor: pointer;
    box-shadow: none !important;
  }
  .mobile-bottom-nav a.active,
  .mobile-bottom-nav button.active { color: #fff; background: var(--accent); }
  .mobile-bottom-nav svg { width: 18px; height: 18px; }
  .page-mode .content-shell { padding-bottom: 86px !important; }
  .settings-fab { bottom: 86px !important; }
  .account-quick-panel { bottom: 0 !important; padding-bottom: 82px !important; }

  .iframe-mode .content-shell {
    padding: 12px 0 84px !important;
    background: #000 !important;
  }
  .iframe-mode .iframe-card,
  .iframe-card.direct-iframe-card {
    height: calc(100dvh - 68px - 96px) !important;
    min-height: 0 !important;
  }
}

@media (max-width: 480px) {
  .left-toolbar,
  .top-header { grid-template-columns: 44px 1fr auto !important; padding-inline: 8px !important; }
  .mobile-toolbar-brand,
  .top-header .header-left > .brand { max-width: 126px !important; width: 126px !important; }
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img,
  .left-toolbar .brand-logo-switch,
  .top-header .brand-logo-switch { width: 126px !important; max-width: 126px !important; height: 36px !important; }
  .header-actions { gap: 5px !important; }
  .header-actions .btn[data-open-modal] {
    width: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    font-size: 0 !important;
  }
  .header-actions .btn[data-open-modal] svg { width: 17px !important; height: 17px !important; margin: 0 !important; }
  .currency-form { max-width: 82px !important; }
  .home-slider { border-radius: 18px; min-height: 190px; }
  .home-slider-track, .home-slide img { min-height: 190px; }
  .home-slide-overlay { width: 82%; left: 16px; }
  .home-slide h1 { font-size: 26px; }
  .home-slide p { display: none; }
  .home-slide .btn { height: 36px; font-size: 12px; padding-inline: 12px; }
  .hero.compact-home-hero { grid-template-columns: 1fr; padding: 16px; }
  .admin-home-feature-grid { grid-template-columns: 1fr; }
}

/* =========================
   v41 clean mobile click/bottom-nav repair
   - Replaces the heavy v38/v39/v40 tap hacks with a small deterministic layer order.
   ========================= */
.mobile-overlay,
.drawer-backdrop,
.account-quick-backdrop,
.language-modal-backdrop,
.modal-backdrop {
  pointer-events: none;
}
.mobile-overlay:not(.show),
.drawer-backdrop:not(.show),
.account-quick-backdrop:not(.show),
.language-modal-backdrop:not(.show),
.modal-backdrop:not(.show) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
.mobile-overlay.show,
.drawer-backdrop.show,
.account-quick-backdrop.show,
.language-modal-backdrop.show,
.modal-backdrop.show {
  pointer-events: auto;
}
.home-slider,
.home-slider-track,
.home-slide,
.home-slide::after,
.home-slide img,
.home-slide-overlay {
  pointer-events: none !important;
}
.home-slide-overlay .btn,
.home-slider-dots,
.home-slider-dots button {
  pointer-events: auto !important;
}
.left-toolbar,
.top-header {
  position: relative;
  z-index: 220;
}
.header-actions,
.header-actions *,
.mobile-menu,
.sidebar,
.sidebar * {
  pointer-events: auto;
}
@media (max-width: 980px) {
  .left-toolbar,
  .top-header {
    z-index: 230 !important;
  }
  .mobile-overlay.show {
    z-index: 180 !important;
  }
  .sidebar.open {
    z-index: 240 !important;
  }
  .modal-backdrop.show,
  .language-modal-backdrop.show {
    z-index: 520 !important;
  }
  .account-quick-backdrop.show,
  .drawer-backdrop.show {
    z-index: 500 !important;
  }
  .auth-modal,
  .language-modal-box,
  .account-quick-panel.open,
  .coupon-drawer.open {
    z-index: 530 !important;
    pointer-events: auto !important;
  }
  .mobile-bottom-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    min-height: 64px !important;
    padding: 7px !important;
    gap: 4px !important;
    z-index: 260 !important;
    pointer-events: auto !important;
    overflow: visible !important;
    color: #fff !important;
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: transparent !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }
  .mobile-bottom-nav a.active,
  .mobile-bottom-nav button.active {
    background: var(--accent) !important;
    color: #fff !important;
  }
  .mobile-bottom-nav svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .mobile-bottom-nav span {
    display: block !important;
    max-width: 100% !important;
    color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* =========================
   v42 modal scroll, desktop logo, homepage cards and mobile header stability
   ========================= */
html.nx-scroll-lock,
html.nx-scroll-lock body,
body.nx-scroll-lock {
  overflow: hidden !important;
  height: 100% !important;
}
html.nx-scroll-lock .content-shell,
html.nx-scroll-lock .admin-main {
  overflow: hidden !important;
}
.modal-backdrop.show,
.admin-modal.show,
.language-modal-backdrop.show {
  z-index: 980 !important;
}
.drawer-backdrop.show,
.account-quick-backdrop.show {
  z-index: 960 !important;
}
.auth-modal,
.admin-modal-box,
.language-modal-box,
.coupon-drawer.open,
.account-quick-panel.open {
  z-index: 990 !important;
}
.auth-logo-wrap,
.auth-logo-wrap .brand,
.auth-logo-wrap .brand-logo-switch {
  justify-content: center !important;
  text-align: center !important;
  margin-inline: auto !important;
}
.auth-logo-wrap .brand-logo-img {
  object-position: center center !important;
}
.left-toolbar,
.top-header,
.header-actions,
.flag-language-form,
.language-picker {
  overflow: visible !important;
}
.language-picker.open,
.language-picker.open .language-menu {
  z-index: 1100 !important;
}
.language-menu {
  z-index: 1100 !important;
}
.sidebar-head {
  gap: 10px !important;
}
.sidebar .brand {
  width: auto !important;
  max-width: calc(100% - 48px) !important;
  min-width: 0 !important;
  overflow: visible !important;
  flex: 1 1 auto !important;
}
.sidebar-head .brand-logo-switch,
.sidebar-head .brand-logo-img {
  max-width: 166px !important;
  width: auto !important;
  min-width: 0 !important;
  object-position: left center !important;
}
[data-layout="top"] .top-header .brand,
[data-layout="top"] .top-header .brand-logo-switch,
[data-layout="top"] .top-header .brand-logo-img {
  margin-left: 0 !important;
  object-position: left center !important;
}
.home-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}
.home-image-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.home-image-card img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}
.home-image-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, color-mix(in srgb, var(--panel) 94%, #000 6%) 72%);
  pointer-events: none;
}
.home-image-card-body {
  position: relative;
  z-index: 1;
  padding: 16px;
  display: grid;
  gap: 9px;
}
.home-image-card-body strong {
  font-size: 17px;
  color: var(--text);
}
.home-image-card-body p {
  margin: 0;
  min-height: 40px;
  color: var(--muted);
  line-height: 1.45;
}
.home-image-card-body .btn {
  width: max-content;
  max-width: 100%;
}
.admin-panel-head.inline-head {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}
.admin-home-card-editor-grid .settings-box textarea {
  min-height: 92px;
}
@media (max-width: 1120px) {
  .home-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  /* On mobile the public header always uses the clean left-layout view, even if desktop setting is Top. */
  [data-layout="top"] .left-toolbar {
    display: grid !important;
  }
  [data-layout="top"] .top-header {
    display: none !important;
  }
  .home-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .home-image-card {
    min-height: 218px;
    border-radius: 20px;
  }
  .home-image-card img {
    height: 132px;
  }
}
@media (max-width: 520px) {
  .sidebar-head .brand-logo-switch,
  .sidebar-head .brand-logo-img {
    max-width: 190px !important;
    width: 190px !important;
    object-position: center center !important;
  }
}

/* =========================
   v43 minimal loader, logo, modal and homepage card fixes
   ========================= */
.nx-page-loader {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--bg) 84%, #000 16%);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .24s ease, visibility .24s ease;
}
.nx-page-loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.nx-loader-box {
  min-width: min(320px, calc(100vw - 48px));
  display: grid;
  justify-items: center;
  gap: 16px;
}
.nx-loader-img { max-width: 160px; max-height: 92px; object-fit: contain; display: block; }
.nx-loader-logo { display: inline-flex; align-items: center; justify-content: center; }
.nx-loader-logo .brand-logo-img { max-width: 180px !important; max-height: 74px !important; }
.nx-loader-line {
  width: 100%;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--panel-3) 72%, transparent);
  border: 1px solid color-mix(in srgb, var(--border) 62%, transparent);
}
.nx-loader-line i {
  display: block;
  width: 44%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
  animation: nxLoaderMove .9s ease-in-out infinite;
}
@keyframes nxLoaderMove { from { transform: translateX(-110%); } to { transform: translateX(260%); } }

/* Keep modals above headers and stop the page behind from scrolling. */
html.nx-scroll-lock,
html.nx-scroll-lock body,
body.nx-scroll-lock { overflow: hidden !important; }
html.nx-scroll-lock .content-shell,
html.nx-scroll-lock .admin-main { overflow: hidden !important; }
.modal-backdrop.show,
.admin-modal.show,
.language-modal-backdrop.show { z-index: 2200 !important; }
.drawer-backdrop.show,
.account-quick-backdrop.show { z-index: 2180 !important; }
.auth-modal,
.admin-modal-box,
.language-modal-box,
.coupon-drawer.open,
.account-quick-panel.open { z-index: 2210 !important; }
.settings-panel { z-index: 2100 !important; }
.settings-fab { z-index: 2090 !important; }
html.nx-scroll-lock .left-toolbar,
html.nx-scroll-lock .top-header,
html.nx-scroll-lock .admin-topbar,
html.nx-scroll-lock .admin-sidebar { z-index: 10 !important; }

/* Desktop left sidebar collapsed state: hide logo completely, keep only collapse button. */
@media (min-width: 981px) {
  .sidebar.collapsed .brand,
  .sidebar.collapsed .brand-logo-switch,
  .sidebar.collapsed .brand-logo-img { display: none !important; }
  .sidebar.collapsed .sidebar-head { justify-content: center !important; padding: 0 !important; }
  .sidebar.collapsed .collapse-btn { position: static !important; left: auto !important; top: auto !important; }
  .app-shell[data-layout="left"] .sidebar {
    min-height: 100vh !important;
    background: color-mix(in srgb, var(--surface) 94%, #000 6%) !important;
  }
}

/* Homepage cards: show the full supplied image instead of cropping important content. */
.home-image-card img {
  height: 158px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #090b11 !important;
  padding: 0 !important;
}
.home-image-card::after { opacity: .72; }

/* Language menu must not occupy/catch any empty area while closed. */
.language-picker:not(.open) .language-menu { display: none !important; }
.language-picker.open .language-menu { display: block !important; pointer-events: auto !important; }
.flag-language-form,
.language-picker { width: max-content !important; max-width: max-content !important; }
.language-trigger { width: auto !important; min-width: 148px; }
@media (max-width: 720px) {
  .language-trigger { min-width: 42px !important; width: 42px !important; }
}

/* Mobile header balance should read like desktop: currency + money, no hidden/empty icon style. */
@media (max-width: 980px) {
  .currency-form span {
    display: inline-flex !important;
    font-size: 12px !important;
    color: var(--muted) !important;
    gap: 4px !important;
    white-space: nowrap !important;
  }
  .currency-form span b {
    font-size: 12px !important;
    margin-left: 2px !important;
    color: var(--text) !important;
  }
  .currency-form select {
    max-width: 70px !important;
    min-width: 58px !important;
  }
}

/* =========================
   v44 footer, admin login, homepage cards and safe confirmation fixes
   ========================= */
.footer-social { display: inline-flex; align-items: center; gap: 10px; }
.footer-social a { width: 34px; height: 34px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); background: var(--panel-2); color: var(--muted); transition: .18s ease; }
.footer-social a:hover { color: #fff; background: var(--accent); border-color: var(--accent); transform: translateY(-1px); }
.footer-social svg { width: 17px; height: 17px; }

.home-card-grid.image-only-mode .home-image-only-card { display: block; min-height: 170px; border-radius: 24px; overflow: hidden; border: 1px solid var(--border); background: var(--panel); box-shadow: var(--shadow); transition: .18s ease; }
.home-card-grid.image-only-mode .home-image-only-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent) 48%, var(--border)); }
.home-card-grid.image-only-mode .home-image-only-card img { width: 100%; height: 100%; min-height: 170px; object-fit: contain; object-position: center center; display: block; background: #090b11; }
.home-card-grid.image-only-mode .home-image-card::after { display: none; }
.admin-card-editor-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom: 10px; }
.admin-card-editor-head h3 { margin:0; }
.confirm-modal-box { max-width: 420px; text-align: center; }
.confirm-modal-box p { color: var(--muted); margin: 0 0 18px; }

.admin-brand .admin-logo-wrap { display:flex; align-items:center; min-width:0; }
.admin-brand .admin-logo-wrap:hover { opacity:.9; }
.admin-login-tools { position: fixed; right: 18px; top: 18px; z-index: 30; display:flex; align-items:center; gap:10px; }
.admin-login-tools .admin-auth-lang { position: static !important; }
.admin-login-settings { position: static !important; width: 44px; height: 44px; display:inline-flex; }
.admin-login-body .settings-panel { z-index: 120; }
.admin-login-body .language-picker.open .language-menu { z-index: 130 !important; }

.sidebar-currency-form { width: 100%; justify-content: space-between; margin-top: 10px; }
.sidebar-currency-form span { display:inline-flex !important; align-items:center; gap:4px; }
.sidebar-currency-form select { display:block !important; }

@media (max-width: 980px) {
  .mobile-bottom-nav { z-index: 950 !important; }
  .site-footer.modern-footer { padding-bottom: calc(18px + 78px + env(safe-area-inset-bottom)) !important; }
  .content-shell { padding-bottom: calc(16px + 78px + env(safe-area-inset-bottom)) !important; }
  .currency-form { width:auto !important; max-width:none !important; }
  .currency-form span { display:inline-flex !important; align-items:center !important; }
  .currency-form select { display:block !important; max-width:76px !important; min-width:58px !important; height:34px !important; }
  .sidebar-mobile-auth .currency-form { width:100% !important; max-width:100% !important; padding-left: 12px !important; background: var(--panel-2) !important; border: 1px solid var(--border) !important; }
  .sidebar-mobile-auth .currency-form select { display:block !important; }
  .home-card-grid.image-only-mode .home-image-only-card { min-height: 126px; border-radius: 18px; }
  .home-card-grid.image-only-mode .home-image-only-card img { min-height: 126px; }
  .admin-login-tools { left: 12px; right: 12px; top: 12px; justify-content:flex-end; }
  .admin-login-tools .language-trigger { min-width: 132px !important; width: auto !important; }
}

/* =========================
   v45 focused fixes: per-card view, coupon reports, mobile balance cleanup
   ========================= */
.home-card-grid.mixed-card-mode .home-image-only-card {
  display: block;
  min-height: 170px;
  border-radius: 24px;
  overflow: hidden;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.home-card-grid.mixed-card-mode .home-image-only-card img {
  width: 100%;
  height: 100%;
  min-height: 170px;
  object-fit: contain;
  object-position: center center;
  display: block;
  background: transparent !important;
  border-radius: 24px;
}
.home-card-grid.mixed-card-mode .home-image-only-card:hover { transform: translateY(-2px); }
.coupon-card.status-win,
.coupon-card:has(.status-approved),
.coupon-card:has(.status-win) {
  border-left-color: #22c55e !important;
  background: linear-gradient(135deg, var(--panel), rgba(34,197,94,.10)) !important;
}
.coupon-card.status-lost,
.coupon-card:has(.status-cancelled),
.coupon-card:has(.status-lost) {
  border-left-color: #ef4444 !important;
  background: linear-gradient(135deg, var(--panel), rgba(239,68,68,.10)) !important;
}
.coupon-card.status-pending,
.coupon-card:has(.status-pending) {
  border-left-color: #f59e0b !important;
  background: linear-gradient(135deg, var(--panel), rgba(245,158,11,.10)) !important;
}
.coupon-card.status-neutral,
.coupon-card:has(.status-neutral) {
  border-left-color: #38bdf8 !important;
  background: linear-gradient(135deg, var(--panel), rgba(56,189,248,.10)) !important;
}
.coupon-card-modern {
  grid-template-columns: 1.35fr .8fr .7fr .8fr .9fr auto;
}
.coupon-card-modern .coupon-title .status-badge {
  margin-top: 8px;
}
.coupon-stat small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  margin-top: 4px;
}
.coupon-report-grid.currency-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 14px;
}
.coupon-report-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel) 84%, var(--accent) 16%));
  padding: 18px;
  min-height: 132px;
  box-shadow: var(--shadow-soft);
}
.coupon-report-card::after {
  content: '';
  position: absolute;
  right: -28px;
  top: -28px;
  width: 110px;
  height: 110px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 36%, transparent);
  filter: blur(18px);
  opacity: .8;
  pointer-events: none;
}
.coupon-report-card span {
  position: relative;
  z-index: 1;
  display: block;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
}
.coupon-report-card b {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 8px;
  font-size: 28px;
  line-height: 1.15;
  color: var(--text);
}
.coupon-report-card small {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}
.coupon-report-card.report-won { --accent: #22c55e; }
.coupon-report-card.report-lost { --accent: #ef4444; }
.coupon-report-card.report-pending { --accent: #f59e0b; }
.coupon-report-card.report-neutral { --accent: #38bdf8; }
.coupon-report-card.report-ggr { --accent: #14b8a6; }
@media (max-width: 1100px) {
  .coupon-card-modern { grid-template-columns: 1fr 1fr; }
  .coupon-report-grid.currency-report-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .coupon-card-modern { grid-template-columns: 1fr; }
  .coupon-report-grid.currency-report-grid { grid-template-columns: 1fr; }
  .home-card-grid.mixed-card-mode .home-image-only-card,
  .home-card-grid.mixed-card-mode .home-image-only-card img { min-height: 126px; border-radius: 18px; }
  .currency-form span::before { content: none !important; display: none !important; }
}

/* =========================
   v46 focused polish: centered loader, history controls, coupons, light auth/admin fixes
   ========================= */
.nx-page-loader { text-align: center !important; }
.nx-loader-box { place-items: center !important; justify-items: center !important; align-items: center !important; margin: auto !important; }
.nx-loader-img,
.nx-loader-logo,
.nx-loader-logo .brand,
.nx-loader-logo .brand-logo-switch,
.nx-loader-logo .brand-logo-img { margin-inline: auto !important; object-position: center center !important; text-align: center !important; }

.admin-topbar-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
.admin-history-actions { display: inline-flex; align-items: center; gap: 8px; }
.admin-history-btn { width: 38px; height: 38px; border-radius: 12px; }
.admin-topbar-left h1 { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media (min-width: 981px) {
  .app-shell[data-layout="top"] .top-header > .header-left > .brand { transform: translateX(-5px); }
}

.auth-modal { color: var(--text); background: color-mix(in srgb, var(--panel) 96%, var(--bg) 4%); }
.auth-modal .auth-logo-wrap { width: 100%; display: flex; justify-content: center; }
.auth-modal .brand-logo-switch,
.auth-modal .brand-logo-img { margin-inline: auto !important; object-position: center center !important; }
.auth-field select.flag-select { font-weight: 900; }
html[data-theme$="-light"] .auth-modal,
html[data-theme$="-light"] .admin-login-card {
  background: #ffffff !important;
  color: #101827 !important;
  border-color: #dbe4ef !important;
  box-shadow: 0 20px 60px rgba(15,23,42,.14) !important;
}
html[data-theme$="-light"] .auth-modal h2,
html[data-theme$="-light"] .auth-modal b,
html[data-theme$="-light"] .auth-modal strong { color: #0f172a !important; }
html[data-theme$="-light"] .auth-modal .muted,
html[data-theme$="-light"] .auth-modal .check-row,
html[data-theme$="-light"] .auth-modal .link-btn { color: #64748b !important; }
html[data-theme$="-light"] .auth-field {
  background: #f8fafc !important;
  border-color: #dbe4ef !important;
}
html[data-theme$="-light"] .auth-field input,
html[data-theme$="-light"] .auth-field select,
html[data-theme$="-light"] .auth-field textarea { color: #0f172a !important; }
html[data-theme$="-light"] .auth-field input::placeholder { color: #64748b !important; }

.admin-login-card-tools { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-bottom: 14px; }
.admin-login-card-tools .language-trigger { min-width: 148px; }
.admin-login-settings { position: static !important; width: 44px; height: 44px; display: inline-flex; }
html[data-theme$="-light"] .admin-body .language-trigger,
html[data-theme$="-light"] .admin-body .language-menu,
html[data-theme$="-light"] .admin-body .settings-panel,
html[data-theme$="-light"] .admin-body select,
html[data-theme$="-light"] .admin-body input,
html[data-theme$="-light"] .admin-body textarea {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}
html[data-theme$="-light"] .admin-body .language-menu button { color: #0f172a !important; }
html[data-theme$="-light"] .admin-body .language-menu button:hover { background: #f1f5f9 !important; }
html[data-theme$="-light"] .admin-body .settings-label,
html[data-theme$="-light"] .admin-body label span,
html[data-theme$="-light"] .admin-body .muted { color: #64748b !important; }

/* Modern coupon cards inspired by the supplied Vue component. */
.coupon-card.coupon-card-modern {
  grid-template-columns: 1.35fr .85fr .75fr .85fr 1fr auto !important;
  gap: 12px !important;
  align-items: stretch !important;
  padding: 16px !important;
  border-left-width: 4px !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, #07152b 8%), color-mix(in srgb, var(--panel-2) 88%, var(--accent) 12%)) !important;
}
.coupon-card.coupon-card-modern .coupon-title,
.coupon-card.coupon-card-modern .coupon-stat {
  min-height: 64px;
  border: 1px solid color-mix(in srgb, var(--border) 88%, var(--accent) 12%);
  border-radius: 16px;
  background: color-mix(in srgb, var(--panel-2) 82%, #07152b 18%);
  padding: 12px;
  display: flex;
  align-items: center;
}
.coupon-card.coupon-card-modern .coupon-title { gap: 12px; }
.coupon-card.coupon-card-modern .coupon-title small { display:block; margin-top: 3px; line-height: 1.35; }
.coupon-card.coupon-card-modern .coupon-stat { flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; }
.coupon-card.coupon-card-modern .coupon-stat span { font-size: 11px; font-weight: 950; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }
.coupon-card.coupon-card-modern .coupon-stat b { font-size: 16px; font-weight: 950; color: var(--text); }
.coupon-card.coupon-card-modern .rate-value,
.coupon-card.coupon-card-modern .coupon-win-stat b { color: var(--accent) !important; }
.bet-type-chip {
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding: 8px 12px;
  border-radius: 999px;
  color: #2dd4bf !important;
  background: rgba(20,184,166,.14);
  border: 1px solid rgba(45,212,191,.25);
  font-size: 13px !important;
}
.bet-type-chip svg { width: 16px; height: 16px; }
.coupon-card.coupon-card-modern .coupon-detail-btn {
  align-self: center;
  min-height: 46px;
  border-radius: 16px;
  gap: 8px;
  white-space: nowrap;
}
.coupon-card.coupon-card-modern .coupon-detail-btn svg { width: 17px; height: 17px; }
.coupon-card.status-win,
.coupon-card[data-status="status-win"] { border-left-color: #22c55e !important; }
.coupon-card.status-lost,
.coupon-card[data-status="status-lost"] { border-left-color: #f43f5e !important; }
.coupon-card.status-pending,
.coupon-card[data-status="status-pending"] { border-left-color: #f59e0b !important; }
.coupon-card.status-neutral,
.coupon-card[data-status="status-neutral"] { border-left-color: #38bdf8 !important; }
html[data-theme$="-light"] .coupon-card.coupon-card-modern .coupon-title,
html[data-theme$="-light"] .coupon-card.coupon-card-modern .coupon-stat { background:#fff !important; border-color:#dbe4ef !important; }
html[data-theme$="-light"] .coupon-card.coupon-card-modern { background: linear-gradient(135deg,#f8fafc,#eef6ff) !important; }

@media (max-width: 1180px) {
  .coupon-card.coupon-card-modern { grid-template-columns: 1fr 1fr !important; }
  .coupon-card.coupon-card-modern .coupon-title,
  .coupon-card.coupon-card-modern .coupon-detail-btn { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .coupon-card.coupon-card-modern { grid-template-columns: 1fr !important; padding: 12px !important; }
}

/* Mobile logged-in header: put wallet on first line and account/logout row underneath, so it no longer drifts right. */
@media (max-width: 980px) {
  .header-actions:has(.currency-form) {
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    justify-content: end !important;
    gap: 5px !important;
    max-width: calc(100vw - 190px) !important;
  }
  .header-actions > .currency-form {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    max-width: 170px !important;
  }
  .header-actions > .account-menu-trigger,
  .header-actions > .user-chip,
  .header-actions > form:has(input[value="logout"]) {
    grid-row: 2 !important;
    justify-self: end !important;
  }
  .header-actions > .user-chip {
    display: inline-flex !important;
    max-width: 86px !important;
    height: 34px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .header-actions > .account-menu-trigger,
  .header-actions > form:has(input[value="logout"]) .btn { width: 34px !important; height: 34px !important; min-width: 34px !important; }
  .currency-form span::before { content: none !important; display: none !important; }
  .left-toolbar,
  .top-header { min-height: 96px !important; height: auto !important; }
  .mobile-toolbar-brand,
  .top-header .header-left > .brand { max-width: 118px !important; width: 118px !important; }
  .left-toolbar .brand-logo-switch,
  .top-header .brand-logo-switch,
  .left-toolbar .brand-logo-img,
  .top-header .brand-logo-img { width: 118px !important; max-width:118px !important; }
}
@media (max-width: 420px) {
  .header-actions:has(.currency-form) { max-width: calc(100vw - 168px) !important; }
  .header-actions > .user-chip { max-width: 72px !important; }
}


/* =========================
   v47 auth polish: lock icons, light inputs, flag select previews, menu history controls
   ========================= */
.auth-field .field-icon use[href="#i-lock"] { color: var(--accent-2); }
.auth-switch-text {
  margin: 12px 0 0;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.auth-switch-link {
  display: inline-flex;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--accent-2) !important;
  font-weight: 950 !important;
  vertical-align: baseline;
}
.flag-auth-field { position: relative; }
.flag-auth-field .auth-select-flag {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  pointer-events: none;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06);
}
.flag-auth-field .auth-select-flag .flag-bc { width: 22px !important; height: 14px !important; display:block !important; flex:0 0 22px !important; }
.auth-modal .flag-auth-field select.flag-select { padding-left: 52px !important; }
html[data-theme$="-light"] .auth-modal input,
html[data-theme$="-light"] .auth-modal select,
html[data-theme$="-light"] .auth-modal textarea,
html[data-theme$="-light"] .admin-login-card input,
html[data-theme$="-light"] .admin-login-card select,
html[data-theme$="-light"] .admin-login-card textarea {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}
html[data-theme$="-light"] .auth-modal input::placeholder,
html[data-theme$="-light"] .admin-login-card input::placeholder { color: #64748b !important; }
html[data-theme$="-light"] .auth-field .field-icon,
html[data-theme$="-light"] .auth-select-flag { color: var(--accent) !important; }
.admin-menu-history {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 0 8px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--border);
}
.admin-menu-history .admin-history-btn {
  width: 100%;
  height: 40px;
  border-radius: 13px;
  background: var(--panel-2);
  color: var(--text);
}
.admin-app.admin-collapsed .admin-menu-history {
  grid-template-columns: 1fr;
}
.admin-app.admin-collapsed .admin-menu-history .admin-history-btn {
  width: 42px;
  justify-self: center;
}
.admin-topbar-left .admin-history-actions { display: none !important; }
@media (max-width: 820px) {
  .admin-menu-history { grid-column: 1 / -1; grid-template-columns: repeat(2, 1fr); }
}

/* =========================
   v48 focused fixes: register select flags + top menu scroll controls
   ========================= */
.auth-modal .flag-auth-field {
  display: block !important;
  position: relative !important;
}
.auth-modal .flag-auth-field .auth-select-flag {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.auth-modal .flag-auth-field select.flag-select {
  padding-left: 54px !important;
  text-indent: 0 !important;
  line-height: 48px !important;
}
.auth-modal .flag-auth-field select.flag-select option {
  font-weight: 850;
}

.admin-menu-history { display: none !important; }
.admin-menu-scroll-btn {
  display: none !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  color: var(--text) !important;
  background: color-mix(in srgb, var(--panel-2) 92%, var(--accent) 8%) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
  position: sticky !important;
  z-index: 4 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn[data-admin-scroll="left"] {
  left: 0 !important;
  order: -10;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn[data-admin-scroll="right"] {
  right: 0 !important;
  order: 99;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn:hover {
  color: #fff !important;
  background: linear-gradient(135deg, var(--accent-2), var(--accent)) !important;
  border-color: transparent !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn svg {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
}
.admin-app[data-admin-layout="left"] .admin-menu-scroll-btn,
.admin-app.admin-collapsed .admin-menu-scroll-btn {
  display: none !important;
}

/* =========================
   v49 focused fixes: real flag dropdowns in register + clearer top menu scroll buttons
   ========================= */
.auth-modal .auth-custom-select-field {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.auth-select-dropdown {
  position: relative;
  width: 100%;
  min-width: 0;
}
.auth-select-trigger {
  width: 100%;
  height: 48px;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 42px 0 15px;
  border-radius: 14px;
  border: 1px solid #333941;
  background: #17191b;
  color: var(--text);
  font-weight: 900;
  cursor: pointer;
  text-align: left;
  position: relative;
}
.auth-select-trigger > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.auth-select-trigger > svg {
  position: absolute;
  right: 14px;
  width: 16px;
  height: 16px;
  color: var(--muted);
  transition: transform .18s ease;
}
.auth-select-dropdown.open .auth-select-trigger > svg { transform: rotate(180deg); }
.auth-select-trigger .flag-bc,
.auth-select-option .flag-bc {
  width: 22px !important;
  height: 14px !important;
  flex: 0 0 22px !important;
  display: block !important;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.12);
}
.auth-select-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 10050;
  max-height: 230px;
  overflow: auto;
  padding: 8px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--panel) 96%, #000 4%);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.auth-select-dropdown.open .auth-select-menu { display: grid; gap: 5px; }
.auth-select-option {
  width: 100%;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font-weight: 850;
  text-align: left;
}
.auth-select-option:hover,
.auth-select-option.active {
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--accent) 42%, var(--border));
  color: var(--text);
}
html[data-theme$="-light"] .auth-select-trigger {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}
html[data-theme$="-light"] .auth-select-menu {
  background: #ffffff !important;
  border-color: #dbe4ef !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.18) !important;
}
html[data-theme$="-light"] .auth-select-option { color: #0f172a !important; }
html[data-theme$="-light"] .auth-select-option:hover,
html[data-theme$="-light"] .auth-select-option.active {
  background: color-mix(in srgb, var(--accent) 15%, #fff) !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn {
  color: #fff !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 86%, #111 14%), color-mix(in srgb, var(--accent-2) 82%, #111 18%)) !important;
  border: 1px solid color-mix(in srgb, var(--accent-2) 55%, #fff 12%) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--accent) 28%, transparent), 0 0 0 3px rgba(255,255,255,.045) !important;
}
html[data-theme$="-light"] .admin-app[data-admin-layout="top"] .admin-menu-scroll-btn {
  color: #fff !important;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important;
  border-color: color-mix(in srgb, var(--accent) 50%, #fff) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--accent) 22%, transparent), 0 0 0 3px rgba(15,23,42,.055) !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* =========================
   v50: clear admin top menu scroll controls + modal flag pickers
   ========================= */
.admin-menu-shell {
  display: contents;
}
.admin-app[data-admin-layout="top"] .admin-menu-shell {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 48px !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-shell .admin-menu {
  min-width: 0 !important;
  width: 100% !important;
  overflow-x: auto !important;
  scroll-behavior: smooth;
  padding: 0 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border-radius: 16px !important;
  position: static !important;
  z-index: 12 !important;
  color: #fff !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 92%, #111 8%), color-mix(in srgb, var(--accent-2) 88%, #111 12%)) !important;
  border: 1px solid color-mix(in srgb, var(--accent-2) 55%, #fff 14%) !important;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--accent) 24%, transparent), 0 0 0 3px rgba(255,255,255,.055) !important;
  opacity: 1 !important;
  flex: 0 0 46px !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn svg {
  width: 19px !important;
  height: 19px !important;
  color: currentColor !important;
}
.admin-app[data-admin-layout="left"] .admin-menu-shell,
.admin-app.admin-collapsed .admin-menu-shell {
  display: contents !important;
}
.admin-app[data-admin-layout="left"] .admin-menu-scroll-btn,
.admin-app.admin-collapsed .admin-menu-scroll-btn {
  display: none !important;
}
html[data-theme$="-light"] .admin-app[data-admin-layout="top"] .admin-menu-scroll-btn {
  color: #fff !important;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important;
  border-color: color-mix(in srgb, var(--accent) 55%, #fff) !important;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--accent) 18%, transparent), 0 0 0 3px rgba(15,23,42,.06) !important;
}
.auth-select-dropdown.open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 10040;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
}
.auth-select-dropdown.open .auth-select-menu {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10060 !important;
  width: min(430px, calc(100vw - 28px)) !important;
  max-height: min(560px, 72vh) !important;
  overflow: auto !important;
  padding: 12px !important;
  border-radius: 22px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.52) !important;
}
body.auth-select-modal-open,
html.auth-select-modal-open {
  overflow: hidden !important;
}
.auth-select-dropdown.open .auth-select-trigger {
  z-index: 10061;
}
.admin-app[data-admin-layout="top"] .admin-menu-shell {
  flex: 1 1 auto !important;
}

/* =========================
   Footer page/category manager v3
   ========================= */
.footer-page-list { min-height: auto; display: block; align-items: initial; justify-content: initial; background: #050505; border-top: 1px solid rgba(255,255,255,.12); padding: 0; color: #8fa0ad; }
.footer-page-list .footer-top { max-width: 1040px; margin: 0 auto; padding: 22px 22px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-page-list .footer-bottom { max-width: 1040px; margin: 0 auto; padding: 18px 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(255,255,255,.08); color: #718292; }
.footer-page-list .footer-social { display: inline-flex; align-items: center; gap: 10px; }
.footer-page-list .footer-social a { width: 34px; height: 34px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: #8fa0ad; }
.footer-page-list .footer-social a:hover { color: #fff; background: var(--accent); border-color: var(--accent); }
.footer-page-list .footer-social svg { width: 17px; height: 17px; }
.footer-page-list .footer-columns { max-width: 1040px; margin: 0 auto; padding: 28px 22px; display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 54px; }
.footer-page-list .footer-col h4 { margin: 0 0 16px; color: #dcefff; font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: 0; }
.footer-page-list .footer-col a { display: block; width: max-content; max-width: 100%; color: #8496a5; padding: 7px 0; font-size: 12px; font-weight: 750; line-height: 1.35; }
.footer-page-list .footer-col a:hover { color: #fff; transform: none; }
.footer-manager-shell { overflow: hidden; }
.footer-manager-titlebar { min-height: 82px; padding: 4px 4px 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #2d3239; margin-bottom: 18px; }
.footer-manager-titlebar h2 { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 18px; }
.footer-manager-titlebar h2 svg { width: 18px; height: 18px; color: #93c5fd; }
.footer-manager-titlebar p { margin: 6px 0 0; color: #8f98a6; font-size: 12px; font-weight: 750; }
.footer-settings-card { margin: 0 0 18px; border: 1px solid #30363d; border-radius: 18px; background: #151719; padding: 18px; }
.footer-settings-grid { display: grid; grid-template-columns: minmax(280px, .95fr) minmax(320px, 1.05fr); gap: 18px; align-items: start; }
.footer-settings-box { border: 1px solid #2a3037; border-radius: 16px; background: #1a1d20; padding: 16px; }
.footer-settings-box h3 { margin: 0 0 6px; color: #eef7ff; font-size: 14px; font-weight: 950; }
.footer-settings-box p { margin: 0 0 14px; color: #87919f; font-size: 12px; font-weight: 750; line-height: 1.45; }
.footer-social-admin-grid { display: grid; grid-template-columns: minmax(210px, 1fr) 116px; gap: 10px; align-items: end; }
.footer-language-settings-list { display: grid; gap: 12px; max-height: 440px; overflow: auto; padding-right: 5px; }
.footer-language-settings { border: 1px solid #30363d; border-radius: 14px; padding: 13px; margin: 0; background: #151719; display: grid; gap: 10px; }
.footer-language-settings legend { padding: 0 8px; color: #dcefff; font-size: 12px; font-weight: 950; display: inline-flex; align-items: center; gap: 7px; }
.footer-settings-actions { margin-top: 14px; justify-content: flex-end; }
.footer-category-list { display: grid; gap: 0; border: 1px solid #30363d; border-radius: 18px; overflow: hidden; background: #151719; }
.footer-category-card { background: #1a1d20; border-bottom: 1px solid #30363d; padding: 0; }
.footer-category-card:last-child { border-bottom: 0; }
.footer-category-card.dragging, .footer-page-row.dragging { opacity: .55; }
.footer-category-head { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 28px; }
.footer-category-title { display: flex; align-items: center; gap: 12px; min-width: 220px; }
.footer-category-title h3 { margin: 0; color: #eef7ff; font-size: 14px; font-weight: 950; text-transform: uppercase; }
.footer-category-title small, .footer-page-title small { display: block; margin-top: 5px; color: #828b98; font-size: 11px; font-weight: 800; }
.footer-drag-handle { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; color: #b6d8f3; cursor: grab; user-select: none; font-size: 14px; flex: 0 0 auto; }
.footer-category-actions, .footer-page-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.footer-page-admin-list { padding: 0 28px 22px 28px; }
.footer-page-admin-list:before { content: ''; display: block; height: 1px; background: #343a42; margin-bottom: 12px; }
.footer-page-row { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; }
.footer-page-title { display: flex; align-items: center; gap: 10px; min-width: 230px; color: #e3ecf5; }
.footer-page-title b { display: block; font-size: 13px; font-weight: 850; }
.footer-page-empty { color: #7f8996; font-size: 12px; font-weight: 800; padding: 14px 0 4px 30px; }
.footer-page-modal-box textarea { min-height: 205px; }
.btn.btn-danger { background: #9d3157; color: #fff; border-color: #a83a62; }
.btn.btn-danger:hover { filter: brightness(1.08); }
@media (max-width: 900px) {
  .footer-page-list .footer-columns { grid-template-columns: 1fr; gap: 18px; }
  .footer-page-list .footer-top, .footer-page-list .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-settings-grid { grid-template-columns: 1fr; }
  .footer-social-admin-grid { grid-template-columns: 1fr; }
  .footer-category-head, .footer-page-row { align-items: flex-start; flex-direction: column; }
  .footer-category-actions, .footer-page-actions { justify-content: flex-start; }
  .footer-page-admin-list { padding-left: 18px; padding-right: 18px; }
}

/* =========================
   v4 loading, promotions, register/admin permissions
   ========================= */
.promo-image-link { display: block; color: inherit; text-decoration: none; }
.promo-card h3 a { color: inherit; text-decoration: none; }
.promo-card h3 a:hover { color: var(--accent); }
.promo-content-box { max-width: min(760px, calc(100vw - 28px)); max-height: min(760px, 86vh); overflow: auto; }
.promo-content-box h2 { margin-bottom: 16px; }
.promo-detail-card { overflow: hidden; }
.promo-detail-image { width: 100%; max-height: 360px; object-fit: cover; border-radius: 18px; margin: 12px 0 18px; border: 1px solid var(--border); }
.admin-permission-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.check-pill.locked { opacity: .8; cursor: default; }
.check-pill.locked input { cursor: not-allowed; }
.admin-promo-card .admin-actions-row { padding: 0; margin-top: 10px; justify-content: flex-start; }
.admin-promo-card .inline-form { display: inline-flex; }
.admin-promo-card .btn-sm { min-height: 34px; }

/* =========================
   v55 promotion categories, modal-only promotion content, demo/ip options
   ========================= */
.promo-page-head { display: grid; gap: 12px; }
.promo-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.promo-filter-btn { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border-radius: 999px; border: 1px solid var(--border); background: var(--panel-2); color: var(--text); text-decoration: none; font-weight: 800; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.promo-filter-btn:hover, .promo-filter-btn.active { transform: translateY(-1px); border-color: var(--accent); background: color-mix(in srgb, var(--accent) 22%, var(--panel-2)); color: var(--text); }
.promo-title-grid { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 24px; }
.promo-title-card { min-height: 84px; }
.promo-title-link { width: 100%; min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; color: var(--text); text-decoration: none; font-size: 17px; font-weight: 900; }
.promo-title-link svg { width: 24px; height: 24px; opacity: .75; color: var(--accent); flex: 0 0 auto; }
.promo-title-link:hover { color: var(--accent); }
.promo-content-box { max-width: min(980px, calc(100vw - 28px)); }
.promo-modal-layout { display: grid; grid-template-columns: minmax(240px, 38%) 1fr; gap: 22px; align-items: start; }
.promo-modal-image img { width: 100%; max-height: 420px; object-fit: cover; border-radius: 18px; border: 1px solid var(--border); background: var(--panel-2); display: block; }
.promo-modal-content { min-width: 0; display: grid; gap: 16px; line-height: 1.65; }
.promo-modal-content .promo-text { color: var(--text); }
.admin-promo-card .muted { line-height: 1.5; }
@media (max-width: 820px) { .promo-modal-layout { grid-template-columns: 1fr; } .promo-title-grid { grid-template-columns: 1fr; } }

/* v56 promotion image/title cards, admin roles, dashboard/risk/theme pages */
.promo-list-card { min-height: 0; max-width: 520px; width: 100%; }
.promo-list-link { display: grid; gap: 0; color: inherit; text-decoration: none; height: 100%; }
.promo-list-link img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: var(--panel-2); }
.promo-image-placeholder { aspect-ratio: 16 / 9; display: grid; place-items: center; background: linear-gradient(135deg, var(--panel-2), color-mix(in srgb, var(--accent) 16%, var(--panel-2))); border-bottom: 1px solid var(--border); }
.promo-image-placeholder svg { width: 54px; height: 54px; color: var(--accent); opacity: .78; }
.promo-list-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; min-height: 78px; }
.promo-list-title h3 { margin: 0; font-size: 20px; line-height: 1.25; }
.promo-list-title svg { width: 22px; height: 22px; color: var(--accent); flex: 0 0 auto; opacity: .8; }
.promo-list-link:hover .promo-list-title h3 { color: var(--accent); }
.dashboard-report-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.dashboard-hero-card .admin-panel-head { align-items: flex-start; }
.risk-report-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.risk-split { align-items: stretch; }
.permission-split { align-items: stretch; margin-top: 16px; }
.theme-preview-note { margin-top: 14px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel-2); color: var(--muted); font-weight: 700; }
.ua-cell { max-width: 360px; white-space: normal; word-break: break-word; }
.admin-table td .admin-actions-row { flex-wrap: nowrap; }
@media (max-width: 820px) { .admin-table td .admin-actions-row { flex-wrap: wrap; } }


/* v57 affiliate and promotion card tuning */
.promo-title-grid .promo-card { min-height: 260px; }
.promo-list-link img { min-height: 210px; }
.promo-image-placeholder { min-height: 210px; display:flex; align-items:center; justify-content:center; background:var(--panel-2); color:var(--accent); }
.promo-image-placeholder svg { width:64px; height:64px; }
.admin-table code { display:inline-block; padding:4px 8px; border-radius:8px; background:rgba(255,255,255,.08); color:var(--accent); font-weight:900; }
.affiliate-login-body .auth-page { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.affiliate-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
@media (max-width: 1180px) { .affiliate-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 820px) { .promo-title-grid { grid-template-columns:1fr; } .promo-list-card { max-width:none; } .affiliate-summary-grid { grid-template-columns:1fr; } }
.promo-image-title-grid { align-items: stretch; }

/* v58 affiliate isolation and current-period finance tables */
.affiliate-standalone-body { background: radial-gradient(circle at top left, rgba(34,197,94,.13), transparent 34%), #080c11; min-height: 100vh; }
.affiliate-standalone-shell { width: min(1240px, calc(100% - 32px)); margin: 0 auto; padding: 28px 0 42px; }
.affiliate-standalone-shell .page-content-card { margin-bottom: 18px; }
.affiliate-head-card .admin-panel-head { align-items: flex-start; }
.affiliate-panel-logo { justify-content: flex-start; margin-bottom: 12px; }
.affiliate-auth-page { min-height: 100vh; }
.affiliate-standalone-shell .table-wrap { max-height: 520px; overflow: auto; }
.affiliate-standalone-shell code { white-space: normal; word-break: break-all; }
@media (max-width: 720px) {
  .affiliate-standalone-shell { width: min(100% - 20px, 1240px); padding-top: 16px; }
  .affiliate-head-card .admin-panel-head { gap: 12px; }
}

/* =========================
   v59 slots/livecasino lobby pages
   ========================= */
.game-lobby-body { background: #030405; }
.game-lobby { display: grid; grid-template-columns: 214px minmax(0, 1fr); gap: 14px; min-height: calc(100vh - 130px); color: #fff; }
.game-provider-panel { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.game-provider-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; }
.game-provider-head h2, .game-lobby-head h1 { margin: 0; color: #fff; font-size: 16px; font-weight: 950; letter-spacing: .01em; text-transform: uppercase; }
.game-provider-back { display: none; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: 10px; border: 1px solid transparent; background: transparent; color: #fff; font-weight: 950; text-transform: uppercase; }
.game-provider-back svg { width: 18px; height: 18px; }
.game-search-field, .game-mobile-search { min-height: 40px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border-radius: 9px; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.055)); color: rgba(255,255,255,.86); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.game-search-field input, .game-mobile-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #fff; font-weight: 850; }
.game-search-field input::placeholder, .game-mobile-search input::placeholder { color: rgba(255,255,255,.48); }
.game-search-field svg, .game-mobile-search svg { width: 21px; height: 21px; flex: 0 0 auto; color: rgba(255,255,255,.86); }
.provider-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; align-content: start; overflow: auto; padding-right: 2px; }
.provider-card { position: relative; min-height: 60px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px 5px; border-radius: 7px; border: 1px solid rgba(255,255,255,.16); background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)); color: #fff; cursor: pointer; overflow: hidden; transition: .18s ease; }
.provider-card:hover, .provider-card.active { border-color: color-mix(in srgb, var(--accent) 80%, #fff 10%); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), 0 12px 24px rgba(0,0,0,.35); transform: translateY(-1px); }
.provider-card strong { font-size: 10px; line-height: 1.1; font-weight: 950; letter-spacing: .01em; text-transform: uppercase; overflow-wrap: anywhere; }
.provider-card em { position: absolute; left: 0; top: 0; padding: 3px 6px; border-radius: 0 0 6px 0; background: #7a3ac9; color: #fff; font-size: 7px; line-height: 1; font-style: normal; font-weight: 950; text-transform: uppercase; }
.provider-badge svg { width: 20px; height: 20px; margin-bottom: 3px; color: var(--accent); display: block; }
.game-list-panel { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.game-lobby-head { display: grid; grid-template-columns: minmax(130px, max-content) minmax(0, 1fr); align-items: center; gap: 14px; }
.game-lobby-head span { display: block; color: rgba(255,255,255,.62); font-size: 12px; font-weight: 900; text-transform: uppercase; margin-bottom: 3px; }
.game-lobby-tools { display: grid; grid-template-columns: minmax(0, 1fr) 46px; gap: 10px; }
.game-view-toggle, .game-provider-open { border: 1px solid rgba(255,255,255,.16); border-radius: 9px; background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.045)); color: #fff; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 950; cursor: pointer; }
.game-view-toggle svg, .game-provider-open svg { width: 20px; height: 20px; }
.game-lobby-mobile-actions { display: none; gap: 8px; margin-bottom: 10px; }
.game-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(228px, 1fr)); gap: 10px; align-content: start; }
.game-card { position: relative; min-height: 136px; border-radius: 8px; background: #101010; border: 1px solid rgba(255,255,255,.08); overflow: hidden; cursor: pointer; box-shadow: 0 10px 22px rgba(0,0,0,.35); isolation: isolate; }
.game-card img { width: 100%; height: 100%; min-height: 136px; aspect-ratio: 16 / 9; object-fit: cover; display: block; transform: scale(1.001); transition: transform .24s ease, filter .24s ease; }
.game-card:hover img, .game-card.selected img, .game-card:focus-within img { transform: scale(1.04); filter: blur(1.8px) brightness(.58); }
.game-card-overlay { position: absolute; inset: 0; display: grid; grid-template-rows: auto 1fr auto; padding: 12px 12px 10px; background: linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.42)); opacity: 0; pointer-events: none; transform: translateY(4px); transition: .18s ease; }
.game-card:hover .game-card-overlay, .game-card.selected .game-card-overlay, .game-card:focus-within .game-card-overlay { opacity: 1; pointer-events: auto; transform: translateY(0); }
.game-card-icons { display: flex; justify-content: space-between; align-items: center; }
.game-card-icons span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 999px; background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.25); color: #fff; backdrop-filter: blur(8px); }
.game-card-icons svg { width: 15px; height: 15px; }
.game-card-overlay strong { align-self: center; justify-self: center; color: #fff; font-size: 13px; line-height: 1.25; font-weight: 950; text-align: center; text-shadow: 0 2px 10px rgba(0,0,0,.65); max-width: 94%; }
.game-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.game-card-actions button { min-height: 34px; border-radius: 4px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.08); color: #fff; font-weight: 950; cursor: pointer; text-transform: uppercase; }
.game-card-actions button:first-child { border-color: #d90808; background: #d90808; box-shadow: 0 10px 26px rgba(217,8,8,.35); }
.game-card-actions button:hover { filter: brightness(1.08); }
.game-card-grid.compact { grid-template-columns: repeat(auto-fill, minmax(172px, 1fr)); }
.game-card-grid.compact .game-card, .game-card-grid.compact .game-card img { min-height: 112px; }
.game-empty { margin-top: 10px; }
@media (min-width: 1400px) {
  .game-lobby { grid-template-columns: 224px minmax(0, 1fr); }
  .game-card-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
  .game-card, .game-card img { min-height: 154px; }
}
@media (max-width: 820px) {
  .game-lobby { display: block; min-height: auto; }
  .game-lobby-mobile-actions { display: grid; grid-template-columns: minmax(148px, max-content) minmax(0, 1fr) 44px; position: sticky; top: 8px; z-index: 25; background: unset; padding: 4px 0 8px; }
  .game-provider-open { padding: 0 12px; justify-content: flex-start; white-space: nowrap; }
  .game-mobile-search { min-width: 0; }
  .game-provider-panel { position: fixed; inset: 0 auto 0 0; width: min(420px, 100vw); max-width: 100vw; padding: 18px 22px 24px; background: #050607; z-index: 1000; transform: translateX(-102%); transition: transform .22s ease; overflow: auto; border-right: 1px solid rgba(255,255,255,.14); box-shadow: 22px 0 60px rgba(0,0,0,.55); }
  .game-lobby.providers-open .game-provider-panel { transform: translateX(0); }
  .game-provider-back { display: inline-flex; padding-left: 0; }
  .game-provider-head { justify-content: flex-start; }
  .game-provider-head h2 { display: none; }
  .provider-card-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 7px; padding: 0; overflow: visible; }
  .provider-card { min-height: 68px; }
  .provider-card strong { font-size: 9px; }
  .game-lobby-head { display: none; }
  .game-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .game-card, .game-card img { min-height: 128px; border-radius: 7px; }
  .game-card-overlay { padding: 9px 8px 8px; }
  .game-card-actions { gap: 6px; }
  .game-card-actions button { min-height: 32px; font-size: 12px; }
  .game-card-overlay strong { font-size: 12px; }
  .game-card-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
  .game-lobby-mobile-actions { grid-template-columns: auto 44px 44px; }
  .game-mobile-search { display: none; }
  .provider-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .provider-card { min-height: 64px; padding-inline: 4px; }
  .game-card, .game-card img { min-height: 116px; }
}

/* =========================
   v60 profile, announcement, popup and homepage casino/promo sections
   ========================= */
[data-layout="top"] .top-header .brand { margin-left: 17px; }
@media (max-width: 1180px) { [data-layout="top"] .top-header .brand { margin-left: 57px; } }

.profile-readonly-form input:disabled,
.profile-readonly-form select:disabled { opacity: 1; cursor: not-allowed; color: var(--text); -webkit-text-fill-color: var(--text); background: var(--panel-2); }
.profile-readonly-select .auth-select-dropdown { pointer-events: none; }
.profile-readonly-select .auth-select-trigger { opacity: 1; cursor: not-allowed; color: var(--text); background: var(--panel-2); }
.profile-flag-field .profile-readonly-select { margin-top: 8px; }
.profile-readonly-form .auth-select-menu { display: none !important; }

.site-announcement-bar { position: relative; min-height: 34px; display: flex; align-items: center; overflow: hidden; border-bottom: 1px solid var(--border); background: #050709; color: #f5f7fb; z-index: 40; }
.site-announcement-track { flex: 1; overflow: hidden; white-space: nowrap; font-weight: 850; }
.site-announcement-track span { display: inline-block; padding-left: 100%; animation: nx-marquee 24s linear infinite; }
.site-announcement-track a { color: #f7c948; font-weight: 950; text-decoration: none; }
.site-announcement-close { width: 34px; height: 34px; border: 0; background: transparent; color: #cbd5e1; font-size: 25px; cursor: pointer; flex: 0 0 auto; }
@keyframes nx-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }

.entry-popup-backdrop { position: fixed; inset: 0; z-index: 5000; display: none; place-items: center; padding: 18px; background: rgba(0,0,0,.74); backdrop-filter: blur(3px); }
.entry-popup-backdrop::before { content:""; position:absolute; inset:0; background-image: var(--entry-popup-bg); background-size: cover; background-position: center; opacity: .24; filter: blur(2px); }
.entry-popup-backdrop.show { display: grid; }
.entry-popup-box { position: relative; width: min(430px, calc(100vw - 28px)); background: rgba(3,4,6,.94); color: #fff; border-radius: 0; padding: 38px 30px 16px; box-shadow: 0 26px 80px rgba(0,0,0,.75); text-align: center; border: 1px solid rgba(255,255,255,.08); }
.entry-popup-close { position: absolute; right: 18px; top: 12px; border: 0; background: transparent; color: rgba(255,255,255,.72); font-size: 34px; font-weight: 900; cursor: pointer; line-height: 1; }
.entry-popup-box h2 { margin: 0 26px 28px; font-size: 16px; line-height: 1.15; font-weight: 950; text-transform: uppercase; }
.entry-popup-content { color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.18; font-weight: 800; margin-bottom: 28px; }
.entry-popup-content p { margin: 0 0 10px; }
.entry-popup-ok { width: 100%; min-height: 38px; border: 0; border-radius: 4px; background: #b40000; color: #fff; font-weight: 950; cursor: pointer; }
.entry-popup-hide { display: flex; align-items: center; gap: 12px; margin-top: 14px; color: rgba(255,255,255,.72); font-weight: 750; text-align: left; }
.entry-popup-hide input { width: 17px; height: 17px; accent-color: #b40000; }
body.entry-popup-open { overflow: hidden; }

.home-showcase-section { margin-top: 26px; padding: 18px; border: 1px solid var(--border); border-radius: 22px; background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); box-shadow: var(--shadow); }
.home-showcase-section .section-title { margin-bottom: 14px; }
.home-showcase-strip { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 12px; }
.home-casino-card { position: relative; min-height: 154px; border-radius: 8px; overflow: hidden; background: var(--panel-2); color: #fff; text-decoration: none; display: block; border: 1px solid var(--border); }
.home-casino-card img, .home-card-placeholder { width: 100%; height: 100%; min-height: 154px; object-fit: cover; display: grid; place-items: center; background: linear-gradient(135deg, var(--panel-2), color-mix(in srgb, var(--accent) 24%, var(--panel-2))); }
.home-card-placeholder svg { width: 56px; height: 56px; color: var(--accent); }
.home-casino-card::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.52)); }
.home-casino-card b { position:absolute; right:8px; bottom:8px; z-index:1; font-size:12px; text-shadow:0 2px 8px #000; }
.home-casino-badge { position:absolute; left:10px; top:10px; z-index:1; padding:5px 9px; border-radius:4px; background:rgba(255,255,255,.84); color:#111; font-size:10px; font-weight:900; }
.home-promo-card-strip { display: grid; grid-template-columns: repeat(4, minmax(190px, 1fr)); gap: 14px; }
.home-promo-show-card { display: flex; flex-direction: column; min-height: 310px; border: 1px solid var(--border); background: color-mix(in srgb, var(--panel-2) 88%, var(--accent) 12%); color: var(--text); text-decoration: none; overflow: hidden; }
.home-promo-show-card img, .home-promo-show-card .home-card-placeholder { width: 100%; aspect-ratio: 16/10; min-height: 150px; object-fit: cover; }
.home-promo-show-card div { padding: 14px; display: grid; gap: 10px; flex: 1; }
.home-promo-show-card em { color: #f7c948; font-style: normal; font-weight: 900; font-size: 13px; }
.home-promo-show-card strong { font-size: 15px; line-height: 1.35; }
.home-promo-show-card i { width: 74px; height: 4px; border-radius: 999px; background: #f7c948; align-self: end; justify-self: center; margin-top: auto; }
@media (max-width: 980px) {
  .home-showcase-strip, .home-promo-card-strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
  .home-casino-card { min-width: 255px; scroll-snap-align: start; }
  .home-promo-show-card { min-width: 260px; scroll-snap-align: start; }
}

/* Light theme readability for slots/livecasino lobby labels */
[data-theme$="-light"] .game-provider-head h2,
[data-theme$="-light"] .game-lobby-head h1 { color: #111827; }
[data-theme$="-light"] .game-lobby-head span { color: #4b5563; }
[data-theme$="-light"] .game-lobby-body { background: #f3f4f6; }
[data-theme$="-light"] .game-lobby { color: #111827; }
[data-theme$="-light"] .game-search-field,
[data-theme$="-light"] .game-mobile-search,
[data-theme$="-light"] .game-view-toggle,
[data-theme$="-light"] .game-provider-open { color: #111827; border-color: rgba(17,24,39,.18); background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.76)); }
[data-theme$="-light"] .game-search-field input,
[data-theme$="-light"] .game-mobile-search input { color:#111827; }
[data-theme$="-light"] .game-search-field input::placeholder,
[data-theme$="-light"] .game-mobile-search input::placeholder { color:#6b7280; }
@media (max-width: 820px) {
  [data-theme$="-light"] .game-lobby-mobile-actions { background: unset; }
  [data-theme$="-light"] .game-provider-panel { background: #f9fafb; }
  [data-theme$="-light"] .game-provider-back { color:#111827; }
}

.admin-language-settings-box { margin-top: 18px; }
.nested-lang-box { margin: 12px 0; background: color-mix(in srgb, var(--panel-2) 82%, transparent); }
.nested-lang-box h4 { margin: 0 0 12px; }

/* =========================
   v61 requested fixes: promo modal, no default reseed, light readability, admin mobile
   ========================= */
[data-layout="top"] .top-header .brand { margin-left: 10px !important; }
@media (max-width: 1180px) { [data-layout="top"] .top-header .brand { margin-left: 10px !important; } }

/* Promotion modal must be clearly above the page and never leave the loader visible. */
.promo-content-modal { z-index: 4200; }
.promo-content-modal.show { display: flex; }
body.promo-modal-open #nxPageLoader { opacity: 0 !important; pointer-events: none !important; }

/* White theme footer readability. */
[data-theme$="-light"] .site-footer.modern-footer,
[data-theme$="-light"] .footer-page-list {
  background: #ffffff !important;
  border-top-color: rgba(15,23,42,.12) !important;
  color: #475569 !important;
}
[data-theme$="-light"] .footer-page-list .footer-top,
[data-theme$="-light"] .footer-page-list .footer-bottom {
  border-color: rgba(15,23,42,.10) !important;
  color: #64748b !important;
}
[data-theme$="-light"] .footer-page-list .footer-col h4 { color: #0f172a !important; }
[data-theme$="-light"] .footer-page-list .footer-col a { color: #475569 !important; }
[data-theme$="-light"] .footer-page-list .footer-col a:hover { color: var(--accent) !important; }
[data-theme$="-light"] .footer-page-list .footer-social a { color: #334155 !important; border-color: rgba(15,23,42,.14) !important; background: #f8fafc !important; }
[data-theme$="-light"] .footer-page-list .footer-social a:hover { color: #fff !important; background: var(--accent) !important; }

/* White theme mobile bottom nav readability. */
@media (max-width: 980px) {
  [data-theme$="-light"] .mobile-bottom-nav {
    color: #0f172a !important;
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(15,23,42,.14) !important;
    box-shadow: 0 16px 42px rgba(15,23,42,.14) !important;
  }
  [data-theme$="-light"] .mobile-bottom-nav a,
  [data-theme$="-light"] .mobile-bottom-nav button {
    color: #334155 !important;
  }
  [data-theme$="-light"] .mobile-bottom-nav a.active,
  [data-theme$="-light"] .mobile-bottom-nav button.active {
    color: #fff !important;
    background: var(--accent) !important;
  }
}

/* Slots / Live Casino: show the whole image and use a thinner modern title weight. */
.game-provider-head h2,
.game-lobby-head h1 { font-weight: 720 !important; letter-spacing: .015em; }
.game-lobby-head span,
.provider-card strong,
.game-view-toggle,
.game-provider-open,
.game-provider-back,
.game-search-field input,
.game-mobile-search input { font-weight: 640 !important; }
.provider-card em { font-weight: 680 !important; }
.game-card { background: #07080b !important; }
.game-card img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #07080b !important;
  transform: none !important;
}
.game-card:hover img,
.game-card.selected img,
.game-card:focus-within img { transform: none !important; filter: blur(1.4px) brightness(.58); }
[data-theme$="-light"] .game-provider-head h2,
[data-theme$="-light"] .game-lobby-head h1,
[data-theme$="-light"] .provider-card strong { color: #0f172a !important; }
[data-theme$="-light"] .provider-card { color: #0f172a !important; background: linear-gradient(180deg,#fff,#f8fafc) !important; border-color: rgba(15,23,42,.16) !important; }
[data-theme$="-light"] .provider-card.active,
[data-theme$="-light"] .provider-card:hover { border-color: var(--accent) !important; }

/* Entry announcement popup typography: thinner, cleaner. */
.entry-popup-box,
.entry-popup-box h2,
.entry-popup-content,
.entry-popup-ok,
.entry-popup-hide { font-family: Inter, Arial, sans-serif; }
.entry-popup-box h2 { font-weight: 760 !important; letter-spacing: .005em; }
.entry-popup-content { font-weight: 560 !important; line-height: 1.35 !important; }
.entry-popup-ok { font-weight: 760 !important; }
.entry-popup-hide { font-weight: 520 !important; }

/* Admin login mobile tools: language left, appearance button right, appearance panel opens as a modal. */
.admin-login-card-tools { justify-content: flex-end !important; gap: 8px !important; }
.admin-login-card-tools .admin-auth-lang { position: static !important; right: auto !important; top: auto !important; z-index: auto !important; padding: 0 !important; }
.admin-login-card-tools .language-picker { min-width: 156px !important; width: auto !important; max-width: none !important; }
.admin-login-card-tools .language-trigger { min-width: 156px !important; width: 156px !important; padding: 0 10px !important; justify-content: flex-start !important; }
.admin-login-card-tools .language-trigger span { display: inline-block !important; max-width: 92px !important; }
.admin-login-card-tools .language-arrow { display: block !important; }
.admin-login-body .settings-panel { z-index: 720 !important; }
@media (max-width: 720px) {
  .admin-login-card-tools { justify-content: flex-end !important; width: 100%; margin-bottom: 12px !important; }
  .admin-login-card-tools .language-picker { min-width: 150px !important; }
  .admin-login-card-tools .language-trigger { min-width: 150px !important; width: 150px !important; height: 42px !important; }
  .admin-login-settings { width: 42px !important; height: 42px !important; flex: 0 0 42px !important; }
  .admin-login-body .settings-panel {
    left: 12px !important;
    right: 12px !important;
    top: 50% !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    transform: translateY(-50%) scale(.96) !important;
    border-radius: 22px !important;
    opacity: 0;
    pointer-events: none;
  }
  .admin-login-body .settings-panel.open {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(-50%) scale(1) !important;
  }
}

/* Admin risk/reports mobile responsive hardening. */
.admin-panel-card, .admin-panel-card * { min-width: 0; }
.admin-panel-head { flex-wrap: wrap; }
.admin-table { min-width: 720px; }
.risk-report-grid .admin-report-card,
.dashboard-report-grid .admin-report-card { min-height: 96px; }
@media (max-width: 820px) {
  .settings-split,
  .risk-split,
  .permission-split { grid-template-columns: 1fr !important; gap: 12px !important; }
  .admin-report-grid,
  .risk-report-grid,
  .dashboard-report-grid { grid-template-columns: 1fr !important; }
  .admin-panel-card { padding: 14px !important; border-radius: 18px !important; }
  .admin-panel-head { align-items: flex-start !important; gap: 8px !important; }
  .admin-panel-head h2 { font-size: 15px !important; line-height: 1.3 !important; }
  .admin-panel-head .muted { width: 100%; font-size: 12px !important; }
  .table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .admin-table th,
  .admin-table td { padding: 10px 8px !important; font-size: 12px !important; }
  .request-filter-grid,
  .admin-form-grid,
  .admin-form-grid.two { grid-template-columns: 1fr !important; }
  .filter-action .btn { width: 100%; }
}

/* Coupon event status beside the row number. */
.event-top .status-badge { margin-right: 5px; margin-bottom: 6px; }

/* v13 casino API provider panel */
.admin-help-text{color:var(--muted);font-size:13px;line-height:1.55;margin:10px 0 18px}
.admin-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
.admin-check{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:rgba(255,255,255,.04);border-radius:14px;padding:12px;color:var(--text)}
.admin-check input{width:18px;height:18px;accent-color:var(--accent)}
.game-api-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:rgba(34,197,94,.12);color:var(--text);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:600;white-space:nowrap}
.game-card-actions button[disabled]{opacity:.65;cursor:wait}
.game-card-placeholder{height:100%;min-height:142px;display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;font-weight:700;color:var(--text);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}


/* v15: v13-safe account improvements */
.account-tab,
.account-quick-nav a,
.account-menu .account-tab span {
  font-weight: 500 !important;
  letter-spacing: .01em;
}
.account-user strong,
.account-quick-user strong { font-weight: 600 !important; }
.account-user span,
.account-user-id,
.account-quick-user span { font-weight: 400 !important; }
.account-user-id { display:block; color:var(--accent) !important; margin-top:4px; }
.account-desktop-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2600;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(8px);
}
.account-desktop-modal-backdrop.show { display: flex; }
body.account-desktop-modal-open { overflow: hidden; }
.account-desktop-modal-box {
  width: min(1500px, 96vw);
  height: min(850px, 92vh);
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: 0 28px 90px rgba(0,0,0,.55);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.account-desktop-modal-head {
  height: 58px;
  padding: 0 18px 0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom: 1px solid var(--border);
}
.account-desktop-modal-head strong { font-size: 18px; font-weight: 600; }
.account-desktop-modal-box iframe { width:100%; flex:1; border:0; background: var(--bg); }
.account-embed-body .sidebar,
.account-embed-body .left-toolbar,
.account-embed-body .top-header,
.account-embed-body .mobile-bottom-nav,
.account-embed-body .site-footer,
.account-embed-body .account-quick-backdrop,
.account-embed-body .account-quick-panel,
.account-embed-body .language-modal-backdrop,
.account-embed-body .entry-popup-backdrop { display:none !important; }
.account-embed-body .app-shell { display:block !important; min-height:100vh; height:100vh; }
.account-embed-body .main-shell { height:100vh !important; min-height:100vh; overflow:auto !important; }
.account-embed-body .content-shell { padding: 16px !important; height:auto !important; overflow: visible !important; display:block !important; }
.account-embed-body .account-layout { min-height: calc(100vh - 32px); }
@media (max-width: 900px) {
  .account-desktop-modal-backdrop { display:none !important; }
}


/* v16: lightweight account modal redirect screen and faster iframe paint */
.account-redirect-body { min-height:100vh; background:var(--bg); }
.account-redirect-screen { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.account-redirect-card { min-width:220px; border:1px solid var(--border); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); padding:24px; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--text); }
.account-redirect-card strong { font-weight:600; }
.account-redirect-card span { color:var(--muted); font-size:13px; font-weight:400; }
.mini-spinner { width:28px; height:28px; border-radius:50%; border:3px solid color-mix(in srgb, var(--accent) 22%, transparent); border-top-color:var(--accent); animation:nxspin .75s linear infinite; }
.account-desktop-modal-box iframe { color-scheme: dark light; }

@keyframes nxspin { to { transform: rotate(360deg); } }

/* v17: account messages and admin message center */
.account-tab { position: relative; }
.account-tab-badge {
  margin-left: auto;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.account-messages-layout {
  display: grid;
  grid-template-columns: 280px minmax(0,1fr);
  gap: 14px;
  min-height: 560px;
}
.account-message-sidebar,
.account-message-content,
.account-new-message-card,
.account-message-detail {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--panel-2);
}
.account-message-sidebar { padding: 12px; display: flex; flex-direction: column; min-height: 560px; }
.account-message-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.account-message-tabs button {
  min-height: 50px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: var(--panel);
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 500;
}
.account-message-tabs button.active { color: var(--text); border-color: var(--accent); background: var(--accent-soft); }
.account-message-list { flex: 1; overflow: auto; display: grid; align-content: start; gap: 8px; }
.account-message-item {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 14px;
  background: var(--panel);
  color: var(--text);
  text-align: left;
  padding: 12px;
  cursor: pointer;
}
.account-message-item.active { border-color: var(--accent); background: var(--accent-soft); }
.account-message-item strong { display: block; font-weight: 600; line-height: 1.35; }
.account-message-item small { display: block; margin-top: 5px; color: var(--muted); font-weight: 400; }
.account-new-message-toggle { margin-top: 12px; }
.account-message-content { padding: 18px; min-width: 0; }
.account-message-detail, .account-new-message-card { padding: 22px; }
.account-message-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.account-message-detail h3, .account-new-message-card h3 { margin: 0 0 6px; font-size: 20px; font-weight: 650; }
.account-message-detail p { margin: 0; color: var(--muted); font-size: 13px; }
.account-message-body {
  border-top: 1px solid var(--border);
  padding-top: 18px;
  line-height: 1.75;
  color: var(--text);
  font-weight: 400;
  white-space: normal;
}
.account-message-delete-form { flex: 0 0 auto; }
.empty-state.small { padding: 16px; font-size: 13px; }
.inline-form { display: inline-flex; margin: 0; }
.row-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.btn-sm { min-height: 34px !important; padding: 0 10px !important; font-size: 12px !important; }

@media (max-width: 900px) {
  .account-messages-layout { grid-template-columns: 1fr; min-height: 0; }
  .account-message-sidebar { min-height: 0; }
  .account-message-detail-head { flex-direction: column; }
  .account-message-delete-form { width: 100%; }
  .account-message-delete-form .btn { width: 100%; }
}

/* v18 message conversation refinements */
.admin-message-columns{display:grid;grid-template-columns:1fr;gap:18px}.admin-message-box{background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:14px}.admin-subtitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.admin-subtitle h3{margin:0;font-size:16px;font-weight:700}.admin-member-search-field{position:relative}.admin-user-search-results{position:absolute;left:0;right:0;top:100%;z-index:20;margin-top:6px;background:var(--card-bg,#161b22);border:1px solid rgba(148,163,184,.28);border-radius:14px;box-shadow:0 18px 46px rgba(0,0,0,.28);overflow:hidden}.admin-user-search-results button{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;text-align:left}.admin-user-search-results button:hover{background:rgba(99,102,241,.14)}.admin-user-search-results small,.admin-user-search-empty{color:var(--muted,#94a3b8);font-size:12px}.admin-user-search-empty{padding:11px 13px}.block{display:block}.muted.block{display:block;margin-top:4px}
.account-chat-layout .account-message-content{min-height:520px}.account-thread-messages{display:flex;flex-direction:column;gap:12px;margin:16px 0}.account-thread-bubble{max-width:min(720px,82%);border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:13px 15px;line-height:1.55;white-space:normal;background:rgba(148,163,184,.09)}.account-thread-bubble.mine{align-self:flex-end;background:rgba(99,102,241,.13);border-color:rgba(99,102,241,.28)}.account-thread-bubble.theirs{align-self:flex-start}.account-thread-meta{display:flex;justify-content:space-between;gap:18px;margin-bottom:7px;font-size:12px;color:var(--muted,#64748b)}.account-thread-meta b{font-weight:600;color:inherit}.account-reply-form{border-top:1px solid rgba(148,163,184,.18);padding-top:14px;margin-top:14px}.account-message-item small+small{margin-top:3px}.account-message-detail-head p{margin:.25rem 0 0;color:var(--muted,#64748b)}
@media (max-width:900px){.admin-message-box{padding:10px}.admin-message-columns .table-wrap{overflow:auto}.account-thread-bubble{max-width:94%}.account-chat-layout{grid-template-columns:1fr!important}}

/* v20 account/message polish */
.account-new-message-card input,
.account-new-message-card textarea,
.account-reply-form textarea,
#messageForm input,
#messageForm textarea,
#messageReplyForm input,
#messageReplyForm textarea {
  border: 1px solid color-mix(in srgb, var(--border) 78%, var(--accent) 22%) !important;
  background: color-mix(in srgb, var(--panel) 88%, var(--surface) 12%) !important;
  color: var(--text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.account-new-message-card input:focus,
.account-new-message-card textarea:focus,
.account-reply-form textarea:focus,
#messageForm input:focus,
#messageForm textarea:focus,
#messageReplyForm input:focus,
#messageReplyForm textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft), inset 0 1px 0 rgba(255,255,255,.04) !important;
  outline: none !important;
}
html[data-theme$="-light"] .account-new-message-card input,
html[data-theme$="-light"] .account-new-message-card textarea,
html[data-theme$="-light"] .account-reply-form textarea,
html[data-theme$="-light"] #messageForm input,
html[data-theme$="-light"] #messageForm textarea,
html[data-theme$="-light"] #messageReplyForm input,
html[data-theme$="-light"] #messageReplyForm textarea {
  background: #fff !important;
  border-color: color-mix(in srgb, var(--border) 70%, var(--accent) 30%) !important;
  color: var(--text) !important;
}
.account-thread-meta {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap;
}
.account-thread-meta .thread-meta-separator { opacity: .58; }
.admin-message-last {
  display: flex !important;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.admin-message-last b { font-weight: 600; color: var(--text); }
.admin-thread-preview {
  margin: 12px 0 16px;
  max-height: 360px;
  overflow: auto;
  border: 1px solid rgba(148,163,184,.20);
  border-radius: 16px;
  padding: 12px;
  background: rgba(148,163,184,.06);
}
.admin-thread-preview .account-thread-messages { margin: 0; }
.admin-thread-preview .account-thread-bubble { max-width: 92%; }
html[data-theme$="-light"] .admin-thread-preview {
  background: rgba(15,23,42,.035);
  border-color: var(--border);
}

/* v21 bonus balance and bonus request UI */
.bonus-wallet-card{background:linear-gradient(135deg,#b89416,#d7b63c)!important;color:#fff!important;border-color:rgba(255,215,64,.35)!important;box-shadow:0 16px 35px rgba(185,148,22,.18)}
.main-wallet-card{background:linear-gradient(135deg,#22a846,#31c25e)!important;color:#fff!important;border-color:rgba(34,197,94,.35)!important;box-shadow:0 16px 35px rgba(34,197,94,.18)}
.bonus-summary-grid .wallet-card,.bonus-wallet-grid .wallet-card{min-height:105px;position:relative;overflow:hidden}.bonus-summary-grid .wallet-card:after,.bonus-wallet-grid .wallet-card:after{content:"";position:absolute;right:-16px;top:-20px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.13)}
.bonus-promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.bonus-promo-card{border:1px solid var(--border);background:var(--card);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.bonus-promo-card img{width:100%;height:145px;object-fit:cover}.bonus-promo-card div{padding:14px}.bonus-promo-card h3{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--text)}.bonus-promo-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.bonus-promo-card form{padding:0 14px 14px}.bonus-promo-card .btn{width:100%}
.bonus-claim-list{display:grid;gap:14px}.bonus-claim-card{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.bonus-claim-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.bonus-claim-head h3{margin:0 0 4px;font-size:16px;color:var(--text);display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bonus-area-badge{display:inline-flex;align-items:center;min-height:20px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.02em}.bonus-claim-head small{color:var(--muted)}.bonus-claim-head b{font-size:12px;color:var(--accent);text-transform:uppercase}.bonus-progress{height:4px;border-radius:999px;background:rgba(127,127,127,.18);overflow:hidden;margin:14px 0}.bonus-progress span{display:block;height:100%;background:var(--accent);border-radius:inherit}.bonus-claim-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bonus-claim-grid span{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.bonus-claim-grid b{color:var(--text);font-size:13px}.bonus-claim-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bonus-claim-actions form{display:inline-flex}.bonus-claim-card.status-active .bonus-claim-head b{color:#22c55e}.bonus-claim-card.status-completed .bonus-claim-head b{color:#38bdf8}.bonus-claim-card.status-cancelled{opacity:.62}
.balance-choice-overlay{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:22px}.balance-choice-card{width:min(520px,94vw);border:1px solid var(--border);background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:28px;text-align:center}.balance-choice-card h2{margin:0 0 8px;font-size:22px;color:var(--text)}.balance-choice-card p{margin:0 auto 22px;color:var(--muted);line-height:1.5;max-width:390px}.balance-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.balance-choice-actions form,.balance-choice-actions .btn{width:100%}.btn-warning{background:#caa225;color:#fff;border-color:#caa225}.btn-warning:hover{filter:brightness(1.06)}
.admin-promo-card .muted{line-height:1.5}.admin-wallet-grid .bonus-wallet-card{min-height:82px}.admin-panel-card[data-bonus-settings-card]{border-color:rgba(202,162,37,.24)}
@media (max-width:700px){.bonus-claim-grid{grid-template-columns:1fr 1fr}.balance-choice-actions{grid-template-columns:1fr}.bonus-promo-grid{grid-template-columns:1fr}.bonus-claim-head{flex-direction:column}}
.balance-stack{display:flex;flex-direction:column;gap:2px;line-height:1.1}.balance-stack em{font-style:normal}.bonus-balance-mini{color:#d6b32d;font-size:12px}.currency-form .bonus-balance-mini b{color:#ff2d2d}

/* v22 bonus/account polish */
.account-user{
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(241,245,249,.78)) !important;
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 14px 35px rgba(15,23,42,.07);
  border-radius:20px !important;
  padding:18px 16px !important;
  margin-bottom:18px !important;
}
html:not([data-theme$="-light"]) .account-user{
  background:linear-gradient(135deg, rgba(30,41,59,.86), rgba(15,23,42,.74)) !important;
  border-color:rgba(148,163,184,.18);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
.account-user strong{font-weight:700!important;letter-spacing:.01em;color:var(--text)!important;margin-bottom:8px}
.account-user span{display:block!important;font-weight:500!important;line-height:1.45}
.account-user .account-user-id{color:#e0003a!important;font-size:12px!important;margin-top:0!important}
.account-tab{font-weight:500!important;letter-spacing:.005em}
.account-tab span{font-weight:500!important}.account-tab-badge{font-weight:700!important}
.wallet-card.main-wallet-card span,.wallet-card.bonus-wallet-card span{color:rgba(255,255,255,.86)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.02em}.wallet-card.main-wallet-card strong,.wallet-card.bonus-wallet-card strong{color:#fff!important}
.balance-stack{min-width:auto;align-items:flex-end}.balance-stack em:first-child b{font-size:13px;color:var(--text)}.balance-stack .bonus-balance-mini b{font-size:12px;color:#f00028!important}.sidebar-currency-form .balance-stack{align-items:flex-start}.sidebar-currency-form .balance-stack em:first-child b{color:var(--text)}
.confirm-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.confirm-action-row .btn{width:100%}
#actionConfirmModal .confirm-modal-box{text-align:center;max-width:460px}.confirm-modal-box [data-confirm-message]{color:var(--muted);line-height:1.55;margin:10px 0 0}
.admin-table .inline-form{display:inline-flex;margin:0}.admin-table .inline-form .btn{white-space:nowrap}
@media (max-width:700px){.confirm-action-row{grid-template-columns:1fr}.account-user{margin-bottom:12px!important}}

/* v25: live bonus balance, admin mobile language modal, affiliate language tools. */
[data-live-bonus-wrap][style*="display:none"] { display: none !important; }
.affiliate-language-row { display:flex; justify-content:flex-end; margin-bottom:12px; }
.affiliate-top-tools { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.affiliate-standalone-body .language-picker { min-width:156px !important; width:auto !important; max-width:none !important; }
.affiliate-standalone-body .language-trigger { min-width:156px !important; width:156px !important; padding:0 10px !important; justify-content:flex-start !important; }
.affiliate-standalone-body .language-trigger span { display:inline-block !important; max-width:92px !important; }
.affiliate-standalone-body .language-arrow { display:block !important; }
@media (max-width:720px) {
  .admin-body .admin-actions-row > .admin-lang-form .language-picker,
  .affiliate-standalone-body .language-picker { min-width:150px !important; width:auto !important; max-width:none !important; }
  .admin-body .admin-actions-row > .admin-lang-form .language-trigger,
  .affiliate-standalone-body .language-trigger { min-width:150px !important; width:150px !important; height:42px !important; padding:0 10px !important; justify-content:flex-start !important; }
  .admin-body .admin-actions-row > .admin-lang-form .language-trigger span,
  .affiliate-standalone-body .language-trigger span { display:inline-block !important; max-width:92px !important; }
  .admin-body .admin-actions-row > .admin-lang-form .language-arrow,
  .affiliate-standalone-body .language-arrow { display:block !important; }
  .admin-body .admin-actions-row > .admin-lang-form .language-picker.open .language-menu,
  .affiliate-standalone-body .language-picker.open .language-menu {
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    top: 50% !important;
    width: auto !important;
    max-height: min(70vh, 420px) !important;
    transform: translateY(-50%) !important;
    z-index: 900 !important;
    border-radius: 20px !important;
    padding: 10px !important;
    box-shadow: 0 30px 80px rgba(0,0,0,.58) !important;
  }
  .admin-body .admin-actions-row > .admin-lang-form .language-picker.open::before,
  .affiliate-standalone-body .language-picker.open::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:890;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(5px);
  }
}

/* v74 iframe theme forwarding and gift icon */

/* v75 - restore balance type choice centering and theme compatibility */
.no-page-scroll,
body.no-page-scroll {
  background: var(--bg) !important;
  color: var(--text) !important;
}
.iframe-mode .content-shell > .balance-choice-overlay {
  flex: 1 1 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(18px, 3vw, 34px) !important;
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28%),
    radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--accent-2) 10%, transparent), transparent 30%),
    var(--bg) !important;
}
.balance-choice-card {
  margin: auto !important;
  color: var(--text) !important;
  background: color-mix(in srgb, var(--panel) 94%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--border) 82%, var(--accent) 18%) !important;
  box-shadow: 0 24px 70px color-mix(in srgb, #000 22%, transparent) !important;
}
.balance-choice-card h2 {
  color: var(--text) !important;
}
.balance-choice-card p {
  color: var(--muted) !important;
}
.balance-choice-actions .btn {
  white-space: normal;
  line-height: 1.25;
}
html[data-theme$="-light"] .balance-choice-card {
  background: color-mix(in srgb, var(--panel) 96%, #fff 4%) !important;
  box-shadow: 0 20px 55px rgba(15, 23, 42, .11) !important;
}
html[data-theme$="-light"] .iframe-mode .content-shell > .balance-choice-overlay {
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 28%),
    radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--accent-2) 9%, transparent), transparent 30%),
    var(--bg) !important;
}
@media (max-width: 700px) {
  .iframe-mode .content-shell > .balance-choice-overlay {
    min-height: 100dvh !important;
    height: 100dvh !important;
    padding: 18px !important;
  }
  .balance-choice-card {
    width: min(100%, 430px) !important;
    border-radius: 20px !important;
    padding: 22px 16px !important;
  }
  .balance-choice-card h2 {
    font-size: 20px !important;
  }
  .balance-choice-card p {
    font-size: 13px !important;
  }
  .balance-choice-actions {
    grid-template-columns: 1fr !important;
  }
  .balance-choice-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
  }
}

/* v28 casino API play page */
.casino-game-body{margin:0;background:#030303;color:#fff;overflow:hidden}
.casino-play-shell{min-height:100vh;width:100vw;background:#050505;display:grid;grid-template-columns:minmax(0,1fr) 216px 44px;gap:0;position:relative;overflow:hidden}
.casino-play-stage{min-width:0;background:#000;display:grid;place-items:stretch;border-right:1px solid rgba(255,255,255,.08)}
.casino-game-frame{width:100%;height:100vh;border:0;background:#000;display:block}
.casino-play-sidebar{height:100vh;background:#020202;border-left:1px solid rgba(255,255,255,.08);padding:0 12px 18px;overflow:auto;transition:transform .22s ease,opacity .22s ease}
.casino-play-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(255,255,255,.08);margin:0 -12px 10px}
.casino-play-tabs span{height:58px;display:grid;place-items:center;color:#fff;font-size:20px;opacity:.78;border-bottom:2px solid transparent}
.casino-play-tabs span.active{opacity:1;border-bottom-color:#f7a600}
.casino-play-search{height:40px;border-radius:6px;background:#111;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px;padding:0 10px;margin-bottom:16px;color:rgba(255,255,255,.75)}
.casino-play-search svg{width:18px;height:18px}.casino-play-search input{background:transparent;border:0;outline:0;color:#fff;font-weight:500;min-width:0}.casino-play-search input::placeholder{color:rgba(255,255,255,.55)}
.casino-play-provider-select{width:100%;height:40px;border:0;border-radius:5px;background:#111;color:#fff;font-weight:700;padding:0 12px;margin:0 0 18px;outline:0}
.casino-play-sidebar h3{font-size:14px;font-weight:650;margin:0 0 10px;color:#fff}.casino-play-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.casino-mini-game{display:block;border-radius:6px;overflow:hidden;background:#111;border:1px solid transparent;min-height:58px;color:#fff;text-decoration:none}.casino-mini-game.active{border-color:#f7a600}.casino-mini-game img{width:100%;height:58px;object-fit:cover;display:block}.casino-mini-game span{display:grid;place-items:center;min-height:58px;padding:6px;font-size:10px;text-align:center}
.casino-play-rail{height:100vh;background:#050505;display:flex;flex-direction:column;align-items:center;gap:18px;padding:16px 8px;border-left:1px solid rgba(255,255,255,.06)}
.casino-rail-btn{width:28px;height:28px;border:0;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;text-decoration:none}.casino-rail-btn:hover{color:#f7a600}.casino-rail-btn svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2.2}
.casino-play-shell.sidebar-hidden{grid-template-columns:minmax(0,1fr) 0 44px}.casino-play-shell.sidebar-hidden .casino-play-sidebar{transform:translateX(110%);opacity:0;pointer-events:none;padding-left:0;padding-right:0}
.casino-game-error{align-self:center;justify-self:center;width:min(460px,calc(100vw - 40px));padding:34px;border-radius:18px;background:#111;border:1px solid rgba(255,255,255,.1);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.casino-game-error svg{width:50px;height:50px;color:#f7a600}.casino-game-error h1{font-size:20px;margin:14px 0 8px}.casino-game-error p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.72);margin:0 0 18px}
@media(max-width:900px){.casino-play-shell{grid-template-columns:minmax(0,1fr) 0 42px}.casino-play-sidebar{position:absolute;right:42px;top:0;width:min(220px,calc(100vw - 58px));z-index:10;transform:translateX(105%);box-shadow:-20px 0 60px rgba(0,0,0,.5)}.casino-play-shell:not(.sidebar-hidden) .casino-play-sidebar{transform:translateX(0);opacity:1;pointer-events:auto}.casino-play-rail{width:42px}.casino-game-frame{height:100vh}}

/* v29 notification system */
.notification-system-card .admin-panel-head { align-items:flex-start; gap:18px; }
.notification-settings-inline { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin-left:auto; }
.notification-settings-inline label { min-width:150px; margin:0; }
.notification-settings-inline label span { display:block; margin-bottom:6px; color:var(--muted); font-size:12px; font-weight:800; }
.notification-settings-inline input { height:38px; border-radius:10px; border:1px solid var(--border); background:var(--panel-2); color:var(--text); padding:0 12px; }
.notification-report-grid { margin-top:16px; }
.notification-tabs { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; padding-top:16px; border-top:1px solid var(--border); }
.notification-tabs button { border:1px solid var(--border); background:var(--panel-2); color:var(--muted); border-radius:999px; padding:10px 14px; cursor:pointer; font-weight:800; font-size:13px; transition:.18s ease; }
.notification-tabs button:hover,
.notification-tabs button.active { border-color:var(--accent); color:var(--text); background:var(--accent-soft); box-shadow:0 8px 22px rgba(0,0,0,.14); }
.notification-tab-panel { display:grid; gap:16px; margin-top:16px; }
.notification-tab-panel:not(.active) { display:none !important; }
.notification-split { align-items:start; }
.admin-panel-head h2 svg { width:22px; height:22px; vertical-align:-4px; margin-right:6px; }
.admin-report-card small { display:block; margin-top:6px; color:var(--muted); font-size:12px; font-weight:800; }
@media (max-width: 900px) {
  .notification-system-card .admin-panel-head { display:block; }
  .notification-settings-inline { margin:14px 0 0; display:grid; grid-template-columns:1fr; }
  .notification-tabs { overflow:auto; flex-wrap:nowrap; padding-bottom:6px; }
  .notification-tabs button { white-space:nowrap; }
  .notification-split { grid-template-columns:1fr !important; }
}

/* v31: Casino API test raw response modal */
.game-api-debug-box{max-width:980px;width:min(980px,calc(100vw - 32px));}
.game-api-debug-pre{max-height:60vh;overflow:auto;margin:14px 0 0;padding:16px;border:1px solid rgba(var(--menu-sc,255,255,255),.14);border-radius:14px;background:rgba(var(--b,10,10,10),.72);color:rgb(var(--menu-sc,245,245,245));font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;}
html[data-nx-theme$="-light"] .game-api-debug-pre{background:rgba(15,23,42,.04);color:rgb(15,23,42);border-color:rgba(15,23,42,.12);}

/* v79 affiliate independent theme, iframe background theme compatibility and mobile iframe cleanup */
.affiliate-standalone-body {
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 16%, transparent), transparent 34%),
    radial-gradient(circle at bottom right, color-mix(in srgb, var(--accent-2) 10%, transparent), transparent 32%),
    var(--bg) !important;
  color: var(--text) !important;
  min-height: 100vh;
}
.affiliate-login-tools,
.affiliate-top-tools {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.affiliate-login-tools { margin-bottom:12px; }
.affiliate-theme-picker {
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:42px;
  padding:0 9px;
  border:1px solid var(--border);
  background: color-mix(in srgb, var(--panel-2) 92%, transparent);
  color: var(--muted);
  border-radius:13px;
  box-shadow: var(--shadow-sm, none);
}
.affiliate-theme-picker span {
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--muted);
}
.affiliate-theme-picker button {
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--border) 72%, transparent);
  background:var(--panel);
  display:grid;
  place-items:center;
  cursor:pointer;
  padding:0;
}
.affiliate-theme-picker button i {
  width:14px;
  height:14px;
  border-radius:999px;
  display:block;
}
.affiliate-theme-picker button.active {
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}
.affiliate-standalone-shell .page-content-card,
.affiliate-standalone-body .auth-modal,
.affiliate-standalone-body .settings-box {
  background: color-mix(in srgb, var(--panel) 96%, transparent) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
.affiliate-standalone-shell .admin-table,
.affiliate-standalone-shell .table-wrap {
  background: color-mix(in srgb, var(--panel-2) 86%, transparent) !important;
  color: var(--text) !important;
}

body.iframe-mode,
.iframe-mode #appShell,
.iframe-mode .app-shell,
.iframe-mode .content-shell {
  background: var(--bg) !important;
  color: var(--text) !important;
}
.iframe-mode .iframe-card,
.iframe-card.direct-iframe-card {
  background: color-mix(in srgb, var(--panel) 94%, transparent) !important;
  border-color: var(--border) !important;
}
.casino-game-body {
  background: var(--bg) !important;
  color: var(--text) !important;
}
.casino-play-shell {
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 28%),
    var(--bg) !important;
}
.casino-play-stage,
.casino-game-frame {
  background: color-mix(in srgb, var(--bg) 82%, #000 18%) !important;
}
.casino-play-sidebar,
.casino-play-rail {
  background: color-mix(in srgb, var(--panel) 92%, #000 8%) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
.casino-play-tabs,
.casino-play-search,
.casino-play-provider-select,
.casino-mini-game,
.casino-game-error {
  background: color-mix(in srgb, var(--panel-2) 92%, transparent) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
.casino-play-search input,
.casino-play-provider-select {
  color: var(--text) !important;
}
.casino-play-search input::placeholder {
  color: var(--muted) !important;
}
.casino-play-sidebar h3,
.casino-play-tabs span,
.casino-rail-btn {
  color: var(--text) !important;
}
.casino-play-tabs span.active,
.casino-rail-btn:hover {
  color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
}
.casino-mini-game.active {
  border-color: var(--accent) !important;
}
@media (max-width: 820px) {
  body.iframe-mode .mobile-bottom-nav,
  body.casino-game-body .mobile-bottom-nav {
    display:none !important;
  }
  body.iframe-mode .content-shell {
    padding-bottom:0 !important;
  }
  body.iframe-mode .settings-fab,
  body.casino-game-body .settings-fab {
    bottom:18px !important;
  }
}

/* v81 casino lobby incremental loading */
.game-card.is-lazy-hidden{display:none!important}
.game-load-more-wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 0 4px}
.game-load-more-btn{min-width:150px;min-height:42px;border-radius:999px;font-weight:800}
.game-load-more-wrap span{font-size:12px;color:var(--muted)}
.game-card-actions button.is-loading{opacity:.72;cursor:wait;position:relative}
.game-card-actions button.is-loading::after{content:'';width:13px;height:13px;margin-left:7px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;vertical-align:-2px;animation:nxSpin .8s linear infinite}
@keyframes nxSpin{to{transform:rotate(360deg)}}
.casino-game-body #nxPageLoader.hidden{display:none!important}

/* v82 casino API labels hidden, play page shell/header/footer layout */
.casino-game-body{overflow:auto!important;background:var(--bg)!important;color:var(--text)!important}
.casino-game-body .content-shell{display:block!important;overflow:visible!important;padding:clamp(12px,2vw,22px)!important}
.casino-game-body .casino-play-shell{width:min(100%,1440px)!important;margin:0 auto!important;min-height:520px!important;height:clamp(520px,calc(100vh - 210px),820px)!important;border:1px solid var(--border)!important;border-radius:22px!important;box-shadow:0 26px 70px rgba(0,0,0,.22)!important;overflow:hidden!important}
.casino-game-body .casino-play-stage,.casino-game-body .casino-play-sidebar,.casino-game-body .casino-play-rail{height:100%!important;min-height:0!important}
.casino-game-body .casino-game-frame{height:100%!important;min-height:520px!important}
.casino-game-body .casino-game-error{width:min(460px,calc(100% - 40px))!important}
.casino-game-body .site-footer{width:min(100%,1440px);margin:16px auto 0}
@media(max-width:900px){.casino-game-body .content-shell{padding:8px!important}.casino-game-body .casino-play-shell{width:100%!important;height:calc(100vh - 148px)!important;min-height:480px!important;border-radius:14px!important}.casino-game-body .casino-game-frame{height:100%!important;min-height:480px!important}.casino-game-body .casino-play-sidebar{height:100%!important}.casino-game-body .casino-play-rail{height:100%!important}}

/* v84 slots default-provider speed and casino-game footer width fix */
.casino-game-body .site-footer.modern-footer,
.casino-game-body .footer-page-list{
  width:100%!important;
  max-width:none!important;
  margin:16px 0 0!important;
}
.casino-game-body .site-footer.modern-footer .footer-top,
.casino-game-body .footer-page-list .footer-top,
.casino-game-body .site-footer.modern-footer .footer-columns,
.casino-game-body .footer-page-list .footer-columns,
.casino-game-body .site-footer.modern-footer .footer-bottom,
.casino-game-body .footer-page-list .footer-bottom{
  width:min(1040px,100%)!important;
}

/* v85 casino lobby paged loading, callback support layout polish */
.game-load-more-btn.is-loading{opacity:.75;cursor:wait}
.game-load-more-btn.is-loading::after{content:'';width:13px;height:13px;margin-left:8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;vertical-align:-2px;animation:nxSpin .8s linear infinite}
body.casino-game-body .main-shell{overflow:visible!important}
body.casino-game-body .site-footer.modern-footer,
body.casino-game-body .footer-page-list{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;flex:0 0 auto!important;box-sizing:border-box!important}
body.casino-game-body .site-footer.modern-footer .footer-top,
body.casino-game-body .footer-page-list .footer-top,
body.casino-game-body .site-footer.modern-footer .footer-columns,
body.casino-game-body .footer-page-list .footer-columns,
body.casino-game-body .site-footer.modern-footer .footer-bottom,
body.casino-game-body .footer-page-list .footer-bottom{max-width:1040px!important;width:calc(100% - 44px)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
@media(max-width:900px){body.casino-game-body .site-footer.modern-footer .footer-top,body.casino-game-body .footer-page-list .footer-top,body.casino-game-body .site-footer.modern-footer .footer-columns,body.casino-game-body .footer-page-list .footer-columns,body.casino-game-body .site-footer.modern-footer .footer-bottom,body.casino-game-body .footer-page-list .footer-bottom{width:100%!important}}

/* v86 casino play mobile/fullscreen and reports polish */
.casino-play-mobile-bar{display:none}
.casino-play-shell.fullscreen-active,
.casino-play-shell:fullscreen{grid-template-columns:minmax(0,1fr) 44px!important;width:100vw!important;height:100vh!important;min-height:100vh!important;max-width:none!important;border-radius:0!important;border:0!important;margin:0!important}
.casino-play-shell.fullscreen-active .casino-play-sidebar,
.casino-play-shell:fullscreen .casino-play-sidebar{display:none!important;transform:translateX(120%)!important;opacity:0!important;pointer-events:none!important}
.casino-play-shell.fullscreen-active .casino-game-frame,
.casino-play-shell:fullscreen .casino-game-frame{height:100vh!important;min-height:100vh!important}
.casino-play-shell.fullscreen-active .casino-play-stage,
.casino-play-shell:fullscreen .casino-play-stage{height:100vh!important}
.casino-play-shell.fullscreen-active .casino-play-mobile-bar,
.casino-play-shell:fullscreen .casino-play-mobile-bar{display:none!important}
.casino-play-shell.fullscreen-active .casino-rail-btn[data-casino-fullscreen] svg,
.casino-play-shell:fullscreen .casino-rail-btn[data-casino-fullscreen] svg{width:23px;height:23px}
.casino-game-body .casino-play-shell.sidebar-hidden{grid-template-columns:minmax(0,1fr) 44px!important}
.casino-game-body .casino-play-shell.sidebar-hidden .casino-play-sidebar{display:none!important}
.casino-game-body .casino-play-shell:not(.sidebar-hidden){grid-template-columns:minmax(0,1fr) 216px 44px!important}
@media(max-width:900px){
  body.casino-game-body .left-toolbar,
  body.casino-game-body .top-header{display:none!important}
  body.casino-game-body .content-shell{padding:0!important}
  body.casino-game-body .casino-play-shell{height:100dvh!important;min-height:100dvh!important;width:100vw!important;margin:0!important;border-radius:0!important;border:0!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:54px minmax(0,1fr) 48px!important;background:var(--bg)!important}
  .casino-play-mobile-bar{display:grid;grid-template-columns:auto minmax(0,1fr) 42px 42px;align-items:center;gap:8px;height:54px;padding:7px 9px;background:color-mix(in srgb,var(--panel) 96%,#000 4%);border-bottom:1px solid var(--border);z-index:30;color:var(--text)}
  .casino-play-mobile-bar strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
  .casino-mobile-back,.casino-mobile-action{height:38px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 92%,transparent);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-weight:850;padding:0 10px}
  .casino-mobile-back svg,.casino-mobile-action svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2}
  .casino-mobile-action{width:38px;padding:0}
  .casino-play-stage{grid-row:2;height:100%!important;min-height:0!important;border-right:0!important}
  .casino-game-body .casino-game-frame{height:100%!important;min-height:0!important}
  .casino-play-rail{grid-row:3;width:100%!important;height:48px!important;display:flex!important;flex-direction:row!important;justify-content:center!important;gap:20px!important;padding:5px 10px!important;border-left:0!important;border-top:1px solid var(--border)!important;z-index:25}
  .casino-play-rail .casino-rail-btn{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--panel-2) 92%,transparent);border:1px solid var(--border)}
  .casino-play-rail .casino-rail-btn[data-casino-sidebar-toggle],
  .casino-play-rail .casino-rail-btn[data-casino-fullscreen]{display:none!important}
  .casino-play-sidebar{position:fixed!important;right:0!important;top:54px!important;bottom:48px!important;height:auto!important;width:min(268px,78vw)!important;z-index:40!important;border-left:1px solid var(--border)!important;border-radius:18px 0 0 18px!important;transform:translateX(105%)!important;box-shadow:-18px 0 50px rgba(0,0,0,.34)!important;background:color-mix(in srgb,var(--panel) 96%,#000 4%)!important;padding:0 12px 14px!important}
  .casino-play-shell:not(.sidebar-hidden) .casino-play-sidebar{display:block!important;transform:translateX(0)!important;opacity:1!important;pointer-events:auto!important}
  .casino-play-shell.sidebar-hidden .casino-play-sidebar{display:block!important;transform:translateX(105%)!important;opacity:0!important;pointer-events:none!important}
  .casino-play-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .casino-mini-game img{height:62px!important}
  .casino-mini-game{min-height:62px!important}
}
.admin-report-card small{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:800}
.casino-report-table .amount-positive{color:#16a34a;font-weight:800}
.casino-report-table .amount-negative{color:#dc2626;font-weight:800}
[data-account-panel].is-refreshing,[data-admin-panel].is-refreshing{position:relative}
[data-account-panel].is-refreshing::after,[data-admin-panel].is-refreshing::after{content:'';position:absolute;right:14px;top:14px;width:18px;height:18px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:nxSpin .8s linear infinite;z-index:9}

/* v87 casino lobby clean hover, mobile search, demo user and play mobile polish */
.game-card{background:transparent!important;box-shadow:0 10px 22px rgba(0,0,0,.16)!important}
.game-card img{background:transparent!important}
.game-card-overlay{grid-template-rows:1fr auto!important;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.30))!important}
.game-card-icons{display:none!important}
.game-card-live .game-card-actions{grid-template-columns:minmax(118px,168px)!important;justify-content:center!important}
.game-card-live .game-card-actions button{width:100%}
.game-card-slot .game-card-actions{grid-template-columns:1fr 1fr}
@media (hover:none),(pointer:coarse){
  .game-card:hover img{transform:scale(1.001)!important;filter:none!important}
  .game-card:hover .game-card-overlay{opacity:0!important;pointer-events:none!important;transform:translateY(4px)!important}
  .game-card.selected img,.game-card:focus-within img{transform:scale(1.03)!important;filter:blur(1.4px) brightness(.62)!important}
  .game-card.selected .game-card-overlay,.game-card:focus-within .game-card-overlay{opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}
}
.game-mobile-search-toggle{display:none;min-width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);color:inherit;place-items:center;cursor:pointer}
.game-mobile-search-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2}
@media(max-width:700px){
  .game-lobby-mobile-actions{display:flex!important;align-items:center;gap:8px}
  .game-mobile-search-toggle{display:grid!important;flex:0 0 42px}
  .game-lobby-mobile-actions .game-provider-open{flex:1 1 auto;min-width:0}
  .game-lobby-mobile-actions .game-view-toggle{flex:0 0 42px}
  .game-lobby-mobile-actions .game-mobile-search{flex:0 0 auto!important;width:0!important;max-width:0!important;min-width:0!important;padding:0!important;border-width:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important;transition:max-width .22s ease,opacity .18s ease,padding .18s ease,width .22s ease}
  .game-lobby-mobile-actions.search-open .game-provider-open{display:none!important}
  .game-lobby-mobile-actions.search-open .game-mobile-search{display:flex!important;width:auto!important;max-width:calc(100vw - 118px)!important;flex:1 1 auto!important;padding:0 12px!important;border-width:1px!important;opacity:1!important;pointer-events:auto!important}
}
@media(max-width:900px){
  body.casino-game-body .site-footer,body.casino-game-body .modern-footer,body.casino-game-body .footer-page-list{display:none!important}
  body.casino-game-body .main-shell{min-height:100dvh!important;height:100dvh!important;overflow:hidden!important}
  body.casino-game-body .content-shell{height:100dvh!important;overflow:hidden!important}
  body.casino-game-body .casino-play-shell{grid-template-rows:54px minmax(0,1fr)!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
  body.casino-game-body .casino-play-stage{grid-row:2!important;height:100%!important;min-height:0!important}
  body.casino-game-body .casino-game-frame{height:100%!important;min-height:0!important}
  body.casino-game-body .casino-play-rail{display:none!important}
  body.casino-game-body .casino-play-shell.fullscreen-active,body.casino-game-body .casino-play-shell:fullscreen{grid-template-rows:minmax(0,1fr)!important}
  body.casino-game-body .casino-play-shell.fullscreen-active .casino-play-mobile-bar,body.casino-game-body .casino-play-shell:fullscreen .casino-play-mobile-bar{display:none!important}
}

/* Admin sidebar brand toggle spacing: keep collapse button out of the logo click area. */
.admin-brand .admin-logo-wrap { flex: 1 1 auto; max-width: calc(100% - 54px); }
.admin-brand .admin-sidebar-toggle { position: relative; z-index: 5; transform: translateX(8px); }
.admin-app.admin-collapsed .admin-brand .admin-sidebar-toggle { transform: none; }

/* =========================
   v93: grouped admin sidebar menu
   ========================= */
.admin-menu-grouped {
  gap: 14px !important;
}
.admin-menu-group {
  display: grid;
  gap: 6px;
  padding: 2px 0 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}
.admin-menu-group:last-child,
.admin-menu-group-site {
  border-bottom: 0;
}
.admin-menu-group-title {
  padding: 4px 12px 3px;
  color: color-mix(in srgb, var(--muted) 86%, var(--text) 14%);
  font-size: 10px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .88;
}
.admin-menu-group button,
.admin-menu-group a {
  width: 100%;
}
.admin-app.admin-collapsed .admin-menu-group-title {
  display: none;
}
.admin-app.admin-collapsed .admin-menu-group {
  padding-bottom: 7px;
  gap: 7px;
}
.admin-app[data-admin-layout="top"] .admin-menu-grouped {
  gap: 8px !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group {
  display: contents !important;
  padding: 0 !important;
  border: 0 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group-title {
  display: none !important;
}
@media (max-width: 820px) {
  .admin-menu-grouped { grid-template-columns: 1fr !important; }
  .admin-menu-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  .admin-menu-group-title {
    grid-column: 1 / -1;
  }
}

/* =========================
   v94: admin menu group labels + top layout dropdown groups
   ========================= */
.admin-menu-group-title {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
}
.admin-menu-group-title svg {
  display: none;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}
.admin-app[data-admin-layout="top"] .admin-menu-shell {
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-scroll-btn {
  display: none !important;
}
.admin-app[data-admin-layout="top"] .admin-menu,
.admin-app[data-admin-layout="top"] .admin-menu-shell .admin-menu {
  overflow: visible !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-grouped {
  gap: 8px !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) {
  position: relative !important;
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  flex: 0 0 auto !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-title {
  display: inline-flex !important;
  width: auto !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent) !important;
  background: color-mix(in srgb, var(--panel-2) 82%, transparent) !important;
  color: var(--text) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  opacity: 1 !important;
  white-space: nowrap !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-title svg {
  display: block !important;
  color: var(--muted) !important;
  transition: transform .18s ease;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover .admin-menu-group-title,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open .admin-menu-group-title,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):has(.active) .admin-menu-group-title {
  background: var(--accent-soft) !important;
  color: var(--text) !important;
  border-color: color-mix(in srgb, var(--accent) 38%, var(--border)) !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover .admin-menu-group-title svg,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open .admin-menu-group-title svg {
  transform: rotate(180deg);
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > button:not(.admin-menu-group-title),
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > a {
  display: none !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover > button:not(.admin-menu-group-title),
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover > a,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > button:not(.admin-menu-group-title),
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > a {
  display: flex !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site)::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 10px;
  display: none;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover::after,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open::after {
  display: block;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > button:not(.admin-menu-group-title),
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > a {
  position: relative !important;
  z-index: 51 !important;
  width: 100% !important;
  min-width: 210px !important;
  justify-content: flex-start !important;
  border-radius: 12px !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open {
  z-index: 50 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover > button:not(.admin-menu-group-title):first-of-type,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > button:not(.admin-menu-group-title):first-of-type {
  margin-top: 10px !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover > button:not(.admin-menu-group-title),
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > button:not(.admin-menu-group-title),
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover > a,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > a {
  background: color-mix(in srgb, var(--panel) 98%, #000 2%) !important;
  border: 1px solid color-mix(in srgb, var(--border) 72%, transparent) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.18) !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover > button:not(.admin-menu-group-title),
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > button:not(.admin-menu-group-title) {
  margin-bottom: 6px !important;
}
@supports (selector(:has(*))) {
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):has(> button:not(.admin-menu-group-title))::before,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):has(> a)::before {
    content: '';
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    width: max(100%, 230px);
    height: calc((42px + 8px) * 4);
    max-height: 260px;
    padding: 10px;
    border-radius: 18px;
    background: color-mix(in srgb, var(--panel) 97%, #000 3%);
    border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
    box-shadow: 0 20px 60px rgba(0,0,0,.24);
    display: none;
    z-index: 49;
  }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover::before,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open::before {
    display: block;
  }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > button:not(.admin-menu-group-title),
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > a {
    position: absolute !important;
    left: 10px !important;
    top: calc(100% + 18px) !important;
  }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > button:not(.admin-menu-group-title):nth-of-type(3),
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > a:nth-of-type(3) { top: calc(100% + 68px) !important; }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > button:not(.admin-menu-group-title):nth-of-type(4),
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > a:nth-of-type(4) { top: calc(100% + 118px) !important; }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > button:not(.admin-menu-group-title):nth-of-type(5),
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) > a:nth-of-type(5) { top: calc(100% + 168px) !important; }
}
.admin-app[data-admin-layout="top"] .admin-menu-group-site {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
}
@media (max-width: 820px) {
  .admin-app[data-admin-layout="top"] .admin-menu,
  .admin-app[data-admin-layout="top"] .admin-menu-shell .admin-menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) {
    width: 100% !important;
  }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-title {
    width: 100% !important;
  }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > button:not(.admin-menu-group-title),
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open > a {
    position: static !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site)::before,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site)::after {
    display: none !important;
  }
}
.admin-app[data-admin-layout="left"] .admin-menu-group-title,
.admin-app:not([data-admin-layout="top"]) .admin-menu-group-title {
  min-height: 0 !important;
  height: auto !important;
  padding: 4px 12px 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: default !important;
  pointer-events: none !important;
}


/* =========================
   v95: admin top dropdown polish, mobile drawer menu and full slider images
   ========================= */
.admin-menu-group-items {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.admin-menu-group-items > button,
.admin-menu-group-items > a {
  width: 100%;
}
.admin-app[data-admin-layout="left"] .admin-menu-group-items,
.admin-app:not([data-admin-layout="top"]) .admin-menu-group-items {
  display: grid !important;
  gap: 8px !important;
}
.admin-app[data-admin-layout="top"] .admin-sidebar {
  background: color-mix(in srgb, var(--surface) 96%, #000 4%) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 88%, transparent) !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.12) !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-shell,
.admin-app[data-admin-layout="top"] .admin-menu,
.admin-app[data-admin-layout="top"] .admin-menu-shell .admin-menu {
  overflow: visible !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) {
  position: relative !important;
  display: block !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-title {
  gap: 9px !important;
  min-height: 44px !important;
  height: 44px !important;
  padding-inline: 15px !important;
  border-radius: 15px !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items {
  position: absolute !important;
  left: 0 !important;
  top: calc(100% + 10px) !important;
  z-index: 90 !important;
  width: max(230px, 100%) !important;
  min-width: 230px !important;
  display: none !important;
  padding: 10px !important;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--panel) 98%, #000 2%) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.24) !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover .admin-menu-group-items,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open .admin-menu-group-items {
  display: grid !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items > button,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items > a {
  position: static !important;
  display: flex !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  justify-content: flex-start !important;
  border-radius: 13px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items > button:hover,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items > a:hover,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items > button.active {
  background: var(--accent-soft) !important;
  border-color: color-mix(in srgb, var(--accent) 38%, var(--border)) !important;
  color: var(--text) !important;
}
.admin-mobile-topbar,
.admin-mobile-backdrop { display: none; }
.admin-mobile-menu-btn {
  width: 42px;
  height: 42px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel-2);
  color: var(--text);
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.admin-mobile-menu-btn svg { width: 22px; height: 22px; }
.admin-mobile-logo { display: inline-flex; align-items: center; min-width: 0; }
.admin-mobile-logo img,
.admin-mobile-logo .brand-logo-img { max-height: 42px; max-width: 190px; object-fit: contain; }
.home-slide-kicker { display: none !important; }
.home-slider { background: color-mix(in srgb, var(--panel) 92%, #000 8%) !important; }
.home-slide img {
  object-fit: contain !important;
  background: color-mix(in srgb, var(--panel) 94%, #000 6%) !important;
}
.admin-slider-grid .admin-slider-card img,
.admin-promo-card.admin-slider-card img {
  height: auto !important;
  min-height: 118px !important;
  max-height: 220px !important;
  aspect-ratio: 16 / 6 !important;
  object-fit: contain !important;
  background: color-mix(in srgb, var(--panel-2) 88%, #000 4%) !important;
  padding: 6px !important;
}
@media (max-width: 820px) {
  body.admin-mobile-menu-open { overflow: hidden !important; }
  .admin-app {
    display: block !important;
    grid-template-columns: 1fr !important;
    padding-top: 68px !important;
  }
  .admin-mobile-topbar {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 115;
    min-height: 68px;
    padding: 10px 14px;
    display: flex !important;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 96%, #000 4%);
    box-shadow: 0 12px 36px rgba(0,0,0,.16);
  }
  .admin-mobile-menu-btn { display: inline-flex !important; flex: 0 0 42px; }
  .admin-mobile-backdrop.show {
    position: fixed;
    inset: 0;
    z-index: 105;
    display: block !important;
    background: rgba(0,0,0,.56);
    backdrop-filter: blur(4px);
  }
  .admin-sidebar,
  .admin-app[data-admin-layout="top"] .admin-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 120 !important;
    width: min(316px, 86vw) !important;
    height: 100vh !important;
    min-height: 100vh !important;
    transform: translateX(-105%) !important;
    transition: transform .24s ease !important;
    padding: 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    border-right: 1px solid var(--border) !important;
    border-bottom: 0 !important;
    box-shadow: 22px 0 70px rgba(0,0,0,.32) !important;
  }
  .admin-app.admin-mobile-menu-open .admin-sidebar {
    transform: translateX(0) !important;
  }
  .admin-sidebar .admin-brand,
  .admin-app[data-admin-layout="top"] .admin-brand {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .admin-sidebar-toggle { display: none !important; }
  .admin-menu-shell,
  .admin-app[data-admin-layout="top"] .admin-menu-shell {
    display: block !important;
    width: 100% !important;
  }
  .admin-menu,
  .admin-app[data-admin-layout="top"] .admin-menu,
  .admin-app[data-admin-layout="top"] .admin-menu-shell .admin-menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    overflow: visible !important;
    max-height: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .admin-menu-group,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .admin-menu-group-title,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-title {
    pointer-events: none !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 3px 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--muted) !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }
  .admin-menu-group-title svg { display: none !important; }
  .admin-menu-group-items,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items {
    position: static !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 8px !important;
  }
  .admin-menu-group-items > button,
  .admin-menu-group-items > a,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items > button,
  .admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items > a {
    min-height: 43px !important;
    height: auto !important;
    width: 100% !important;
    justify-content: flex-start !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
  }
  .admin-main,
  .admin-app[data-admin-layout="top"] .admin-main {
    padding: 12px !important;
  }
  .admin-topbar { margin-top: 0 !important; }
  .home-slide img { object-fit: contain !important; }
}

/* =========================
   v97: mobile sticky public header + admin language modal + top dropdown fixes
   ========================= */
@media (max-width: 980px) {
  body:not(.iframe-mode):not(.casino-game-body) .page-mode .left-toolbar,
  body:not(.iframe-mode):not(.casino-game-body) .page-mode .top-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 720 !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.20) !important;
  }
  body:not(.iframe-mode):not(.casino-game-body) .page-mode .content-shell {
    scroll-margin-top: 76px !important;
  }
}

body.admin-body.admin-lang-modal-open { overflow: hidden !important; }
body.admin-body.admin-lang-modal-open::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 6900;
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-menu,
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-menu {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  z-index: 7000 !important;
  width: min(360px, calc(100vw - 34px)) !important;
  max-height: min(430px, 78vh) !important;
  padding: 12px !important;
  border-radius: 22px !important;
  opacity: 1 !important;
  display: grid !important;
  gap: 7px !important;
  pointer-events: auto !important;
  overflow-y: auto !important;
  transform: translate(-50%, -50%) !important;
  background: color-mix(in srgb, var(--panel) 98%, #000 2%) !important;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.46) !important;
}
body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-menu::before,
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-menu::before {
  content: 'Dil Seçimi';
  display: block;
  padding: 2px 4px 9px;
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
  letter-spacing: -.02em;
}
body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-item,
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-item {
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  padding-inline: 12px !important;
}
body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-item.active,
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-item.active {
  background: var(--accent-soft) !important;
  color: var(--text) !important;
}

.admin-app[data-admin-layout="top"] .admin-sidebar {
  overflow: visible !important;
  z-index: 1700 !important;
  align-items: center !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-shell,
.admin-app[data-admin-layout="top"] .admin-menu,
.admin-app[data-admin-layout="top"] .admin-menu-group {
  overflow: visible !important;
}
.admin-app[data-admin-layout="top"] .admin-brand {
  margin-left: 10px !important;
  transform: none !important;
}
.admin-app[data-admin-layout="top"] .admin-brand .admin-logo-wrap,
.admin-app[data-admin-layout="top"] .admin-brand .brand-logo-switch,
.admin-app[data-admin-layout="top"] .admin-brand .brand-logo-img {
  transform: none !important;
  object-position: left center !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) {
  z-index: 1710 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site):hover,
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site).open {
  z-index: 1720 !important;
}
.admin-app[data-admin-layout="top"] .admin-menu-group:not(.admin-menu-group-site) .admin-menu-group-items {
  z-index: 1800 !important;
  background: color-mix(in srgb, var(--panel) 99%, #000 1%) !important;
  border-color: color-mix(in srgb, var(--border) 86%, transparent) !important;
}
.admin-app[data-admin-layout="top"] .admin-main,
.admin-app[data-admin-layout="top"] .admin-topbar {
  position: relative;
  z-index: 1;
}
@media (max-width: 820px) {
  .admin-mobile-topbar {
    display: flex !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
  }
  .admin-mobile-menu-btn {
    display: inline-flex !important;
    order: 0;
  }
  .admin-mobile-logo {
    order: 1;
    flex: 1 1 auto;
    justify-content: flex-start;
  }
  .admin-mobile-logo img,
  .admin-mobile-logo .brand-logo-img {
    object-position: left center !important;
  }
}

/* =========================
   v98: admin top logo centering + mobile language modal visibility fix
   ========================= */
.admin-app[data-admin-layout="top"] .admin-brand {
  margin-left: 0 !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  justify-content: center !important;
  text-align: center !important;
}
.admin-app[data-admin-layout="top"] .admin-brand .admin-logo-wrap,
.admin-app[data-admin-layout="top"] .admin-brand .brand,
.admin-app[data-admin-layout="top"] .admin-brand .brand-logo-switch {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-inline: auto !important;
}
.admin-app[data-admin-layout="top"] .admin-brand .brand-logo-img,
.admin-app[data-admin-layout="top"] .admin-brand .admin-logo {
  margin-inline: auto !important;
  object-position: center center !important;
}
body.admin-body.admin-lang-modal-open::before {
  z-index: 6800 !important;
  background: rgba(0,0,0,.54) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.admin-body.admin-lang-modal-open .admin-topbar,
body.admin-body.admin-lang-modal-open .admin-sidebar,
body.admin-body.admin-lang-modal-open .admin-actions-row,
body.admin-body.admin-lang-modal-open .admin-lang-form,
body.admin-body.admin-lang-modal-open .language-picker.open {
  position: relative !important;
  z-index: 7200 !important;
  overflow: visible !important;
}
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open::before,
body.admin-body.admin-lang-modal-open .admin-actions-row > .admin-lang-form .language-picker.open::before {
  display: none !important;
  content: none !important;
}
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-menu {
  z-index: 7300 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: color-mix(in srgb, var(--panel) 99%, #000 1%) !important;
}
@media (max-width: 720px) {
  body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-menu {
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    width: min(360px, calc(100vw - 28px)) !important;
    transform: translate(-50%, -50%) !important;
    max-height: min(430px, 76vh) !important;
  }
}


/* =========================
   v99: admin language selector true centered modal fix
   ========================= */
body.admin-body.admin-lang-modal-open {
  overflow: hidden !important;
}
body.admin-body.admin-lang-modal-open::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 8600 !important;
  background: rgba(0,0,0,.56) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
}
body.admin-body.admin-lang-modal-open .admin-lang-form,
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker,
body.admin-body.admin-lang-modal-open .admin-actions-row > .admin-lang-form,
body.admin-body.admin-lang-modal-open .admin-actions-row > .admin-lang-form .language-picker {
  position: static !important;
  transform: none !important;
  overflow: visible !important;
  z-index: auto !important;
}
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-menu,
body.admin-body.admin-lang-modal-open .admin-actions-row > .admin-lang-form .language-picker.open .language-menu,
body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-menu {
  position: fixed !important;
  left: 50vw !important;
  top: 50dvh !important;
  right: auto !important;
  bottom: auto !important;
  width: min(360px, calc(100vw - 32px)) !important;
  max-height: min(430px, calc(100dvh - 48px)) !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 8700 !important;
  margin: 0 !important;
  padding: 12px !important;
  overflow: auto !important;
  border-radius: 22px !important;
  background: color-mix(in srgb, var(--panel) 99%, #000 1%) !important;
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.48) !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
@supports not (height: 100dvh) {
  body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-menu,
  body.admin-body.admin-lang-modal-open .admin-actions-row > .admin-lang-form .language-picker.open .language-menu,
  body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-menu {
    top: 50vh !important;
    max-height: min(430px, calc(100vh - 48px)) !important;
  }
}
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-menu::before,
body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-menu::before {
  content: 'Dil Seçimi' !important;
  display: block !important;
  padding: 2px 4px 10px !important;
  color: var(--text) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}
body.admin-body.admin-lang-modal-open .admin-lang-form .language-picker.open .language-item,
body.admin-body .admin-topbar .admin-lang-form .language-picker.open .language-item {
  min-height: 44px !important;
  height: auto !important;
  border-radius: 14px !important;
}
body.admin-body.admin-lang-modal-open .admin-topbar,
body.admin-body.admin-lang-modal-open .admin-sidebar {
  z-index: 100 !important;
}

/* v101: Mobile language trigger keeps flag + country name; language modal title uses localized text. */
.admin-lang-modal-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 12px;
  white-space: nowrap;
}
.admin-lang-modal-trigger i,
.admin-language-choice i {
  flex: 0 0 auto;
}
.admin-language-modal.show {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  z-index: 3000 !important;
}
.admin-language-modal-box {
  width: min(480px, calc(100vw - 28px)) !important;
  max-height: min(680px, calc(100dvh - 36px)) !important;
  overflow: auto !important;
  margin: 0 !important;
  transform: none !important;
}
.admin-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.admin-modal-head h2 {
  margin: 0;
}
.admin-language-choice-grid {
  display: grid;
  gap: 8px;
}
.admin-language-choice-form {
  margin: 0;
}
.admin-language-choice {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  color: inherit;
  padding: 10px 12px;
  cursor: pointer;
  font-weight: 850;
  text-align: left;
}
.admin-language-choice:hover,
.admin-language-choice.active {
  border-color: rgba(var(--accent-rgb, 34,197,94), .55);
  background: rgba(var(--accent-rgb, 34,197,94), .14);
}
.admin-language-choice span:not(.admin-language-check) {
  flex: 1 1 auto;
}
.admin-language-check {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent);
  color: var(--accent-sc);
  font-weight: 950;
}
html[data-theme$="-light"] .admin-language-choice {
  border-color: rgba(15,23,42,.12);
  background: rgba(15,23,42,.035);
}
html[data-theme$="-light"] .admin-language-choice:hover,
html[data-theme$="-light"] .admin-language-choice.active {
  border-color: rgba(var(--accent-rgb, 34,197,94), .45);
  background: rgba(var(--accent-rgb, 34,197,94), .12);
}
@media (max-width: 700px) {
  .admin-lang-modal-trigger { width: auto; min-width: 92px; max-width: 170px; padding: 0 10px; justify-content: flex-start; }
  .admin-lang-modal-trigger span { display: inline-block !important; max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .admin-language-modal.show { padding: 14px !important; }
  .admin-language-modal-box { width: min(420px, calc(100vw - 28px)) !important; }
}

/* =========================
   v102: homepage slider full-cover image and clickable slide image
   ========================= */
.home-slider {
  aspect-ratio: 16 / 6 !important;
  min-height: 0 !important;
  height: auto !important;
}
.home-slider-track {
  height: 100% !important;
  min-height: 0 !important;
}
.home-slide {
  overflow: hidden !important;
}
.home-slide img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}
.home-slide::after {
  z-index: 1 !important;
  pointer-events: none !important;
}
.home-slide-image-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  text-decoration: none;
}
.home-slide-overlay {
  z-index: 3 !important;
  pointer-events: none;
}
.home-slide-overlay .btn {
  pointer-events: auto;
}
.home-slider-dots {
  z-index: 6 !important;
}
@media (max-width: 768px) {
  .home-slider {
    aspect-ratio: 16 / 7 !important;
    min-height: 170px !important;
  }
}


/* =========================
   v105: slimmer homepage slider, no card shadow, stronger slide click target
   ========================= */
.home-slider {
  aspect-ratio: 16 / 4.2 !important;
  min-height: 0 !important;
  height: auto !important;
  box-shadow: none !important;
}
.home-slider-track {
  height: 100% !important;
  min-height: 0 !important;
}
.home-slider,
.home-slider-track,
.home-slide.active {
  pointer-events: auto !important;
}
.home-slide:not(.active) {
  pointer-events: none !important;
}
.home-slide img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.home-slide-image-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.home-slide-overlay {
  z-index: 3 !important;
}
.home-slide-overlay .btn,
.home-slider-dots,
.home-slider-dots button {
  pointer-events: auto !important;
}
@media (max-width: 768px) {
  .home-slider {
    aspect-ratio: 16 / 5 !important;
    min-height: 135px !important;
  }
}


/* =========================
   v106: slim slider without image crop, soft image background, no shadow
   ========================= */
.home-slider {
  aspect-ratio: 16 / 4.2 !important;
  min-height: 0 !important;
  height: auto !important;
  box-shadow: none !important;
  background: transparent !important;
}
.home-slider-track {
  height: 100% !important;
  min-height: 0 !important;
}
.home-slide {
  overflow: hidden !important;
  background: color-mix(in srgb, var(--panel) 94%, #000 6%) !important;
}
.home-slide-bg {
  position: absolute !important;
  inset: -18px !important;
  z-index: 0 !important;
  display: block !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  filter: blur(18px) saturate(1.08) !important;
  transform: scale(1.04) !important;
  opacity: .48 !important;
  pointer-events: none !important;
}
.home-slide img {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
}
.home-slide::after {
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(0,0,0,.28), rgba(0,0,0,.08), rgba(0,0,0,.02)) !important;
}
.home-slide-image-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.home-slide-overlay {
  z-index: 5 !important;
  pointer-events: none !important;
}
.home-slide-overlay .btn {
  pointer-events: auto !important;
}
.home-slider-dots {
  z-index: 7 !important;
}
@media (max-width: 768px) {
  .home-slider {
    aspect-ratio: 16 / 5 !important;
    min-height: 135px !important;
  }
  .home-slide-bg {
    inset: -14px !important;
    filter: blur(14px) saturate(1.05) !important;
    opacity: .44 !important;
  }
}


/* =========================
   v108: mobile announcement theme colors + support shortcuts
   ========================= */
@media (max-width: 980px) {
  body.nx-public-sidebar-open:not(.admin-body):not(.iframe-mode):not(.casino-game-body) .page-mode .left-toolbar,
  .page-mode.public-sidebar-open .left-toolbar {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}
.home-slider,
.home-slider-track,
.home-slide {
  box-shadow: none !important;
  filter: none !important;
}
.home-slide-bg {
  display: none !important;
  opacity: 0 !important;
  filter: none !important;
  background-image: none !important;
}
.home-slide {
  background: transparent !important;
}
.home-slide img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: fill !important;
  object-position: center center !important;
  background: transparent !important;
  filter: none !important;
}
.home-slide::after {
  background: transparent !important;
  box-shadow: none !important;
}
@media (max-width: 768px) {
  .home-slider,
  .home-slider-track,
  .home-slide,
  .home-slide img {
    box-shadow: none !important;
    filter: none !important;
  }
  .home-slide-bg { display: none !important; }
}

/* v108: mobile announcement theme colors + support shortcuts */
.site-announcement-bar {
  background: color-mix(in srgb, var(--surface) 84%, var(--accent) 16%) !important;
  color: var(--text) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border)) !important;
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--accent) 12%, transparent) !important;
}
.site-announcement-track,
.site-announcement-track span { color: var(--text) !important; }
.site-announcement-track a { color: var(--accent) !important; }
.site-announcement-close { color: var(--muted) !important; }
[data-theme$="-light"] .site-announcement-bar {
  background: color-mix(in srgb, var(--surface) 88%, var(--accent) 12%) !important;
  color: var(--text) !important;
}
@media (max-width: 820px) {
  .site-announcement-bar {
    min-height: 32px !important;
    padding-left: 4px !important;
    background: linear-gradient(90deg,
      color-mix(in srgb, var(--accent) 16%, var(--surface) 84%),
      color-mix(in srgb, var(--surface) 90%, var(--accent) 10%)
    ) !important;
    color: var(--text) !important;
  }
  .site-announcement-track { font-size: 12px !important; }
  .site-announcement-close { width: 32px !important; height: 32px !important; font-size: 22px !important; }
}

.site-support-btn,
.sidebar-support-open {
  height: 42px;
  min-width: 42px;
  border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 78%, var(--accent) 22%);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 18%, transparent);
}
.site-support-btn svg,
.sidebar-support-open svg { width: 18px; height: 18px; color: currentColor; }
.site-support-btn:hover,
.sidebar-support-open:hover { background: var(--accent); color: var(--accent-text); }
.sidebar-mobile-tools .sidebar-support-open { width: 100%; margin-top: 8px; justify-content: flex-start; }
@media (max-width: 820px) {
  .site-support-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border-radius: 13px !important;
  }
  .site-support-btn span { display: none !important; }
}
@media (max-width: 900px) {
  .mobile-bottom-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 3px !important;
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    font-size: 9px !important;
    border-radius: 15px !important;
  }
  .mobile-bottom-nav svg {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
  }
}
