:root {
  --bg: #07080b;
  --surface: #101217;
  --surface-2: #151820;
  --surface-3: #1b1f28;
  --line: #292e39;
  --text: #f4f5f7;
  --muted: #8d95a5;
  --muted-2: #687080;
  --red: #ed1c2f;
  --red-2: #ff4652;
  --red-soft: rgba(237, 28, 47, .14);
  --gold: #f7b733;
  --green: #38c98b;
  --blue: #5aa7ff;
  --purple: #b38cff;
  --shadow: 0 20px 70px rgba(0,0,0,.22);
  --radius: 15px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--bg); font-size: 14px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { outline-color: var(--red); }
button { cursor: pointer; }
img { max-width: 100%; }

.site-header { min-height: 74px; border-bottom: 1px solid #1d2027; background: rgba(7,8,11,.94); display: flex; align-items: center; gap: 34px; padding: 0 28px; position: sticky; top: 0; z-index: 20; backdrop-filter: blur(16px); }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 800; white-space: nowrap; }
.brand-lockup b { color: var(--red); }
.brand-mark { display: inline-grid; place-items: center; width: 35px; height: 40px; color: white; font-weight: 900; background: linear-gradient(155deg, #ff3346, #9d0e1e); clip-path: polygon(50% 0, 91% 22%, 91% 78%, 50% 100%, 9% 78%, 9% 22%); }
.public-nav { display: flex; align-items: center; gap: 32px; flex: 1; }
.public-nav a { color: #abb1bd; font-size: 13px; padding: 27px 5px 24px; position: relative; }
.public-nav a:hover, .public-nav a.active { color: white; }
.public-nav a.active:after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--red); box-shadow: 0 0 14px var(--red); }
.header-actions, .welcome-actions, .wallet-balance-actions { display: flex; gap: 10px; align-items: center; }
.header-user, .top-user { display: inline-flex; align-items: center; gap: 8px; color: #d2d5dc; }
.header-user span, .avatar-circle { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid #48505e; border-radius: 50%; color: white; background: #252b36; font-weight: 700; }
.avatar-circle.small { width: 28px; height: 28px; font-size: 12px; }
.primary-button, .outline-button, .small-button, .text-button, .icon-action, .play-button { border: 1px solid transparent; border-radius: 9px; color: white; font-weight: 700; transition: .2s ease; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 17px; background: linear-gradient(135deg, #ff3446, #c70d20); box-shadow: 0 8px 22px rgba(237,28,47,.18); }
.primary-button:hover { transform: translateY(-1px); filter: brightness(1.1); }
.outline-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 17px; border-color: #57606e; background: rgba(255,255,255,.02); }
.outline-button:hover { border-color: var(--red); color: #fff; background: var(--red-soft); }
.small-button { padding: 7px 12px; border-color: #4a5362; background: #1d222c; font-size: 12px; }
.small-button:hover { border-color: var(--red); }
.full { width: 100%; }
.text-link { color: #e4e6ea; font-weight: 700; font-size: 12px; }
.text-link:hover, .view-all:hover { color: var(--red-2); }
.text-button { background: transparent; padding: 4px 0; }
.text-button.danger { color: #ff7580; }

.public-shell { min-height: 100vh; }
.public-content { width: min(1280px, calc(100% - 56px)); margin: 0 auto; padding: 28px 0 60px; }
.public-hero { min-height: 318px; border: 1px solid #373b45; border-radius: 15px; overflow: hidden; position: relative; display: flex; align-items: center; padding: 38px 52px; background: #0b0c10 var(--hero-image) center/cover no-repeat; isolation: isolate; }
.hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,6,9,.98) 0%, rgba(5,6,9,.82) 42%, rgba(5,6,9,.08) 100%); }
.hero-copy { max-width: 510px; }
.eyebrow, .panel-kicker { display: block; color: var(--red-2); font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; font-weight: 800; }
.hero-copy h1 { margin: 8px 0 8px; font-size: clamp(36px, 5vw, 70px); line-height: .98; letter-spacing: -2px; text-transform: uppercase; font-style: italic; }
.hero-copy p { max-width: 400px; color: #bac0ca; margin: 0 0 22px; }
.hero-offer { margin-left: auto; align-self: flex-start; width: 175px; margin-top: 4px; padding: 19px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(18,16,20,.75); }
.hero-offer small { display: block; color: #d1d4da; text-transform: uppercase; font-size: 10px; font-weight: 800; }
.hero-offer strong { display: block; margin: 7px 0 18px; font-size: 16px; }
.hero-offer b { display: block; color: var(--red-2); font-size: 29px; font-style: italic; }
.hero-offer a { display: inline-block; padding: 8px 10px; border-radius: 6px; background: var(--red); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.hero-dots { position: absolute; left: 50%; bottom: 14px; display: flex; gap: 8px; transform: translateX(-50%); }
.hero-dots b { width: 8px; height: 8px; border-radius: 50%; background: #c2c5ca; }
.hero-dots b.active { background: var(--red); width: 20px; border-radius: 10px; }
.public-jackpot, .public-winner, .public-section, .benefit-grid { margin-top: 14px; border: 1px solid #2a2e37; border-radius: 14px; background: linear-gradient(120deg, #15171d, #0d0f13); }
.public-jackpot { min-height: 78px; display: flex; align-items: center; gap: 13px; padding: 14px 22px; border-color: #6e1f2b; }
.jackpot-symbol { display: grid; place-items: center; width: 42px; height: 42px; color: var(--gold); border-radius: 50%; background: rgba(247,183,51,.12); font-size: 21px; }
.public-jackpot small, .public-jackpot strong { display: block; text-transform: uppercase; }
.public-jackpot small { color: #aeb4be; font-size: 10px; }
.public-jackpot strong { font-size: 16px; }
.public-jackpot-value { margin-left: auto; color: #fff; font-size: 25px; font-weight: 800; letter-spacing: 2px; }
.public-jackpot-value small { display: inline; margin-right: 9px; color: #abb2be; font-size: 11px; letter-spacing: 0; }
.mini-outline { border: 1px solid #4b5360; border-radius: 8px; padding: 9px 14px; margin-left: 28px; font-size: 11px; font-weight: 700; }
.public-winner { display: flex; align-items: stretch; overflow: auto; min-height: 70px; border-color: #551623; padding: 0 16px; }
.winner-title { display: flex; align-items: center; gap: 10px; min-width: 145px; color: var(--red); text-transform: uppercase; font-size: 19px; }
.winner-title span { color: var(--red-2); font-size: 11px; line-height: 1.1; }
.winner-title b { color: white; }
.winner-row { min-width: 175px; padding: 14px 22px; border-left: 1px solid #2f333d; display: flex; align-items: center; gap: 10px; }
.winner-medal { color: var(--gold); font-size: 22px; }
.winner-row strong, .winner-row small { display: block; }
.winner-row small { color: #838b98; font-size: 10px; }
.winner-row small b { color: #f2b933; }
.public-section { padding: 19px; }
.section-heading, .panel-heading, .page-intro, .metric-strip, .table-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.section-heading h2, .panel-heading h2, .page-intro h2 { margin: 3px 0 0; font-size: 18px; text-transform: uppercase; }
.view-all { color: #aeb4be; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.category-pills, .filter-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.category-pills a, .filter-tabs a { padding: 8px 13px; border: 1px solid #343a46; border-radius: 7px; color: #abb2be; font-size: 11px; }
.category-pills a.active, .filter-tabs a.active { border-color: var(--red); color: white; background: var(--red); }
.public-game-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.public-game-card { overflow: hidden; border: 1px solid #343944; border-radius: 10px; background: #12151b; }
.public-game-art, .catalog-art { min-height: 128px; position: relative; background-size: 300% 200%; background-repeat: no-repeat; }
.public-game-card > div:last-child { padding: 9px 10px 11px; }
.public-game-card strong, .public-game-card small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.public-game-card strong { font-size: 12px; }
.public-game-card small { margin-top: 2px; color: #8e96a4; font-size: 10px; }
.game-badge { position: absolute; right: 6px; top: 6px; padding: 3px 6px; border-radius: 4px; color: white; background: #e32635; font-size: 9px; font-weight: 900; }
.game-badge.new { color: #131313; background: #f3c728; }
.game-play { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; color: white; font-size: 25px; background: rgba(237,28,47,.32); transition: .2s ease; }
.public-game-card:hover .game-play { opacity: 1; }
.public-promo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.public-promo { min-height: 108px; padding: 16px; border: 1px solid #5b222d; border-radius: 10px; background: linear-gradient(120deg, #2b1118, #131419); }
.public-promo span, .public-promo strong, .public-promo small { display: block; }
.public-promo span { color: #bd8990; font-size: 10px; }
.public-promo strong { margin: 5px 0; color: #ff3347; font-size: 20px; }
.public-promo small { color: #b9bec8; font-size: 11px; }
.benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; }
.benefit-grid > div { display: flex; align-items: center; gap: 10px; padding: 17px 22px; border-right: 1px solid #2c3039; }
.benefit-grid > div:last-child { border: 0; }
.benefit-grid span { display: grid; place-items: center; width: 35px; height: 35px; color: var(--red-2); border-radius: 50%; background: var(--red-soft); font-size: 18px; }
.benefit-grid strong, .benefit-grid small { display: block; text-transform: uppercase; }
.benefit-grid strong { font-size: 11px; }
.benefit-grid small { margin-top: 2px; color: #8c94a1; font-size: 9px; font-weight: 500; }
.public-footer { width: min(1280px, calc(100% - 56px)); margin: 0 auto; padding: 46px 0 35px; display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 40px; color: #9aa2af; }
.public-footer > div:first-child p { max-width: 250px; margin-top: 15px; font-size: 12px; }
.public-footer h3 { margin: 0 0 12px; color: #e8e9ec; font-size: 11px; text-transform: uppercase; }
.public-footer > div:not(:first-child) a { display: block; margin: 5px 0; font-size: 12px; }
.payment-logos { display: flex; flex-wrap: wrap; gap: 6px; }
.payment-logos span { padding: 6px 8px; border: 1px solid #303641; border-radius: 5px; font-size: 10px; }
.footer-copy { grid-column: 1 / -1; padding-top: 25px; border-top: 1px solid #20242c; text-align: center; }

.dashboard-shell { display: flex; min-height: 100vh; background: #0b0d11; }
.dashboard-sidebar { width: 252px; flex: 0 0 252px; border-right: 1px solid #262b34; background: #101217; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; z-index: 50; }
.sidebar-brand { min-height: 74px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #242932; }
.sidebar-close, .sidebar-toggle { display: none; border: 0; color: white; background: transparent; font-size: 24px; }
.sidebar-profile { display: flex; align-items: center; gap: 10px; margin: 20px 17px; padding: 13px; border: 1px solid #2e343e; border-radius: 12px; background: linear-gradient(135deg, #1a1e26, #12151b); }
.sidebar-profile strong, .sidebar-profile small { display: block; }
.sidebar-profile strong { font-size: 12px; }
.sidebar-profile small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.sidebar-label { padding: 0 21px; color: #626b7b; font-size: 10px; letter-spacing: 1px; text-transform: uppercase; font-weight: 800; }
.dashboard-nav { padding: 0 12px; }
.dashboard-nav a { display: flex; align-items: center; gap: 11px; margin: 3px 0; padding: 10px 10px; border-radius: 8px; color: #aab2bf; font-size: 12px; }
.dashboard-nav a:hover { color: white; background: #1b2028; }
.dashboard-nav a.active { color: white; background: linear-gradient(90deg, rgba(237,28,47,.25), rgba(237,28,47,.04)); box-shadow: inset 3px 0 var(--red); }
.nav-icon { width: 17px; color: #c1c7d0; text-align: center; }
.dashboard-nav a.active .nav-icon { color: var(--red-2); }
.nav-count { margin-left: auto; padding: 2px 6px; border-radius: 10px; color: white; background: var(--red); font-size: 10px; }
.sidebar-bottom { margin-top: auto; padding: 16px 20px 24px; border-top: 1px solid #242932; }
.sidebar-bottom a { display: block; padding: 6px 0; color: #8a93a1; font-size: 11px; }
.sidebar-bottom a:hover { color: white; }
.dashboard-main { min-width: 0; flex: 1; }
.dashboard-topbar { min-height: 74px; padding: 0 30px; border-bottom: 1px solid #242932; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: rgba(11,13,17,.88); position: sticky; top: 0; z-index: 30; backdrop-filter: blur(15px); }
.breadcrumb { color: #657080; font-size: 10px; }
.dashboard-topbar h1 { margin: 2px 0 0; font-size: 18px; }
.dashboard-top-actions { display: flex; align-items: center; gap: 18px; }
.top-icon { position: relative; color: #abb3bf; font-size: 18px; }
.top-icon b { position: absolute; top: 0; right: -3px; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }
.top-user { font-size: 12px; }
.dashboard-content { max-width: 1510px; padding: 28px 30px 60px; }
.flash { max-width: 100%; margin: 0 0 16px; padding: 12px 15px; border: 1px solid; border-radius: 9px; font-size: 12px; }
.flash-success { color: #a7f1cf; border-color: #1e7251; background: rgba(56,201,139,.12); }
.flash-error { color: #ffb3b8; border-color: #91303c; background: rgba(237,28,47,.12); }
.welcome-banner { min-height: 130px; margin-bottom: 17px; padding: 24px 27px; border: 1px solid #51303a; border-radius: 14px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: radial-gradient(circle at 80% 30%, rgba(237,28,47,.18), transparent 38%), linear-gradient(100deg, #23151b, #14151b 65%, #151820); }
.welcome-banner h2 { margin: 6px 0; font-size: 23px; }
.welcome-banner h2 span { color: var(--red); }
.welcome-banner p { margin: 0; color: #a4acb8; font-size: 12px; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 17px; }
.stat-card { min-height: 122px; padding: 18px; border: 1px solid #2d333e; border-radius: 12px; display: flex; gap: 14px; background: linear-gradient(145deg, #171a21, #11141a); }
.stat-card.accent { border-color: #63222d; background: linear-gradient(145deg, #29141a, #14151b); }
.stat-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; color: var(--red-2); background: var(--red-soft); font-size: 18px; }
.stat-icon.gold { color: var(--gold); background: rgba(247,183,51,.12); }
.stat-icon.blue { color: var(--blue); background: rgba(90,167,255,.12); }
.stat-icon.purple { color: var(--purple); background: rgba(179,140,255,.12); }
.stat-card small, .stat-card strong, .stat-card a, .stat-note { display: block; }
.stat-card small { color: #8c95a3; font-size: 10px; }
.stat-card strong { margin: 4px 0 4px; font-size: 19px; letter-spacing: -.3px; }
.stat-card a { color: #e9eaed; font-size: 10px; font-weight: 700; }
.stat-card a:hover { color: var(--red-2); }
.stat-note { color: #828b9a; font-size: 10px; }
.dashboard-grid { display: grid; gap: 16px; margin-bottom: 17px; }
.dashboard-grid.two-columns { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.panel { min-width: 0; padding: 20px; border: 1px solid #292f39; border-radius: 13px; background: #13161c; box-shadow: 0 8px 35px rgba(0,0,0,.08); }
.panel-heading { margin-bottom: 17px; }
.panel-heading h2 { text-transform: none; font-size: 16px; }
.panel-kicker { color: #7f8998; font-size: 9px; letter-spacing: 1.2px; }
.muted-text { color: #77808e; font-size: 11px; }
.dashboard-content > .panel { margin-bottom: 17px; }
.metric-strip { margin-bottom: 17px; padding: 17px 20px; border: 1px solid #37333a; border-radius: 12px; background: linear-gradient(95deg, #1b171d, #15161c); }
.metric-strip > div { flex: 1; padding: 0 20px; border-right: 1px solid #31343d; }
.metric-strip > div:first-child { padding-left: 0; }
.metric-strip > div:last-child { border-right: 0; }
.metric-strip small, .metric-strip strong { display: block; }
.metric-strip small { color: #818b9a; font-size: 10px; }
.metric-strip strong { margin-top: 3px; font-size: 16px; }
.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.quick-action { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 15px; border: 1px solid #2d333e; border-radius: 11px; background: #15181f; }
.quick-action:hover { border-color: #7a2835; transform: translateY(-1px); }
.quick-action > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: var(--red-2); background: var(--red-soft); font-size: 17px; }
.quick-action strong, .quick-action small { display: block; }
.quick-action strong { font-size: 12px; }
.quick-action small { color: #828c9a; font-size: 10px; }
.quick-action > b { margin-left: auto; color: #858e9c; }
.referral-quick > b { max-width: 100px; overflow: hidden; color: var(--gold); font-size: 11px; text-overflow: ellipsis; }

.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 600px; }
.data-table th { padding: 9px 10px; color: #6d7787; border-bottom: 1px solid #2c323c; text-align: left; font-size: 10px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 12px 10px; border-bottom: 1px solid #232831; color: #d9dce2; font-size: 11px; vertical-align: middle; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td strong, .data-table td small { display: block; }
.table-sub { margin-top: 3px; color: #798391; font-size: 9px; }
.amount-cell { color: #a7eacb !important; font-weight: 800; white-space: nowrap; }
.amount-cell.negative { color: #ff9ea6 !important; }
.type-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #808999; }
.type-dot.deposit { background: var(--green); }
.type-dot.withdrawal { background: var(--red-2); }
.type-dot.adjustment { background: var(--gold); }
.status { display: inline-flex; padding: 4px 7px; border: 1px solid; border-radius: 5px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.status-active, .status-approved, .status-open { color: #93e7bd; border-color: #24724f; background: rgba(56,201,139,.1); }
.status-pending { color: #f4d383; border-color: #795d25; background: rgba(247,183,51,.1); }
.status-rejected, .status-suspended, .status-closed, .status-hidden { color: #ff9fa8; border-color: #78303a; background: rgba(237,28,47,.1); }
.recent-game-list, .mini-list { display: grid; gap: 6px; }
.recent-game, .mini-list-row { display: flex; align-items: center; gap: 10px; padding: 9px; border-radius: 8px; }
.recent-game:hover, .mini-list-row:hover { background: #1b1f27; }
.recent-game-art { width: 47px; height: 35px; flex: 0 0 47px; border-radius: 5px; background-size: 300% 200%; }
.recent-game strong, .recent-game small, .mini-list-row strong, .mini-list-row small { display: block; }
.recent-game strong, .mini-list-row strong { font-size: 11px; }
.recent-game small, .mini-list-row small { color: #7e8897; font-size: 9px; }
.chevron { margin-left: auto; color: #8992a0; font-size: 19px; }
.mini-list-row .status { margin-left: auto; }
.page-intro { margin-bottom: 19px; align-items: flex-end; }
.page-intro h2 { font-size: 25px; text-transform: none; letter-spacing: -.4px; }
.page-intro p { margin: 6px 0 0; color: #8d97a5; font-size: 12px; }
.count-chip, .secure-label { display: inline-flex; align-items: center; padding: 7px 11px; color: #b9c0cb; border: 1px solid #383e49; border-radius: 7px; background: #151920; font-size: 10px; font-weight: 700; }
.secure-label { color: #9be7c1; border-color: #276b4c; background: rgba(56,201,139,.08); }
.catalog-hero { margin-bottom: 17px; padding: 25px 27px; border: 1px solid #4b2730; border-radius: 14px; display: flex; align-items: center; justify-content: space-between; background: radial-gradient(circle at 80% 15%, rgba(237,28,47,.2), transparent 35%), #1a1419; }
.catalog-hero h2 { margin: 4px 0; font-size: 25px; }
.catalog-hero p { margin: 0; color: #9ea7b4; font-size: 12px; }
.catalog-count { text-align: right; }
.catalog-count strong, .catalog-count span { display: block; }
.catalog-count strong { color: var(--red-2); font-size: 34px; }
.catalog-count span { color: #9ba3af; font-size: 10px; }
.catalog-filter { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 17px; padding: 12px; border: 1px solid #292f39; border-radius: 11px; background: #12151a; }
.catalog-filter .filter-tabs { margin: 0; }
.filter-search, .toolbar-form, .compact-filter { display: flex; align-items: center; gap: 7px; }
.filter-search { min-width: 235px; padding: 5px 8px; border: 1px solid #343a44; border-radius: 7px; }
.filter-search span { color: #8993a1; }
.filter-search input, .toolbar-form input, .toolbar-form select, .compact-filter input, .compact-filter select { min-width: 0; padding: 9px 10px; border: 1px solid #333a46; border-radius: 7px; color: #e7e9ed; background: #0e1116; }
.filter-search input { flex: 1; padding: 4px; border: 0; background: transparent; }
.filter-search button { border: 0; color: #bfc5ce; background: transparent; font-size: 11px; }
.catalog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.catalog-card { overflow: hidden; border: 1px solid #333a45; border-radius: 10px; background: #101319; }
.catalog-card:hover { border-color: #86303b; }
.catalog-art { min-height: 160px; }
.favorite-form { position: absolute; left: 7px; top: 7px; }
.favorite-button { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #5b616c; border-radius: 50%; color: white; background: rgba(0,0,0,.55); }
.favorite-button.active, .favorite-button:hover { border-color: var(--red); color: #ff4c5b; }
.catalog-card-body { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; }
.catalog-card-body strong, .catalog-card-body span { display: block; }
.catalog-card-body strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.catalog-card-body span { margin-top: 3px; color: #7e8895; font-size: 9px; }
.play-button { padding: 8px 10px; background: var(--red); font-size: 10px; white-space: nowrap; }
.play-button:hover { filter: brightness(1.15); }
.empty-state { padding: 28px 16px; color: #87919f; text-align: center; font-size: 12px; }
.empty-state.large { padding: 70px 20px; }
.empty-state a { color: var(--red-2); font-weight: 700; }
.wallet-balance { margin-bottom: 17px; padding: 24px 27px; border: 1px solid #652530; border-radius: 14px; display: flex; justify-content: space-between; align-items: center; background: radial-gradient(circle at 80% 30%, rgba(237,28,47,.2), transparent 35%), linear-gradient(120deg, #24131a, #13151a); }
.wallet-balance small, .wallet-balance strong, .wallet-balance p { display: block; }
.wallet-balance small { margin-top: 5px; color: #c4c9d1; font-size: 11px; }
.wallet-balance strong { margin-top: 4px; font-size: 27px; }
.wallet-balance p { margin: 3px 0 0; color: #929ba8; font-size: 11px; }
.wallet-balance p b { color: var(--gold); }
.wallet-forms { align-items: start; }
.stack-form { display: grid; gap: 13px; }
.stack-form label, .form-grid label { display: grid; gap: 6px; color: #b6bdc8; font-size: 11px; font-weight: 700; }
.stack-form input, .stack-form select, .stack-form textarea, .form-grid input, .form-grid select, .form-grid textarea, .settings-form textarea { width: 100%; padding: 10px 11px; border: 1px solid #343b47; border-radius: 7px; color: #e9ebef; background: #0f1217; resize: vertical; }
.stack-form input:focus, .stack-form select:focus, .stack-form textarea:focus, .form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--red); }
.form-hint { color: #737e8d; font-size: 10px; font-weight: 400; }
.form-grid { display: grid; gap: 13px; }
.form-grid.two { grid-template-columns: repeat(2, 1fr); }
.form-grid.three { grid-template-columns: repeat(3, 1fr); }
.checkbox-row { display: flex; gap: 20px; }
.checkbox-row label, .check-alone { display: inline-flex; align-items: center; gap: 7px; color: #bdc3cc; font-size: 11px; }
.checkbox-row input, .check-alone input { accent-color: var(--red); }
.promo-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.promo-card { overflow: hidden; border: 1px solid #333844; border-radius: 13px; background: #14171d; }
.promo-art { min-height: 155px; padding: 18px; display: flex; align-items: flex-end; background-size: cover; background-position: center; position: relative; }
.promo-art:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.8), transparent); }
.promo-art span { position: relative; z-index: 1; padding: 7px 10px; border-radius: 5px; color: white; background: var(--red); font-weight: 900; }
.promo-card-body { padding: 18px; }
.promo-card-body h2 { margin: 5px 0; font-size: 18px; }
.promo-card-body p { min-height: 44px; margin: 0 0 17px; color: #9ba4b1; font-size: 12px; }
.promo-meta { padding-top: 13px; border-top: 1px solid #2b3039; display: flex; justify-content: space-between; color: #7e8794; font-size: 10px; }
.notification-list { padding: 8px 20px; }
.notification-item { width: 100%; padding: 15px 4px; border: 0; border-bottom: 1px solid #262c35; display: flex; align-items: flex-start; gap: 13px; position: relative; color: inherit; background: transparent; text-align: left; }
.notification-item:last-child { border-bottom: 0; }
.notification-item.unread { background: linear-gradient(90deg, rgba(237,28,47,.07), transparent); }
.notification-icon { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border: 0; border-radius: 50%; color: var(--red-2); background: var(--red-soft); }
.notification-icon.success { color: var(--green); background: rgba(56,201,139,.12); }
.notification-icon.transaction { color: var(--gold); background: rgba(247,183,51,.12); }
.notification-item strong, .notification-item p, .notification-item small { display: block; }
.notification-item strong { font-size: 12px; }
.notification-item p { margin: 3px 0; color: #a2aab7; font-size: 11px; }
.notification-item small { color: #737d8b; font-size: 10px; }
.unread-dot { width: 7px; height: 7px; margin-left: auto; border-radius: 50%; background: var(--red); box-shadow: 0 0 10px var(--red); }
.profile-avatar-large { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: white; background: linear-gradient(135deg, var(--red), #651020); font-size: 18px; font-weight: 800; }
.profile-meta { padding: 12px; border: 1px solid #2d333d; border-radius: 8px; display: flex; flex-wrap: wrap; gap: 15px; color: #8993a1; font-size: 10px; }
.profile-meta b { color: var(--gold); }
.support-layout { display: grid; grid-template-columns: minmax(250px, .6fr) minmax(0, 1.4fr); gap: 16px; margin-bottom: 17px; align-items: start; }
.ticket-list { min-height: 300px; }
.ticket-row { padding: 13px 7px; border-bottom: 1px solid #292f38; display: flex; align-items: center; gap: 9px; }
.ticket-row:last-of-type { border-bottom: 0; }
.ticket-row:hover, .ticket-row.active { border-radius: 8px; background: #1c2028; }
.ticket-row.active { box-shadow: inset 3px 0 var(--red); }
.ticket-status { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.ticket-status.open { background: var(--green); }
.ticket-status.closed { background: #68717f; }
.ticket-row strong, .ticket-row small { display: block; }
.ticket-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.ticket-row small { margin-top: 4px; color: #7d8795; font-size: 9px; }
.ticket-row .status { margin-left: auto; }
.conversation { max-height: 465px; overflow-y: auto; padding: 4px 2px 12px; display: grid; gap: 10px; }
.message-bubble { max-width: 78%; padding: 11px 13px; border: 1px solid #333a45; border-radius: 10px 10px 10px 2px; background: #1b2028; }
.message-bubble.from-admin { justify-self: end; border-color: #652530; border-radius: 10px 10px 2px 10px; background: #28171d; }
.message-bubble > div { display: flex; justify-content: space-between; gap: 17px; }
.message-bubble strong { font-size: 10px; }
.message-bubble small { color: #798392; font-size: 9px; }
.message-bubble p { margin: 6px 0 0; color: #c2c7d0; font-size: 11px; }
.attachment-link { display: inline-block; margin-top: 7px; color: var(--red-2); font-size: 10px; }
.reply-box { padding-top: 12px; border-top: 1px solid #2c323c; }
.reply-box textarea { width: 100%; padding: 10px; border: 1px solid #3a414d; border-radius: 8px; color: white; background: #0f1217; resize: vertical; }
.reply-actions, .modal-actions, .ticket-controls { margin-top: 9px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.file-button { padding: 8px 10px; color: #aeb6c2; border: 1px solid #3a414d; border-radius: 7px; cursor: pointer; font-size: 10px; }
.file-button input { display: none; }
.close-ticket-form { padding-top: 7px; text-align: right; }
.closed-note { padding: 12px; border: 1px solid #414651; border-radius: 8px; color: #9ca5b2; background: #171a20; text-align: center; font-size: 11px; }
.new-ticket-panel { margin-top: 17px; }
.toolbar-form { flex-wrap: wrap; margin-bottom: 17px; }
.toolbar-form input { min-width: 250px; flex: 1; }
.toolbar-form select { min-width: 145px; }
.admin-table .member-cell, .media-cell { display: flex; align-items: center; gap: 9px; }
.member-cell strong, .member-cell small, .media-cell strong, .media-cell small { display: block; }
.member-cell small, .media-cell small { color: #7e8794; font-size: 9px; }
.table-game-art { display: inline-block; width: 55px; height: 38px; flex: 0 0 55px; border-radius: 5px; background-size: 300% 200%; }
.banner-thumb { display: inline-block; width: 83px; height: 42px; border-radius: 5px; background-position: center; background-size: cover; }
.row-actions { display: flex; align-items: center; gap: 4px; }
.icon-action { display: inline-grid; place-items: center; width: 29px; height: 29px; border-color: #3a424f; color: #b8c0ca; background: #191d24; font-size: 13px; }
.icon-action:hover { border-color: var(--red); color: white; }
.icon-action.danger { color: #ff8089; }
.heading-count { color: var(--red-2); font-size: 12px; }
.inline-create { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 15px; }
.inline-create input { min-width: 0; flex: 1; padding: 9px; border: 1px solid #343b47; border-radius: 7px; color: white; background: #0f1217; }
.inline-create input[type=file] { max-width: 190px; font-size: 10px; }
.inline-create .primary-button { padding: 8px 12px; }
.tag-list { display: flex; gap: 7px; flex-wrap: wrap; }
.manage-tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px 6px 10px; border: 1px solid #3a414d; border-radius: 6px; color: #b7bec8; font-size: 10px; }
.manage-tag form { display: inline; }
.manage-tag button { padding: 0; border: 0; color: #ff7782; background: transparent; }
.modal { display: none; position: fixed; inset: 0; z-index: 80; padding: 20px; place-items: center; background: rgba(0,0,0,.7); }
.modal.is-open { display: grid; }
.modal-card { width: min(470px, 100%); max-height: 90vh; overflow-y: auto; padding: 24px; border: 1px solid #474d59; border-radius: 14px; position: relative; background: #171a21; box-shadow: var(--shadow); }
.modal-card h2 { margin: 7px 0 16px; font-size: 19px; }
.modal-close { position: absolute; top: 12px; right: 15px; border: 0; color: #99a1ae; background: transparent; font-size: 23px; }
.modal-copy { padding: 12px; border: 1px solid #303640; border-radius: 8px; color: #aab3bf; font-size: 11px; }
.compact-filter { padding-bottom: 11px; margin-bottom: 7px; border-bottom: 1px solid #292f38; }
.compact-filter input { flex: 1; }
.inline-form { display: flex; align-items: center; gap: 7px; }
.inline-form select, .ticket-controls select, .reply-actions select { padding: 7px 8px; border: 1px solid #3a414d; border-radius: 6px; color: #dfe2e7; background: #101319; font-size: 10px; }
.action-label { color: #e8a7ad; font-family: ui-monospace, monospace; font-size: 10px; }
.log-meta { display: block; max-width: 230px; overflow: hidden; color: #8f99a7; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.settings-form { display: grid; gap: 17px; }
.setting-check { align-self: end; height: 40px; }
.api-dashboard { display: flex; flex-direction: column; gap: 18px; }
.api-dashboard > * { margin-bottom: 0 !important; }
.api-dashboard > .page-intro { order: -2; padding: 2px 1px 0; }
.api-dashboard > .panel, .api-dashboard > .metric-strip { box-shadow: 0 12px 34px rgba(0,0,0,.12); }
.api-dashboard .panel-heading { align-items: flex-start; }
.api-dashboard .api-actions { align-items: center; }
.api-dashboard .api-actions form { margin: 0; }
.api-dashboard .api-actions .primary-button, .api-dashboard .api-actions .outline-button { min-height: 38px; }
.api-dashboard .api-metrics { min-width: 0; }
.api-dashboard .api-metrics strong { overflow-wrap: anywhere; font-size: 14px; }
.callback-box { padding: 15px; border: 1px solid #3a3038; border-radius: 9px; background: #18151b; }
.callback-box > strong, .callback-box > span { display: block; }
.callback-box > strong { margin-bottom: 4px; font-size: 12px; }
.callback-box > span { margin: 3px 0 12px; color: #8f98a6; font-size: 10px; }
.callback-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.callback-routes code { display: block; padding: 8px 9px; border: 1px solid #393e49; border-radius: 5px; color: #d8a9ae; background: #111319; font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }
.api-actions, .sync-form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.api-dashboard { min-width: 0; max-width: 100%; overflow-x: hidden; }
.api-dashboard .api-response-success,
.api-dashboard .api-response-error,
.api-dashboard .api-details { min-width: 0; max-width: 100%; overflow: hidden; }
.api-dashboard .api-response-pre { box-sizing: border-box; display: block; width: 100%; max-width: 100%; min-width: 0; max-height: 440px; margin: 10px 0 0; padding: 12px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
.gsc-production-test-panel .form-grid { align-items: end; }
.gsc-production-test-panel .launch-test-action { min-height: 72px; }
.gsc-production-test-metrics { margin: 14px 0; width: 100%; }
.gsc-production-test-metrics strong { overflow-wrap: anywhere; }
.gsc-production-test-metrics .small-button { margin-left: 5px; padding: 3px 7px; vertical-align: middle; }
.api-provider-panel { background: linear-gradient(135deg, #15171e, #191319); }
.api-provider-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.api-provider-item { min-width: 0; padding: 13px 14px; border: 1px solid #343844; border-radius: 9px; background: rgba(7,8,11,.28); }
.api-provider-item small, .api-provider-item strong, .api-provider-item a { display: block; }
.api-provider-item small { margin-bottom: 4px; color: #7f8998; font-size: 10px; }
.api-provider-item strong, .api-provider-item a { overflow-wrap: anywhere; font-size: 12px; }
.api-provider-item a { color: var(--red-2); font-weight: 700; }
.vendor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.vendor-card { padding: 11px; border: 1px solid #333944; border-radius: 8px; background: #171a20; }
.vendor-card strong, .vendor-card small { display: block; }
.vendor-card strong { color: #eceef1; font-size: 11px; }
.vendor-card small { margin-top: 4px; color: #7f8896; font-size: 9px; }
@media (max-width: 800px) {
  .callback-routes { grid-template-columns: 1fr; }
  .api-provider-grid { grid-template-columns: 1fr; }
  .vendor-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .vendor-grid { grid-template-columns: 1fr; }
}

.auth-page, .install-page { min-height: 100vh; display: grid; place-items: center; padding: 30px 15px; background: radial-gradient(circle at 50% 0%, rgba(237,28,47,.14), transparent 42%), #08090d; }
.auth-card, .install-card { width: min(460px, 100%); padding: 30px; border: 1px solid #373d48; border-radius: 16px; background: #13161d; box-shadow: var(--shadow); }
.auth-brand, .install-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 25px; }
.auth-card h1, .install-card h1 { margin: 0 0 7px; font-size: 24px; }
.auth-card > p, .install-card > p { margin: 0 0 23px; color: #8d96a4; font-size: 12px; }
.auth-form, .install-form { display: grid; gap: 14px; }
.auth-form label, .install-form label { display: grid; gap: 6px; color: #b5bdc8; font-size: 11px; font-weight: 700; }
.auth-form input, .install-form input { padding: 11px; border: 1px solid #3a414d; border-radius: 7px; color: white; background: #0f1217; }
.auth-footer { margin-top: 18px; color: #858f9d; text-align: center; font-size: 11px; }
.auth-footer a { color: var(--red-2); font-weight: 700; }
.install-card { width: min(720px, 100%); }
.install-form { grid-template-columns: 1fr 1fr; }
.form-section { padding: 17px; border: 1px solid #303640; border-radius: 10px; display: grid; gap: 12px; }
.form-section h2 { margin: 0; font-size: 14px; }
.install-form > .full { grid-column: 1 / -1; }

@media (max-width: 1150px) {
  .public-game-grid { grid-template-columns: repeat(4, 1fr); }
  .dashboard-sidebar { width: 225px; flex-basis: 225px; }
  .catalog-grid { grid-template-columns: repeat(3, 1fr); }
  .form-grid.three { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 800px) {
  .site-header { padding: 0 17px; gap: 18px; }
  .public-nav { display: none; }
  .header-actions { margin-left: auto; }
  .header-user { display: none; }
  .public-content, .public-footer { width: min(100% - 28px, 620px); }
  .public-hero { min-height: 390px; padding: 28px 25px; align-items: flex-start; }
  .hero-copy h1 { font-size: 43px; }
  .hero-offer { position: absolute; right: 20px; bottom: 35px; width: 145px; }
  .public-jackpot { flex-wrap: wrap; }
  .public-jackpot-value { margin-left: 0; }
  .mini-outline { margin-left: auto; }
  .public-game-grid { grid-template-columns: repeat(3, 1fr); }
  .public-promo-grid { grid-template-columns: 1fr; }
  .benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .benefit-grid > div:nth-child(2) { border-right: 0; }
  .public-footer { grid-template-columns: repeat(2, 1fr); gap: 25px; }
  .public-footer > div:first-child { grid-column: 1 / -1; }
  .dashboard-sidebar { position: fixed; left: -260px; width: 250px; transition: left .25s ease; }
  .dashboard-sidebar.is-open { left: 0; box-shadow: 20px 0 50px rgba(0,0,0,.45); }
  .sidebar-close, .sidebar-toggle { display: block; }
  .sidebar-toggle { margin-right: 5px; font-size: 21px; }
  .dashboard-topbar { padding: 0 17px; }
  .dashboard-topbar > div:first-of-type { flex: 1; }
  .top-user > span:last-of-type, .top-user { font-size: 0; }
  .top-user .avatar-circle { font-size: 12px; }
  .dashboard-content { padding: 22px 17px 45px; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid.two-columns, .support-layout { grid-template-columns: 1fr; }
  .quick-grid { grid-template-columns: 1fr; }
  .catalog-filter { display: block; }
  .filter-search { min-width: 0; }
  .page-intro { align-items: flex-start; }
  .wallet-balance { align-items: flex-start; flex-direction: column; gap: 18px; }
  .wallet-balance-actions { width: 100%; }
  .wallet-balance-actions > * { flex: 1; }
  .metric-strip { display: grid; grid-template-columns: repeat(3, 1fr); }
  .metric-strip > div { padding: 0 10px; }
}
@media (max-width: 520px) {
  body { font-size: 13px; }
  .brand-lockup { font-size: 16px; }
  .site-header .primary-button, .site-header .outline-button { padding: 8px 11px; font-size: 11px; }
  .public-hero { min-height: 410px; padding: 26px 20px; }
  .hero-copy h1 { font-size: 35px; }
  .hero-offer { right: 15px; bottom: 35px; }
  .public-jackpot { padding: 13px; }
  .public-jackpot-value { width: 100%; font-size: 20px; }
  .mini-outline { margin-left: 0; }
  .public-section { padding: 14px; }
  .public-game-grid { grid-template-columns: repeat(2, 1fr); }
  .public-game-art { min-height: 110px; }
  .benefit-grid > div { padding: 13px 12px; }
  .public-footer { width: calc(100% - 28px); padding-top: 30px; grid-template-columns: 1fr 1fr; }
  .dashboard-topbar h1 { font-size: 15px; }
  .breadcrumb { display: none; }
  .dashboard-top-actions { gap: 10px; }
  .stat-grid, .form-grid.two, .form-grid.three, .promo-card-grid { grid-template-columns: 1fr; }
  .stat-card strong { font-size: 17px; }
  .welcome-banner, .catalog-hero, .page-intro { align-items: flex-start; flex-direction: column; }
  .welcome-actions { width: 100%; }
  .welcome-actions > * { flex: 1; }
  .catalog-count { text-align: left; }
  .metric-strip { gap: 15px; grid-template-columns: 1fr; }
  .metric-strip > div, .metric-strip > div:first-child { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid #31343d; }
  .metric-strip > div:last-child { padding-bottom: 0; border-bottom: 0; }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .catalog-art { min-height: 120px; }
  .panel { padding: 15px; }
  .reply-actions { flex-wrap: wrap; justify-content: flex-start; }
  .reply-actions .primary-button { margin-left: auto; }
  .install-form { grid-template-columns: 1fr; }
  .install-form > .full { grid-column: auto; }
}

/* Dashboard Compact UI Refinement V9 */
.dashboard-shell {
  --dash-gap: 12px;
  font-size: 13px;
  background: #0a0c10;
}
.dashboard-sidebar {
  width: 224px;
  flex-basis: 224px;
  background: #0f1116;
}
.sidebar-brand {
  min-height: 62px;
  padding: 0 16px;
}
.dashboard-sidebar .brand-lockup { gap: 8px; font-size: 16px; }
.dashboard-sidebar .brand-mark { width: 30px; height: 34px; font-size: 13px; }
.sidebar-profile {
  gap: 9px;
  margin: 12px 11px 10px;
  padding: 9px 10px;
  border-radius: 9px;
}
.sidebar-profile .avatar-circle { width: 30px; height: 30px; font-size: 11px; }
.sidebar-profile strong { max-width: 135px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.sidebar-profile small { font-size: 9px; }
.sidebar-label { margin: 4px 0 5px; padding: 0 15px; font-size: 9px; letter-spacing: .9px; }
.dashboard-nav { padding: 0 8px; }
.dashboard-nav a {
  gap: 9px;
  margin: 2px 0;
  padding: 7px 9px;
  border-radius: 7px;
  font-size: 11px;
  line-height: 1.25;
}
.nav-icon { width: 16px; font-size: 12px; }
.nav-count { padding: 1px 5px; font-size: 9px; }
.sidebar-bottom { padding: 11px 15px 15px; }
.sidebar-bottom a { padding: 4px 0; font-size: 10px; }

.dashboard-topbar {
  min-height: 62px;
  padding: 0 20px;
  gap: 14px;
  background: rgba(10,12,16,.92);
}
.breadcrumb { font-size: 9px; line-height: 1.2; }
.dashboard-topbar h1 { margin-top: 1px; font-size: 16px; line-height: 1.2; }
.dashboard-top-actions { gap: 12px; }
.top-icon { font-size: 16px; }
.top-user { gap: 7px; font-size: 11px; }
.avatar-circle.small { width: 26px; height: 26px; font-size: 10px; }

.dashboard-content {
  width: 100%;
  max-width: 1600px;
  padding: 18px 20px 34px;
}
.dashboard-content > *:first-child { margin-top: 0; }
.flash { margin-bottom: var(--dash-gap); padding: 9px 12px; border-radius: 7px; font-size: 11px; }

.welcome-banner {
  min-height: 94px;
  margin-bottom: var(--dash-gap);
  padding: 15px 18px;
  border-radius: 11px;
  gap: 14px;
}
.welcome-banner .eyebrow { font-size: 9px; letter-spacing: 1.2px; }
.welcome-banner h2 { margin: 3px 0 2px; font-size: 19px; line-height: 1.25; }
.welcome-banner p { font-size: 10px; }
.welcome-actions { gap: 7px; }
.welcome-banner .primary-button,
.welcome-banner .outline-button { padding: 7px 11px; border-radius: 7px; font-size: 10px; box-shadow: none; }

.stat-grid {
  gap: 10px;
  margin-bottom: var(--dash-gap);
}
.stat-card {
  min-height: 88px;
  padding: 12px 13px;
  gap: 10px;
  border-radius: 10px;
  align-items: flex-start;
}
.stat-icon {
  flex-basis: 31px;
  width: 31px;
  height: 31px;
  font-size: 14px;
}
.stat-card small { font-size: 9px; line-height: 1.25; }
.stat-card strong { margin: 2px 0; font-size: 16px; line-height: 1.25; }
.stat-card a, .stat-note { font-size: 9px; line-height: 1.35; }

.metric-strip {
  gap: 0;
  margin-bottom: var(--dash-gap);
  padding: 11px 14px;
  border-radius: 9px;
}
.metric-strip > div { padding: 0 14px; }
.metric-strip small { font-size: 9px; }
.metric-strip strong { margin-top: 1px; font-size: 13px; line-height: 1.3; }

.dashboard-grid {
  gap: var(--dash-gap);
  margin-bottom: var(--dash-gap);
}
.dashboard-grid.two-columns { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr); }
.panel {
  padding: 14px;
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(0,0,0,.07);
}
.dashboard-content > .panel { margin-bottom: var(--dash-gap); }
.panel-heading { gap: 12px; margin-bottom: 10px; }
.panel-heading h2 { margin-top: 1px; font-size: 14px; line-height: 1.25; }
.panel-kicker { font-size: 8px; letter-spacing: 1px; }
.text-link { font-size: 10px; white-space: nowrap; }
.muted-text { font-size: 10px; }

.table-wrap { border-radius: 7px; }
.data-table th { padding: 7px 8px; font-size: 9px; }
.data-table td { padding: 8px; font-size: 10px; line-height: 1.35; }
.table-sub { margin-top: 1px; font-size: 8px; }
.status { padding: 3px 6px; border-radius: 4px; font-size: 8px; line-height: 1.2; }

.recent-game-list, .mini-list { gap: 3px; }
.recent-game, .mini-list-row { gap: 8px; padding: 7px; border-radius: 7px; }
.recent-game-art { width: 42px; height: 31px; flex-basis: 42px; }
.recent-game strong, .mini-list-row strong { font-size: 10px; }
.recent-game small, .mini-list-row small { font-size: 8px; }
.chevron { font-size: 16px; }

.quick-grid { gap: 9px; }
.admin-quick-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quick-action {
  gap: 9px;
  padding: 10px 11px;
  border-radius: 9px;
}
.quick-action > span {
  flex-basis: 29px;
  width: 29px;
  height: 29px;
  font-size: 13px;
}
.quick-action strong { font-size: 10px; line-height: 1.3; }
.quick-action small { margin-top: 1px; font-size: 8px; line-height: 1.3; }
.quick-action > b { font-size: 11px; }

.page-intro { margin-bottom: 12px; gap: 12px; }
.page-intro h2 { margin-top: 1px; font-size: 20px; line-height: 1.2; }
.page-intro p { margin-top: 3px; font-size: 10px; }
.count-chip, .secure-label { padding: 5px 8px; font-size: 9px; }

.catalog-filter { gap: 9px; margin-bottom: 12px; padding: 9px; border-radius: 9px; }
.category-pills, .filter-tabs { gap: 5px; margin: 10px 0; }
.category-pills a, .filter-tabs a { padding: 6px 9px; border-radius: 6px; font-size: 9px; }
.filter-search, .toolbar-form, .compact-filter { gap: 5px; }
.filter-search input, .toolbar-form input, .toolbar-form select, .compact-filter input, .compact-filter select { padding: 7px 8px; font-size: 10px; }
.toolbar-form { margin-bottom: 12px; }
.toolbar-form input { min-width: 210px; }
.toolbar-form select { min-width: 125px; }

.wallet-balance {
  margin-bottom: 12px;
  padding: 16px 18px;
  border-radius: 11px;
}
.wallet-balance small { margin-top: 2px; font-size: 9px; }
.wallet-balance strong { margin-top: 1px; font-size: 22px; }
.wallet-balance p { margin-top: 1px; font-size: 9px; }
.wallet-balance-actions { gap: 7px; }

.stack-form, .settings-form { gap: 11px; }
.form-grid { gap: 9px; }
.stack-form label, .form-grid label { gap: 4px; font-size: 10px; }
.stack-form input, .stack-form select, .stack-form textarea,
.form-grid input, .form-grid select, .form-grid textarea, .settings-form textarea {
  padding: 8px 9px;
  border-radius: 6px;
  font-size: 10px;
}
.setting-check { height: 35px; }
.inline-create { gap: 5px; margin-bottom: 10px; }
.inline-create input { padding: 7px 8px; font-size: 10px; }

.support-layout { gap: 12px; margin-bottom: 12px; }
.ticket-list { min-height: 260px; }
.ticket-row { padding: 9px 6px; }
.ticket-row strong { font-size: 10px; }
.ticket-row small { margin-top: 2px; font-size: 8px; }
.conversation { max-height: 430px; gap: 7px; padding-bottom: 8px; }
.message-bubble { padding: 8px 10px; border-radius: 8px 8px 8px 2px; }
.message-bubble.from-admin { border-radius: 8px 8px 2px 8px; }
.message-bubble strong { font-size: 9px; }
.message-bubble small { font-size: 8px; }
.message-bubble p { margin-top: 4px; font-size: 10px; }
.reply-box { padding-top: 9px; }
.reply-box textarea { padding: 8px; font-size: 10px; }
.new-ticket-panel { margin-top: 12px; }

.api-dashboard { gap: 12px; }
.api-dashboard > .panel, .api-dashboard > .metric-strip { box-shadow: 0 7px 24px rgba(0,0,0,.09); }
.api-dashboard .api-actions .primary-button, .api-dashboard .api-actions .outline-button { min-height: 32px; }
.api-actions, .sync-form { gap: 6px; margin-top: 10px; }
.callback-box { padding: 11px; border-radius: 8px; }
.callback-box > strong { font-size: 11px; }
.callback-box > span { margin: 2px 0 8px; font-size: 9px; }
.callback-routes { gap: 6px; margin-top: 7px; }
.callback-routes code { padding: 6px 7px; font-size: 8px; }
.api-provider-grid { gap: 7px; }
.api-provider-item { padding: 9px 10px; border-radius: 7px; }
.api-provider-item small { margin-bottom: 2px; font-size: 9px; }
.api-provider-item strong, .api-provider-item a { font-size: 10px; }
.vendor-grid { gap: 6px; }
.vendor-card { padding: 8px; border-radius: 7px; }
.vendor-card strong { font-size: 10px; }
.vendor-card small { margin-top: 2px; font-size: 8px; }

.dashboard-shell .primary-button { padding: 7px 11px; border-radius: 7px; font-size: 10px; }
.dashboard-shell .outline-button { padding: 7px 11px; border-radius: 7px; font-size: 10px; }
.dashboard-shell .small-button { padding: 6px 9px; border-radius: 6px; font-size: 10px; }
.dashboard-shell .icon-action { width: 27px; height: 27px; font-size: 12px; }

@media (max-width: 1250px) {
  .dashboard-sidebar { width: 210px; flex-basis: 210px; }
  .admin-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-grid.two-columns { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); }
}
@media (max-width: 900px) {
  .dashboard-sidebar { width: 240px; flex-basis: 240px; }
  .dashboard-content { padding: 15px 14px 28px; }
  .dashboard-topbar { min-height: 58px; padding: 0 14px; }
  .dashboard-grid.two-columns, .support-layout { grid-template-columns: 1fr; }
  .admin-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .dashboard-content { padding: 12px 11px 24px; }
  .dashboard-topbar { min-height: 54px; padding: 0 11px; }
  .dashboard-topbar h1 { font-size: 14px; }
  .welcome-banner { min-height: 0; padding: 13px; }
  .welcome-banner h2 { font-size: 17px; }
  .stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .stat-card { min-height: 80px; padding: 10px; }
  .metric-strip { gap: 9px; grid-template-columns: 1fr; padding: 10px 12px; }
  .metric-strip > div, .metric-strip > div:first-child { padding: 0 0 8px; border-right: 0; border-bottom: 1px solid #31343d; }
  .metric-strip > div:last-child { padding-bottom: 0; border-bottom: 0; }
  .quick-grid, .admin-quick-grid { grid-template-columns: 1fr; }
  .panel { padding: 11px; }
  .page-intro h2 { font-size: 17px; }
}
@media (max-width: 420px) {
  .stat-grid { grid-template-columns: 1fr; }
  .stat-card { min-height: 72px; }
  .welcome-actions { flex-wrap: wrap; }
}

/* OroPlay API Layout Refinement V10 */
.api-dashboard {
  gap: 10px;
}
.api-dashboard > .page-intro {
  order: initial;
  padding: 0;
}
.api-page-intro {
  min-height: 38px;
  margin-bottom: 0;
  align-items: center;
}
.api-page-intro h2 {
  font-size: 18px;
}
.api-page-intro .eyebrow {
  font-size: 8px;
  letter-spacing: 1px;
}
.api-page-intro p {
  max-width: 760px;
}
.api-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
  gap: 10px;
}
.api-overview-grid > .panel {
  margin: 0 !important;
}
.api-quick-panel,
.api-provider-panel,
.api-settings-panel {
  min-width: 0;
}
.api-quick-copy {
  margin: -2px 0 9px;
}
.api-quick-panel .api-metrics {
  margin: 0;
}
.api-quick-actions {
  margin-top: 9px;
}
.api-quick-actions > form,
.api-quick-actions > a {
  flex: 0 0 auto;
}
.api-provider-grid-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.api-provider-grid-compact .api-provider-wide {
  grid-column: 1 / -1;
}
.api-provider-grid-compact .api-provider-item {
  min-height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.api-settings-panel .panel-heading {
  margin-bottom: 9px;
}
.api-settings-form {
  gap: 10px;
}
.api-credentials-grid {
  align-items: end;
}
.api-enable-check {
  min-height: 35px;
  align-self: end;
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-content: flex-start;
  gap: 7px !important;
  padding: 0 2px;
}
.api-enable-check input {
  width: 14px !important;
  height: 14px;
  margin: 0;
  accent-color: var(--red);
}
.callback-box {
  padding: 12px;
  background: #15171d;
}
.callback-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}
.callback-heading > div > strong,
.callback-heading > div > span {
  display: block;
}
.callback-heading > div > strong {
  font-size: 11px;
}
.callback-heading > div > span {
  margin-top: 2px;
  color: #8f98a6;
  font-size: 9px;
  line-height: 1.4;
}
.api-callback-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.api-callback-grid > label:nth-child(1),
.api-callback-grid > label:nth-child(2),
.api-callback-grid > label:nth-child(3) {
  grid-column: span 2;
}
.api-callback-grid > label:nth-child(4),
.api-callback-grid > label:nth-child(5) {
  grid-column: span 3;
}
.label-optional {
  color: #727d8c;
  font-size: 8px;
  font-weight: 600;
}
.callback-route-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #2e343e;
}
.callback-route-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.callback-route-title strong {
  font-size: 10px;
}
.callback-route-title small {
  color: #7f8998;
  font-size: 8px;
}
.callback-routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 7px;
}
.callback-route-card {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #343b46;
  border-radius: 7px;
  background: #0f1217;
}
.callback-route-card > span,
.callback-route-card > code {
  display: block;
}
.callback-route-card > span {
  margin-bottom: 3px;
  color: #7f8998;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .55px;
}
.callback-route-card > code {
  padding: 0;
  border: 0;
  color: #e8a7ad;
  background: transparent;
  font-size: 9px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.api-save-row {
  display: flex;
  justify-content: flex-end;
  padding-top: 1px;
}
.api-save-row .primary-button {
  width: auto;
  min-width: 150px;
}
.api-tools-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #2b313a;
}
.api-tools-label {
  flex: 0 0 auto;
  color: #7f8998;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .8px;
}
.api-tools-row .api-actions {
  margin: 0;
  justify-content: flex-end;
}
.api-tools-row .api-actions form {
  margin: 0;
}

@media (max-width: 1180px) {
  .api-overview-grid {
    grid-template-columns: 1fr;
  }
  .api-provider-grid-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .api-provider-grid-compact .api-provider-wide {
    grid-column: auto;
  }
}

/* ===== V57: stable mobile account/dashboard destination ===== */
@media (max-width: 800px) {
  .dashboard-shell {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 100svh;
    overflow-x: clip;
  }

  .dashboard-shell .dashboard-sidebar {
    width: min(292px, 88vw);
    max-width: 88vw;
    flex: 0 0 auto;
  }

  .dashboard-shell .dashboard-main {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  .dashboard-shell .dashboard-topbar {
    min-width: 0;
    min-height: 62px;
    padding: 8px 12px;
    gap: 8px;
  }

  .dashboard-shell .dashboard-title-block {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
  }

  .dashboard-shell .dashboard-title-block h1 {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
  }

  .dashboard-shell .dashboard-top-actions {
    flex: 0 0 auto;
    min-width: 0;
    gap: 6px;
  }

  .dashboard-shell .top-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }

  .dashboard-shell .top-user {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 11px;
    background: rgba(255, 255, 255, .04);
    overflow: hidden;
  }

  .dashboard-shell .top-user > span:last-of-type,
  .dashboard-shell .top-user > :not(.avatar-circle) {
    display: none;
  }

  .dashboard-shell .top-user .avatar-circle {
    width: 27px;
    height: 27px;
    margin: 0;
    font-size: 11px;
  }

  .dashboard-shell .sidebar-toggle {
    width: 36px;
    height: 36px;
    margin: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 11px;
    background: #141923;
    color: #fff;
    font-size: 18px;
  }

  .dashboard-shell .dashboard-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 12px 10px 34px !important;
    overflow-x: clip;
  }

  .dashboard-shell .dashboard-content > *,
  .dashboard-shell .page-intro,
  .dashboard-shell .panel,
  .dashboard-shell .dashboard-grid,
  .dashboard-shell .form-grid,
  .dashboard-shell .stack-form,
  .dashboard-shell .panel-heading {
    min-width: 0;
    max-width: 100%;
  }

  .dashboard-shell .page-intro {
    gap: 10px;
    margin-bottom: 12px;
  }

  .dashboard-shell .page-intro h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: 19px;
    line-height: 1.2;
  }

  .dashboard-shell .page-intro p {
    max-width: 100%;
    font-size: 10px;
    line-height: 1.55;
  }

  .dashboard-shell .panel {
    padding: 13px !important;
    border-radius: 16px;
    overflow: hidden;
  }

  .dashboard-shell .panel-heading {
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 11px;
  }

  .dashboard-shell .panel-heading h2,
  .dashboard-shell .panel-heading h3 {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 15px;
    line-height: 1.25;
  }

  .dashboard-shell .form-grid,
  .dashboard-shell .form-grid.two,
  .dashboard-shell .form-grid.three,
  .dashboard-shell .dashboard-grid.two-columns {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .dashboard-shell .form-grid label,
  .dashboard-shell .stack-form label {
    min-width: 0;
    font-size: 10px;
  }

  .dashboard-shell input:not([type="checkbox"]):not([type="radio"]),
  .dashboard-shell select,
  .dashboard-shell textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-size: 11px;
  }

  .dashboard-shell textarea {
    min-height: 100px;
  }

  .dashboard-shell .profile-meta,
  .dashboard-shell .account-balance-box,
  .dashboard-shell .member-mini-stats {
    min-width: 0;
    max-width: 100%;
  }

  .dashboard-shell .member-finance-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px;
  }

  .dashboard-shell .member-finance-stats > span,
  .dashboard-shell .profile-meta > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dashboard-shell .account-action-grid,
  .dashboard-shell .account-action-grid.three-col {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  .dashboard-shell .account-action-grid > :last-child {
    grid-column: 1 / -1;
  }

  .dashboard-shell .account-action-grid .block {
    min-width: 0;
    white-space: nowrap;
  }

  .dashboard-shell .table-wrap,
  .dashboard-shell .operator-subnav,
  .dashboard-shell .data-table {
    max-width: 100%;
  }

  .dashboard-shell .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 380px) {
  .dashboard-shell .dashboard-topbar {
    padding-left: 8px;
    padding-right: 8px;
  }

  .dashboard-shell .dashboard-content {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .dashboard-shell .panel {
    padding: 11px !important;
  }

  .dashboard-shell .member-finance-stats {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 900px) {
  .api-callback-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .api-callback-grid > label:nth-child(n) {
    grid-column: span 1;
  }
  .api-callback-grid > label:nth-child(3) {
    grid-column: 1 / -1;
  }
  .callback-routes {
    grid-template-columns: 1fr;
  }
  .api-tools-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .api-tools-row .api-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 640px) {
  .api-page-intro {
    align-items: flex-start;
  }
  .api-page-intro .header-actions {
    width: 100%;
  }
  .api-provider-grid-compact,
  .api-callback-grid {
    grid-template-columns: 1fr;
  }
  .api-callback-grid > label:nth-child(n) {
    grid-column: auto;
  }
  .callback-heading,
  .callback-route-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .api-save-row {
    justify-content: stretch;
  }
  .api-save-row .primary-button {
    width: 100%;
  }
}

/* Dashboard readability + OroPlay diagnostics V11 */
.dashboard-sidebar .brand-lockup { font-size: 17px; }
.sidebar-profile strong { font-size: 12px; }
.sidebar-profile small { font-size: 10px; }
.sidebar-label { font-size: 10px; }
.dashboard-nav a { font-size: 12px; }
.nav-count { font-size: 10px; }
.sidebar-bottom a { font-size: 11px; }
.breadcrumb { font-size: 10px; }
.dashboard-topbar h1 { font-size: 18px; }
.top-user { font-size: 12px; }
.flash { font-size: 12px; line-height: 1.45; }
.welcome-banner .eyebrow { font-size: 10px; }
.welcome-banner p { font-size: 12px; line-height: 1.45; }
.welcome-banner .primary-button,
.welcome-banner .outline-button { font-size: 11.5px; }
.stat-card small { font-size: 10.5px; }
.stat-card strong { font-size: 18px; }
.stat-card a, .stat-note { font-size: 10.5px; }
.metric-strip small { font-size: 10.5px; }
.metric-strip strong { font-size: 14px; }
.panel-heading h2 { font-size: 16px; }
.panel-kicker { font-size: 9.5px; }
.text-link, .muted-text { font-size: 11.5px; }
.data-table th { font-size: 10.5px; }
.data-table td { font-size: 11.5px; line-height: 1.45; }
.table-sub { font-size: 9.5px; }
.status { font-size: 9.5px; }
.recent-game strong, .mini-list-row strong { font-size: 11.5px; }
.recent-game small, .mini-list-row small { font-size: 10px; }
.quick-action strong { font-size: 11.5px; }
.quick-action small { font-size: 10px; }
.page-intro p { font-size: 11.5px; line-height: 1.45; }
.count-chip, .secure-label { font-size: 10.5px; }
.category-pills a, .filter-tabs a { font-size: 10.5px; }
.filter-search input, .toolbar-form input, .toolbar-form select,
.compact-filter input, .compact-filter select { font-size: 11.5px; }
.stack-form label, .form-grid label { font-size: 11.5px; }
.stack-form input, .stack-form select, .stack-form textarea,
.form-grid input, .form-grid select, .form-grid textarea,
.settings-form textarea { font-size: 12px; }
.form-hint { font-size: 10px; line-height: 1.4; }
.ticket-row strong { font-size: 11.5px; }
.ticket-row small { font-size: 10px; }
.message-bubble strong { font-size: 10.5px; }
.message-bubble small { font-size: 9.5px; }
.message-bubble p, .reply-box textarea { font-size: 11.5px; }
.dashboard-shell .primary-button,
.dashboard-shell .outline-button,
.dashboard-shell .small-button { font-size: 11.5px; }

.api-page-intro h2 { font-size: 20px; }
.api-page-intro .eyebrow { font-size: 9.5px; }
.api-page-intro p { font-size: 11.5px; }
.api-dashboard .api-metrics strong { font-size: 14px; }
.api-provider-item small { font-size: 10.5px; }
.api-provider-item strong, .api-provider-item a { font-size: 12px; }
.callback-heading > div > strong { font-size: 12px; }
.callback-heading > div > span { font-size: 10.5px; }
.label-optional { font-size: 9.5px; }
.callback-route-title strong { font-size: 11.5px; }
.callback-route-title small { font-size: 10px; }
.callback-route-card > span { font-size: 9.5px; }
.callback-route-card > code { font-size: 10.5px; line-height: 1.45; }
.api-tools-label { font-size: 9.5px; }
.vendor-card strong { font-size: 11.5px; }
.vendor-card small { font-size: 10px; }

.api-response-panel {
  border-color: rgba(255, 70, 82, .48);
  background: linear-gradient(140deg, rgba(50, 15, 20, .42), #12151b 48%);
}
.api-response-heading {
  align-items: flex-start !important;
}
.api-response-heading p {
  margin: 4px 0 0;
  color: #aeb5c0;
  font-size: 11.5px;
  line-height: 1.45;
}
.api-error-badge {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid rgba(255, 70, 82, .55);
  border-radius: 7px;
  color: #ff929b;
  background: rgba(237, 28, 47, .12);
  font-size: 10.5px;
  font-weight: 800;
}
.api-response-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.api-response-meta > div,
.api-response-url,
.api-response-error-message {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #353b46;
  border-radius: 7px;
  background: #0e1116;
}
.api-response-meta small,
.api-response-url small {
  display: block;
  margin-bottom: 3px;
  color: #8c96a5;
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .45px;
}
.api-response-meta strong { font-size: 12px; overflow-wrap: anywhere; }
.api-response-url { margin-top: 8px; }
.api-response-url code {
  color: #f0c2c6;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.api-response-error-message {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 10px;
  margin-top: 8px;
  border-color: rgba(255, 70, 82, .35);
}
.api-response-error-message strong { color: #ff8d96; font-size: 11px; }
.api-response-error-message span { color: #e8eaee; font-size: 11.5px; line-height: 1.45; overflow-wrap: anywhere; }
.api-response-body-block {
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid #3b424f;
  border-radius: 8px;
  background: #090b0f;
}
.api-response-body-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-bottom: 1px solid #303641;
  background: #11141a;
}
.api-response-body-title strong { font-size: 11.5px; }
.api-response-body-title small { color: #8993a1; font-size: 9.5px; }
.api-response-body-block pre {
  margin: 0;
  max-height: 380px;
  overflow: auto;
  padding: 12px;
  color: #dfe5ec;
  background: transparent;
  font: 11.5px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 900px) {
  .api-response-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .api-response-meta { grid-template-columns: 1fr; }
  .api-response-error-message { grid-template-columns: 1fr; gap: 4px; }
  .api-response-body-title { align-items: flex-start; flex-direction: column; gap: 2px; }
}

/* OroPlay provider response trace V13 */
.api-response-panel.api-response-success {
  border-color: rgba(39, 201, 128, .42);
  background: linear-gradient(140deg, rgba(11, 55, 40, .30), #12151b 48%);
}
.api-success-badge {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid rgba(39, 201, 128, .48);
  border-radius: 7px;
  color: #72e7ae;
  background: rgba(39, 201, 128, .10);
  font-size: 10.5px;
  font-weight: 800;
}
.api-response-success-message {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 10px;
  margin-top: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(39, 201, 128, .30);
  border-radius: 7px;
  background: rgba(10, 35, 27, .48);
}
.api-response-success-message strong { color: #72e7ae; font-size: 11px; }
.api-response-success-message span { color: #e8eaee; font-size: 11.5px; line-height: 1.45; overflow-wrap: anywhere; }
.api-provider-response-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.api-provider-response-step {
  min-width: 0;
  padding: 10px;
  border: 1px solid #343b46;
  border-radius: 9px;
  background: rgba(8, 10, 14, .55);
}
.api-provider-response-step-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.api-provider-response-step-head > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.api-provider-response-step-head > div:first-child span {
  color: #87919f;
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .45px;
}
.api-provider-response-step-head > div:first-child strong {
  font-size: 12.5px;
  overflow-wrap: anywhere;
}
.api-provider-response-step-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.api-provider-response-step-status span {
  padding: 4px 7px;
  border: 1px solid #3b424e;
  border-radius: 6px;
  color: #c6ced8;
  background: #11151b;
  font-size: 9.5px;
  font-weight: 700;
}
.api-provider-request-meta {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 6px 10px;
  padding: 8px 9px;
  border: 1px solid #303743;
  border-radius: 7px;
  background: #0d1015;
  color: #b8c0ca;
  font-size: 10.5px;
  line-height: 1.45;
}
.api-provider-request-meta span { min-width: 0; overflow-wrap: anywhere; }
.api-provider-request-meta b { color: #87919f; margin-right: 5px; font-size: 9.5px; text-transform: uppercase; letter-spacing: .35px; }
.api-provider-request-meta code { color: #e5c4c7; font-size: 10.5px; overflow-wrap: anywhere; word-break: break-word; }
.api-provider-response-step .api-response-body-block { margin-top: 8px; }
.api-provider-response-step .api-response-body-title strong { font-size: 12px; }
.api-provider-response-step .api-response-body-title small { font-size: 10px; }
.api-provider-response-step .api-response-body-block pre {
  max-height: 460px;
  font-size: 12px;
  line-height: 1.6;
}
@media (max-width: 640px) {
  .api-response-success-message { grid-template-columns: 1fr; gap: 4px; }
  .api-provider-response-step-head { align-items: flex-start; flex-direction: column; }
  .api-provider-response-step-status { justify-content: flex-start; }
  .api-provider-request-meta { grid-template-columns: 1fr; }
}

/* V14 - OroPlay strict-guide diagnostics */
.api-guide-compliance {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #31513f;
  border-radius: 8px;
  background: rgba(19, 71, 44, .16);
}
.api-guide-compliance strong {
  font-size: 12.5px;
  color: #d8fbe8;
}
.api-guide-compliance span {
  color: #b8c9c0;
  font-size: 11.5px;
  line-height: 1.55;
}
.api-debug-details {
  margin-top: 8px;
  border: 1px solid #303743;
  border-radius: 8px;
  background: #0d1015;
  overflow: hidden;
}
.api-debug-details summary {
  cursor: pointer;
  padding: 9px 11px;
  color: #d7dde6;
  font-size: 11.5px;
  font-weight: 750;
  user-select: none;
}
.api-debug-details[open] summary {
  border-bottom: 1px solid #303743;
}
.api-debug-details .api-response-body-block {
  margin: 8px;
}
.api-response-panel .api-response-body-block pre {
  font-size: 13px;
  line-height: 1.62;
}
.api-response-panel .api-provider-request-meta {
  font-size: 11.5px;
  line-height: 1.55;
}
.api-response-panel .api-provider-request-meta b {
  font-size: 10px;
}

/* V15 OroPlay authentication diagnostics */
.api-auth-diagnosis{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:10px 0;border:1px solid rgba(248,113,113,.35);background:rgba(127,29,29,.12);border-radius:10px;font-size:13px;line-height:1.5}.api-auth-diagnosis strong{min-width:190px;color:#fca5a5}.api-auth-diagnosis span{color:#d1d5db}.api-provider-request-meta small{font-size:11px;color:#8b95a7}@media(max-width:760px){.api-auth-diagnosis{display:block}.api-auth-diagnosis strong{display:block;margin-bottom:5px}}

/* ===== V17 Frontend + live catalog polish ===== */
body { background:
  radial-gradient(circle at top center, rgba(176,18,32,.18), transparent 22%),
  linear-gradient(180deg, #0a0b0f 0%, #06070a 100%);
  color: #f5f7fb;
}
.public-shell { min-height: 100vh; }
.public-content.portal-home { width: min(1540px, calc(100% - 24px)); margin: 14px auto 32px; }
.site-header {
  width: min(1540px, calc(100% - 24px));
  margin: 14px auto 0;
  min-height: 72px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 0 18px;
  background: linear-gradient(180deg, rgba(10,11,14,.96), rgba(7,8,11,.96));
  box-shadow: 0 14px 32px rgba(0,0,0,.25);
}
.brand-lockup { font-size: 16px; gap: 12px; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; clip-path: polygon(25% 6%, 75% 6%, 94% 25%, 94% 75%, 75% 94%, 25% 94%, 6% 75%, 6% 25%); }
.public-nav { gap: 8px; }
.public-nav a {
  padding: 11px 14px;
  border-radius: 12px;
  color: #e2e4ea;
  font-size: 14px;
  font-weight: 700;
}
.public-nav a.active, .public-nav a:hover { background: rgba(255,255,255,.04); color: #fff; }
.public-nav a.active:after { display:none; }
.header-actions { gap: 10px; margin-left: auto; }
.top-circle, .locale-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px; background: rgba(255,255,255,.02);
  color: #fff;
}
.top-circle:hover, .locale-button:hover { border-color: rgba(255,70,82,.55); }
.flag-id, .flag-en { width: 16px; height: 12px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset; margin-right: 8px; display:inline-block; }
.flag-id { background: linear-gradient(#e11d2e 0 50%, #fff 50% 100%); }
.flag-en { background: linear-gradient(90deg, transparent 38%, #fff 38% 62%, transparent 62%), linear-gradient(0deg, transparent 34%, #fff 34% 66%, transparent 66%), #25459b; }
.locale-switcher { position: relative; }
.locale-switcher > summary { list-style: none; cursor: pointer; }
.locale-switcher > summary::-webkit-details-marker { display: none; }
.locale-options {
  position: absolute; top: calc(100% + 8px); right: 0; z-index: 50;
  min-width: 172px; padding: 6px;
  border: 1px solid rgba(255,255,255,.12); border-radius: 12px;
  background: #11151b; box-shadow: 0 18px 36px rgba(0,0,0,.35);
}
.locale-options a { display: block; padding: 9px 10px; border-radius: 8px; color: #cfd6df; font-size: 11px; white-space: nowrap; }
.locale-options a:hover, .locale-options a.active { color: #fff; background: rgba(237,28,47,.16); }
.dashboard-locale-switcher { flex: 0 0 auto; }
.standalone-locale-switcher { position: fixed; top: 18px; right: 18px; z-index: 100; }
.primary-button.compact, .outline-button.compact { padding: 10px 18px; min-height: 42px; }
.header-user { padding: 4px 8px 4px 4px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; background: rgba(255,255,255,.02); }
.header-user span { background: linear-gradient(180deg, #2d3442, #1a1f28); border-color: rgba(255,255,255,.08); }
.home-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr) 260px; gap: 16px; align-items: start; }
.portal-sidebar, .portal-main { min-width: 0; }
.portal-panel {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(17,19,25,.96), rgba(10,12,16,.96));
  box-shadow: 0 16px 34px rgba(0,0,0,.22);
}
.left-sidebar, .right-sidebar { display: grid; gap: 16px; }
.account-panel, .nav-side-panel, .support-card, .right-widget { padding: 18px; }
.account-panel-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.account-avatar, .account-popup-avatar {
  width: 54px; height: 54px; flex: 0 0 54px;
  display: grid; place-items: center; border-radius: 50%;
  background: linear-gradient(180deg, #2a2f38, #151922); border: 1px solid rgba(255,255,255,.08);
  font-size: 22px; font-weight: 800;
}
.account-panel-head strong { display:block; font-size: 20px; line-height:1.15; }
.account-panel-head small { display:block; margin-top: 4px; font-size: 13px; color: #9aa3b3; }
.account-action-stack, .account-action-grid { display: grid; gap: 10px; }
.account-action-grid { grid-template-columns: repeat(2, 1fr); }
.account-action-grid.three-col { grid-template-columns: repeat(3, 1fr); }
.primary-button.block, .outline-button.block { width: 100%; text-align: center; justify-content:center; }
.account-balance-box {
  display:grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
  margin-bottom: 12px;
}
.account-balance-box > div, .member-mini-stats span {
  padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
}
.account-balance-box span { display:block; color:#8f98a8; font-size:12px; }
.account-balance-box strong { display:block; margin-top:6px; font-size:18px; letter-spacing:-.02em; }
.member-mini-stats { display:grid; grid-template-columns: repeat(2,1fr); gap:10px; margin-bottom: 12px; }
.member-mini-stats span { color:#aeb7c4; font-size:12px; }
.member-mini-stats b { display:block; margin-top:5px; color:#fff; font-size:15px; }
.panel-title-mini, .panel-kicker, .eyebrow {
  color: #ff616e; text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 800;
}
.side-link-list { display:grid; gap: 8px; }
.side-link-list a {
  padding: 12px 14px; border-radius: 12px; font-size: 14px; font-weight: 700;
  color: #d6d9e1; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.02);
}
.side-link-list a.active, .side-link-list a:hover { color:#fff; border-color: rgba(255,70,82,.28); background: linear-gradient(90deg, rgba(255,38,58,.16), rgba(255,255,255,.02)); }
.support-card { display:grid; gap: 12px; }
.support-card strong { font-size: 18px; }
.support-card small { color:#9aa3b3; font-size:13px; }
.support-icon { font-size: 26px; }
.portal-main { display: grid; gap: 16px; }
.portal-hero {
  min-height: 270px; padding: 26px; overflow: hidden; position: relative;
  display:grid; grid-template-columns: minmax(0,1fr) 240px; gap: 18px; align-items: stretch;
  border: 1px solid rgba(255,255,255,.08); border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(7,8,11,.88) 0%, rgba(7,8,11,.58) 38%, rgba(7,8,11,.22) 100%),
    radial-gradient(circle at 80% 50%, rgba(255,34,55,.22), transparent 24%),
    var(--hero-image) center/cover no-repeat;
}
.portal-hero h1 { margin: 10px 0 10px; font-size: clamp(42px, 6vw, 74px); line-height: .95; letter-spacing: -.04em; text-transform: uppercase; }
.portal-hero p { max-width: 600px; margin: 0; color: #d0d5df; font-size: 22px; line-height: 1.45; }
.compact-hero h1 { font-size: clamp(36px, 5vw, 62px); }
.compact-hero p { font-size: 18px; }
.hero-actions-row { margin-top: 22px; display:flex; gap:12px; }
.outline-button.large, .primary-button.large { padding: 14px 20px; min-height: 48px; font-size: 15px; }
.hero-bonus-card {
  align-self: stretch; display:flex; flex-direction: column; justify-content: space-between;
  padding: 18px; border:1px solid rgba(255,255,255,.08); border-radius: 18px;
  background: linear-gradient(180deg, rgba(14,16,21,.92), rgba(18,11,13,.92));
}
.hero-bonus-card small { color:#cdd3de; font-size: 14px; }
.hero-bonus-card strong { font-size: 28px; line-height: 1.1; }
.hero-bonus-card strong b { display:block; font-size: 46px; color: #ff4755; }
.hero-bonus-card a { display:inline-flex; align-items:center; justify-content:center; min-height: 44px; padding: 10px 14px; border-radius: 12px; background: linear-gradient(180deg, #ff3446, #c51728); color:#fff; font-weight:800; }
.jackpot-strip {
  display:grid; grid-template-columns: 220px 1fr 210px; align-items:center; gap: 16px;
  padding: 18px 24px; border:1px solid rgba(255,70,82,.16); border-radius: 18px;
  background: linear-gradient(180deg, rgba(15,17,22,.96), rgba(8,10,14,.96));
}
.jackpot-label, .jackpot-meta { display:flex; align-items:center; gap: 12px; }
.jackpot-label span { font-size: 30px; }
.jackpot-label small, .jackpot-meta small { display:block; color:#b3bac7; font-size: 13px; }
.jackpot-label strong { display:block; font-size: 24px; text-transform: uppercase; }
.jackpot-value { text-align:center; }
.jackpot-value small { font-size: 18px; color:#e2e6ef; margin-right: 10px; }
.jackpot-value strong { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: clamp(26px, 4vw, 52px); letter-spacing: .02em; color:#fff; text-shadow: 0 0 18px rgba(255,50,67,.18); }
.jackpot-counter { display: inline-block; min-width: 13ch; font-variant-numeric: tabular-nums; will-change: transform, opacity; }
.jackpot-counter.is-ticking { animation: jackpot-counter-tick .42s ease-out; }
@keyframes jackpot-counter-tick {
  0% { transform: translateY(3px); opacity: .72; }
  100% { transform: translateY(0); opacity: 1; }
}
.winner-avatar-stack { display:flex; }
.winner-avatar-stack span { width: 34px; height: 34px; margin-left:-8px; border: 2px solid #0d1117; border-radius:50%; background: linear-gradient(180deg, #b14d58, #40364d); }
.winner-avatar-stack span:first-child { margin-left:0; }
.pill-toolbar {
  display:flex; gap: 12px; justify-content: space-between; align-items:center;
  padding: 14px 16px; border:1px solid rgba(255,255,255,.08); border-radius: 18px;
  background: linear-gradient(180deg, rgba(13,15,20,.94), rgba(9,10,14,.94));
}
.pill-list, .filter-tabs { display:flex; gap: 8px; flex-wrap: wrap; }
.pill-list a, .filter-tabs a {
  display:inline-flex; align-items:center; justify-content:center; min-height: 40px; padding: 10px 14px;
  border-radius: 12px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.02);
  color:#dbe0ea; font-size:13px; font-weight:800;
}
.pill-list a.active, .filter-tabs a.active, .pill-list a:hover, .filter-tabs a:hover {
  background: linear-gradient(180deg, #ff3043, #cc182b); border-color: transparent; color:#fff;
}
.toolbar-search, .filter-search {
  display:flex; align-items:center; gap: 10px; min-width: 270px; padding: 0 14px;
  border:1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.02);
}
.toolbar-search input, .filter-search input { width:100%; min-height:44px; border:0; color:#f4f6fa; background: transparent; }
.toolbar-search span, .filter-search span { color:#95a0b3; }
.filter-search button { border:0; background: transparent; color:#fff; font-weight:800; }
.game-showcase-panel, .catalog-panel.upgraded { padding: 18px; }
.section-head-row { display:flex; justify-content:space-between; align-items:center; gap: 12px; margin-bottom: 14px; }
.section-head-row h2, .section-head-row h3 { margin: 4px 0 0; }
.section-head-row.compact { margin-bottom: 12px; }
.view-all { color:#dfe4ee; font-size:13px; font-weight:800; }
.view-all:hover { color:#fff; }
.hot-games-grid {
  display:grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px;
}
.hot-game-card, .catalog-card.upgraded {
  overflow:hidden; border-radius: 16px; border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(16,18,24,.98), rgba(10,12,16,.98));
}
.game-thumb-box, .catalog-art.upgraded {
  position: relative; display:block; aspect-ratio: 1.15 / 1; padding: 8px;
  background: radial-gradient(circle at top, rgba(255,42,59,.10), transparent 46%), #0d1015;
}
.game-thumb-box img, .catalog-art.upgraded img {
  width: 100%; height: 100%; object-fit: contain; object-position: center;
  display:block; border-radius: 12px; background: #090b0f;
}
.game-badge {
  position:absolute; top: 10px; right: 10px; z-index:2;
  min-width: 42px; padding: 4px 8px; border-radius: 8px;
  background: linear-gradient(180deg, #ff4656, #d51628); color:#fff; font-size:11px; font-weight:900; text-align:center;
}
.game-badge.new { background: linear-gradient(180deg, #ffc93c, #e0a20b); color:#1c1300; }
.hot-game-meta, .catalog-card-body.upgraded {
  display:flex; justify-content:space-between; align-items:center; gap: 10px; padding: 12px;
}
.hot-game-meta strong, .catalog-copy strong { display:block; font-size: 15px; line-height:1.25; }
.hot-game-meta small, .catalog-copy span { display:block; margin-top:4px; color:#97a1b0; font-size: 12px; }
.mini-play-btn, .play-button {
  display:inline-flex; align-items:center; justify-content:center; min-height: 42px; padding: 10px 16px;
  border:0; border-radius: 12px; background: linear-gradient(180deg, #ff3446, #c9182a); color:#fff; font-weight:900;
}
.button-reset { border:0; }
.mini-play-btn:hover, .play-button:hover { filter:brightness(1.08); }
.favorite-form.floating { position:absolute; top: 10px; left: 10px; margin:0; }
.favorite-button {
  display:grid; place-items:center; width: 36px; height: 36px; border-radius:50%;
  border:1px solid rgba(255,255,255,.10); background: rgba(9,11,15,.7); color:#cdd4df;
}
.favorite-button.active { color:#ff5968; border-color: rgba(255,89,104,.35); }
.promo-banner-row { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.promo-banner-card {
  min-height: 136px; padding: 18px; display:flex; flex-direction:column; justify-content:space-between;
  border:1px solid rgba(255,70,82,.16); border-radius: 18px;
  background: radial-gradient(circle at 80% 24%, rgba(255,31,50,.22), transparent 22%), linear-gradient(180deg, rgba(25,15,17,.96), rgba(13,12,16,.96));
}
.promo-banner-card small { display:block; color:#ff7a84; font-size: 12px; font-weight:800; letter-spacing:.06em; }
.promo-banner-card strong { display:block; margin-top: 8px; font-size: 24px; line-height:1.1; }
.promo-banner-card p { margin: 10px 0 0; color:#aeb5c3; font-size: 13px; }
.promo-banner-card a {
  align-self:flex-start; margin-top: 14px; padding: 10px 14px; border-radius: 12px; background: rgba(255,52,70,.12); border:1px solid rgba(255,70,82,.24); color:#fff; font-weight:800;
}
.right-widget h3 { margin:0; font-size: 18px; }
.event-stack, .winner-list-side { display:grid; gap: 10px; }
.event-item, .winner-side-row {
  display:flex; gap: 12px; align-items:flex-start; padding: 12px; border-radius: 14px;
  border:1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.02);
}
.event-item strong, .winner-side-row strong { display:block; font-size: 14px; }
.event-item small, .winner-side-row small { display:block; margin-top:4px; color:#96a0af; font-size: 12px; }
.winner-side-row span { font-size: 18px; }
.provider-logo-grid {
  display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
}
.provider-logo-grid span {
  min-height: 50px; padding: 10px 12px; display:grid; place-items:center; text-align:center;
  border:1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.02);
  font-size: 13px; font-weight: 800; color:#f4f7fd;
}
.download-widget p { color:#9da7b6; font-size: 13px; }
.download-cta-box { display:flex; gap: 12px; align-items:center; }
.download-buttons-mini { display:grid; gap: 8px; flex:1; }
.download-buttons-mini span, .qr-box {
  min-height: 42px; padding: 10px 12px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.02);
}
.qr-box { width: 84px; flex:0 0 84px; font-size: 24px; font-weight: 900; }
.account-popup-card { display:grid; justify-items:center; text-align:center; gap: 10px; }
.account-popup-card strong { font-size: 18px; }
.account-popup-card small { color:#92a0b1; }
.mobile-bottom-dock {
  position: sticky; bottom: 12px; z-index: 15; display:none;
  margin: 18px auto 0; width:min(480px, calc(100% - 12px));
  grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 8px;
  border:1px solid rgba(255,255,255,.08); border-radius: 22px; background: rgba(8,9,12,.92); backdrop-filter: blur(12px);
}
.mobile-bottom-dock a { min-height: 46px; display:grid; place-items:center; border-radius: 16px; color:#ccd2de; font-size:12px; font-weight:800; }
.mobile-bottom-dock a.active { background: linear-gradient(180deg, #ff3446, #c9182a); color:#fff; }
.public-footer.modern {
  width: min(1540px, calc(100% - 24px));
  margin: 30px auto 92px; padding: 24px; gap: 22px;
  border: 1px solid rgba(255,255,255,.08); border-radius: 20px;
  background: linear-gradient(180deg, rgba(14,16,21,.95), rgba(9,10,14,.95));
}
.footer-brand-block p { margin-top: 14px; max-width: 420px; color:#9ca6b6; font-size:13px; }
.modern-payment span { min-width: 74px; }
.catalog-hero.upgraded {
  margin-bottom: 14px; padding: 20px 22px; border:1px solid rgba(255,70,82,.16); border-radius: 18px;
  display:flex; justify-content:space-between; align-items:center; gap: 14px;
  background: linear-gradient(90deg, rgba(16,17,22,.96), rgba(39,10,18,.82));
}
.catalog-hero.upgraded h2 { margin: 6px 0 0; font-size: 30px; }
.catalog-hero.upgraded p { margin: 8px 0 0; color:#b4bcc9; font-size: 14px; }
.catalog-count strong { display:block; font-size: 40px; color:#ff4e5b; text-align:right; }
.catalog-count span { display:block; color:#9aa4b3; font-size: 12px; text-align:right; }
.catalog-filter.upgraded { margin-bottom: 14px; }
.catalog-grid.upgraded { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.api-launch-error { margin-bottom: 14px; }
.dashboard-content { font-size: 14px; }
@media (max-width: 1300px) {
  .home-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .right-sidebar { grid-column: span 2; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hot-games-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .site-header { padding: 12px 14px; gap: 12px; flex-wrap: wrap; }
  .public-nav { order: 3; width:100%; overflow:auto; padding-bottom: 2px; }
  .header-actions { margin-left: 0; flex-wrap: wrap; }
  .home-layout { grid-template-columns: 1fr; }
  .left-sidebar, .right-sidebar { grid-template-columns: 1fr; }
  .portal-hero { grid-template-columns: 1fr; min-height: 240px; }
  .jackpot-strip { grid-template-columns: 1fr; text-align:left; }
  .jackpot-value { text-align:left; }
  .pill-toolbar { flex-direction: column; align-items: stretch; }
  .toolbar-search, .filter-search { min-width: 0; width:100%; }
  .promo-banner-row, .catalog-grid.upgraded { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hot-games-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body { font-size: 15px; }
  .site-header { width: calc(100% - 12px); margin-top: 6px; min-height: auto; border-radius: 16px; }
  .brand-lockup { font-size: 15px; }
  .public-nav { display:none; }
  .header-actions { width:100%; justify-content: flex-end; }
  .top-circle { display:none; }
  .public-content.portal-home { width: calc(100% - 12px); margin-top: 10px; }
  .portal-hero { padding: 18px; border-radius: 18px; }
  .portal-hero h1 { font-size: 44px; }
  .portal-hero p, .compact-hero p { font-size: 15px; }
  .hero-bonus-card strong { font-size: 22px; }
  .hero-bonus-card strong b { font-size: 40px; }
  .account-panel-head strong { font-size: 18px; }
  .account-action-grid, .account-balance-box, .promo-banner-row, .catalog-grid.upgraded, .member-mini-stats { grid-template-columns: 1fr; }
  .hot-games-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hot-game-meta, .catalog-card-body.upgraded { align-items:flex-start; flex-direction: column; }
  .mini-play-btn, .play-button { width: 100%; }
  .mobile-bottom-dock { display:grid; }
  .public-footer.modern { width: calc(100% - 12px); margin-bottom: 96px; }
}

/* ===== V18 perfecting pass ===== */
.refined-home {
  --panel-bg: linear-gradient(180deg, rgba(16,18,24,.98), rgba(10,12,17,.98));
  --panel-line: rgba(255,255,255,.085);
  --soft-line: rgba(255,255,255,.06);
}
.refined-home.public-content.portal-home {
  width: min(1500px, calc(100% - 28px));
  margin-top: 18px;
}
.refined-home .home-layout {
  grid-template-columns: 260px minmax(0, 1fr) 240px;
  gap: 18px;
}
.refined-home .portal-sidebar,
.refined-home .portal-main {
  align-self: start;
}
.refined-home .left-sidebar,
.refined-home .right-sidebar {
  gap: 18px;
}
.refined-home .portal-panel {
  border-color: var(--panel-line);
  background: var(--panel-bg);
  border-radius: 20px;
}
.refined-home .account-panel,
.refined-home .nav-side-panel,
.refined-home .support-card,
.refined-home .right-widget { padding: 18px; }
.refined-home .account-panel-head { margin-bottom: 14px; }
.refined-home .account-panel-head strong {
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.refined-home .account-panel-head small { font-size: 12px; }
.refined-home .account-avatar {
  width: 50px; height: 50px; flex-basis: 50px;
  font-size: 20px;
}
.refined-home .account-balance-box,
.refined-home .member-mini-stats {
  gap: 10px;
}
.refined-home .account-balance-box > div,
.refined-home .member-mini-stats span {
  min-height: 76px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 16px;
  border-color: var(--soft-line);
}
.refined-home .account-balance-box strong { font-size: 15px; }
.refined-home .member-mini-stats b { font-size: 15px; }
.refined-home .account-action-grid { gap: 10px; }
.refined-home .nav-side-panel { padding-top: 16px; }
.refined-home .side-link-list { gap: 9px; }
.refined-home .side-link-list a {
  min-height: 44px;
  display: flex;
  align-items: center;
  border-radius: 14px;
  padding-inline: 14px;
}
.refined-home .support-card { gap: 10px; }
.refined-home .support-card strong { font-size: 16px; }
.refined-home .support-card small { font-size: 12px; line-height: 1.55; }
.refined-home .portal-main { gap: 18px; }
.refined-home .portal-hero {
  min-height: 286px;
  padding: 24px 24px 24px 28px;
  grid-template-columns: minmax(0, 1fr) 210px;
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(7,8,11,.94) 0%, rgba(7,8,11,.70) 40%, rgba(7,8,11,.38) 100%),
    radial-gradient(circle at 76% 42%, rgba(255,38,60,.20), transparent 24%),
    var(--hero-image) center/cover no-repeat;
}
.refined-home .portal-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  max-width: 620px;
}
.refined-home .portal-hero h1 {
  margin: 8px 0 10px;
  max-width: 560px;
  font-size: clamp(44px, 4.9vw, 68px);
  line-height: .95;
  letter-spacing: -.045em;
  word-break: break-word;
}
.refined-home .portal-hero p {
  max-width: 520px;
  font-size: 14px;
  line-height: 1.7;
  color: #d4d9e2;
}
.refined-home .hero-actions-row { margin-top: 18px; }
.refined-home .hero-bonus-card {
  border-color: rgba(255,255,255,.06);
  background: linear-gradient(180deg, rgba(19,20,27,.92), rgba(23,13,16,.92));
  padding: 16px;
}
.refined-home .hero-bonus-card small { font-size: 13px; }
.refined-home .hero-bonus-card strong { font-size: 20px; }
.refined-home .hero-bonus-card strong b { font-size: 30px; }
.refined-home .hero-bonus-card a { min-height: 40px; border-radius: 14px; }
.refined-home .jackpot-strip {
  grid-template-columns: 230px minmax(0, 1fr) 170px;
  gap: 14px;
  padding: 18px 22px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.refined-home .jackpot-strip:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,34,52,.08), transparent 24%, transparent 76%, rgba(255,34,52,.04));
  pointer-events: none;
}
.refined-home .jackpot-label,
.refined-home .jackpot-value,
.refined-home .jackpot-meta { position: relative; z-index: 1; }
.refined-home .jackpot-label strong { font-size: 20px; }
.refined-home .jackpot-value { text-align: left; }
.refined-home .jackpot-value small { font-size: 16px; margin-right: 8px; }
.refined-home .jackpot-value strong {
  font-size: clamp(24px, 3.1vw, 48px);
  line-height: 1;
}
.refined-home .jackpot-meta { justify-content: flex-end; }
.refined-home .winner-avatar-stack span { width: 28px; height: 28px; }
.refined-home .pill-toolbar {
  gap: 12px;
  padding: 12px 14px;
  border-radius: 20px;
  position: relative;
  z-index: 2;
}
.refined-home .pill-list,
.catalog-filter.upgraded .filter-tabs {
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.refined-home .pill-list::-webkit-scrollbar,
.catalog-filter.upgraded .filter-tabs::-webkit-scrollbar { display: none; }
.refined-home .pill-list a,
.catalog-filter.upgraded .filter-tabs a {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 14px;
  font-size: 13px;
}
.refined-home .toolbar-search,
.catalog-filter.upgraded .filter-search {
  min-width: 250px;
  border-radius: 16px;
}
.refined-home .toolbar-search input,
.catalog-filter.upgraded .filter-search input {
  font-size: 13px;
}
.refined-home .game-showcase-panel,
.catalog-panel.upgraded {
  padding: 18px;
  border-radius: 20px;
}
.refined-home .section-head-row,
.catalog-panel.upgraded .panel-heading {
  margin-bottom: 16px;
}
.refined-home .section-head-row h2,
.catalog-panel.upgraded .panel-heading h2 { font-size: 18px; }
.refined-home .hot-games-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.refined-home .hot-game-card,
.catalog-card.upgraded {
  border-radius: 18px;
  border-color: var(--panel-line);
}
.refined-home .game-thumb-box,
.catalog-art.upgraded {
  aspect-ratio: 1 / 1;
  padding: 10px;
}
.refined-home .game-thumb-box img,
.catalog-art.upgraded img {
  object-fit: contain;
  border-radius: 14px;
}
.refined-home .hot-game-meta,
.catalog-card-body.upgraded {
  padding: 12px;
  gap: 12px;
}
.refined-home .hot-game-meta strong,
.catalog-copy strong {
  font-size: 14px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.refined-home .hot-game-meta small,
.catalog-copy span {
  font-size: 11px;
  line-height: 1.45;
}
.refined-home .mini-play-btn,
.play-button {
  min-width: 74px;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 14px;
  white-space: nowrap;
}
.refined-home .promo-banner-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.refined-home .promo-banner-card {
  min-height: 148px;
  padding: 18px;
  border-radius: 18px;
}
.refined-home .promo-banner-card strong { font-size: 22px; }
.refined-home .promo-banner-card p { font-size: 12px; line-height: 1.6; }
.refined-home .right-widget { padding: 16px; }
.refined-home .section-head-row.compact h3 { font-size: 16px; }
.refined-home .event-stack,
.refined-home .winner-list-side,
.refined-home .provider-logo-grid { gap: 10px; }
.refined-home .event-item,
.refined-home .winner-side-row {
  padding: 12px;
  border-radius: 16px;
}
.refined-home .event-item strong,
.refined-home .winner-side-row strong { font-size: 13px; line-height: 1.4; }
.refined-home .event-item small,
.refined-home .winner-side-row small { font-size: 11px; }
.refined-home .provider-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.refined-home .provider-logo-grid span {
  min-height: 48px;
  border-radius: 14px;
  font-size: 12px;
}
.refined-home .download-widget p { font-size: 12px; line-height: 1.6; }
.refined-home .account-popup-card {
  min-height: 160px;
  align-content: center;
}
.refined-home .account-popup-card strong { font-size: 16px; }
.refined-home .account-popup-card small { font-size: 12px; }
.catalog-hero.upgraded {
  padding: 20px 22px;
  border-radius: 20px;
}
.catalog-hero.upgraded h2 { font-size: 26px; }
.catalog-grid.upgraded {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.catalog-card.upgraded .catalog-copy { min-width: 0; flex: 1; }
.catalog-card.upgraded .catalog-card-body.upgraded { align-items: center; }
.catalog-filter.upgraded {
  display:flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.catalog-filter.upgraded .filter-tabs { flex: 1; }
.catalog-filter.upgraded .filter-search { width: 320px; }
@media (max-width: 1440px) {
  .refined-home .home-layout { grid-template-columns: 250px minmax(0, 1fr) 230px; }
  .refined-home .hot-games-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1250px) {
  .refined-home .home-layout { grid-template-columns: 250px minmax(0, 1fr); }
  .refined-home .right-sidebar { grid-column: span 2; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .refined-home .portal-hero { grid-template-columns: minmax(0,1fr) 220px; }
}
@media (max-width: 1024px) {
  .refined-home.public-content.portal-home { width: calc(100% - 16px); }
  .refined-home .home-layout,
  .refined-home .right-sidebar { grid-template-columns: 1fr; }
  .refined-home .portal-hero { grid-template-columns: 1fr; }
  .refined-home .portal-hero h1 { font-size: clamp(36px, 8vw, 56px); max-width: none; }
  .refined-home .jackpot-strip,
  .catalog-filter.upgraded { grid-template-columns: 1fr; display:grid; }
  .refined-home .jackpot-meta { justify-content: flex-start; }
  .refined-home .hot-games-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px) {
  .refined-home .account-action-grid.three-col { grid-template-columns: 1fr; }
  .refined-home .hot-games-grid,
  .catalog-grid.upgraded,
  .refined-home .promo-banner-row,
  .refined-home .provider-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-filter.upgraded .filter-search { width: 100%; }
}
@media (max-width: 560px) {
  .refined-home.public-content.portal-home { width: calc(100% - 10px); margin-top: 10px; }
  .refined-home .home-layout { gap: 14px; }
  .refined-home .portal-hero,
  .refined-home .jackpot-strip,
  .refined-home .pill-toolbar,
  .refined-home .game-showcase-panel,
  .catalog-panel.upgraded,
  .catalog-hero.upgraded,
  .refined-home .portal-panel { border-radius: 18px; }
  .refined-home .portal-hero { padding: 18px; min-height: auto; }
  .refined-home .portal-hero p { font-size: 13px; }
  .refined-home .hero-bonus-card strong b { font-size: 28px; }
  .refined-home .hot-games-grid,
  .catalog-grid.upgraded,
  .refined-home .promo-banner-row,
  .refined-home .provider-logo-grid,
  .refined-home .member-mini-stats,
  .refined-home .account-balance-box { grid-template-columns: 1fr; }
  .refined-home .hot-game-meta,
  .catalog-card-body.upgraded { flex-direction: column; align-items: stretch; }
  .refined-home .mini-play-btn,
  .play-button { width: 100%; }
}

/* ===== V19 menu routing + unified member pages ===== */
.site-header .public-nav {
  align-self: stretch;
  display: flex;
  align-items: center;
  min-width: 0;
}
.site-header .public-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 15px;
}
.site-header .public-nav a.active {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 8px 18px rgba(0,0,0,.14);
}
.refined-home .nav-side-panel {
  overflow: hidden;
}
.refined-home .side-link-list a.active {
  box-shadow: inset 3px 0 #ff3043;
}
.refined-home .portal-hero {
  grid-template-columns: minmax(0, 1fr) 190px;
  background-position: 62% center;
}
.refined-home .hero-bonus-card {
  width: 190px;
  justify-self: end;
  margin: 4px;
}
.portal-subpage .home-layout {
  grid-template-columns: 240px minmax(0, 1fr) 220px;
  align-items: start;
}
.portal-subpage .portal-main {
  min-width: 0;
}
.portal-subpage .catalog-hero.upgraded {
  min-height: 132px;
}
.portal-subpage .full-catalog-panel {
  min-height: 420px;
}
.portal-subpage .full-catalog-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
}
.portal-subpage .provider-logo-grid a {
  min-height: 46px;
  padding: 10px 12px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
  color: #eef2f9;
  font-size: 12px;
  font-weight: 800;
}
.portal-subpage .provider-logo-grid a:hover {
  border-color: rgba(255,70,82,.35);
  background: rgba(255,52,70,.09);
}
.compact-links { margin-top: 12px; }
.compact-links a { min-height: 42px !important; }
.promo-page-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}
.promo-detail-card { overflow: hidden; }
.promo-detail-art {
  min-height: 170px;
  padding: 14px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: radial-gradient(circle at 80% 25%, rgba(255,38,56,.18), transparent 26%), #0c0e13;
}
.promo-detail-art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: .82;
}
.promo-detail-art:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(4,5,8,.82));
}
.promo-detail-art span {
  position: relative;
  z-index: 2;
  padding: 8px 12px;
  border-radius: 12px;
  background: linear-gradient(180deg,#ff3446,#c9182a);
  font-size: 14px;
  font-weight: 900;
}
.promo-detail-copy { padding: 18px; }
.promo-detail-copy h2 { margin: 6px 0 8px; font-size: 20px; }
.promo-detail-copy p { margin: 0; color: #aeb7c4; font-size: 13px; line-height: 1.65; }
.promo-detail-footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.promo-detail-footer small { color: #8f99aa; }
.portal-subpage .support-layout {
  grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr);
}
.portal-subpage .wallet-balance,
.portal-subpage .panel,
.portal-subpage .page-intro {
  border-radius: 18px;
}
.portal-subpage .catalog-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.portal-subpage .catalog-art {
  background-size: contain !important;
  background-repeat: no-repeat;
  background-position: center !important;
}
@media (max-width: 1280px) {
  .portal-subpage .home-layout { grid-template-columns: 230px minmax(0,1fr); }
  .portal-subpage .right-sidebar { grid-column: span 2; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-subpage .full-catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 960px) {
  .portal-subpage .home-layout,
  .portal-subpage .right-sidebar { grid-template-columns: 1fr; }
  .portal-subpage .full-catalog-grid,
  .portal-subpage .catalog-grid,
  .promo-page-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-subpage .support-layout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .portal-subpage .full-catalog-grid,
  .portal-subpage .catalog-grid,
  .promo-page-grid { grid-template-columns: 1fr; }
  .promo-detail-footer { align-items: stretch; flex-direction: column; }
}

/* ===== V20 Provider directory + dashboard live chat ===== */
.provider-directory { padding: 18px; }
.provider-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.provider-filter-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 11px;
  background: rgba(255,255,255,.02);
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}
.provider-filter-card:hover,
.provider-filter-card.active {
  border-color: rgba(255,68,84,.48);
  background: linear-gradient(135deg, rgba(255,40,58,.13), rgba(255,255,255,.025));
  transform: translateY(-1px);
}
.provider-filter-card img,
.provider-logo-placeholder {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 12px;
  object-fit: contain;
  display: grid;
  place-items: center;
  padding: 6px;
  background: #090b0f;
  border: 1px solid rgba(255,255,255,.07);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.provider-filter-card strong,
.provider-filter-card small { display: block; }
.provider-filter-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.provider-filter-card small { margin-top: 3px; color: #8f9aab; font-size: 11px; }
.provider-side-list { display: grid; gap: 8px; margin-top: 12px; }
.provider-side-list a {
  min-height: 42px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  color: #dfe4ec;
  font-size: 12px;
  font-weight: 800;
}
.provider-side-list a.active,
.provider-side-list a:hover { border-color: rgba(255,68,84,.36); background: rgba(255,48,65,.08); }
.provider-side-list b {
  min-width: 30px;
  padding: 3px 7px;
  border-radius: 999px;
  text-align: center;
  background: rgba(255,255,255,.055);
  color: #aeb7c5;
  font-size: 10px;
}
.provider-home-grid a {
  min-height: 58px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
  text-align: center;
}
.provider-home-grid a:hover { border-color: rgba(255,68,84,.35); background: rgba(255,48,65,.07); }
.provider-home-grid a strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.provider-home-grid a small { margin-top: 3px; color: #8f99aa; font-size: 10px; }
.catalog-pagination {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.catalog-pagination a,
.catalog-pagination span {
  min-height: 40px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  font-size: 12px;
}
.catalog-pagination a:hover { border-color: rgba(255,68,84,.4); }

.floating-livechat {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 60;
  min-width: 164px;
  padding: 11px 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,76,91,.35);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(231,25,45,.98), rgba(143,11,28,.98));
  color: #fff;
  box-shadow: 0 16px 44px rgba(0,0,0,.38), 0 0 24px rgba(235,28,48,.15);
}
.floating-livechat > span { font-size: 23px; }
.floating-livechat strong,
.floating-livechat small { display:block; }
.floating-livechat strong { font-size: 13px; }
.floating-livechat small { margin-top: 1px; color: rgba(255,255,255,.78); font-size: 10px; }
.livechat-intro { align-items: center; }
.live-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(56,201,139,.28);
  border-radius: 999px;
  background: rgba(56,201,139,.08);
  color: #76e2b4;
  font-size: 12px;
  font-weight: 800;
}
.live-status i { width: 7px; height: 7px; border-radius: 50%; background: #38c98b; box-shadow: 0 0 10px #38c98b; }
.live-status.closed { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.04); color: #a3acba; }
.live-status.closed i { background: #747e8c; box-shadow: none; }
.livechat-shell,
.admin-livechat-conversation { overflow: hidden; padding: 0; }
.livechat-header {
  min-height: 70px;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.livechat-agent { display: flex; align-items: center; gap: 11px; min-width: 0; }
.agent-avatar,
.contact-avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(180deg, #303743, #171b23);
  border: 1px solid rgba(255,255,255,.1);
  color: #fff;
  font-weight: 900;
}
.livechat-agent strong,
.livechat-agent small { display:block; }
.livechat-agent strong { font-size: 14px; }
.livechat-agent small { margin-top: 3px; color: #8994a5; font-size: 11px; }
.livechat-thread {
  height: min(560px, 58vh);
  min-height: 390px;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: radial-gradient(circle at top right, rgba(255,35,53,.055), transparent 26%), #090b0f;
}
.livechat-message { display: flex; width: 100%; }
.livechat-message.incoming { justify-content: flex-start; }
.livechat-message.outgoing { justify-content: flex-end; }
.livechat-bubble {
  max-width: min(72%, 620px);
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px 16px 16px 5px;
  background: #151922;
}
.livechat-message.outgoing .livechat-bubble {
  border-color: rgba(255,64,80,.22);
  border-radius: 16px 16px 5px 16px;
  background: linear-gradient(135deg, rgba(112,20,31,.85), rgba(47,17,23,.95));
}
.livechat-meta { display:flex; align-items:center; justify-content:space-between; gap: 18px; margin-bottom: 5px; }
.livechat-meta strong { font-size: 10px; color: #dce2ec; }
.livechat-meta small { color: #778292; font-size: 9px; }
.livechat-bubble p { margin: 0; color: #e7ebf2; font-size: 13px; line-height: 1.55; word-break: break-word; }
.chat-attachment { display:inline-flex; margin-top: 8px; color: #ff8791; font-size: 11px; font-weight: 800; }
.livechat-empty {
  margin: auto;
  max-width: 320px;
  text-align: center;
  color: #8d98a8;
}
.livechat-empty span { display:block; margin-bottom: 9px; font-size: 32px; }
.livechat-empty strong { display:block; color:#e7ebf2; font-size: 15px; }
.livechat-empty p { margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
.livechat-composer {
  min-height: 74px;
  padding: 12px;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  gap: 9px;
  align-items: end;
  border-top: 1px solid rgba(255,255,255,.07);
  background: #0d1015;
}
.livechat-file {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
  cursor: pointer;
  font-size: 22px;
}
.livechat-file input { display:none; }
.livechat-composer textarea {
  width: 100%;
  min-height: 44px;
  max-height: 130px;
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  resize: vertical;
  background: #090b10;
  color: #f3f5f8;
}
.livechat-send {
  min-height: 44px;
  padding: 10px 17px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(180deg, #ff3446, #c9182a);
  color: #fff;
  font-weight: 900;
}
.livechat-info-list { display:grid; gap: 9px; margin-top: 13px; }
.livechat-info-list span { color:#a9b2c0; font-size: 12px; }
.livechat-info-list b { margin-right: 6px; color:#50d497; }
.livechat-kpis { display:flex; gap: 8px; }
.livechat-kpis span { min-width: 84px; padding: 9px 11px; border:1px solid #303743; border-radius: 10px; background:#11141a; color:#8995a6; font-size:10px; }
.livechat-kpis b { display:block; color:#fff; font-size:17px; }
.admin-livechat-layout {
  display: grid;
  grid-template-columns: 310px minmax(0,1fr) 230px;
  gap: 14px;
  align-items: stretch;
}
.livechat-inbox-list,
.livechat-member-info { padding: 12px; }
.livechat-filter { margin-bottom: 10px; }
.livechat-list-items { max-height: 650px; overflow-y: auto; display:grid; gap: 6px; }
.livechat-contact {
  min-width:0;
  padding: 10px;
  display:grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  gap: 9px;
  align-items:center;
  border:1px solid transparent;
  border-radius: 12px;
}
.livechat-contact:hover,
.livechat-contact.active { border-color:#353b46; background:#171a20; }
.livechat-contact.active { box-shadow: inset 3px 0 #ef273b; }
.contact-copy { min-width:0; }
.contact-copy > div { display:flex; align-items:baseline; justify-content:space-between; gap:7px; }
.contact-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.contact-copy small { color:#747e8c; font-size:8px; }
.contact-copy p { margin:3px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#8993a2; font-size:9px; }
.contact-meta { display:grid; justify-items:end; gap:5px; }
.contact-meta small { color:#717c8b; font-size:8px; }
.contact-meta b { min-width:20px; height:20px; padding:0 5px; display:grid; place-items:center; border-radius:999px; background:#ed263a; font-size:9px; }
.admin-thread { height: 570px; min-height: 460px; }
.admin-chat-header { padding-inline: 14px; }
.admin-composer { min-height: 68px; }
.livechat-member-info { align-self:stretch; text-align:center; }
.contact-avatar.large { width:58px; height:58px; margin: 8px auto; font-size:18px; }
.livechat-member-info h3 { margin:7px 0 0; font-size:15px; }
.livechat-member-info > p { margin:3px 0 14px; color:#7e8998; font-size:10px; }
.member-info-grid { display:grid; gap:8px; margin-bottom:12px; text-align:left; }
.member-info-grid span { padding:9px 10px; border:1px solid #2d333d; border-radius:9px; color:#7f8998; font-size:9px; }
.member-info-grid b { display:block; margin-top:3px; color:#dfe3ea; font-size:10px; }
@media (max-width: 1180px) {
  .provider-filter-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .admin-livechat-layout { grid-template-columns: 280px minmax(0,1fr); }
  .livechat-member-info { grid-column: span 2; }
}
@media (max-width: 800px) {
  .provider-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-livechat-layout { grid-template-columns: 1fr; }
  .livechat-member-info { grid-column: auto; }
  .livechat-thread, .admin-thread { height: 52vh; min-height: 360px; }
  .floating-livechat { right: 10px; bottom: 78px; min-width: 0; }
  .floating-livechat div { display:none; }
}
@media (max-width: 520px) {
  .provider-filter-grid { grid-template-columns: 1fr; }
  .livechat-bubble { max-width: 88%; }
  .livechat-composer { grid-template-columns: 40px minmax(0,1fr); }
  .livechat-send { grid-column: 2; width:100%; }
}
.provider-admin-overview { margin-bottom: 14px; }
.provider-admin-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 8px;
}
.provider-admin-grid a {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #303640;
  border-radius: 9px;
  background: #11151b;
}
.provider-admin-grid a:hover,
.provider-admin-grid a.active { border-color: #7a2834; background: #23141a; }
.provider-admin-grid strong,
.provider-admin-grid small { display:block; }
.provider-admin-grid strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.provider-admin-grid small { margin-top:3px; color:#7f8997; font-size:8px; }
.provider-game-filter { margin-bottom: 12px; }
@media (max-width: 1100px) { .provider-admin-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 700px) { .provider-admin-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* ===== V22 wallet / bonus / admin refinement ===== */
.refined-home .portal-hero { grid-template-columns: minmax(0, 1fr); }
.refined-home .portal-hero-copy { max-width: 690px; }
.dashboard-kpi-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.form-narrow { max-width: 680px; }
.compact-metrics { width: min(720px,100%); }
.bonus-wallet-card { border-color: rgba(247,183,51,.28); background: radial-gradient(circle at 82% 20%, rgba(247,183,51,.18), transparent 30%), linear-gradient(120deg,#1d1710,#11141a); }
.launch-test-box { margin-top: 16px; }
.launch-test-action { align-content: end; }
.launch-test-action > span { color:#8f98a7; font-size:11px; }
.api-launch-test-result { margin-top: 14px; display:grid; gap:12px; }
@media (max-width: 1100px) { .dashboard-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .dashboard-kpi-grid { grid-template-columns: 1fr; } }
.dashboard-sidebar { overflow-y: auto; overflow-x: hidden; }
.dashboard-nav { flex: 0 0 auto; }
.sidebar-bottom { margin-top: auto; }

/* ===== V23 branding, payment settings, custom code, launch diagnostics ===== */
.brand-logo-image { display:block; width:auto; max-width:150px; height:38px; object-fit:contain; object-position:left center; }
.sidebar-brand .brand-logo-image { max-width:132px; height:34px; }
.brand-wordmark { display:inline-flex; align-items:center; }
.brand-asset-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.brand-upload-card { min-width:0; padding:14px; border:1px solid #303641; border-radius:12px; background:#101319; display:grid; gap:10px; }
.brand-upload-title { color:#dce1e9; font-size:12px; font-weight:800; }
.brand-upload-preview { height:92px; padding:10px; display:grid; place-items:center; overflow:hidden; border:1px dashed #39414d; border-radius:10px; background:#090c10; }
.brand-upload-preview.square { width:92px; }
.brand-upload-preview img { width:100%; height:100%; object-fit:contain; }
.brand-upload-preview b { color:#6f7a89; font-size:11px; }
.brand-upload-card input[type=file] { max-width:100%; color:#aeb6c3; font-size:11px; }
.remove-upload { display:inline-flex; align-items:center; gap:6px; color:#ff808b; font-size:10px; }
.settings-spaced { margin-top:4px; padding-top:16px; border-top:1px solid #292f38; }
.span-two { grid-column:1 / -1; }
.payment-settings-grid { align-items:start; }
.payment-checkboxes { margin:14px 0; }
.payment-qr-preview { margin-top:8px; display:flex; align-items:center; gap:10px; }
.payment-qr-preview img { width:72px; height:72px; object-fit:contain; border:1px solid #333a44; border-radius:8px; background:#fff; }
.payment-method-admin-list { display:grid; gap:10px; }
.payment-method-admin-card { display:grid; grid-template-columns:54px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px; border:1px solid #303640; border-radius:10px; background:#11141a; }
.payment-method-admin-card.is-disabled { opacity:.52; }
.payment-method-logo { width:54px; height:54px; display:grid; place-items:center; overflow:hidden; border:1px solid #333a45; border-radius:10px; background:#090c10; }
.payment-method-logo img { width:100%; height:100%; object-fit:contain; }
.payment-method-logo span { font-weight:900; color:#fff; }
.payment-method-copy { min-width:0; }
.payment-method-copy strong,.payment-method-copy small,.payment-method-copy p { display:block; }
.payment-method-copy strong { font-size:13px; }
.payment-method-copy small { margin-top:3px; color:#8f99a8; font-size:10px; }
.payment-method-copy p { margin:4px 0 0; color:#b8c0cb; font-size:10px; }
.payment-method-user-section { padding:18px; }
.payment-method-user-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.payment-method-user-card { min-width:0; padding:14px; border:1px solid rgba(255,255,255,.075); border-radius:15px; background:rgba(255,255,255,.02); display:flex; gap:12px; align-items:flex-start; }
.payment-method-user-card > img,.payment-method-user-icon { width:72px; height:72px; flex:0 0 72px; object-fit:contain; display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:#fff; color:#111; font-weight:900; }
.payment-method-user-card strong,.payment-method-user-card small,.payment-method-user-card em { display:block; }
.payment-method-user-card strong { font-size:14px; }
.payment-method-user-card small { margin-top:3px; color:#a5aeba; font-size:11px; }
.payment-method-user-card p { margin:7px 0; color:#9ba5b4; font-size:11px; line-height:1.5; }
.payment-method-user-card em { color:#ff7681; font-size:10px; font-style:normal; font-weight:800; }
.code-editor { width:100%; min-height:160px; margin-top:6px; padding:14px; border:1px solid #343b47; border-radius:9px; color:#dce4ef; background:#070a0e; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12px; line-height:1.6; tab-size:2; }
.custom-code-panel > label { display:block; margin-top:16px; color:#bdc4cf; font-size:11px; font-weight:700; }
.launch-log-list { display:grid; gap:13px; }
.launch-log-card { padding:15px; border:1px solid #343b46; border-left:3px solid #ff4554; border-radius:11px; background:#0e1116; }
.launch-log-card.is-success { border-left-color:#38c98b; }
.launch-log-summary { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.launch-log-summary > div:first-child { min-width:0; }
.launch-log-summary strong,.launch-log-summary small { display:block; }
.launch-log-summary strong { margin-top:7px; font-size:14px; }
.launch-log-summary small { margin-top:3px; color:#8490a0; font-size:10px; }
.launch-log-codes { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; color:#a7b0bd; font-size:10px; }
.launch-log-codes span { padding:5px 7px; border:1px solid #343b47; border-radius:6px; background:#151920; }
.launch-log-message { margin:12px 0; padding:10px; border:1px solid #2d343e; border-radius:8px; color:#c4cad4; background:#090c10; font-size:11px; word-break:break-word; }
.launch-log-delete { margin-top:10px; display:flex; justify-content:flex-end; }
.outline-button.danger { border-color:rgba(255,70,82,.36); color:#ff7e88; }
button:disabled { opacity:.45; cursor:not-allowed; }
@media (max-width:1100px){.brand-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.payment-method-user-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:700px){.brand-asset-grid,.payment-method-user-grid{grid-template-columns:1fr;}.launch-log-summary{flex-direction:column}.launch-log-codes{justify-content:flex-start}.payment-method-admin-card{grid-template-columns:46px minmax(0,1fr);}.payment-method-admin-card .row-actions{grid-column:1/-1;}.brand-logo-image{max-width:120px;height:34px;}}

/* V25: editable callback URLs, no generated/default values */
.editable-callback-routes { margin-top: 14px; }
.editable-callback-routes .callback-route-title { margin-bottom: 10px; }
.callback-route-inputs { gap: 10px; }
.callback-route-inputs label { min-width: 0; }
.callback-route-inputs input[type="url"] { width: 100%; min-width: 0; }
@media (max-width: 980px) {
  .callback-route-inputs.form-grid.three { grid-template-columns: 1fr; }
}

/* ===== V27 Callback & Wallet API admin refinement ===== */
.callback-config-panel,
.callback-health-panel,
.callback-user-map-panel,
.callback-history-panel {
  overflow: hidden;
}
.callback-page-heading {
  align-items: flex-start;
  gap: 18px;
}
.callback-page-heading > div:first-child {
  min-width: 0;
}
.callback-page-heading h2 {
  margin: 3px 0 0;
  font-size: 18px;
  line-height: 1.25;
}
.callback-page-heading .muted-text {
  margin: 7px 0 0;
  max-width: 860px;
  font-size: 12px;
  line-height: 1.6;
}
.callback-settings-form {
  gap: 14px;
}
.callback-section-block {
  padding: 15px;
  border: 1px solid #2d3440;
  border-radius: 12px;
  background: #0e1116;
}
.callback-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}
.callback-section-head > div {
  min-width: 0;
}
.callback-section-head strong,
.callback-section-head small {
  display: block;
}
.callback-section-head strong {
  font-size: 13px;
  color: #f5f7fa;
}
.callback-section-head small {
  margin-top: 4px;
  max-width: 760px;
  color: #8390a2;
  font-size: 10.5px;
  line-height: 1.55;
}
.callback-edit-grid {
  gap: 11px;
}
.callback-edit-grid label,
.callback-test-form label,
.callback-user-select-form label,
.callback-user-code-form label {
  gap: 6px;
  min-width: 0;
  color: #c7ced8;
  font-size: 11px;
  font-weight: 700;
}
.callback-edit-grid input,
.callback-edit-grid select,
.callback-test-form select,
.callback-user-select-form select,
.callback-user-code-form input,
.compact-select {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid #343d4a;
  border-radius: 8px;
  color: #f3f5f8;
  background: #0c0f14;
}
.callback-edit-grid input:focus,
.callback-edit-grid select:focus,
.callback-test-form select:focus,
.callback-user-select-form select:focus,
.callback-user-code-form input:focus,
.compact-select:focus {
  border-color: #ed1c2f;
  box-shadow: 0 0 0 2px rgba(237,28,47,.10);
}
.callback-wallet-section {
  border-color: #3a3136;
}
.compact-select {
  width: auto;
  min-width: 170px;
  font-size: 11px;
}
.callback-inline-tools {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}
.callback-inline-tools .mini-outline {
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid #394452;
  border-radius: 6px;
  color: #ccd3dd;
  background: #151a21;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
.callback-inline-tools code {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #7f8b9d;
  font-size: 9px;
}
.callback-save-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 15px;
  border: 1px solid #3b2d32;
  border-radius: 11px;
  background: linear-gradient(90deg, rgba(237,28,47,.055), rgba(255,255,255,.015));
}
.callback-save-bar strong,
.callback-save-bar small {
  display: block;
}
.callback-save-bar strong {
  font-size: 12px;
}
.callback-save-bar small {
  margin-top: 3px;
  color: #8995a5;
  font-size: 10px;
}
.callback-save-bar .primary-button {
  min-width: 190px;
}
.callback-health-summary,
.callback-result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.callback-health-summary > div,
.callback-result-grid > div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #2d3541;
  border-radius: 9px;
  background: #0d1015;
}
.callback-health-summary small,
.callback-health-summary strong,
.callback-result-grid small,
.callback-result-grid strong {
  display: block;
}
.callback-health-summary small,
.callback-result-grid small {
  color: #8290a2;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .45px;
}
.callback-health-summary strong,
.callback-result-grid strong {
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: #f2f4f7;
  font-size: 11px;
}
.callback-test-layout {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(300px, 1.25fr);
  gap: 12px;
  margin-top: 12px;
}
.callback-test-form,
.callback-contract-card {
  padding: 13px;
  border: 1px solid #2d3541;
  border-radius: 10px;
  background: #0d1015;
}
.callback-test-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 9px;
}
.callback-test-form .primary-button {
  min-height: 40px;
  white-space: nowrap;
}
.callback-contract-card {
  display: grid;
  align-content: center;
  gap: 6px;
}
.callback-contract-card small {
  color: #8a96a7;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.callback-contract-card code {
  color: #f2f4f7;
  font-size: 11px;
}
.callback-contract-card span {
  color: #8e9aaa;
  font-size: 10px;
}
.callback-result-card {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #343c47;
  border-radius: 11px;
  background: #0b0e13;
}
.callback-result-card.is-success {
  border-color: rgba(56,201,139,.34);
}
.callback-result-card.is-error {
  border-color: rgba(255,70,82,.35);
}
.callback-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.callback-result-head small,
.callback-result-head strong {
  display: block;
}
.callback-result-head small {
  color: #8490a1;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .45px;
}
.callback-result-head strong {
  margin-top: 2px;
  font-size: 15px;
}
.callback-result-card.is-success .callback-result-head strong { color: #5bd6a0; }
.callback-result-card.is-error .callback-result-head strong { color: #ff707c; }
.callback-result-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.callback-result-badges span {
  padding: 5px 8px;
  border: 1px solid #343d49;
  border-radius: 6px;
  background: #11161c;
  font-size: 9px;
  font-weight: 800;
}
.callback-inline-error {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 8px;
  margin-top: 9px;
  padding: 9px 10px;
  border: 1px solid rgba(255,70,82,.32);
  border-radius: 8px;
  background: rgba(127,29,29,.10);
  font-size: 10px;
}
.callback-debug-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}
.callback-debug-grid .api-details {
  margin: 0;
}
.callback-user-map-layout {
  display: grid;
  grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr);
  gap: 12px;
  align-items: end;
}
.callback-user-select-form,
.callback-user-code-form,
.callback-map-empty {
  min-width: 0;
  padding: 12px;
  border: 1px solid #2d3541;
  border-radius: 10px;
  background: #0d1015;
}
.callback-user-code-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 9px;
}
.callback-user-code-form .outline-button {
  min-height: 40px;
  white-space: nowrap;
}
.callback-map-empty {
  align-self: stretch;
  display: flex;
  align-items: center;
  color: #8190a2;
  font-size: 11px;
}
.callback-filter-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.callback-filter-bar select {
  min-width: 160px;
  min-height: 36px;
  padding: 7px 9px;
  border: 1px solid #343d49;
  border-radius: 7px;
  color: #e9edf2;
  background: #0d1015;
}
.callback-log-table th,
.callback-log-table td {
  vertical-align: top;
}
.callback-auth-note {
  display: block;
  margin-top: 4px;
  max-width: 150px;
  color: #7f8b9d;
  font-size: 8.5px;
  line-height: 1.35;
}
.callback-row-detail {
  min-width: 78px;
}
.callback-row-detail summary {
  font-size: 9px;
}
.callback-empty-state {
  min-height: 170px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 20px;
  border: 1px dashed #343d49;
  border-radius: 10px;
  background: #0d1015;
  text-align: center;
}
.callback-empty-state strong {
  font-size: 13px;
}
.callback-empty-state span {
  max-width: 680px;
  color: #8390a2;
  font-size: 10px;
  line-height: 1.5;
}
@media (max-width: 1100px) {
  .callback-health-summary,
  .callback-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .callback-test-layout,
  .callback-user-map-layout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .callback-page-heading,
  .callback-section-head,
  .callback-result-head,
  .callback-save-bar { flex-direction: column; align-items: stretch; }
  .callback-edit-grid.form-grid.two,
  .callback-edit-grid.form-grid.three,
  .callback-health-summary,
  .callback-result-grid,
  .callback-debug-grid { grid-template-columns: 1fr; }
  .callback-test-form,
  .callback-user-code-form { grid-template-columns: 1fr; }
  .callback-save-bar .primary-button,
  .callback-test-form .primary-button,
  .callback-user-code-form .outline-button { width: 100%; }
  .compact-select { width: 100%; }
  .callback-inline-tools { grid-template-columns: 1fr; }
  .callback-inline-tools code { white-space: normal; overflow-wrap: anywhere; }
}

/* V28 callback editor cleanup */
.callback-health-summary-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 620px;
}
.callback-test-layout-editable {
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
  align-items: stretch;
}
.callback-test-form-editable {
  grid-template-columns: minmax(320px, 1.55fr) minmax(220px, .8fr) auto;
  align-items: end;
}
.callback-test-form input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid #343d4a;
  border-radius: 8px;
  color: #f3f5f8;
  background: #0c0f14;
}
.callback-test-form input:focus {
  border-color: #ed1c2f;
  box-shadow: 0 0 0 2px rgba(237,28,47,.10);
}
.callback-test-url-field .form-hint {
  margin-top: 2px;
  color: #7f8b9c;
  font-size: 9px;
  font-weight: 500;
  line-height: 1.45;
}
.callback-url-grid label {
  min-width: 0;
}
.callback-url-grid input {
  width: 100%;
}
@media (max-width: 1180px) {
  .callback-test-layout-editable { grid-template-columns: 1fr; }
  .callback-test-form-editable { grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr) auto; }
}
@media (max-width: 760px) {
  .callback-health-summary-compact,
  .callback-test-form-editable { grid-template-columns: 1fr; max-width: none; }
  .callback-test-form-editable .primary-button { width: 100%; }
}

/* V29 callback contract + branding replace polish */
.callback-guide-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:0 0 16px;
  padding:16px 18px;
  border:1px solid #34404d;
  border-radius:12px;
  background:#0e1218;
}
.callback-guide-card.is-ok { border-color:rgba(56,201,139,.34); background:rgba(18,52,41,.22); }
.callback-guide-card.is-warning { border-color:rgba(255,74,86,.34); background:rgba(67,19,27,.22); }
.callback-guide-card strong { display:block; margin-top:4px; font-size:14px; }
.callback-guide-card p { margin:7px 0 0; color:#aab4c2; font-size:11px; line-height:1.55; }
.callback-guide-card code { color:#edf1f7; }
.callback-guide-warning { color:#ff9ca4 !important; }
.callback-guide-action { display:grid; gap:6px; justify-items:end; }
.callback-guide-action small { max-width:220px; color:#7f8a99; font-size:9px; text-align:right; }
.callback-health-summary-wide { grid-template-columns:repeat(4,minmax(0,1fr)); }
.text-success { color:#5de0a6 !important; }
.text-danger { color:#ff6b78 !important; }
.brand-logo-image {
  max-width:180px;
  height:40px;
  object-fit:contain;
  object-position:left center;
}
.sidebar-brand .brand-logo-image { max-width:155px; height:36px; }
@media (max-width:900px) {
  .callback-guide-card { grid-template-columns:1fr; }
  .callback-guide-action { justify-items:start; }
  .callback-guide-action small { text-align:left; }
  .callback-health-summary-wide { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .callback-health-summary-wide { grid-template-columns:1fr; }
  .brand-logo-image { max-width:140px; height:34px; }
}

/* ===== V30 Seamless Wallet end-to-end diagnostics ===== */
.callback-flow-panel { margin-bottom: 16px; }
.callback-flow-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.callback-flow-grid > div {
  min-height: 104px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
}
.callback-flow-grid small,
.callback-flow-grid strong,
.callback-flow-grid span { display: block; }
.callback-flow-grid small {
  color: #7f8999;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.callback-flow-grid strong {
  margin-top: 7px;
  color: #f5f7fb;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.callback-flow-grid span {
  margin-top: 6px;
  color: #98a3b2;
  font-size: 10px;
  line-height: 1.55;
}
.callback-flow-grid .text-success { color: #4ce0a0; }
.callback-flow-grid .text-danger { color: #ff6674; }
@media (max-width: 1250px) {
  .callback-flow-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .callback-flow-grid { grid-template-columns: 1fr; }
}

/* ===== V31 Seamless Wallet Setup Wizard ===== */
.wallet-wizard-hero,.wallet-wizard-step,.wallet-wizard-checklist{margin-bottom:16px}
.wallet-wizard-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.wallet-wizard-flow>div{padding:15px;border:1px solid #2e3540;border-radius:12px;background:#0d1015;min-height:128px}
.wallet-wizard-flow b{display:grid;place-items:center;width:28px;height:28px;margin-bottom:10px;border-radius:50%;background:var(--red);color:#fff;font-size:12px}
.wallet-wizard-flow strong,.wallet-wizard-flow span{display:block}.wallet-wizard-flow strong{font-size:13px}.wallet-wizard-flow span{margin-top:6px;color:#8f99a8;font-size:11px;line-height:1.55}
.wallet-wizard-reset,.wallet-auth-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid #5f2731;border-radius:12px;background:linear-gradient(90deg,rgba(237,28,47,.10),rgba(255,255,255,.01))}
.wallet-wizard-reset strong,.wallet-auth-action strong{display:block;font-size:12px}.wallet-wizard-reset span,.wallet-auth-action span{display:block;margin-top:4px;color:#9da6b3;font-size:10px;max-width:860px}
.wallet-backoffice-copy{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #303743;border-radius:12px;background:#0d1015;margin-bottom:12px}
.wallet-copy-value{min-width:0;flex:1}.wallet-copy-value small,.wallet-copy-value code{display:block}.wallet-copy-value small{color:#8994a5;font-size:10px}.wallet-copy-value code{margin-top:7px;padding:10px;border:1px dashed #4b5565;border-radius:8px;background:#07090d;color:#fff;font-size:14px;overflow-wrap:anywhere}
.callback-info-blue{border-color:#244c73!important;background:rgba(53,140,224,.08)!important;color:#b9d9ff!important}
.wallet-base-form{margin-top:13px;align-items:end}.wallet-auth-summary{margin-bottom:12px}.wallet-auth-action{border-color:#38404c;background:#11141a}.wallet-checklist-list{margin:0;padding-left:22px;display:grid;gap:10px;color:#c8ced8;font-size:12px}.wallet-checklist-list code{padding:2px 6px;border-radius:5px;background:#090b10;color:#fff}
.wallet-wizard-step .callback-flow-grid{margin-top:4px}
@media(max-width:1000px){.wallet-wizard-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.wallet-wizard-flow{grid-template-columns:1fr}.wallet-wizard-reset,.wallet-auth-action,.wallet-backoffice-copy{align-items:stretch;flex-direction:column}.wallet-wizard-reset .primary-button,.wallet-auth-action .outline-button,.wallet-backoffice-copy .outline-button{width:100%}}

/* ===== V32 logo full replace + callback request classification ===== */
.brand-lockup.has-custom-logo,
.brand-lockup.image-only {
  gap: 0 !important;
  flex: 0 0 auto;
  max-width: 220px;
  min-width: 0;
  overflow: visible;
}
.brand-lockup.has-custom-logo .brand-logo-image,
.brand-lockup.image-only .brand-logo-image {
  display: block;
  width: auto;
  height: 44px;
  max-width: 210px;
  object-fit: contain;
  object-position: left center;
  flex: 0 0 auto;
}
.site-header .brand-lockup.has-custom-logo,
.site-header .brand-lockup.image-only { min-width: 150px; }
.sidebar-brand .brand-lockup.has-custom-logo,
.sidebar-brand .brand-lockup.image-only { max-width: 180px; }
.sidebar-brand .brand-lockup.has-custom-logo .brand-logo-image,
.sidebar-brand .brand-lockup.image-only .brand-logo-image {
  height: 38px;
  max-width: 175px;
}
.callback-post-test-form {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, .8fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 12px;
}
.callback-post-test-form label { min-width: 0; }
.callback-post-test-form .primary-button { min-height: 42px; white-space: nowrap; }
.callback-contract-inline { margin-top: 12px; }
.callback-log-table .status { white-space: nowrap; }
@media (max-width: 980px) {
  .callback-post-test-form { grid-template-columns: 1fr 1fr; }
  .callback-post-test-form .primary-button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 700px) {
  .brand-lockup.has-custom-logo,
  .brand-lockup.image-only { max-width: 160px; min-width: 0 !important; }
  .brand-lockup.has-custom-logo .brand-logo-image,
  .brand-lockup.image-only .brand-logo-image { max-width: 155px; height: 36px; }
  .callback-post-test-form { grid-template-columns: 1fr; }
  .callback-post-test-form .primary-button { grid-column: auto; }
}

/* ===== V33 image dimension guide ===== */
.image-upload-spec {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:8px 0 6px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:rgba(255,255,255,.025);
}
.image-upload-spec b { color:#fff; font-size:12px; }
.image-upload-spec span { color:#9eabba; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.image-size-inline {
  display:inline-flex;
  margin-left:6px;
  padding:3px 7px;
  border:1px solid rgba(255,70,82,.24);
  border-radius:999px;
  color:#ff7b87;
  background:rgba(255,50,68,.06);
  font-size:10px;
  font-weight:800;
  vertical-align:middle;
  white-space:nowrap;
}
.image-size-guide-panel .muted-text { margin-top:-4px; }
.image-size-guide-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.image-size-guide-grid > div {
  min-height:88px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.image-size-guide-grid strong { color:#b8c0cc; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.image-size-guide-grid b { color:#fff; font-size:17px; }
.image-size-guide-grid small { color:#8792a2; font-size:10px; line-height:1.45; }
.inline-upload-hint { display:block; width:100%; }
@media (max-width:1100px){ .image-size-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .image-size-guide-grid{grid-template-columns:1fr;} .image-size-inline{display:flex;width:max-content;margin:5px 0 0;} }

/* ===== V34 Strict Guide Mode ===== */
.strict-guide-hero,
.strict-guide-lock-box {
  border-color: rgba(52, 211, 153, .18);
}
.strict-guide-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.strict-guide-flow > div,
.strict-guide-routes > div,
.strict-guide-status-grid > div,
.strict-guide-route-mini > div,
.strict-guide-backoffice > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
}
.strict-guide-flow b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
  border-radius: 10px;
  background: rgba(239, 35, 60, .14);
  color: #ff5267;
}
.strict-guide-flow strong,
.strict-guide-routes strong,
.strict-guide-status-grid strong,
.strict-guide-route-mini strong,
.strict-guide-backoffice strong {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
}
.strict-guide-flow span,
.strict-guide-routes span,
.strict-guide-status-grid span,
.strict-guide-route-mini span,
.strict-guide-backoffice span {
  display: block;
  color: #9aa6b8;
  font-size: 12px;
  line-height: 1.55;
}
.strict-guide-flow code,
.strict-guide-routes code,
.strict-guide-route-mini code,
.strict-guide-backoffice code {
  display: block;
  overflow-wrap: anywhere;
  color: #eef3fa;
  font-size: 12px;
  line-height: 1.55;
}
.strict-guide-apply {
  margin-top: 16px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(239,35,60,.15);
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(239,35,60,.06), rgba(255,255,255,.015));
}
.strict-guide-apply strong { display:block; font-size:14px; }
.strict-guide-apply span { display:block; margin-top:4px; color:#9aa6b8; font-size:12px; }
.strict-guide-backoffice {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: 12px;
}
.strict-guide-copy code {
  margin: 9px 0;
  padding: 12px 13px;
  border-radius: 11px;
  background: #090b0f;
  border: 1px solid rgba(255,255,255,.07);
  font-size: 14px;
}
.strict-guide-copy p { margin: 0; color: #9aa6b8; font-size: 12px; }
.strict-guide-auth { display:flex; flex-direction:column; justify-content:center; }
.strict-guide-routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.strict-guide-routes small,
.strict-guide-status-grid small,
.strict-guide-route-mini small,
.strict-api-mode-card small {
  display: block;
  margin-bottom: 7px;
  color: #7f8da2;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.strict-guide-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.strict-guide-note {
  margin-top: 14px;
  padding: 13px 14px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid rgba(255,193,7,.15);
  border-radius:12px;
  background:rgba(255,193,7,.04);
}
.strict-guide-note strong { flex:0 0 auto; color:#ffd166; }
.strict-guide-note span { color:#aab3c1; font-size:12px; line-height:1.55; }
.strict-api-mode-card {
  padding: 12px 13px;
  border: 1px solid rgba(52,211,153,.12);
  border-radius: 12px;
  background: rgba(52,211,153,.035);
}
.strict-api-mode-card strong { display:block; margin-bottom:4px; font-size:13px; }
.strict-api-mode-card span { display:block; color:#8e9aaa; font-size:11px; line-height:1.45; }
.strict-guide-route-mini {
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.strict-guide-route-mini-wide {
  grid-template-columns: repeat(4, minmax(0,1fr));
}
.strict-guide-lock-box .outline-button { margin-top: 2px; }
.callback-health-panel input[readonly] {
  opacity: .92;
  cursor: not-allowed;
  background: rgba(255,255,255,.015);
}
@media (max-width: 1100px) {
  .strict-guide-flow,
  .strict-guide-status-grid,
  .strict-guide-route-mini,
  .strict-guide-route-mini-wide { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .strict-guide-routes { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .strict-guide-flow,
  .strict-guide-status-grid,
  .strict-guide-route-mini,
  .strict-guide-route-mini-wide,
  .strict-guide-backoffice { grid-template-columns: 1fr; }
  .strict-guide-apply { align-items: stretch; flex-direction: column; }
}

/* ===== V35 cashier + gateway ===== */
.gateway-config-grid { padding-top: 14px; }
.gateway-callback-preview { padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.025); }
.gateway-callback-preview small { display:block; margin-bottom:8px; color:#97a1b0; }
.gateway-callback-preview code { display:block; overflow-wrap:anywhere; color:#fff; }
.payment-method-user-card em { display:block; margin-top:8px; font-style:normal; color:#d7dde7; font-size:11px; line-height:1.55; }
.metric-strip.compact-metrics { flex-wrap:wrap; }
.payment-settings-grid .api-details { grid-column:1/-1; }

/* V37 - realtime OroPlay provider balance */
.live-balance-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 6px;
  border-radius: 50%;
  vertical-align: middle;
  background: #6b7280;
  box-shadow: 0 0 0 3px rgba(107,114,128,.08);
}
.live-balance-dot.is-loading { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.10); }
.live-balance-dot.is-live { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.12), 0 0 12px rgba(34,197,94,.35); }
.live-balance-dot.is-error { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,.10); }
.live-balance-time {
  display: block;
  margin-top: 5px;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 600;
}
.provider-live-metric strong,
.provider-balance-card [data-oroplay-live-balance] {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
}
.provider-live-metric {
  position: relative;
}
.provider-balance-card {
  border-color: rgba(34,197,94,.16);
  background: linear-gradient(180deg, rgba(15,25,21,.72), rgba(13,15,20,.98));
}

/* ===== V38 Professional provider hub + launch UX + overview metrics ===== */
.provider-showcase-panel {
  padding: 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,48,65,.08), transparent 24%),
    linear-gradient(180deg, rgba(15,18,24,.98), rgba(8,11,16,.98));
}
.provider-showcase-copy {
  margin: 5px 0 0;
  max-width: 620px;
  color: #8f9aaa;
  font-size: 12px;
  line-height: 1.55;
}
.provider-brand-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.provider-brand-card {
  min-width: 0;
  min-height: 126px;
  padding: 12px 10px 11px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(18,22,29,.96), rgba(9,12,17,.96));
  color: #fff;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.provider-brand-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,66,84,.36);
  background: linear-gradient(180deg, rgba(27,29,37,.98), rgba(14,13,18,.98));
}
.provider-brand-art {
  min-height: 70px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: radial-gradient(circle at center, rgba(255,255,255,.055), transparent 68%), #0a0e14;
  overflow: hidden;
}
.provider-brand-art img {
  display: block;
  width: 100%;
  height: 64px;
  padding: 8px 10px;
  object-fit: contain;
  object-position: center;
}
.provider-brand-fallback {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(145deg, #262c38, #11151c);
  color: #f4f7fb;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .08em;
}
.provider-brand-meta { min-width: 0; text-align: center; }
.provider-brand-meta strong,
.provider-brand-meta small { display: block; }
.provider-brand-meta strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.provider-brand-meta small { margin-top: 3px; color: #7f8a9b; font-size: 9px; }

/* Right rail provider cards now use the same provider identity instead of text-only boxes. */
.provider-home-grid .provider-mini-card {
  min-height: 72px;
  flex-direction: row;
  justify-content: flex-start;
  gap: 8px;
  text-align: left;
  padding: 8px;
}
.provider-mini-logo {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #090d13;
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.provider-mini-logo img { width: 100%; height: 100%; padding: 5px; object-fit: contain; }
.provider-mini-logo b { font-size: 10px; letter-spacing: .06em; }
.provider-mini-card > span:last-child { min-width: 0; }

/* Provider directory: visual-logo-first layout similar to professional casino engines. */
.portal-subpage .provider-directory {
  padding: 20px;
  background: linear-gradient(180deg, rgba(15,19,25,.98), rgba(9,12,17,.98));
}
.portal-subpage .provider-filter-grid {
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 11px;
}
.portal-subpage .provider-filter-card {
  min-height: 116px;
  padding: 10px;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  text-align: center;
  border-radius: 16px;
  background: #0c1118;
}
.portal-subpage .provider-filter-card img,
.portal-subpage .provider-logo-placeholder {
  width: 100%;
  height: 62px;
  flex: 0 0 62px;
  padding: 8px 10px;
  border: 0;
  border-radius: 12px;
  object-fit: contain;
  background: radial-gradient(circle at center, rgba(255,255,255,.06), transparent 68%);
}
.portal-subpage .provider-logo-placeholder {
  display: grid;
  place-items: center;
  width: 58px;
  margin-inline: auto;
  background: linear-gradient(145deg, #252c38, #11151c);
}
.portal-subpage .provider-filter-card > div { width: 100%; min-width: 0; }
.portal-subpage .provider-filter-card strong { font-size: 11px; text-transform: uppercase; }
.portal-subpage .provider-filter-card small { font-size: 9px; }

.game-provider-line {
  min-width: 0;
  display: flex !important;
  align-items: center;
  gap: 6px;
}
.game-provider-line > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.game-provider-mark {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #080c12;
  overflow: hidden;
}
.game-provider-mark img { width: 100%; height: 100%; padding: 3px; object-fit: contain; }
.game-launch-form { margin: 0; flex: 0 0 auto; }
.game-launch-form .mini-play-btn { white-space: nowrap; }

/* Admin provider branding manager */
.provider-create-form {
  display: grid;
  grid-template-columns: minmax(180px,1fr) minmax(220px,1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 16px;
}
.provider-brand-manager-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  max-height: 760px;
  overflow: auto;
  padding-right: 4px;
}
.provider-brand-manager-card {
  padding: 12px;
  border: 1px solid #2c333d;
  border-radius: 14px;
  background: #10141a;
}
.provider-manager-preview {
  height: 74px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border: 1px solid #282f39;
  border-radius: 12px;
  background: #080c11;
  overflow: hidden;
}
.provider-manager-preview img { width: 100%; height: 100%; padding: 8px 12px; object-fit: contain; }
.provider-manager-preview span { font-weight: 900; letter-spacing: .08em; color: #dfe5ed; }
.provider-manager-form { display: grid; gap: 8px; }
.provider-manager-form label { font-size: 10px; color: #8f99a8; }
.provider-manager-form input { margin-top: 4px; }
.provider-clear-logo { display: flex !important; gap: 7px; align-items: center; }
.provider-clear-logo input { width: auto; margin: 0; }
.provider-manager-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.provider-game-count { display: block; margin-top: 8px; color: #788394; font-size: 9px; }

/* Keep dashboard overview readable after adding Withdraw and Adjustment totals. */
.dashboard-kpi-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }

@media (max-width: 1300px) {
  .provider-brand-grid,
  .portal-subpage .provider-filter-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .provider-brand-grid,
  .portal-subpage .provider-filter-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .provider-create-form { grid-template-columns: 1fr; }
  .provider-brand-manager-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .provider-brand-grid,
  .portal-subpage .provider-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .provider-brand-card { min-height: 112px; }
  .provider-brand-art { min-height: 62px; }
  .dashboard-kpi-grid { grid-template-columns: 1fr; }
}
.provider-admin-grid a { text-align: center; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:88px; }
.provider-admin-logo { width:100%; height:38px; margin-bottom:6px; display:grid; place-items:center; overflow:hidden; border-radius:8px; background:#090d12; color:#cfd6df; font-size:9px; font-weight:900; }
.provider-admin-logo img { width:100%; height:100%; padding:4px 8px; object-fit:contain; }
.provider-admin-all { width:44px; }
.provider-card-upload-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; align-items:end; margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.07); }
.provider-card-upload-label { display:grid; gap:4px; min-width:0; color:#8f99a8; font-size:8px; text-align:left; }
.provider-card-upload-label input { width:100%; min-width:0; padding:5px 6px; font-size:8px; }
.provider-card-upload-form button { padding:7px 8px; font-size:8px; white-space:nowrap; }

/* ===== V39 Provider-direct launch + organized dashboard UI ===== */
/* Dashboard shell: consistent readable typography and spacing */
.dashboard-shell {
  --dash-gap: 16px;
  --dash-panel-radius: 14px;
  font-size: 13px;
  line-height: 1.5;
}
.dashboard-sidebar {
  width: 252px;
  flex-basis: 252px;
  background: linear-gradient(180deg, #0f1217 0%, #0b0e13 100%);
  border-right-color: #242a34;
}
.sidebar-brand {
  min-height: 68px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255,255,255,.055);
}
.sidebar-profile {
  margin: 14px 12px 12px;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.sidebar-profile strong { font-size: 12.5px; }
.sidebar-profile small { font-size: 10px; color: #7f8b9d; }
.sidebar-label {
  margin: 2px 0 8px;
  padding: 0 15px;
  color: #697589;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
}
.dashboard-nav-organized { padding: 0 10px 16px; }
.dashboard-nav-organized .dashboard-primary-link {
  min-height: 42px;
  margin: 0 0 10px;
  padding: 10px 11px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 10px;
  background: rgba(255,255,255,.022);
  color: #dce2ec;
  font-size: 12px;
  font-weight: 800;
}
.dashboard-nav-organized .dashboard-primary-link.active {
  border-color: rgba(255,53,72,.32);
  background: linear-gradient(90deg, rgba(255,45,63,.19), rgba(255,45,63,.035));
}
.sidebar-nav-group {
  margin: 0 0 7px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 11px;
  background: rgba(255,255,255,.015);
  overflow: hidden;
}
.sidebar-nav-group summary {
  min-height: 38px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #8d98aa;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.sidebar-nav-group summary::-webkit-details-marker { display: none; }
.sidebar-nav-group summary:hover { color: #fff; background: rgba(255,255,255,.025); }
.sidebar-group-arrow { transition: transform .18s ease; font-size: 12px; color: #687487; }
.sidebar-nav-group[open] .sidebar-group-arrow { transform: rotate(180deg); }
.sidebar-nav-group[open] summary { color: #cdd5e2; border-bottom: 1px solid rgba(255,255,255,.045); }
.sidebar-submenu { padding: 5px; }
.dashboard-nav-organized .sidebar-submenu a {
  min-height: 38px;
  margin: 1px 0;
  padding: 8px 9px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #9da8b8;
  font-size: 11.5px;
  font-weight: 650;
}
.dashboard-nav-organized .sidebar-submenu a:hover { color: #fff; background: #171c24; }
.dashboard-nav-organized .sidebar-submenu a.active {
  color: #fff;
  background: linear-gradient(90deg, rgba(255,43,62,.20), rgba(255,43,62,.035));
  box-shadow: inset 2px 0 #ff3047;
}
.dashboard-nav-organized .nav-icon {
  width: 18px;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  color: #778397;
  font-size: 12px;
}
.dashboard-nav-organized a.active .nav-icon { color: #ff5062; }
.dashboard-nav-organized .nav-text { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-bottom {
  margin-top: auto;
  padding: 12px 15px 16px;
  border-top: 1px solid rgba(255,255,255,.05);
}
.sidebar-bottom a { font-size: 10.5px; }
.dashboard-topbar {
  min-height: 66px;
  padding: 0 24px;
  border-bottom-color: #242a34;
}
.dashboard-title-block { min-width: 0; }
.breadcrumb { color: #778397; font-size: 9.5px; }
.dashboard-topbar h1 { margin-top: 2px; font-size: 17px; letter-spacing: -.01em; }
.dashboard-content {
  max-width: 1660px;
  padding: 22px 24px 46px;
  font-size: 12.5px;
}
.dashboard-content > .panel,
.dashboard-content > .metric-strip,
.dashboard-content > .dashboard-grid,
.dashboard-content > .stat-grid,
.dashboard-content > .page-intro { margin-bottom: var(--dash-gap); }
.panel {
  padding: 16px;
  border-radius: var(--dash-panel-radius);
  border-color: #29303a;
}
.panel-heading { margin-bottom: 14px; gap: 14px; }
.panel-heading h2 { font-size: 15px; line-height: 1.3; }
.panel-kicker { font-size: 9px; letter-spacing: .11em; }
.muted-text, .text-link { font-size: 11px; }
.form-grid { gap: 12px; }
.stack-form, .settings-form { gap: 13px; }
.stack-form label, .form-grid label { gap: 6px; font-size: 11px; line-height: 1.35; }
.stack-form input, .stack-form select, .stack-form textarea,
.form-grid input, .form-grid select, .form-grid textarea, .settings-form textarea {
  min-height: 38px;
  padding: 9px 10px;
  border-radius: 8px;
  font-size: 11.5px;
  line-height: 1.4;
}
.data-table th { padding: 9px 10px; font-size: 10px; }
.data-table td { padding: 10px; font-size: 11px; line-height: 1.45; vertical-align: middle; }
.dashboard-shell .primary-button,
.dashboard-shell .outline-button,
.dashboard-shell .small-button { min-height: 36px; font-size: 11px; }
.metric-strip { padding: 13px 15px; border-radius: 12px; }
.metric-strip small { font-size: 10px; }
.metric-strip strong { font-size: 14px; }
.stat-grid { gap: 12px; }
.stat-card { min-height: 96px; padding: 14px; border-radius: 12px; }
.stat-card small { font-size: 10px; }
.stat-card strong { font-size: 18px; }

/* Strict Guide / diagnostics: remove cramped blocks and keep rows aligned. */
.strict-guide-hero,
.strict-guide-lock-box,
.callback-health-panel,
.callback-end-to-end-panel { border-radius: 14px; }
.strict-guide-flow,
.strict-guide-status-grid,
.strict-guide-route-mini,
.strict-guide-route-mini-wide,
.strict-guide-routes { gap: 12px; }
.strict-guide-flow > div,
.strict-guide-routes > div,
.strict-guide-status-grid > div,
.strict-guide-route-mini > div,
.strict-guide-backoffice > div {
  min-height: 92px;
  padding: 13px 14px;
  border-radius: 12px;
}
.strict-guide-flow span,
.strict-guide-routes span,
.strict-guide-status-grid span,
.strict-guide-route-mini span,
.strict-guide-backoffice span { font-size: 11px; line-height: 1.5; }
.strict-guide-flow strong,
.strict-guide-routes strong,
.strict-guide-status-grid strong,
.strict-guide-route-mini strong,
.strict-guide-backoffice strong { font-size: 13px; line-height: 1.4; }
.strict-guide-flow code,
.strict-guide-routes code,
.strict-guide-route-mini code,
.strict-guide-backoffice code { font-size: 10.5px; line-height: 1.5; overflow-wrap: anywhere; }

/* Provider selection must always map to the selected provider's game catalog. */
.portal-subpage .provider-filter-card {
  position: relative;
  min-height: 122px;
  border: 1px solid rgba(255,255,255,.075);
  cursor: pointer;
}
.portal-subpage .provider-filter-card.active {
  border-color: rgba(255,50,70,.72);
  background: linear-gradient(180deg, rgba(255,42,61,.13), #0c1118 48%);
  box-shadow: inset 0 0 0 1px rgba(255,50,70,.12);
}
.portal-subpage .provider-filter-card.active:after {
  content: "Selected";
  position: absolute;
  top: 7px;
  right: 7px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #f3263d;
  color: #fff;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.provider-catalog-heading { align-items: center; }
.provider-catalog-title { min-width: 0; display: flex; align-items: center; gap: 12px; }
.provider-catalog-title > div { min-width: 0; }
.provider-catalog-title h2 { margin: 3px 0 0; }
.provider-catalog-title p { margin: 5px 0 0; color: #8793a5; font-size: 10.5px; line-height: 1.45; }
.selected-provider-logo {
  width: 76px;
  height: 54px;
  flex: 0 0 76px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 11px;
  background: #080d13;
}
.selected-provider-logo img { width: 100%; height: 100%; padding: 7px 9px; object-fit: contain; }
.selected-provider-logo b { font-size: 14px; letter-spacing: .08em; }
.catalog-page-status { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 0 5px; text-align: right; }
.catalog-page-status strong { font-size: 22px; line-height: 1; color: #fff; }
.catalog-page-status span { color: #929dac; font-size: 10px; }
.catalog-page-status small { grid-column: 1/-1; margin-top: 5px; color: #697588; font-size: 9px; }

/* Clicking the game artwork/name launches that exact game in a new tab. */
.professional-game-card { position: relative; }
.game-thumb-shell { position: relative; }
.game-thumb-launch-form,
.game-title-launch-form { margin: 0; }
.game-thumb-launch-button,
.game-title-launch {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}
.game-thumb-launch-button { display: block; width: 100%; }
.game-thumb-launch-button .game-thumb-box { width: 100%; }
.game-title-launch {
  max-width: 100%;
  color: #f4f6fa;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.game-title-launch:hover { color: #ff5a6b; }
.game-card-play-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background: linear-gradient(180deg, transparent 35%, rgba(5,7,11,.64) 100%);
  opacity: .22;
  transition: opacity .18s ease, background .18s ease;
  pointer-events: none;
}
.game-card-play-overlay > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(241,37,59,.92);
  color: #fff;
  font-size: 13px;
  box-shadow: 0 8px 20px rgba(0,0,0,.28);
}
.game-card-play-overlay b { color: #fff; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.game-thumb-launch-button:hover .game-card-play-overlay,
.game-thumb-login:hover .game-card-play-overlay { opacity: 1; background: rgba(5,7,11,.48); }
.game-thumb-launch-button:focus-visible,
.game-title-launch:focus-visible { outline: 2px solid #ff3d52; outline-offset: 2px; }
.game-favorite-overlay { z-index: 6; }
.professional-game-meta { align-items: center; }
.game-card-copy { min-width: 0; flex: 1; }
.provider-inline-link { margin-top: 4px; color: #8f9aaa; text-decoration: none; }
.provider-inline-link:hover { color: #fff; }
.home-game-card .game-thumb-launch-button .game-thumb-box { display: block; }

@media (max-width: 1250px) {
  .dashboard-sidebar { width: 236px; flex-basis: 236px; }
}
@media (max-width: 900px) {
  .dashboard-sidebar { width: 252px; flex-basis: 252px; }
  .dashboard-content { padding: 18px 15px 36px; }
  .dashboard-topbar { min-height: 60px; padding: 0 15px; }
}
@media (max-width: 640px) {
  .dashboard-content { padding: 14px 11px 30px; }
  .panel { padding: 13px; }
  .provider-catalog-heading { align-items: flex-start; }
  .provider-catalog-title { align-items: flex-start; }
  .selected-provider-logo { width: 60px; height: 46px; flex-basis: 60px; }
  .catalog-page-status { display: none; }
  .professional-game-meta { align-items: stretch; }
  .game-title-launch { white-space: normal; }
}

/* ===== V40 homepage flow only + checkbox normalization ===== */
/* Native checkbox dimensions must never inherit full-width form input sizing. */
.dashboard-shell input[type="checkbox"],
.dashboard-shell .stack-form input[type="checkbox"],
.dashboard-shell .settings-form input[type="checkbox"],
.dashboard-shell .form-grid input[type="checkbox"],
.dashboard-shell .checkbox-row input[type="checkbox"],
.dashboard-shell .check-alone input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 16px !important;
  border-radius: 4px;
  vertical-align: middle;
  accent-color: var(--red);
}
.dashboard-shell .check-alone,
.dashboard-shell .setting-check,
.dashboard-shell .checkbox-row label {
  width: auto;
  min-height: 36px;
  height: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  line-height: 1.35;
}
.cashier-rules-grid .setting-check {
  align-self: center;
  padding: 5px 0;
}
.cashier-rules-grid > label:not(.setting-check) {
  min-width: 0;
}

/* ===== V41 clean provider routes + provider game switch ===== */
.provider-admin-grid a.provider-disabled,
.provider-brand-manager-card.provider-disabled {
  opacity: .62;
  border-style: dashed;
}
.provider-admin-grid a.provider-disabled .provider-admin-logo,
.provider-brand-manager-card.provider-disabled .provider-manager-preview {
  filter: grayscale(1);
}
.provider-active-toggle {
  display: flex !important;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.02);
  font-size: 12px;
  font-weight: 800;
}
.provider-active-toggle input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.provider-manager-actions {
  flex-wrap: wrap;
  gap: 8px;
}
.provider-toggle-form { margin: 0; }
.small-button.danger-soft {
  border-color: rgba(255,75,91,.28);
  color: #ff7b87;
  background: rgba(255,50,70,.08);
}
.small-button.success-soft {
  border-color: rgba(48,211,145,.28);
  color: #54e2a6;
  background: rgba(48,211,145,.08);
}

/* ===== V42 visible provider switch controls + provider game anchor ===== */
#provider-controls,
#game-inventory,
#game-catalog {
  scroll-margin-top: 90px;
}
.provider-control-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.provider-admin-control-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid #303640;
  border-radius: 12px;
  background: #11151b;
  display: grid;
  gap: 10px;
}
.provider-admin-control-card.active {
  border-color: #7a2834;
  background: #23141a;
}
.provider-admin-control-card.provider-disabled {
  opacity: .72;
  border-style: dashed;
}
.provider-card-main {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  min-width: 0;
}
.provider-card-main .provider-admin-logo {
  grid-row: 1 / span 2;
  width: 46px;
  height: 46px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.provider-card-main .provider-admin-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}
.provider-card-main strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.provider-card-main small {
  color: #8993a2;
  font-size: 10px;
}
.provider-control-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 10px;
}
.provider-state-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
}
.provider-state-chip.on { color: #55e5a8; background: rgba(48,211,145,.09); border: 1px solid rgba(48,211,145,.28); }
.provider-state-chip.off { color: #ff8490; background: rgba(255,70,82,.08); border: 1px solid rgba(255,70,82,.26); }
.provider-state-chip.neutral { color: #aeb7c5; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); }
.provider-switch-button {
  border: 0;
  background: transparent;
  color: #dce2eb;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.provider-switch-track {
  position: relative;
  width: 36px;
  height: 20px;
  border-radius: 999px;
  background: #343b47;
  border: 1px solid rgba(255,255,255,.08);
  transition: background .16s ease;
}
.provider-switch-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  transition: transform .16s ease;
}
.provider-switch-button.is-on .provider-switch-track { background: #15915e; }
.provider-switch-button.is-on .provider-switch-knob { transform: translateX(16px); }
.provider-switch-button.is-off .provider-switch-track { background: #7e2630; }
.provider-switch-button:hover .provider-switch-track { filter: brightness(1.12); }
@media (max-width: 1200px) {
  .provider-control-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .provider-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .provider-control-grid { grid-template-columns: 1fr; }
}


/* ===== V43 horizontal provider slider + reporting polish ===== */
.provider-horizontal-slider,
.provider-control-grid,
.provider-sort-slider {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 12px;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.18) transparent;
  padding: 3px 2px 10px;
}
.provider-horizontal-slider::-webkit-scrollbar,
.provider-control-grid::-webkit-scrollbar,
.provider-sort-slider::-webkit-scrollbar { height: 6px; }
.provider-horizontal-slider::-webkit-scrollbar-thumb,
.provider-control-grid::-webkit-scrollbar-thumb,
.provider-sort-slider::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 999px; }
.provider-brand-grid .provider-brand-card { flex: 0 0 158px; scroll-snap-align: start; }
.provider-filter-grid .provider-filter-card { flex: 0 0 210px; scroll-snap-align: start; }
.provider-control-grid .provider-admin-control-card { flex: 0 0 250px; scroll-snap-align: start; }
.provider-slider-heading { align-items: flex-end; }
.provider-slider-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.provider-slide-arrow {
  width: 34px; height: 34px; display: inline-grid; place-items: center;
  border: 1px solid rgba(255,255,255,.10); border-radius: 9px;
  background: rgba(255,255,255,.03); color: #e8edf5; font-weight: 900; cursor: pointer;
}
.provider-slide-arrow:hover { background: rgba(255,255,255,.07); }
.provider-sort-panel { overflow: hidden; }
.provider-sort-slider { min-height: 108px; }
.provider-sort-card {
  flex: 0 0 220px; min-width: 220px; min-height: 88px;
  display: grid; grid-template-columns: 24px 52px minmax(0,1fr); gap: 9px; align-items: center;
  padding: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px;
  background: #11151b; cursor: grab; scroll-snap-align: start; user-select: none;
}
.provider-sort-card:active { cursor: grabbing; }
.provider-sort-card.is-dragging { opacity: .45; border-style: dashed; }
.provider-sort-card.is-disabled { opacity: .58; }
.provider-drag-handle { color: #7f8998; font-size: 18px; letter-spacing: -5px; }
.provider-sort-logo { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.025); }
.provider-sort-logo img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.provider-sort-copy { min-width: 0; }
.provider-sort-copy strong, .provider-sort-copy small { display: block; }
.provider-sort-copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.provider-sort-copy small { margin-top: 4px; color: #8f99a8; font-size: 10px; }
.provider-sort-save { display: flex; justify-content: flex-end; margin-top: 10px; }
.provider-sort-actions { display: flex; gap: 6px; }
.member-finance-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-report-table { min-width: 1500px; }
.admin-report-table th, .admin-report-table td { white-space: nowrap; font-size: 11px; }
.admin-report-table tfoot th { border-top: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.025); }
.report-positive { color: #5ce1a5; font-weight: 900; }
.report-negative { color: #ff6f7c; font-weight: 900; }
.stat-card.success-card { border-color: rgba(48,211,145,.20); }
.stat-card.danger-card { border-color: rgba(255,70,82,.22); }
.admin-table th:nth-child(n+4):nth-child(-n+9), .admin-table td:nth-child(n+4):nth-child(-n+9) { text-align: right; }
@media (max-width: 700px) {
  .provider-brand-grid .provider-brand-card { flex-basis: 138px; }
  .provider-filter-grid .provider-filter-card { flex-basis: 184px; }
  .provider-control-grid .provider-admin-control-card { flex-basis: 220px; }
  .provider-slider-heading { align-items: flex-start; flex-direction: column; }
  .member-finance-stats { grid-template-columns: 1fr 1fr !important; }
}

/* ===== V44 provider-slider-only frontend containment + game layout restore ===== */
/* Keep the provider row horizontal without allowing it to stretch the page/content width. */
.provider-showcase-panel,
.provider-directory,
.provider-slider-shell,
.provider-brand-grid,
.provider-filter-grid {
  min-width: 0;
  max-width: 100%;
}
.provider-showcase-panel,
.provider-directory {
  overflow: hidden;
}
.provider-horizontal-slider {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}
/* Provider slider affects provider cards only. */
.provider-brand-grid.provider-horizontal-slider .provider-brand-card {
  flex: 0 0 158px !important;
  width: 158px !important;
  min-width: 158px !important;
  max-width: 158px !important;
}
.provider-filter-grid.provider-horizontal-slider .provider-filter-card {
  flex: 0 0 210px !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
}

/* Restore V42 game catalogue geometry exactly; provider slider must never resize game cards. */
.catalog-panel.upgraded,
.game-showcase-panel,
.portal-main,
.catalog-grid.upgraded,
.hot-games-grid {
  min-width: 0;
  max-width: 100%;
}
.catalog-grid.upgraded {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  overflow: visible !important;
}
.hot-games-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}
.catalog-card.upgraded,
.hot-game-card {
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  overflow: hidden !important;
  border-radius: 18px;
}
.catalog-art.upgraded,
.game-thumb-box {
  position: relative;
  display: block;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  padding: 10px !important;
  overflow: hidden !important;
}
.catalog-art.upgraded img,
.game-thumb-box img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}
.catalog-card-body.upgraded,
.hot-game-meta {
  width: 100%;
  min-width: 0;
}
.catalog-copy,
.hot-game-meta > div {
  min-width: 0;
}

@media (max-width: 1440px) {
  .hot-games-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 1024px) {
  .catalog-grid.upgraded { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hot-games-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 720px) {
  .provider-brand-grid.provider-horizontal-slider .provider-brand-card {
    flex-basis: 138px !important;
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }
  .provider-filter-grid.provider-horizontal-slider .provider-filter-card {
    flex-basis: 184px !important;
    width: 184px !important;
    min-width: 184px !important;
    max-width: 184px !important;
  }
  .catalog-grid.upgraded,
  .hot-games-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 520px) {
  .catalog-grid.upgraded,
  .hot-games-grid { grid-template-columns: 1fr !important; }
}

/* ===== V45 dedicated mobile portal + iGaming analytics ===== */
.mobile-menu-trigger,
.mobile-balance-chip,
.mobile-menu-sheet,
.mobile-portal-dashboard,
.mobile-finance-strip { display: none; }

.igaming-filter-bar {
  display:grid;
  grid-template-columns: repeat(5,minmax(0,1fr)) auto auto;
  gap:10px;
  align-items:end;
  padding:14px;
  border:1px solid #2b313b;
  border-radius:14px;
  background:#11151b;
  margin-bottom:14px;
}
.igaming-filter-bar label { display:grid; gap:6px; min-width:0; }
.igaming-filter-bar label span { font-size:10px; font-weight:800; color:#8fa0b8; text-transform:uppercase; letter-spacing:.06em; }
.igaming-filter-bar input,
.igaming-filter-bar select { width:100%; min-width:0; }
.igaming-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.igaming-kpi {
  min-width:0; padding:14px; border:1px solid #2b313b; border-radius:14px; background:linear-gradient(180deg,#13171e,#0f1217);
}
.igaming-kpi small { display:block; color:#8d99aa; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.igaming-kpi strong { display:block; margin-top:7px; font-size:19px; line-height:1.15; overflow-wrap:anywhere; }
.igaming-kpi em { display:block; margin-top:5px; color:#7f8997; font-size:10px; font-style:normal; }
.igaming-kpi.is-positive strong { color:#55e5a8; }
.igaming-kpi.is-negative strong { color:#ff6d7a; }
.igaming-report-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr); gap:14px; margin-bottom:14px; }
.igaming-section-card { border:1px solid #29303a; border-radius:14px; background:#11151b; overflow:hidden; }
.igaming-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 14px; border-bottom:1px solid #282e37; }
.igaming-section-head div { min-width:0; }
.igaming-section-head small { display:block; color:#ff5060; font-size:9px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
.igaming-section-head h3 { margin:3px 0 0; font-size:14px; }
.igaming-section-body { padding:12px 14px; }
.igaming-mini-list { display:grid; gap:8px; }
.igaming-mini-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:9px 10px; border:1px solid #262c35; border-radius:10px; background:#0d1015; }
.igaming-mini-row span { min-width:0; }
.igaming-mini-row strong { display:block; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.igaming-mini-row small { color:#8490a1; font-size:9px; }
.igaming-mini-row b { font-size:11px; }
.igaming-tabs { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:12px; }
.igaming-tabs a { min-height:34px; display:inline-flex; align-items:center; padding:0 12px; border:1px solid #313845; border-radius:9px; background:#11151b; color:#cbd3df; font-size:10px; font-weight:800; }
.igaming-tabs a.active { color:#fff; border-color:#ef3347; background:#d91f34; }
.igaming-table-wrap { overflow:auto; border:1px solid #2a3039; border-radius:12px; }
.igaming-table { width:100%; min-width:980px; border-collapse:collapse; font-size:10px; }
.igaming-table th { position:sticky; top:0; z-index:1; background:#161b22; color:#9aa7b9; font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
.igaming-table th,.igaming-table td { padding:9px 10px; border-bottom:1px solid #252b34; text-align:right; white-space:nowrap; }
.igaming-table th:first-child,.igaming-table td:first-child { text-align:left; }
.igaming-table tbody tr:hover { background:rgba(255,255,255,.02); }
.igaming-table tfoot td { background:#151920; font-weight:900; }

@media (max-width: 1100px) {
  .igaming-filter-bar { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .igaming-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .igaming-report-grid { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  html { scroll-padding-top: 78px; }
  body { font-size:14px; background:#07080b; padding-bottom:72px; }
  .public-shell { min-width:0; overflow-x:hidden; }
  .site-header {
    position:sticky; top:0; z-index:60;
    width:100%; min-height:58px; margin:0; padding:8px 10px;
    display:grid; grid-template-columns:42px minmax(100px,1fr) auto; align-items:center; gap:8px;
    border:0; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0;
    background:rgba(7,8,11,.96); backdrop-filter:blur(14px);
  }
  .site-header .brand-lockup { min-width:0; justify-self:start; }
  .site-header .brand-lockup img { max-width:128px !important; height:34px !important; object-fit:contain; }
  .mobile-menu-trigger {
    display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.10); border-radius:11px;
    background:#11141a; color:#fff; font-size:18px; cursor:pointer;
  }
  .mobile-balance-chip {
    display:grid; justify-items:end; gap:1px; min-width:84px; padding:5px 9px; border:1px solid rgba(255,255,255,.09); border-radius:10px; background:#101319; color:#fff;
  }
  .mobile-balance-chip small { color:#8f9bad; font-size:8px; text-transform:uppercase; letter-spacing:.06em; }
  .mobile-balance-chip strong { font-size:11px; white-space:nowrap; }
  .site-header .public-nav,
  .site-header .header-actions { display:none !important; }

  .mobile-menu-sheet[hidden] { display:none !important; }
  .mobile-menu-sheet {
    display:block; position:fixed; inset:0; z-index:90; padding:72px 12px 90px; overflow:auto; background:rgba(5,6,9,.96); backdrop-filter:blur(18px);
  }
  .mobile-menu-sheet-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; padding:0 2px; }
  .mobile-menu-sheet-head strong { font-size:17px; }
  .mobile-menu-sheet-head button { width:38px; height:38px; border:1px solid #303641; border-radius:10px; background:#11151b; color:#fff; font-size:22px; }
  .mobile-menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
  .mobile-menu-grid a { min-height:82px; display:grid; place-items:center; align-content:center; gap:7px; padding:10px 6px; text-align:center; border:1px solid #282f39; border-radius:14px; background:#101319; color:#e7ebf2; font-size:10px; font-weight:800; }
  .mobile-menu-grid a span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#191e26; font-size:17px; }

  .public-content.portal-home,
  .refined-home.public-content.portal-home { width:100%; margin:0; padding:8px 8px 0; }
  .mobile-portal-dashboard { display:grid; gap:8px; margin-bottom:8px; }
  .mobile-wallet-summary {
    display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 11px; border:1px solid #242a33; border-radius:13px; background:linear-gradient(180deg,#11151b,#0d1015);
  }
  .mobile-wallet-user { display:flex; align-items:center; gap:8px; min-width:0; }
  .mobile-wallet-avatar { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:50%; background:#242b36; font-size:12px; font-weight:900; }
  .mobile-wallet-user div { min-width:0; }
  .mobile-wallet-user small,.mobile-wallet-balance small { display:block; color:#8592a4; font-size:8px; }
  .mobile-wallet-user strong { display:block; max-width:140px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:11px; }
  .mobile-wallet-balance { text-align:right; }
  .mobile-wallet-balance strong { display:block; margin-top:2px; font-size:12px; }
  .mobile-login-pill { padding:8px 14px; border-radius:9px; background:#e7283d; color:#fff; font-size:10px; font-weight:900; }
  .mobile-cashier-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
  .mobile-cashier-actions a { min-width:0; min-height:64px; padding:8px; display:grid; grid-template-columns:28px minmax(0,1fr); grid-template-rows:auto auto; column-gap:7px; align-items:center; border:1px solid #282f39; border-radius:12px; background:#101319; }
  .mobile-cashier-actions a > span { grid-row:1/3; width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#1b2028; color:#ff4f60; font-size:16px; font-weight:900; }
  .mobile-cashier-actions b { font-size:10px; }
  .mobile-cashier-actions small { color:#7f8b9c; font-size:7.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mobile-finance-strip { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding-bottom:1px; }
  .mobile-finance-strip::-webkit-scrollbar { display:none; }
  .mobile-finance-strip span { flex:0 0 118px; min-width:0; padding:8px 9px; border:1px solid #282f38; border-radius:11px; background:#0f1217; }
  .mobile-finance-strip small { display:block; color:#8390a1; font-size:8px; }
  .mobile-finance-strip b { display:block; margin-top:3px; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mobile-category-strip { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding:1px 0; }
  .mobile-category-strip::-webkit-scrollbar { display:none; }
  .mobile-category-strip a { flex:0 0 62px; min-height:58px; display:grid; place-items:center; align-content:center; gap:4px; border:1px solid #252c35; border-radius:11px; background:#0e1116; color:#dfe5ee; }
  .mobile-category-strip a span { font-size:17px; line-height:1; }
  .mobile-category-strip a b { font-size:8px; }

  .home-layout,.refined-home .home-layout { display:block !important; }
  .portal-sidebar.left-sidebar,
  .portal-sidebar.right-sidebar { display:none !important; }
  .portal-main,.refined-home .portal-main { display:grid; gap:8px; width:100%; min-width:0; }

  .portal-hero,.refined-home .portal-hero {
    min-height:190px; aspect-ratio:16/8.6; padding:14px; border-radius:13px; grid-template-columns:1fr !important;
    background-position:center !important; overflow:hidden;
  }
  .portal-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,5,8,.72),rgba(4,5,8,.08)); pointer-events:none; }
  .portal-hero-copy { position:relative; z-index:1; max-width:70% !important; align-self:end; padding-bottom:4px; }
  .portal-hero .eyebrow { font-size:7px; letter-spacing:.12em; }
  .portal-hero h1,.refined-home .portal-hero h1 { margin:4px 0 5px; max-width:100%; font-size:26px !important; line-height:.94; letter-spacing:-.04em; }
  .portal-hero p,.refined-home .portal-hero p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:100%; margin:0; font-size:9px !important; line-height:1.45; }
  .hero-actions-row { margin-top:9px !important; }
  .hero-actions-row .large { min-height:32px; padding:7px 12px; border-radius:8px; font-size:9px; }

  .jackpot-strip,.refined-home .jackpot-strip {
    display:grid !important; grid-template-columns:auto minmax(0,1fr) !important; gap:7px 10px; align-items:center; padding:9px 10px; border-radius:12px;
  }
  .jackpot-label { gap:6px; }
  .jackpot-label > span { font-size:18px; }
  .jackpot-label small { font-size:7px; }
  .jackpot-label strong { font-size:10px !important; }
  .jackpot-value { text-align:right !important; }
  .jackpot-value small { font-size:8px !important; }
  .jackpot-value strong { font-size:17px !important; letter-spacing:.02em; }
  .jackpot-meta { grid-column:1/-1; justify-content:flex-end !important; border-top:1px solid rgba(255,255,255,.05); padding-top:5px; }
  .jackpot-meta small { font-size:7px; }
  .winner-avatar-stack span { width:18px !important; height:18px !important; }

  .pill-toolbar,.refined-home .pill-toolbar { display:grid !important; gap:7px; padding:7px; border-radius:12px; }
  .pill-list { display:flex !important; overflow-x:auto; flex-wrap:nowrap !important; gap:6px !important; scrollbar-width:none; }
  .pill-list::-webkit-scrollbar { display:none; }
  .pill-list a,.catalog-filter.upgraded .filter-tabs a { min-height:32px !important; padding:7px 10px !important; border-radius:9px !important; font-size:8.5px !important; }
  .toolbar-search { min-height:34px; border-radius:9px !important; }
  .toolbar-search input { font-size:9px !important; }

  .game-showcase-panel,.refined-home .game-showcase-panel,.catalog-panel.upgraded { padding:10px !important; border-radius:12px !important; }
  .section-head-row { margin-bottom:8px !important; }
  .section-head-row h2 { font-size:13px !important; }
  .panel-kicker { font-size:7px !important; }
  .view-all { font-size:8px !important; }
  .hot-games-grid,.refined-home .hot-games-grid,.catalog-grid.upgraded { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:7px !important; }
  .hot-game-card,.catalog-card.upgraded { min-width:0; border-radius:10px !important; overflow:hidden; }
  .game-thumb-box,.catalog-art.upgraded { aspect-ratio:1/1; padding:3px !important; }
  .game-thumb-box img,.catalog-art.upgraded img { width:100%; height:100%; object-fit:contain; border-radius:8px !important; }
  .game-badge { top:4px !important; right:4px !important; padding:3px 5px !important; font-size:6px !important; border-radius:6px !important; }
  .hot-game-meta,.catalog-card-body.upgraded { display:block !important; padding:7px !important; }
  .hot-game-meta strong,.catalog-copy strong { display:block; font-size:8.5px !important; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .game-provider-line,.catalog-copy span { display:none !important; }
  .game-launch-form,.mini-play-btn,.play-button { display:none !important; }
  .game-card-play-overlay { display:none !important; }

  .provider-showcase-panel { padding:10px !important; border-radius:12px !important; }
  .provider-slider-heading .provider-showcase-copy { display:none; }
  .provider-slider-actions .provider-slide-arrow { width:28px; height:28px; font-size:11px; }
  .provider-horizontal-slider { gap:7px !important; overflow-x:auto !important; padding-bottom:2px; }
  .provider-horizontal-slider .provider-brand-card { flex:0 0 86px !important; min-width:86px !important; padding:7px !important; border-radius:10px !important; }
  .provider-brand-art { height:42px !important; }
  .provider-brand-meta strong { font-size:7.5px !important; }
  .provider-brand-meta small { font-size:6.5px !important; }

  .promo-banner-row,.refined-home .promo-banner-row { display:flex !important; overflow-x:auto; gap:7px !important; scrollbar-width:none; }
  .promo-banner-row::-webkit-scrollbar { display:none; }
  .promo-banner-card { flex:0 0 78%; min-height:108px !important; padding:11px !important; border-radius:12px !important; }
  .promo-banner-card strong { font-size:15px !important; }
  .promo-banner-card p { font-size:8px !important; }
  .promo-banner-card a { font-size:8px; }

  .mobile-bottom-dock {
    position:fixed !important; left:8px; right:8px; bottom:8px; z-index:70; width:auto !important; margin:0 !important;
    grid-template-columns:repeat(4,1fr); gap:5px; padding:5px; border-radius:16px; background:rgba(8,9,12,.96);
  }
  .mobile-bottom-dock a { min-height:42px; border-radius:11px; font-size:8.5px; }
  .public-footer.modern { display:none; }
  .floating-livechat { bottom:62px !important; right:9px !important; transform:scale(.86); transform-origin:bottom right; }

  /* Dedicated mobile user/dashboard pages. */
  .dashboard-shell { min-height:100%; }
  .dashboard-sidebar { width:min(292px,86vw); }
  .dashboard-main { min-width:0; }
  .dashboard-topbar { min-height:54px; padding:8px 10px; }
  .dashboard-content { padding:10px !important; }
  .dashboard-content .welcome-banner { padding:12px !important; border-radius:12px; }
  .dashboard-content .welcome-banner h2 { font-size:16px; }
  .dashboard-content .stat-grid,.dashboard-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:7px !important; }
  .dashboard-content .stat-card { min-height:92px; padding:10px !important; border-radius:11px; }
  .dashboard-content .stat-card small { font-size:8px; }
  .dashboard-content .stat-card strong { font-size:14px; }
  .dashboard-content .panel,.dashboard-content .content-card { border-radius:12px; }

  .igaming-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; gap:8px; }
  .igaming-filter-bar .primary-button,.igaming-filter-bar .outline-button { width:100%; }
  .igaming-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .igaming-kpi { padding:10px; border-radius:11px; }
  .igaming-kpi strong { font-size:14px; }
  .igaming-report-grid { grid-template-columns:1fr; gap:9px; }
}

@media (max-width: 370px) {
  .hot-games-grid,.refined-home .hot-games-grid,.catalog-grid.upgraded { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .mobile-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ===== V46 Dashboard Overview date/member/provider filters ===== */
.overview-filter-panel{padding:18px 20px;margin:0 0 16px;border-radius:18px}
.overview-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.overview-filter-head h2{margin:3px 0 5px;font-size:19px;line-height:1.25}
.overview-filter-head p{margin:0;max-width:820px;line-height:1.55}
.overview-period-badge{flex:0 0 auto;min-width:210px;padding:10px 13px;border:1px solid var(--line,#2c3340);border-radius:13px;background:rgba(255,255,255,.025);text-align:right}
.overview-period-badge small{display:block;margin-bottom:3px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#8e9bb0)}
.overview-period-badge strong{font-size:13px;line-height:1.35}
.overview-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:11px;align-items:end}
.overview-filter-grid label{display:grid;gap:6px;min-width:0;margin:0}
.overview-filter-grid label>span{font-size:11px;font-weight:700;color:#cbd3df}
.overview-filter-grid input,.overview-filter-grid select{width:100%;min-width:0;height:40px;padding:0 11px;border-radius:11px}
.overview-filter-actions{display:flex;gap:8px;align-items:center}
.overview-filter-actions .primary-button,.overview-filter-actions .outline-button{min-height:40px;padding:9px 14px;white-space:nowrap}
.overview-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.065)}
.overview-presets>span{font-size:11px;color:var(--muted,#8e9bb0);font-weight:700}
.overview-presets a{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.025);font-size:11px;font-weight:700;color:#dce3ed;text-decoration:none}
.overview-presets a:hover{border-color:rgba(255,49,72,.42);background:rgba(255,49,72,.08)}
.overview-filter-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.overview-filter-summary span{display:inline-flex;gap:4px;align-items:center;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.025);font-size:10px;color:var(--muted,#8e9bb0)}
.overview-filter-summary b{color:#fff;font-weight:700}
.admin-daily-report .panel-heading{align-items:flex-start}
.admin-daily-report .report-table-wrap{max-height:560px;overflow:auto}
.admin-report-table thead th{position:sticky;top:0;z-index:2}
.admin-report-table tfoot th{position:sticky;bottom:0;z-index:2}
@media(max-width:1250px){.overview-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.overview-filter-actions{grid-column:1/-1}}
@media(max-width:760px){.overview-filter-panel{padding:14px}.overview-filter-head{display:grid;gap:10px}.overview-period-badge{width:100%;min-width:0;text-align:left}.overview-filter-grid{grid-template-columns:1fr}.overview-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.overview-filter-actions .primary-button,.overview-filter-actions .outline-button{justify-content:center}.overview-presets{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.overview-presets a{flex:0 0 auto}.overview-filter-summary{gap:6px}.overview-filter-summary span{width:100%;justify-content:space-between}}

/* ===== V47 Member 360 database + cleaner admin workspace ===== */
.dashboard-shell.is-admin .dashboard-sidebar{width:244px}
.dashboard-shell.is-admin .dashboard-content{padding:18px 20px 28px}
.dashboard-shell.is-admin .dashboard-topbar{min-height:64px;padding:10px 18px}
.dashboard-shell.is-admin .dashboard-title-block h1{font-size:18px;line-height:1.2;margin-top:2px}
.dashboard-shell.is-admin .breadcrumb{font-size:9px;letter-spacing:.02em}
.dashboard-nav-organized{padding:0 10px 12px}
.sidebar-nav-group{margin-top:7px;border:1px solid rgba(255,255,255,.04);border-radius:12px;background:rgba(255,255,255,.012);overflow:hidden}
.sidebar-nav-group summary{min-height:37px;padding:0 11px;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#91a0b5}
.sidebar-submenu{padding:3px 6px 7px}
.sidebar-submenu a{min-height:36px;padding:7px 9px;border-radius:9px;font-size:11px}
.dashboard-primary-link{margin:6px 10px 8px;min-height:39px;border-radius:10px}
.dashboard-content>.panel,.dashboard-content>.page-intro,.dashboard-content>.stat-grid,.dashboard-content>.dashboard-grid{margin-bottom:14px}
.panel{border-radius:15px}
.panel-heading{gap:12px;padding-bottom:11px;margin-bottom:12px}
.panel-heading h2{font-size:15px;line-height:1.25}
.panel-kicker,.eyebrow{font-size:9px;letter-spacing:.12em}
.form-grid label,.stack-form label,.member360-form label,.seo-settings-form label{gap:6px}
.form-grid label,.stack-form label,.member360-form label,.seo-settings-form label,.userdb-filter label{font-size:11px;font-weight:700;color:#d5dbe5}
input,select,textarea{border-radius:10px}
.data-table th{font-size:9px;letter-spacing:.045em}
.data-table td{font-size:10.5px;line-height:1.42}

.userdb-filter-panel{padding:14px}
.userdb-filter{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(140px,.65fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:9px;align-items:end}
.userdb-filter label{display:grid;gap:5px;min-width:0}
.userdb-filter label>span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8795aa}
.userdb-filter-actions{display:flex;gap:7px}
.userdb-table-wrap{max-height:690px;overflow:auto}
.userdb-table{min-width:1580px}
.userdb-table thead th{position:sticky;top:0;z-index:2;background:#151a21}
.member-cell-link{text-decoration:none;color:inherit}
.member-cell-link:hover strong{color:#ff5a69}
.userdb-actions{flex-wrap:nowrap}
.userdb-actions .small-button{white-space:nowrap}

.member360-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px}
.member360-identity{display:flex;align-items:center;gap:13px;min-width:0}
.member360-avatar{width:54px;height:54px;flex:0 0 54px;font-size:20px}
.member360-identity h2{margin:3px 0 4px;font-size:21px}
.member360-identity p{margin:0;color:#8d99aa;font-size:11px;overflow-wrap:anywhere}
.member360-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.member360-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.member360-meta-grid article,.member360-kpis article{min-width:0;border:1px solid #2a313b;border-radius:13px;background:linear-gradient(180deg,#13171e,#0e1116);padding:12px 13px}
.member360-meta-grid small,.member360-kpis small{display:block;color:#8795aa;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.065em}
.member360-meta-grid strong,.member360-kpis strong{display:block;margin-top:5px;font-size:13px;line-height:1.28;overflow-wrap:anywhere}
.member360-meta-grid span,.member360-kpis span{display:block;margin-top:4px;color:#778496;font-size:9px;line-height:1.35;overflow-wrap:anywhere}
.member360-filter{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto!important}
.member360-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}
.member360-kpis article{padding:12px}
.member360-kpis strong{font-size:15px}
.member360-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:14px;margin-bottom:14px}
.member360-form,.member360-security{display:grid;gap:11px}
.panel-divider{border:0;border-top:1px solid #2b313a;margin:16px 0}
.member360-adjust-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:9px;align-items:end}
.member360-adjust-form label{display:grid;gap:6px;min-width:0}
.member360-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 0 12px;padding:1px}
.member360-tabs::-webkit-scrollbar{display:none}
.member360-tabs a{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;padding:0 11px;border:1px solid #2c333d;border-radius:9px;background:#11151a;color:#cbd3df;font-size:9.5px;font-weight:800;text-decoration:none}
.member360-tabs a:hover{border-color:#e83247;color:#fff;background:rgba(232,50,71,.08)}
.member360-table-panel{scroll-margin-top:78px}
.member360-table-panel .table-wrap{max-height:520px;overflow:auto}
.member360-table-panel .data-table{min-width:1040px}
.member360-table-panel .data-table thead th{position:sticky;top:0;z-index:2;background:#151a21}
.compact-code{display:block;max-width:330px;max-height:70px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#aeb9c9;font-size:9px;line-height:1.35}
.positive{color:#55e5a8!important}.negative{color:#ff6d7a!important}
.danger-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;border:1px solid rgba(255,78,92,.45);border-radius:10px;background:rgba(255,65,81,.12);color:#ff7884;font-weight:800;cursor:pointer}
.danger-button:hover{background:rgba(255,65,81,.2)}

.seo-settings-form{display:grid;gap:14px}
.seo-settings-form>.panel{margin:0}
.seo-settings-form textarea{line-height:1.55}
.code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}
.seo-shortcut-panel .panel-heading{margin-bottom:4px}

@media(max-width:1350px){
 .member360-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
 .member360-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .userdb-filter{grid-template-columns:repeat(2,minmax(180px,1fr))}
 .userdb-filter-actions{grid-column:1/-1}
}
@media(max-width:900px){
 .dashboard-shell.is-admin .dashboard-content{padding:12px}
 .member360-head{align-items:flex-start;flex-direction:column}
 .member360-status{justify-content:flex-start}
 .member360-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .member360-columns{grid-template-columns:1fr}
 .member360-adjust-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .member360-adjust-form button{grid-column:1/-1}
}
@media(max-width:620px){
 .member360-meta-grid,.member360-kpis,.userdb-filter,.member360-filter{grid-template-columns:1fr!important}
 .member360-adjust-form{grid-template-columns:1fr}
 .userdb-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
 .member360-identity{align-items:flex-start}
 .member360-identity h2{font-size:18px}
}
.member360-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.member360-access-grid>div{min-width:0;padding:12px;border:1px solid #29303a;border-radius:12px;background:#0f1318}
.member360-access-grid small{display:block;color:#8795aa;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.member360-access-grid strong{display:block;margin-top:5px;font-size:12px}
.member360-access-grid p{margin:5px 0 0;color:#7d8999;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:900px){.member360-access-grid{grid-template-columns:1fr}}

/* ===== V48 Modern admin, Member, Referral & Integrations ===== */
.dashboard-shell.is-admin{--admin-panel:#11161d;--admin-panel-2:#0d1218;--admin-line:#27313c;--admin-muted:#8898ad}
.dashboard-shell.is-admin .dashboard-sidebar{width:252px;background:linear-gradient(180deg,#0b0f14 0%,#0a0d12 100%);border-right:1px solid rgba(255,255,255,.065)}
.dashboard-shell.is-admin .sidebar-brand{min-height:68px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.055)}
.dashboard-shell.is-admin .sidebar-profile{margin:11px 12px 8px;padding:11px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(255,255,255,.025)}
.dashboard-shell.is-admin .sidebar-label{padding:5px 17px 4px;font-size:8px;letter-spacing:.14em;color:#66758a}
.dashboard-shell.is-admin .sidebar-nav-group{margin-top:6px;background:transparent;border-color:rgba(255,255,255,.045)}
.dashboard-shell.is-admin .sidebar-nav-group summary{min-height:35px;padding-inline:12px;font-size:8.5px;color:#718198}
.dashboard-shell.is-admin .sidebar-submenu{padding:4px 5px 7px}
.dashboard-shell.is-admin .sidebar-submenu a{min-height:37px;padding:8px 9px;border-radius:9px;color:#b9c4d3;gap:9px}
.dashboard-shell.is-admin .sidebar-submenu a:hover{background:rgba(255,255,255,.035);color:#fff}
.dashboard-shell.is-admin .sidebar-submenu a.active{background:linear-gradient(90deg,rgba(244,38,63,.18),rgba(244,38,63,.06));box-shadow:inset 2px 0 #ff3148;color:#fff}
.dashboard-shell.is-admin .nav-icon{width:20px;height:20px;display:grid;place-items:center;font-size:11px;border-radius:6px;background:rgba(255,255,255,.035)}
.dashboard-shell.is-admin .dashboard-main{background:radial-gradient(circle at 80% -15%,rgba(230,37,61,.065),transparent 26%),#0b0f14}
.dashboard-shell.is-admin .dashboard-topbar{position:sticky;top:0;z-index:50;background:rgba(11,15,20,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
.dashboard-shell.is-admin .dashboard-content{max-width:1720px;width:100%;margin:0 auto;padding:18px 20px 34px}
.dashboard-shell.is-admin .page-intro{padding:2px 2px 0;align-items:flex-start}
.dashboard-shell.is-admin .page-intro h2{font-size:21px;letter-spacing:-.02em;margin:3px 0 5px}
.dashboard-shell.is-admin .page-intro p{max-width:820px;font-size:11px;line-height:1.55}
.dashboard-shell.is-admin .panel{background:linear-gradient(180deg,rgba(19,24,31,.98),rgba(13,17,23,.98));border:1px solid rgba(255,255,255,.075);box-shadow:0 12px 35px rgba(0,0,0,.12)}
.dashboard-shell.is-admin .stat-card{background:linear-gradient(180deg,#151a22,#0f141a);border-color:rgba(255,255,255,.07)}
.dashboard-shell.is-admin input,.dashboard-shell.is-admin select,.dashboard-shell.is-admin textarea{background:#0c1117;border-color:#303a46;min-height:40px}
.dashboard-shell.is-admin input:focus,.dashboard-shell.is-admin select:focus,.dashboard-shell.is-admin textarea:focus{border-color:rgba(255,55,79,.72);box-shadow:0 0 0 3px rgba(255,55,79,.08)}
.dashboard-shell.is-admin .data-table{border-collapse:separate;border-spacing:0}
.dashboard-shell.is-admin .data-table th{background:#121820;color:#8190a4;padding:10px 11px}
.dashboard-shell.is-admin .data-table td{padding:10px 11px;border-bottom-color:rgba(255,255,255,.05)}
.dashboard-shell.is-admin .data-table tbody tr:hover td{background:rgba(255,255,255,.018)}
.check-row{display:flex!important;align-items:center!important;gap:9px!important;min-height:38px!important}
.check-row input[type=checkbox]{width:16px!important;height:16px!important;min-height:16px!important;flex:0 0 16px!important;margin:0!important;accent-color:#f72c46}
.check-row span{line-height:1.35}
.integration-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.integration-hub-card{display:flex;gap:14px;min-width:0;padding:17px;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:linear-gradient(180deg,#141a21,#0f141a);text-decoration:none;color:inherit;transition:.18s ease}
.integration-hub-card:hover{transform:translateY(-1px);border-color:rgba(255,55,79,.32);background:linear-gradient(180deg,#171d25,#10151b)}
.integration-hub-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:rgba(255,46,70,.11);border:1px solid rgba(255,46,70,.16);font-size:18px;color:#fff}
.integration-hub-card strong{display:block;font-size:14px}.integration-hub-card p{margin:5px 0 8px;color:#8997aa;font-size:10px;line-height:1.5}.integration-hub-card small{color:#ff6475;font-weight:800;font-size:9px}
.feature-list.modern-feature-list{display:grid;gap:9px}.feature-list.modern-feature-list article{padding:12px;border:1px solid #29333e;border-radius:11px;background:#0e1319}.feature-list.modern-feature-list b{display:block;font-size:12px}.feature-list.modern-feature-list span{display:block;margin-top:4px;color:#8392a6;font-size:10px}
.integration-test-result{display:grid;gap:5px;margin-top:12px;padding:11px;border-radius:11px;border:1px solid #303845;background:#0b1016}.integration-test-result.success{border-color:rgba(46,208,139,.28)}.integration-test-result.error{border-color:rgba(255,76,94,.3)}.integration-test-result code{max-height:110px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:9px;color:#9dacbf}
.integration-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.integration-event-card{display:flex!important;align-items:center;gap:10px!important;padding:11px;border:1px solid #29333e;border-radius:11px;background:#0e1319}.integration-event-card input{width:16px!important;height:16px!important;min-height:16px!important}.integration-event-card strong{display:block;font-size:11px}.integration-event-card small{display:block;color:#77869a;font-size:9px;margin-top:2px}
.callback-url-stack{display:grid;gap:14px}.callback-url-stack>div>small{display:block;margin-bottom:6px;color:#7e8ca0;font-size:8px;font-weight:800;letter-spacing:.08em}.copy-field{display:flex;gap:8px}.copy-field input{flex:1;min-width:0}.copy-field button{flex:0 0 auto}.info-callout{margin-top:14px;padding:12px 13px;border:1px solid rgba(255,198,62,.18);border-radius:12px;background:rgba(255,191,41,.035);font-size:10px;color:#a7b1bf;line-height:1.55}.info-callout code{color:#fff}.info-callout p{margin:7px 0 0}
.account-card-list{display:grid;gap:10px}.account-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #29333e;border-radius:12px;background:#0d1218}.account-card>div{display:grid;gap:3px}.account-card strong{font-size:12px}.account-card small{font-size:9px;color:#8390a2}.account-card b{font-size:13px;letter-spacing:.02em}.account-card .status{margin-left:7px}
.member-bank-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:14px}.member-bank-form{padding:13px;border:1px solid #29333e;border-radius:12px;background:#0d1218}.bank-account-layout .account-card-list{max-height:560px;overflow:auto}
.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-stats .stat-card{padding:14px}.compact-stats .stat-card small{font-size:9px}.compact-stats .stat-card strong{font-size:18px;margin-top:5px}
.form-span-all{grid-column:1/-1}.top-gap{margin-top:12px}.inline-form{display:flex;gap:8px;align-items:center}.log-response{max-width:420px}.dashboard-grid.two-columns{align-items:start}
@media(max-width:1250px){.integration-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-bank-grid{grid-template-columns:1fr}.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-shell.is-admin .dashboard-content{padding:12px 10px 28px}.integration-hub-grid,.integration-event-grid,.compact-stats{grid-template-columns:1fr}.dashboard-shell.is-admin .page-intro h2{font-size:18px}.copy-field{display:grid;grid-template-columns:1fr}.copy-field button{width:100%}}

/* ===== V49 Operator Control Center ===== */
.dashboard-sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.dashboard-nav-organized{padding-bottom:18px}
.sidebar-nav-group{margin:0 0 8px}
.sidebar-nav-group>summary{min-height:42px;padding:10px 12px;font-size:12px;font-weight:800;letter-spacing:.02em}
.sidebar-submenu{gap:4px;padding:5px 7px 8px}
.sidebar-submenu a{min-height:38px;padding:8px 10px;border-radius:10px;font-size:12px;line-height:1.25}
.sidebar-submenu .nav-icon{width:22px;flex:0 0 22px;text-align:center;opacity:.8}
.operator-cc-intro{margin-bottom:14px}
.operator-subnav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 14px;padding:9px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.018)}
.operator-subnav::-webkit-scrollbar{display:none}
.operator-subnav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none;background:rgba(255,255,255,.02)}
.operator-subnav a:hover,.operator-subnav a.active{color:#fff;border-color:rgba(244,48,69,.45);background:rgba(244,48,69,.12)}
.operator-cc-intro h2{margin-bottom:4px}
.operator-cc-intro p{max-width:820px}
.inline-form{display:flex;gap:7px;align-items:center;min-width:260px}
.inline-form input{min-width:140px}
.igaming-mini-row em{display:block;margin-top:5px;color:var(--muted);font-style:normal;font-size:12px;line-height:1.5;max-width:700px}
@media (max-width:900px){.sidebar-nav-group>summary{font-size:13px}.sidebar-submenu a{font-size:13px}.operator-subnav{position:sticky;top:0;z-index:3;background:var(--panel-bg,#11151b)}.inline-form{min-width:220px}}

/* ===== V50 Global Admin Readability & Spacing Refinement ===== */
/* Applied to the complete admin control center, not only Member page. */
.dashboard-shell.is-admin {
  font-size: 14px;
  line-height: 1.5;
  --dash-gap: 16px;
}
.dashboard-shell.is-admin .dashboard-sidebar {
  width: 272px;
  flex-basis: 272px;
}
.dashboard-shell.is-admin .sidebar-brand {
  min-height: 72px;
  padding: 13px 18px;
}
.dashboard-shell.is-admin .sidebar-profile {
  margin: 13px 13px 10px;
  padding: 12px 13px;
}
.dashboard-shell.is-admin .sidebar-profile strong { font-size: 13px; line-height: 1.35; }
.dashboard-shell.is-admin .sidebar-profile small { font-size: 11px; line-height: 1.4; }
.dashboard-shell.is-admin .sidebar-label {
  padding: 7px 17px 6px;
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: .12em;
}
.dashboard-shell.is-admin .dashboard-primary-link,
.dashboard-shell.is-admin .dashboard-nav > a {
  min-height: 42px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.35;
}
.dashboard-shell.is-admin .sidebar-nav-group { margin-bottom: 8px; }
.dashboard-shell.is-admin .sidebar-nav-group > summary {
  min-height: 42px;
  padding: 10px 12px;
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: .045em;
}
.dashboard-shell.is-admin .sidebar-submenu { gap: 4px; padding: 5px 7px 9px; }
.dashboard-shell.is-admin .sidebar-submenu a {
  min-height: 40px;
  padding: 9px 10px;
  font-size: 12.5px;
  line-height: 1.35;
}
.dashboard-shell.is-admin .sidebar-submenu .nav-icon {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
  font-size: 12px;
}
.dashboard-shell.is-admin .sidebar-bottom a { font-size: 12px; line-height: 1.4; }

.dashboard-shell.is-admin .dashboard-topbar {
  min-height: 68px;
  padding: 0 24px;
}
.dashboard-shell.is-admin .breadcrumb {
  font-size: 11px;
  line-height: 1.35;
  color: #8692a4;
}
.dashboard-shell.is-admin .dashboard-topbar h1 {
  margin-top: 3px;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.dashboard-shell.is-admin .top-user { font-size: 13px; }
.dashboard-shell.is-admin .dashboard-content {
  max-width: 1760px;
  padding: 22px 24px 42px;
}

.dashboard-shell.is-admin .page-intro {
  gap: 18px;
  margin-bottom: 16px;
}
.dashboard-shell.is-admin .eyebrow,
.dashboard-shell.is-admin .panel-kicker {
  font-size: 10.5px;
  line-height: 1.35;
  letter-spacing: .12em;
}
.dashboard-shell.is-admin .page-intro h2 {
  margin: 5px 0 5px;
  font-size: 24px;
  line-height: 1.2;
}
.dashboard-shell.is-admin .page-intro p {
  margin: 0;
  max-width: 980px;
  font-size: 13px;
  line-height: 1.6;
  color: #9da8b8;
}
.dashboard-shell.is-admin .count-chip,
.dashboard-shell.is-admin .secure-label {
  padding: 6px 9px;
  font-size: 11px;
  line-height: 1.3;
}

.dashboard-shell.is-admin .panel {
  padding: 18px;
  border-radius: 13px;
}
.dashboard-shell.is-admin .panel-heading {
  gap: 14px;
  margin-bottom: 14px;
}
.dashboard-shell.is-admin .panel-heading h2,
.dashboard-shell.is-admin .panel-heading h3 {
  font-size: 17px;
  line-height: 1.3;
}
.dashboard-shell.is-admin .muted-text,
.dashboard-shell.is-admin .text-link,
.dashboard-shell.is-admin .form-hint {
  font-size: 12px;
  line-height: 1.5;
}
.dashboard-shell.is-admin .flash {
  padding: 11px 14px;
  font-size: 13px;
  line-height: 1.5;
}

/* Forms: globally readable, aligned, and consistent */
.dashboard-shell.is-admin .form-grid,
.dashboard-shell.is-admin .stack-form { gap: 13px; }
.dashboard-shell.is-admin .form-grid label,
.dashboard-shell.is-admin .stack-form label,
.dashboard-shell.is-admin .member360-form label,
.dashboard-shell.is-admin .seo-settings-form label,
.dashboard-shell.is-admin .userdb-filter label {
  gap: 6px;
  font-size: 12.5px;
  line-height: 1.4;
  color: #d9dee7;
}
.dashboard-shell.is-admin input:not([type="checkbox"]):not([type="radio"]),
.dashboard-shell.is-admin select,
.dashboard-shell.is-admin textarea {
  min-height: 42px;
  padding: 10px 11px;
  font-size: 13px;
  line-height: 1.4;
  border-radius: 8px;
}
.dashboard-shell.is-admin textarea { min-height: 96px; }
.dashboard-shell.is-admin input[type="checkbox"],
.dashboard-shell.is-admin input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
}
.dashboard-shell.is-admin .primary-button,
.dashboard-shell.is-admin .outline-button,
.dashboard-shell.is-admin .small-button {
  min-height: 36px;
  padding: 8px 12px;
  font-size: 12.5px;
  line-height: 1.25;
}
.dashboard-shell.is-admin .icon-action {
  width: 32px;
  height: 32px;
  font-size: 13px;
}
.dashboard-shell.is-admin .status {
  padding: 4px 7px;
  font-size: 10.5px;
  line-height: 1.25;
}

/* Tables: keep density but stop microscopic text */
.dashboard-shell.is-admin .table-wrap {
  border-radius: 10px;
  scrollbar-color: #394454 transparent;
}
.dashboard-shell.is-admin .data-table th {
  padding: 11px 11px;
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: .045em;
  color: #9ba8ba;
}
.dashboard-shell.is-admin .data-table td {
  padding: 12px 11px;
  font-size: 12.5px;
  line-height: 1.5;
  color: #e2e6ed;
}
.dashboard-shell.is-admin .data-table td strong { font-size: 12.5px; line-height: 1.4; }
.dashboard-shell.is-admin .data-table td small,
.dashboard-shell.is-admin .table-sub {
  margin-top: 3px;
  font-size: 10.5px;
  line-height: 1.45;
  color: #8793a5;
}
.dashboard-shell.is-admin .amount-cell { font-size: 12.5px; }
.dashboard-shell.is-admin .row-actions { gap: 6px; }

/* Member Database / Member 360 */
.dashboard-shell.is-admin .userdb-filter-panel { padding: 16px 18px; }
.dashboard-shell.is-admin .userdb-filter {
  grid-template-columns: minmax(300px,1.5fr) minmax(150px,.65fr) minmax(165px,.7fr) minmax(165px,.7fr) auto;
  gap: 12px;
}
.dashboard-shell.is-admin .userdb-filter label > span {
  font-size: 10.5px;
  line-height: 1.35;
  letter-spacing: .06em;
  color: #9aa7b9;
}
.dashboard-shell.is-admin .userdb-filter-actions { gap: 8px; align-items: end; }
.dashboard-shell.is-admin .userdb-table { min-width: 1660px; }
.dashboard-shell.is-admin .member-cell { gap: 10px; }
.dashboard-shell.is-admin .member360-head { padding: 18px 20px; }
.dashboard-shell.is-admin .member360-identity h2 { font-size: 23px; }
.dashboard-shell.is-admin .member360-identity p { font-size: 12.5px; line-height: 1.5; }
.dashboard-shell.is-admin .member360-meta-grid small,
.dashboard-shell.is-admin .member360-kpis small { font-size: 10px; }
.dashboard-shell.is-admin .member360-meta-grid strong,
.dashboard-shell.is-admin .member360-kpis strong { font-size: 14px; }
.dashboard-shell.is-admin .member360-meta-grid span,
.dashboard-shell.is-admin .member360-kpis span { font-size: 10.5px; }
.dashboard-shell.is-admin .member360-kpis strong { font-size: 17px; }
.dashboard-shell.is-admin .member360-tabs a {
  min-height: 38px;
  padding: 0 12px;
  font-size: 11.5px;
}
.dashboard-shell.is-admin .member360-access-grid small { font-size: 10px; }
.dashboard-shell.is-admin .member360-access-grid strong { font-size: 13px; }
.dashboard-shell.is-admin .member360-access-grid p { font-size: 10.5px; }

/* Operator control center, iGaming, integrations, cashier, callbacks */
.dashboard-shell.is-admin .operator-subnav a {
  min-height: 39px;
  padding: 9px 13px;
  font-size: 12.5px;
}
.dashboard-shell.is-admin .igaming-filter-bar label span,
.dashboard-shell.is-admin .igaming-kpi small { font-size: 10.5px; }
.dashboard-shell.is-admin .igaming-kpi strong { font-size: 20px; }
.dashboard-shell.is-admin .igaming-kpi em { font-size: 11px; }
.dashboard-shell.is-admin .igaming-section-head small { font-size: 10px; }
.dashboard-shell.is-admin .igaming-section-head h3 { font-size: 15px; }
.dashboard-shell.is-admin .igaming-mini-row strong,
.dashboard-shell.is-admin .igaming-mini-row b { font-size: 12.5px; }
.dashboard-shell.is-admin .igaming-mini-row small { font-size: 10.5px; }
.dashboard-shell.is-admin .igaming-tabs a { font-size: 11.5px; }
.dashboard-shell.is-admin .igaming-table { font-size: 12px; }
.dashboard-shell.is-admin .igaming-table th { font-size: 10.5px; }
.dashboard-shell.is-admin .igaming-table th,
.dashboard-shell.is-admin .igaming-table td { padding: 10px 11px; }
.dashboard-shell.is-admin .integration-hub-card strong { font-size: 14px; }
.dashboard-shell.is-admin .integration-hub-card p { font-size: 11.5px; }
.dashboard-shell.is-admin .integration-hub-card small { font-size: 10.5px; }
.dashboard-shell.is-admin .feature-list.modern-feature-list b { font-size: 13px; }
.dashboard-shell.is-admin .feature-list.modern-feature-list span { font-size: 11px; }
.dashboard-shell.is-admin .integration-event-card strong { font-size: 12.5px; }
.dashboard-shell.is-admin .integration-event-card small { font-size: 10.5px; }
.dashboard-shell.is-admin .callback-url-stack > div > small { font-size: 10px; }
.dashboard-shell.is-admin .info-callout { font-size: 11.5px; }
.dashboard-shell.is-admin .account-card strong { font-size: 13px; }
.dashboard-shell.is-admin .account-card small { font-size: 10.5px; }
.dashboard-shell.is-admin .compact-stats .stat-card small { font-size: 10.5px; }
.dashboard-shell.is-admin .compact-stats .stat-card strong { font-size: 19px; }
.dashboard-shell.is-admin .api-provider-item small,
.dashboard-shell.is-admin .vendor-card small { font-size: 10.5px; }
.dashboard-shell.is-admin .api-provider-item strong,
.dashboard-shell.is-admin .api-provider-item a,
.dashboard-shell.is-admin .vendor-card strong { font-size: 12.5px; }
.dashboard-shell.is-admin .callback-heading > div > span,
.dashboard-shell.is-admin .callback-route-title small { font-size: 10.5px; }
.dashboard-shell.is-admin .callback-route-card > code { font-size: 11.5px; }
.dashboard-shell.is-admin .callback-log-table th,
.dashboard-shell.is-admin .callback-log-table td { font-size: 11.5px; }

/* Metric and quick cards across every admin module */
.dashboard-shell.is-admin .stat-card { min-height: 100px; padding: 15px; }
.dashboard-shell.is-admin .stat-card small { font-size: 11px; }
.dashboard-shell.is-admin .stat-card strong { font-size: 19px; }
.dashboard-shell.is-admin .stat-card a,
.dashboard-shell.is-admin .stat-note { font-size: 10.5px; }
.dashboard-shell.is-admin .metric-strip { padding: 14px 16px; }
.dashboard-shell.is-admin .metric-strip small { font-size: 11px; }
.dashboard-shell.is-admin .metric-strip strong { font-size: 15px; }
.dashboard-shell.is-admin .quick-action { padding: 12px 13px; }
.dashboard-shell.is-admin .quick-action strong { font-size: 12.5px; }
.dashboard-shell.is-admin .quick-action small { font-size: 10.5px; }

@media (max-width: 1320px) {
  .dashboard-shell.is-admin .dashboard-sidebar { width: 248px; flex-basis: 248px; }
  .dashboard-shell.is-admin .userdb-filter {
    grid-template-columns: minmax(260px,1.4fr) minmax(140px,.7fr) repeat(2,minmax(145px,.7fr));
  }
  .dashboard-shell.is-admin .userdb-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .dashboard-shell.is-admin .dashboard-sidebar { width: 260px; flex-basis: 260px; }
  .dashboard-shell.is-admin .dashboard-content { padding: 17px 14px 34px; }
  .dashboard-shell.is-admin .dashboard-topbar { min-height: 62px; padding: 0 15px; }
  .dashboard-shell.is-admin .dashboard-topbar h1 { font-size: 18px; }
  .dashboard-shell.is-admin .page-intro h2 { font-size: 21px; }
  .dashboard-shell.is-admin .userdb-filter { grid-template-columns: 1fr 1fr; }
  .dashboard-shell.is-admin .userdb-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .dashboard-shell.is-admin { font-size: 14px; }
  .dashboard-shell.is-admin .dashboard-content { padding: 14px 10px 30px; }
  .dashboard-shell.is-admin .page-intro { flex-direction: column; align-items: flex-start; }
  .dashboard-shell.is-admin .page-intro h2 { font-size: 20px; }
  .dashboard-shell.is-admin .page-intro p { font-size: 12.5px; }
  .dashboard-shell.is-admin .panel { padding: 14px; }
  .dashboard-shell.is-admin .userdb-filter { grid-template-columns: 1fr; }
  .dashboard-shell.is-admin .userdb-filter-actions { grid-column: auto; display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .dashboard-shell.is-admin .primary-button,
  .dashboard-shell.is-admin .outline-button,
  .dashboard-shell.is-admin .small-button { min-height: 40px; font-size: 13px; }
}

/* V51: global admin contrast fix so text never blends into dark backgrounds */
.dashboard-shell.is-admin {
  --admin-text: #eef2f7;
  --admin-text-2: #d8e0ea;
  --admin-text-3: #c5ced9;
  --admin-muted-strong: #a7b3c4;
  --admin-muted-soft: #8f9bad;
}
.dashboard-shell.is-admin,
.dashboard-shell.is-admin .dashboard-main,
.dashboard-shell.is-admin .dashboard-content,
.dashboard-shell.is-admin .panel,
.dashboard-shell.is-admin .dashboard-topbar,
.dashboard-shell.is-admin .welcome-banner,
.dashboard-shell.is-admin .metric-strip,
.dashboard-shell.is-admin .catalog-filter,
.dashboard-shell.is-admin .table-wrap,
.dashboard-shell.is-admin .data-table {
  color: var(--admin-text);
}
.dashboard-shell.is-admin .breadcrumb,
.dashboard-shell.is-admin .muted-text,
.dashboard-shell.is-admin .table-sub,
.dashboard-shell.is-admin .panel-kicker,
.dashboard-shell.is-admin .page-intro p,
.dashboard-shell.is-admin .count-chip,
.dashboard-shell.is-admin .filter-search span,
.dashboard-shell.is-admin .quick-action small,
.dashboard-shell.is-admin .stat-card small,
.dashboard-shell.is-admin .stat-note,
.dashboard-shell.is-admin .metric-strip small,
.dashboard-shell.is-admin .sidebar-nav-group summary,
.dashboard-shell.is-admin .sidebar-submenu a,
.dashboard-shell.is-admin .top-user,
.dashboard-shell.is-admin small:not(.status),
.dashboard-shell.is-admin .empty-state,
.dashboard-shell.is-admin .hint,
.dashboard-shell.is-admin .help-text,
.dashboard-shell.is-admin .form-help,
.dashboard-shell.is-admin .field-help,
.dashboard-shell.is-admin .panel-description {
  color: var(--admin-muted-strong) !important;
}
.dashboard-shell.is-admin h1,
.dashboard-shell.is-admin h2,
.dashboard-shell.is-admin h3,
.dashboard-shell.is-admin h4,
.dashboard-shell.is-admin h5,
.dashboard-shell.is-admin strong,
.dashboard-shell.is-admin b,
.dashboard-shell.is-admin label,
.dashboard-shell.is-admin th,
.dashboard-shell.is-admin td,
.dashboard-shell.is-admin .page-intro,
.dashboard-shell.is-admin .panel-heading,
.dashboard-shell.is-admin .table-heading,
.dashboard-shell.is-admin .dashboard-topbar,
.dashboard-shell.is-admin .secure-label,
.dashboard-shell.is-admin .count-chip,
.dashboard-shell.is-admin .quick-action strong,
.dashboard-shell.is-admin .stat-card strong,
.dashboard-shell.is-admin .metric-strip strong,
.dashboard-shell.is-admin .recent-game strong,
.dashboard-shell.is-admin .mini-list-row strong,
.dashboard-shell.is-admin .callback-route-card > code {
  color: var(--admin-text) !important;
}
.dashboard-shell.is-admin input,
.dashboard-shell.is-admin select,
.dashboard-shell.is-admin textarea,
.dashboard-shell.is-admin .filter-search,
.dashboard-shell.is-admin .toolbar-form input,
.dashboard-shell.is-admin .toolbar-form select,
.dashboard-shell.is-admin .compact-filter input,
.dashboard-shell.is-admin .compact-filter select {
  color: var(--admin-text) !important;
  -webkit-text-fill-color: var(--admin-text) !important;
}
.dashboard-shell.is-admin input::placeholder,
.dashboard-shell.is-admin textarea::placeholder,
.dashboard-shell.is-admin select:invalid,
.dashboard-shell.is-admin .filter-search input::placeholder {
  color: var(--admin-muted-soft) !important;
  -webkit-text-fill-color: var(--admin-muted-soft) !important;
  opacity: 1;
}
.dashboard-shell.is-admin input[type="date"],
.dashboard-shell.is-admin input[type="datetime-local"],
.dashboard-shell.is-admin input[type="month"],
.dashboard-shell.is-admin input[type="time"] {
  color-scheme: dark;
}
.dashboard-shell.is-admin input[type="date"]::-webkit-datetime-edit,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-datetime-edit,
.dashboard-shell.is-admin input[type="month"]::-webkit-datetime-edit,
.dashboard-shell.is-admin input[type="time"]::-webkit-datetime-edit,
.dashboard-shell.is-admin input[type="date"]::-webkit-datetime-edit-text,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-datetime-edit-text,
.dashboard-shell.is-admin input[type="month"]::-webkit-datetime-edit-text,
.dashboard-shell.is-admin input[type="time"]::-webkit-datetime-edit-text,
.dashboard-shell.is-admin input[type="date"]::-webkit-datetime-edit-month-field,
.dashboard-shell.is-admin input[type="date"]::-webkit-datetime-edit-day-field,
.dashboard-shell.is-admin input[type="date"]::-webkit-datetime-edit-year-field,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-datetime-edit-month-field,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-datetime-edit-day-field,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-datetime-edit-year-field,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-datetime-edit-hour-field,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-datetime-edit-minute-field {
  color: var(--admin-text) !important;
  -webkit-text-fill-color: var(--admin-text) !important;
}
.dashboard-shell.is-admin input[type="date"]::-webkit-calendar-picker-indicator,
.dashboard-shell.is-admin input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.dashboard-shell.is-admin input[type="time"]::-webkit-calendar-picker-indicator,
.dashboard-shell.is-admin input[type="month"]::-webkit-calendar-picker-indicator {
  filter: invert(0.92) brightness(1.1);
  opacity: .9;
}
.dashboard-shell.is-admin select option,
.dashboard-shell.is-admin datalist option {
  color: #eef2f7;
  background: #10141b;
}
.dashboard-shell.is-admin .data-table th {
  color: #afbbca !important;
}
.dashboard-shell.is-admin .data-table td {
  color: #edf2f7 !important;
}
.dashboard-shell.is-admin .sidebar-submenu a:hover,
.dashboard-shell.is-admin .sidebar-submenu a.active,
.dashboard-shell.is-admin .sidebar-nav-group summary:hover,
.dashboard-shell.is-admin .sidebar-nav-group[open] > summary {
  color: #ffffff !important;
}
.dashboard-shell.is-admin .userdb-filter,
.dashboard-shell.is-admin .toolbar-form,
.dashboard-shell.is-admin .compact-filter,
.dashboard-shell.is-admin .form-grid,
.dashboard-shell.is-admin .grid-form,
.dashboard-shell.is-admin .settings-grid {
  align-items: end;
}

/* GSC+ page structure: keep new API blocks inside the existing dashboard grid. */
.dashboard-shell.is-admin .gsc-plus-page {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}
.dashboard-shell.is-admin .gsc-plus-page > * {
  width: 100%;
  margin-bottom: 0 !important;
}
.dashboard-shell.is-admin .gsc-plus-page > .api-page-intro {
  padding: 2px 2px 0;
}
.dashboard-shell.is-admin .gsc-plus-page .metric-strip.api-metrics {
  width: 100%;
  max-width: none;
}
.dashboard-shell.is-admin .gsc-plus-page .gsc-callback-routes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 0;
}
.dashboard-shell.is-admin .gsc-plus-page .callback-route-card {
  min-width: 0;
}
.dashboard-shell.is-admin .gsc-plus-page .callback-route-card > code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 760px) {
  .dashboard-shell.is-admin .gsc-plus-page .gsc-callback-routes {
    grid-template-columns: 1fr;
  }
}

/* V52: stable public homepage grid and overflow containment. */
.refined-home.public-content.portal-home {
  width: min(1500px, calc(100% - 28px));
  max-width: 100%;
  overflow: visible;
}
.refined-home .home-layout {
  display: grid !important;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(220px, 240px) !important;
  gap: 18px;
  width: 100%;
  min-width: 0;
  align-items: start;
}
.refined-home .portal-sidebar,
.refined-home .portal-main,
.refined-home .portal-main > *,
.refined-home .portal-panel,
.refined-home .section-head-row,
.refined-home .pill-toolbar,
.refined-home .catalog-filter {
  min-width: 0;
  max-width: 100%;
}
.refined-home .portal-main {
  width: 100%;
  overflow: visible;
}
.refined-home .right-sidebar {
  position: static !important;
  inset: auto !important;
  width: auto;
  z-index: auto !important;
}
.refined-home .provider-showcase-panel,
.refined-home .provider-directory,
.refined-home .provider-slider-shell {
  overflow: hidden !important;
}
.refined-home .provider-horizontal-slider {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.refined-home .hot-games-grid {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
  width: 100% !important;
  min-width: 0;
}
.refined-home .hot-game-card,
.refined-home .game-thumb-shell,
.refined-home .game-thumb-launch-form,
.refined-home .game-thumb-launch-button,
.refined-home .hot-game-meta,
.refined-home .game-card-copy {
  min-width: 0;
  max-width: 100%;
}
.refined-home .game-card-copy { flex: 1 1 auto; }
.refined-home .hot-game-meta strong,
.refined-home .game-provider-line,
.refined-home .provider-brand-meta strong,
.refined-home .provider-brand-meta small {
  overflow: hidden;
  text-overflow: ellipsis;
}
.refined-home .hot-game-meta strong,
.refined-home .game-provider-line,
.refined-home .provider-brand-meta strong { white-space: nowrap; }
.refined-home .pill-toolbar,
.refined-home .catalog-filter.upgraded {
  overflow: hidden;
}
.professional-game-meta .game-card-copy {
  width: 100%;
}
.professional-game-meta .game-title-launch {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: clip;
  white-space: normal;
}
.refined-home .professional-game-meta strong {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: clip;
  white-space: normal;
}
.refined-home .pill-list,
.refined-home .catalog-filter.upgraded .filter-tabs {
  min-width: 0;
  flex: 1 1 auto;
  overflow-x: auto;
}
.refined-home .toolbar-search,
.refined-home .catalog-filter.upgraded .filter-search {
  flex: 0 1 320px;
  min-width: 210px;
  max-width: 100%;
}
.refined-home .toolbar-search input,
.refined-home .filter-search input { min-width: 0; }

@media (max-width: 1250px) {
  .refined-home .home-layout {
    grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) !important;
  }
  .refined-home .right-sidebar {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1024px) {
  .refined-home .home-layout {
    grid-template-columns: 1fr !important;
  }
  .refined-home .left-sidebar,
  .refined-home .right-sidebar {
    grid-template-columns: 1fr;
  }
  .refined-home .toolbar-search,
  .refined-home .catalog-filter.upgraded .filter-search {
    flex-basis: 100%;
    width: 100%;
  }
}

/* V53: separate OroPlay/GSC+ catalog management and readable source badges. */
.dashboard-shell.is-admin .game-source-summary,
.dashboard-shell.is-admin .game-source-panel {
  overflow: hidden;
}
.dashboard-shell.is-admin .game-source-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}
.dashboard-shell.is-admin .source-filter-control {
  display: grid;
  gap: 5px;
  min-width: 160px;
  color: #aeb9c9;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.dashboard-shell.is-admin .game-source-summary-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid #2a3443;
  border-radius: 12px;
  background: linear-gradient(145deg, #161d27, #11161e);
  transition: border-color .18s ease, transform .18s ease;
}
.dashboard-shell.is-admin .game-source-summary-card:hover,
.dashboard-shell.is-admin .game-source-summary-card.active {
  border-color: currentColor;
  transform: translateY(-1px);
}
.dashboard-shell.is-admin .game-source-summary-card strong,
.dashboard-shell.is-admin .game-source-summary-card small {
  display: block;
}
.dashboard-shell.is-admin .game-source-summary-card strong {
  margin-top: 11px;
  color: #f5f8fc;
  font-size: 25px;
  line-height: 1;
}
.dashboard-shell.is-admin .game-source-summary-card small {
  margin-top: 5px;
  color: #96a4b8;
  font-size: 11px;
}
.game-source-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  white-space: nowrap;
}
.game-source-badge.oro-source,
.game-source-summary-card.oro-source { color: #61d5aa; }
.game-source-badge.gsc-source,
.game-source-summary-card.gsc-source { color: #9fb7ff; }
.game-source-badge.manual-source,
.game-source-summary-card.manual-source { color: #f0c477; }
.game-source-badge.ambiguous-source,
.game-source-summary-card.ambiguous-source { color: #ff8e99; }
.dashboard-shell.is-admin .game-source-panel .table-wrap {
  max-width: 100%;
  overflow-x: auto;
}
.dashboard-shell.is-admin .game-source-panel .data-table {
  min-width: 920px;
}
.dashboard-shell.is-admin .game-api-code {
  color: #b9c9e8;
  font-size: 11px;
  white-space: nowrap;
}
.dashboard-shell.is-admin .manual-off-note {
  display: block;
  margin-top: 4px;
  color: #ff9ea8;
  font-size: 10px;
  font-weight: 700;
}
.dashboard-shell.is-admin .game-row-actions {
  flex-wrap: wrap;
  align-items: center;
  min-width: 130px;
}
.dashboard-shell.is-admin .game-source-panel .panel-heading p {
  max-width: 720px;
}

@media (max-width: 760px) {
  .dashboard-shell.is-admin .game-source-summary-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-shell.is-admin .game-source-summary .panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .dashboard-shell.is-admin .game-source-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* V51 - Global overflow guard for every dashboard menu and panel */
.dashboard-shell,
.dashboard-main,
.dashboard-content,
.dashboard-content > *,
.dashboard-grid,
.dashboard-grid > *,
.panel,
.metric-strip,
.page-intro,
.panel-heading,
.header-actions,
.page-actions,
.api-actions,
.form-grid,
.stack-form,
.table-wrap {
  min-width: 0;
  max-width: 100%;
}
.dashboard-shell,
.dashboard-main,
.dashboard-content {
  overflow-x: hidden;
}
.dashboard-content > .dashboard-grid,
.dashboard-content > .panel,
.dashboard-content > .metric-strip,
.dashboard-content > .page-intro {
  width: 100%;
}
.dashboard-shell.is-admin .header-actions,
.dashboard-shell.is-admin .page-actions,
.dashboard-shell.is-admin .api-actions {
  flex-wrap: wrap;
}
.dashboard-shell.is-admin .panel-heading > div,
.dashboard-shell.is-admin .page-intro > div,
.dashboard-shell.is-admin .metric-strip > div,
.dashboard-shell.is-admin .form-grid > *,
.dashboard-shell.is-admin .stack-form > * {
  min-width: 0;
}
.dashboard-shell.is-admin .panel-heading h1,
.dashboard-shell.is-admin .panel-heading h2,
.dashboard-shell.is-admin .panel-heading h3,
.dashboard-shell.is-admin .page-intro h1,
.dashboard-shell.is-admin .page-intro h2,
.dashboard-shell.is-admin .page-intro h3,
.dashboard-shell.is-admin .page-intro p,
.dashboard-shell.is-admin .muted-text,
.dashboard-shell.is-admin .form-hint,
.dashboard-shell.is-admin .metric-strip strong,
.dashboard-shell.is-admin .metric-strip small,
.dashboard-shell.is-admin .panel a,
.dashboard-shell.is-admin .panel code,
.dashboard-shell.is-admin .panel pre {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.dashboard-shell.is-admin .panel pre,
.dashboard-shell.is-admin .panel code {
  white-space: pre-wrap;
}
.dashboard-shell.is-admin .panel .api-response-pre {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  max-height: 440px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.dashboard-shell.is-admin .table-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}
.dashboard-shell.is-admin .data-table {
  max-width: none;
}

/* Sidebar polish: keep every menu label and group inside the sidebar. */
.dashboard-shell.is-admin .dashboard-sidebar {
  min-width: 0;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.dashboard-shell.is-admin .sidebar-brand,
.dashboard-shell.is-admin .sidebar-profile,
.dashboard-shell.is-admin .dashboard-nav,
.dashboard-shell.is-admin .sidebar-nav-group,
.dashboard-shell.is-admin .sidebar-submenu {
  min-width: 0;
  max-width: 100%;
}
.dashboard-shell.is-admin .sidebar-brand,
.dashboard-shell.is-admin .sidebar-profile {
  overflow: hidden;
}
.dashboard-shell.is-admin .sidebar-brand .brand-lockup,
.dashboard-shell.is-admin .sidebar-profile > div {
  min-width: 0;
  max-width: 100%;
}
.dashboard-shell.is-admin .sidebar-brand .brand-logo-image {
  max-width: 100%;
  object-fit: contain;
}
.dashboard-shell.is-admin .sidebar-profile strong,
.dashboard-shell.is-admin .sidebar-profile small,
.dashboard-shell.is-admin .sidebar-nav-group summary > span:first-child,
.dashboard-shell.is-admin .sidebar-submenu .nav-text {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-shell.is-admin .sidebar-nav-group summary,
.dashboard-shell.is-admin .sidebar-submenu a {
  min-width: 0;
  max-width: 100%;
}

/* V51: keep the sidebar header/profile fixed and scroll only the menu. */
.dashboard-shell.is-admin .dashboard-sidebar {
  min-height: 0;
  overflow-y: hidden;
  display: flex;
  flex-direction: column;
}
.dashboard-shell.is-admin .sidebar-brand,
.dashboard-shell.is-admin .sidebar-profile,
.dashboard-shell.is-admin .sidebar-label,
.dashboard-shell.is-admin .sidebar-bottom {
  flex: 0 0 auto;
  box-sizing: border-box;
}
.dashboard-shell.is-admin .sidebar-brand {
  height: auto;
  min-height: 72px;
}
.dashboard-shell.is-admin .sidebar-profile {
  min-height: 68px;
  height: auto;
  align-items: center;
}
.dashboard-shell.is-admin .sidebar-profile > .avatar-circle {
  flex: 0 0 30px;
}
.dashboard-shell.is-admin .sidebar-profile > div {
  flex: 1 1 auto;
}
.dashboard-shell.is-admin .sidebar-label {
  white-space: normal;
  overflow-wrap: anywhere;
}
.dashboard-shell.is-admin .dashboard-nav-organized {
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.16) transparent;
}
.dashboard-shell.is-admin .sidebar-bottom {
  margin-top: 0;
}

/* Launch log actions stay inside the panel at every width. */
.launch-log-head-actions,
.launch-log-panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 9px;
  min-width: 0;
}
.launch-log-head-actions .compact-metrics {
  margin: 0;
}
.launch-log-panel-actions form {
  margin: 0;
}
.launch-log-copy-button {
  flex: 0 0 auto;
  white-space: nowrap;
}
.launch-log-card > pre[hidden] {
  display: none !important;
}
@media (max-width: 700px) {
  .launch-log-head-actions,
  .launch-log-panel-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .launch-log-head-actions .compact-metrics {
    width: 100%;
  }
  .launch-log-panel-actions .outline-button {
    min-height: 38px;
  }
}

/* ===== V54: premium mobile homepage refresh ===== */
@media (max-width: 720px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    background:
      radial-gradient(circle at 92% 2%, rgba(241, 34, 65, .12), transparent 28%),
      linear-gradient(180deg, #07080d 0%, #090b11 48%, #07080c 100%);
    padding-bottom: 92px;
  }

  .public-shell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  .site-header {
    min-height: 64px;
    padding: 9px 12px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 9px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    border-radius: 0 0 18px 18px;
    background: linear-gradient(180deg, rgba(11, 13, 20, .97), rgba(10, 11, 17, .88));
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
  }

  .site-header .brand-lockup {
    min-width: 0;
    overflow: hidden;
  }

  .site-header .brand-lockup img {
    display: block;
    width: min(132px, 100%);
    max-width: 100% !important;
    height: 34px !important;
    object-fit: contain;
    object-position: left center;
  }

  .mobile-menu-trigger {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 13px;
    background: linear-gradient(145deg, #1b202b, #0e1118);
    box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 8px 18px rgba(0, 0, 0, .18);
  }

  .mobile-balance-chip {
    min-width: 0;
    max-width: 118px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(20, 23, 31, .86);
  }

  .mobile-balance-chip strong {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .public-content.portal-home,
  .refined-home.public-content.portal-home {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 10px 10px 0;
  }

  .mobile-portal-dashboard {
    gap: 10px;
    margin-bottom: 10px;
  }

  .mobile-wallet-summary {
    position: relative;
    min-height: 68px;
    padding: 12px 13px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 18px;
    background:
      linear-gradient(135deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015)),
      linear-gradient(115deg, rgba(240, 32, 58, .16), transparent 58%),
      #10131b;
    box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 12px 26px rgba(0, 0, 0, .18);
    overflow: hidden;
  }

  .mobile-wallet-summary::after {
    content: "";
    position: absolute;
    width: 92px;
    height: 92px;
    right: -42px;
    top: -52px;
    border-radius: 50%;
    background: rgba(255, 48, 72, .16);
    filter: blur(2px);
    pointer-events: none;
  }

  .mobile-wallet-user,
  .mobile-wallet-balance,
  .mobile-login-pill {
    position: relative;
    z-index: 1;
  }

  .mobile-wallet-user {
    gap: 10px;
  }

  .mobile-wallet-avatar {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: linear-gradient(145deg, #303949, #171c26);
    box-shadow: 0 5px 13px rgba(0, 0, 0, .24);
    font-size: 13px;
  }

  .mobile-wallet-user small,
  .mobile-wallet-balance small {
    font-size: 8px;
    letter-spacing: .02em;
  }

  .mobile-wallet-user strong {
    max-width: 160px;
    margin-top: 2px;
    font-size: 12px;
  }

  .mobile-wallet-balance strong {
    margin-top: 3px;
    color: #fff;
    font-size: 13px;
  }

  .mobile-login-pill {
    padding: 9px 15px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    background: linear-gradient(135deg, #ff4054, #cc172f);
    box-shadow: 0 7px 15px rgba(222, 24, 49, .22);
  }

  .mobile-cashier-actions {
    gap: 8px;
  }

  .mobile-cashier-actions a {
    min-height: 78px;
    padding: 10px 8px;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 8px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 16px;
    background: linear-gradient(150deg, #141821, #0d1016);
    box-shadow: inset 0 1px rgba(255, 255, 255, .04);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
  }

  .mobile-cashier-actions a:active {
    transform: translateY(1px) scale(.985);
    border-color: rgba(255, 62, 83, .48);
    background: linear-gradient(150deg, #1c1822, #10131a);
  }

  .mobile-cashier-actions a > span {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 11px;
    background: linear-gradient(145deg, rgba(255, 54, 76, .20), #1b202b);
    font-size: 17px;
  }

  .mobile-cashier-actions b {
    font-size: 10px;
    line-height: 1.1;
  }

  .mobile-cashier-actions small {
    margin-top: 2px;
    font-size: 7.5px;
  }

  .mobile-category-strip {
    gap: 8px;
    padding: 1px 1px 3px;
  }

  .mobile-category-strip a {
    flex: 0 0 70px;
    min-height: 66px;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 16px;
    background: linear-gradient(160deg, #161a23, #0e1117);
    box-shadow: inset 0 1px rgba(255, 255, 255, .04);
  }

  .mobile-category-strip a:active,
  .mobile-category-strip a:first-child {
    border-color: rgba(255, 51, 74, .48);
    background: linear-gradient(160deg, rgba(226, 29, 53, .22), #13151d);
  }

  .mobile-category-strip a span {
    font-size: 19px;
    line-height: 1;
    filter: saturate(1.15);
  }

  .mobile-category-strip a b {
    font-size: 8.5px;
  }

  .portal-main,
  .refined-home .portal-main {
    gap: 10px;
  }

  .portal-hero,
  .refined-home .portal-hero {
    min-height: 218px;
    aspect-ratio: 16 / 9.3;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 20px;
    background-position: center !important;
    box-shadow: 0 16px 30px rgba(0, 0, 0, .24);
  }

  .portal-hero::after {
    background:
      linear-gradient(90deg, rgba(4, 5, 8, .82) 0%, rgba(4, 5, 8, .30) 62%, rgba(4, 5, 8, .08) 100%),
      linear-gradient(0deg, rgba(4, 5, 8, .58), transparent 52%);
  }

  .portal-hero-copy {
    max-width: 84% !important;
    padding-bottom: 2px;
  }

  .portal-hero .eyebrow {
    font-size: 8px;
    letter-spacing: .16em;
  }

  .portal-hero h1,
  .refined-home .portal-hero h1 {
    max-width: 100%;
    margin: 6px 0 7px;
    font-size: clamp(27px, 8vw, 34px) !important;
    line-height: .98;
    letter-spacing: -.045em;
  }

  .portal-hero p,
  .refined-home .portal-hero p {
    max-width: 270px;
    font-size: 10px !important;
    line-height: 1.5;
  }

  .hero-actions-row {
    margin-top: 12px !important;
  }

  .hero-actions-row .large {
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 11px;
    font-size: 9px;
    box-shadow: 0 8px 18px rgba(227, 25, 49, .20);
  }

  .jackpot-strip,
  .refined-home .jackpot-strip {
    min-width: 0;
    gap: 8px 11px;
    padding: 11px 12px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 16px;
    background: linear-gradient(110deg, rgba(224, 28, 53, .15), rgba(22, 20, 28, .88) 44%, rgba(17, 20, 28, .95));
    box-shadow: inset 0 1px rgba(255, 255, 255, .05);
  }

  .jackpot-label > span {
    font-size: 20px;
  }

  .jackpot-label small {
    font-size: 7px;
  }

  .jackpot-label strong {
    font-size: 11px !important;
  }

  .jackpot-value strong {
    font-size: clamp(15px, 5vw, 19px) !important;
  }

  .jackpot-meta {
    padding-top: 7px;
  }

  .jackpot-meta small {
    font-size: 7.5px;
  }

  .pill-toolbar,
  .refined-home .pill-toolbar {
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 17px;
    background: rgba(17, 20, 27, .88);
    box-shadow: inset 0 1px rgba(255, 255, 255, .04);
  }

  .pill-list {
    gap: 7px !important;
    padding-bottom: 1px;
  }

  .pill-list a,
  .catalog-filter.upgraded .filter-tabs a {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 11px !important;
    font-size: 9px !important;
    white-space: nowrap;
  }

  .toolbar-search {
    min-height: 38px;
    border-radius: 12px !important;
    background: #0b0e14;
  }

  .toolbar-search input {
    min-width: 0;
    font-size: 10px !important;
  }

  .game-showcase-panel,
  .refined-home .game-showcase-panel,
  .catalog-panel.upgraded {
    padding: 12px !important;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 19px !important;
    background: linear-gradient(180deg, rgba(17, 20, 27, .94), rgba(12, 14, 20, .96));
  }

  .section-head-row {
    min-width: 0;
    gap: 8px;
    margin-bottom: 11px !important;
  }

  .section-head-row > div {
    min-width: 0;
  }

  .section-head-row h2 {
    font-size: 16px !important;
    letter-spacing: -.02em;
  }

  .heading-count {
    font-size: 10px;
  }

  .panel-kicker {
    font-size: 7.5px !important;
    letter-spacing: .14em;
  }

  .view-all {
    flex: 0 0 auto;
    padding: 7px 9px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 9px;
    background: rgba(255, 255, 255, .03);
    font-size: 8px !important;
    white-space: nowrap;
  }

  .hot-games-grid,
  .refined-home .hot-games-grid,
  .catalog-grid.upgraded {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: start;
  }

  .hot-game-card,
  .catalog-card.upgraded {
    min-width: 0 !important;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 16px !important;
    background: linear-gradient(180deg, #151923, #0d1016);
    box-shadow: 0 9px 18px rgba(0, 0, 0, .16);
  }

  /* Keep the launch form in the card; only the play overlay is removed. */
  .game-thumb-launch-form {
    display: block !important;
    width: 100%;
    margin: 0;
  }

  .game-thumb-launch-button {
    display: block !important;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
  }

  .game-thumb-box,
  .catalog-art.upgraded {
    aspect-ratio: 1 / 1 !important;
    padding: 5px !important;
    border-radius: 15px 15px 11px 11px;
    background: #090c12;
  }

  .game-thumb-box img,
  .catalog-art.upgraded img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 11px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: linear-gradient(145deg, #1b2030, #0c0f16);
  }

  .game-card-play-overlay,
  .game-launch-form,
  .mini-play-btn,
  .play-button {
    display: none !important;
  }

  .game-badge {
    top: 8px !important;
    right: 8px !important;
    padding: 4px 6px !important;
    border-radius: 7px !important;
    font-size: 7px !important;
    box-shadow: 0 4px 9px rgba(0, 0, 0, .18);
  }

  .hot-game-meta,
  .catalog-card-body.upgraded {
    min-width: 0;
    min-height: 65px;
    padding: 9px 9px 10px !important;
  }

  .game-card-copy {
    min-width: 0;
  }

  .hot-game-meta strong,
  .catalog-copy strong {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    color: #f3f5f9;
    font-size: 11px !important;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .game-provider-line,
  .catalog-copy span {
    display: block !important;
    min-width: 0;
    margin-top: 5px;
    color: #8b98ad;
    font-size: 8px !important;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .game-provider-line .game-provider-mark {
    display: none;
  }

  .homepage-pagination {
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 11px;
    font-size: 9px;
  }

  .provider-showcase-panel {
    padding: 12px !important;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 19px !important;
  }

  .provider-slider-heading {
    gap: 8px;
  }

  .provider-slider-heading .provider-showcase-copy {
    display: none;
  }

  .provider-slider-actions .provider-slide-arrow {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    font-size: 11px;
  }

  .provider-horizontal-slider {
    gap: 9px !important;
    padding: 1px 1px 5px;
  }

  .provider-horizontal-slider .provider-brand-card {
    flex: 0 0 108px !important;
    min-width: 108px !important;
    padding: 9px !important;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 14px !important;
    background: linear-gradient(150deg, #171c27, #0d1016);
  }

  .provider-brand-art {
    height: 48px !important;
  }

  .provider-brand-meta strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 8.5px !important;
  }

  .provider-brand-meta small {
    font-size: 7px !important;
  }

  .promo-banner-row,
  .refined-home .promo-banner-row {
    gap: 9px !important;
    padding: 1px 1px 3px;
  }

  .promo-banner-card {
    flex: 0 0 86%;
    min-height: 124px !important;
    padding: 13px !important;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 18px !important;
    background: linear-gradient(120deg, rgba(224, 28, 53, .22), #151821 63%);
  }

  .promo-banner-card strong {
    font-size: 18px !important;
  }

  .promo-banner-card p {
    max-width: 88%;
    font-size: 9px !important;
    line-height: 1.4;
  }

  .promo-banner-card a {
    padding: 7px 9px;
    border-radius: 9px;
    font-size: 8px;
  }

  .mobile-bottom-dock {
    left: 10px;
    right: 10px;
    bottom: max(8px, env(safe-area-inset-bottom));
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 20px;
    background: rgba(14, 16, 23, .91);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .40), inset 0 1px rgba(255, 255, 255, .07);
    backdrop-filter: blur(18px);
  }

  .mobile-bottom-dock a {
    min-width: 0;
    min-height: 48px;
    border-radius: 14px;
    font-size: 9px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-bottom-dock a.active {
    background: linear-gradient(145deg, #ff4054, #c91830);
    box-shadow: 0 7px 16px rgba(221, 25, 50, .25);
  }

  .floating-livechat {
    bottom: 76px !important;
    right: 10px !important;
    transform: scale(.84);
    transform-origin: bottom right;
  }
}

@media (min-width: 560px) and (max-width: 720px) {
  .hot-games-grid,
  .refined-home .hot-games-grid,
  .catalog-grid.upgraded {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 380px) {
  .public-content.portal-home,
  .refined-home.public-content.portal-home {
    padding-left: 8px;
    padding-right: 8px;
  }

  .mobile-cashier-actions a {
    padding-left: 6px;
    padding-right: 6px;
    grid-template-columns: 29px minmax(0, 1fr);
    column-gap: 6px;
  }

  .mobile-cashier-actions a > span {
    width: 29px;
    height: 29px;
  }

  .mobile-category-strip a {
    flex-basis: 66px;
  }

  .hot-games-grid,
  .refined-home .hot-games-grid,
  .catalog-grid.upgraded {
    gap: 8px !important;
  }

  .hot-game-meta,
  .catalog-card-body.upgraded {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ===== V55: unified mobile icon system + final responsive polish ===== */
@media (max-width: 720px) {
  /* Replace inconsistent emoji glyphs with a compact, consistent icon treatment. */
  .mobile-cashier-actions a > span,
  .mobile-category-strip a > span,
  .mobile-bottom-dock a::before,
  .mobile-menu-grid a > span {
    font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    font-weight: 700;
    font-style: normal;
    text-rendering: geometricPrecision;
  }

  .mobile-cashier-actions a > span {
    position: relative;
    color: transparent;
    font-size: 0;
  }

  .mobile-cashier-actions a > span::before {
    display: block;
    color: #ff5364;
    font-size: 19px;
    line-height: 1;
  }

  .mobile-cashier-actions a:nth-child(1) > span::before { content: "+"; }
  .mobile-cashier-actions a:nth-child(2) > span::before { content: "↗"; }
  .mobile-cashier-actions a:nth-child(3) > span::before { content: "◇"; }

  .mobile-category-strip a > span {
    display: grid;
    place-items: center;
    color: transparent;
    font-size: 0;
  }

  .mobile-category-strip a > span::before {
    display: block;
    color: #f8faff;
    font-size: 20px;
    line-height: 1;
  }

  .mobile-category-strip a:nth-child(1) > span::before { content: "✦"; color: #ff5364; }
  .mobile-category-strip a:nth-child(2) > span::before { content: "◇"; color: #b5a1ff; }
  .mobile-category-strip a:nth-child(3) > span::before { content: "♠"; color: #67d8ff; }
  .mobile-category-strip a:nth-child(4) > span::before { content: "◉"; color: #73e2ac; }
  .mobile-category-strip a:nth-child(5) > span::before { content: "⌘"; color: #ffc76b; }
  .mobile-category-strip a:nth-child(6) > span::before { content: "♡"; color: #ff8290; }

  .mobile-category-strip a:first-child > span::before {
    text-shadow: 0 0 12px rgba(255, 66, 88, .46);
  }

  .mobile-bottom-dock a {
    display: grid !important;
    grid-template-rows: 18px auto;
    align-content: center;
    justify-items: center;
    gap: 3px;
    padding: 5px 2px;
    line-height: 1;
  }

  .mobile-bottom-dock a::before {
    display: block;
    color: currentColor;
    font-size: 17px;
    line-height: 18px;
  }

  .mobile-bottom-dock a:nth-child(1)::before { content: "⌂"; }
  .mobile-bottom-dock a:nth-child(2)::before { content: "▦"; }
  .mobile-bottom-dock a:nth-child(3)::before { content: "◇"; }
  .mobile-bottom-dock a:nth-child(4)::before { content: "◎"; }

  .mobile-menu-grid a > span {
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: inset 0 1px rgba(255, 255, 255, .05);
  }

  .section-head-row,
  .provider-slider-heading {
    overflow: hidden;
  }

  .section-head-row h2,
  .section-head-row h3,
  .provider-slider-heading h2 {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .section-head-row .view-all {
    max-width: 88px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .provider-slider-actions {
    flex: 0 0 auto;
    max-width: 44%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .provider-slider-actions .view-all {
    display: none;
  }

  .portal-hero,
  .refined-home .portal-hero {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .portal-hero-copy {
    min-width: 0;
  }

  .mobile-bottom-dock,
  .mobile-bottom-dock a {
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-bottom-dock a:active {
    transform: scale(.97);
  }

  .game-card-copy,
  .hot-game-meta,
  .catalog-card-body.upgraded,
  .game-provider-line,
  .provider-brand-meta,
  .promo-banner-card {
    overflow: hidden;
  }
}

@media (max-width: 420px) {
  .site-header {
    padding-left: 9px;
    padding-right: 9px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 7px;
  }

  .mobile-menu-trigger {
    width: 36px;
    height: 36px;
  }

  .site-header .brand-lockup img {
    width: min(120px, 100%);
  }

  .mobile-balance-chip {
    max-width: 104px;
    padding-left: 7px;
    padding-right: 7px;
  }

  .portal-hero,
  .refined-home .portal-hero {
    min-height: 198px;
    padding: 15px;
  }

  .portal-hero h1,
  .refined-home .portal-hero h1 {
    font-size: clamp(25px, 8vw, 30px) !important;
  }

  .hot-games-grid,
  .refined-home .hot-games-grid,
  .catalog-grid.upgraded {
    gap: 8px !important;
  }

  .hot-game-meta,
  .catalog-card-body.upgraded {
    min-height: 62px;
    padding: 8px !important;
  }

  .hot-game-meta strong,
  .catalog-copy strong {
    font-size: 10px !important;
  }

  .game-provider-line,
  .catalog-copy span {
    margin-top: 4px;
    font-size: 7.5px !important;
  }
}

@media (max-width: 340px) {
  .mobile-cashier-actions a {
    min-height: 73px;
    grid-template-columns: 26px minmax(0, 1fr);
    column-gap: 5px;
  }

  .mobile-cashier-actions a > span {
    width: 26px;
    height: 26px;
  }

  .mobile-cashier-actions a > span::before {
    font-size: 16px;
  }

  .mobile-cashier-actions b {
    font-size: 9px;
  }

  .mobile-cashier-actions small {
    font-size: 7px;
  }

  .mobile-category-strip a {
    flex-basis: 62px;
    min-height: 62px;
  }

  .mobile-category-strip a > span::before {
    font-size: 18px;
  }

  .mobile-bottom-dock {
    left: 6px;
    right: 6px;
  }

  .mobile-bottom-dock a {
    font-size: 8px;
  }
}

/* ===== V56: multi-banner hero slider ===== */
.hero-slider {
  position: relative;
  display: block !important;
  min-width: 0;
  padding: 0 !important;
  overflow: hidden;
  background: #0d1017 !important;
}

.hero-slider::after {
  display: none !important;
}

.hero-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  padding: 26px;
  background:
    linear-gradient(90deg, rgba(7, 8, 11, .86) 0%, rgba(7, 8, 11, .52) 42%, rgba(7, 8, 11, .12) 100%),
    linear-gradient(0deg, rgba(7, 8, 11, .38), transparent 58%),
    var(--hero-image) center/cover no-repeat;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.018);
  transition: opacity .48s ease, transform .7s ease, visibility .48s ease;
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 82% 50%, rgba(255, 45, 67, .18), transparent 29%);
  pointer-events: none;
}

.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  z-index: 1;
}

.hero-slide .portal-hero-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  max-width: 760px;
}

.hero-slider-controls {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 7px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 14px;
  background: rgba(8, 10, 15, .62);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .25), inset 0 1px rgba(255, 255, 255, .06);
  backdrop-filter: blur(12px);
}

.hero-slider-arrow {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 9px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.hero-slider-arrow:hover {
  border-color: rgba(255, 70, 88, .62);
  background: rgba(235, 31, 55, .20);
}

.hero-slider-dots {
  display: flex;
  align-items: center;
  gap: 5px;
}

.hero-slider-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 99px;
  background: rgba(255, 255, 255, .35);
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}

.hero-slider-dot.is-active {
  width: 20px;
  background: #ff4055;
  box-shadow: 0 0 10px rgba(255, 64, 85, .45);
}

@media (max-width: 720px) {
  .hero-slider,
  .portal-hero.hero-slider,
  .refined-home .portal-hero.hero-slider {
    min-height: 218px;
    aspect-ratio: 16 / 9.3;
  }

  .hero-slide {
    padding: 18px;
    background-position: center;
  }

  .hero-slide .portal-hero-copy {
    max-width: 84% !important;
    align-self: end;
    padding-bottom: 2px;
  }

  .hero-slider-controls {
    right: 12px;
    bottom: 12px;
    gap: 5px;
    padding: 4px 5px;
    border-radius: 12px;
  }

  .hero-slider-arrow {
    width: 27px;
    height: 27px;
    font-size: 17px;
  }
}

@media (max-width: 420px) {
  .hero-slider,
  .portal-hero.hero-slider,
  .refined-home .portal-hero.hero-slider {
    min-height: 198px;
  }

  .hero-slide {
    padding: 15px;
  }

  .hero-slider-controls {
    right: 9px;
    bottom: 9px;
  }
}

/* ===== V58: final mobile account route layout guard ===== */
@media (max-width: 800px) {
  .dashboard-shell {
    display: flex !important;
    width: 100%;
    min-width: 0;
    min-height: 100svh;
    overflow-x: clip;
  }

  .dashboard-shell .dashboard-main {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  .dashboard-shell .dashboard-topbar {
    min-width: 0;
    min-height: 60px;
    padding: 8px 11px;
    gap: 8px;
  }

  .dashboard-shell .dashboard-title-block {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
  }

  .dashboard-shell .dashboard-title-block h1 {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
  }

  .dashboard-shell .dashboard-top-actions {
    flex: 0 0 auto;
    min-width: 0;
    gap: 6px;
  }

  .dashboard-shell .top-user {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: grid;
    place-items: center;
    padding: 0;
    overflow: hidden;
    border-radius: 11px;
    font-size: 0 !important;
  }

  .dashboard-shell .top-user > span:not(.avatar-circle),
  .dashboard-shell .top-user > :not(.avatar-circle) {
    display: none !important;
  }

  .dashboard-shell .top-user .avatar-circle {
    width: 28px;
    height: 28px;
    margin: 0;
    font-size: 11px !important;
  }

  .dashboard-shell .dashboard-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 12px 10px 34px !important;
    overflow-x: clip;
  }

  .dashboard-shell .dashboard-content > *,
  .dashboard-shell .dashboard-grid,
  .dashboard-shell .dashboard-grid.two-columns,
  .dashboard-shell .page-intro,
  .dashboard-shell .panel,
  .dashboard-shell .panel-heading,
  .dashboard-shell .form-grid,
  .dashboard-shell .stack-form {
    min-width: 0;
    max-width: 100%;
  }

  .dashboard-shell .dashboard-grid.two-columns,
  .dashboard-shell .form-grid.two,
  .dashboard-shell .form-grid.three {
    grid-template-columns: 1fr !important;
  }

  .dashboard-shell .panel {
    overflow: hidden;
    border-radius: 16px;
  }

  .dashboard-shell .panel-heading h2,
  .dashboard-shell .panel-heading h3,
  .dashboard-shell .page-intro h2 {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    line-height: 1.25;
  }

  .dashboard-shell input:not([type="checkbox"]):not([type="radio"]),
  .dashboard-shell select,
  .dashboard-shell textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .dashboard-shell .table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dashboard-shell .member-finance-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dashboard-shell .account-action-grid.three-col {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dashboard-shell .account-action-grid.three-col > :last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 380px) {
  .dashboard-shell .dashboard-content {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .dashboard-shell .member-finance-stats {
    grid-template-columns: 1fr !important;
  }
}

/* ===== V59: mobile account destination must keep the dashboard full width ===== */
@media (max-width: 800px) {
  .dashboard-shell {
    display: block !important;
    position: relative;
    width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  .dashboard-shell .dashboard-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0;
    z-index: 200;
    width: min(292px, 86vw) !important;
    max-width: 86vw !important;
    height: 100vh;
    height: 100dvh;
    flex: none !important;
    transform: translateX(-105%);
    transition: transform .22s ease, box-shadow .22s ease;
    box-shadow: none;
  }

  .dashboard-shell .dashboard-sidebar.is-open {
    left: 0 !important;
    transform: translateX(0);
    box-shadow: 20px 0 50px rgba(0, 0, 0, .48);
  }

  .dashboard-shell .dashboard-main {
    display: block;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    margin: 0;
  }

  .dashboard-shell .page-intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
  }

  .dashboard-shell .page-intro > * {
    max-width: 100%;
  }

  .dashboard-shell .sidebar-close,
  .dashboard-shell .sidebar-toggle {
    display: grid !important;
    place-items: center;
  }

  .dashboard-shell .sidebar-toggle {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
    font-size: 18px;
    line-height: 1;
  }

  .dashboard-shell .sidebar-close {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 9px;
    background: rgba(255, 255, 255, .04);
    font-size: 20px;
    line-height: 1;
  }
}

/* ===== V60: unified desktop/mobile account actions ===== */
.top-account-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.top-account-actions .top-user {
  min-width: 0;
  color: #e6eaf1;
  white-space: nowrap;
}

.top-user-name {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.top-user-chevron {
  color: #8793a5;
  font-size: 12px;
}

.top-profile-link,
.top-logout-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 9px;
  color: #cbd4e1;
  background: rgba(255, 255, 255, .025);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.top-profile-link:hover,
.top-logout-link:hover {
  border-color: rgba(255, 58, 79, .58);
  color: #fff;
  background: rgba(255, 45, 67, .12);
}

.top-logout-link,
.header-logout-button {
  color: #ff9da7;
}

.dashboard-shell .top-user {
  padding: 4px 8px 4px 4px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 999px;
  background: rgba(255, 255, 255, .025);
}

.dashboard-shell .top-user:hover {
  border-color: rgba(255, 58, 79, .55);
  background: rgba(255, 45, 67, .10);
}

.dashboard-shell .top-user .avatar-circle {
  background: linear-gradient(180deg, #2d3442, #161b24);
  border-color: rgba(255, 255, 255, .12);
}

@media (max-width: 800px) {
  .top-account-actions {
    gap: 0;
  }

  .dashboard-shell .top-account-actions .top-user {
    width: 38px;
    height: 38px;
    padding: 4px;
    border-radius: 12px;
  }

  .dashboard-shell .top-account-actions .top-user .avatar-circle {
    width: 28px;
    height: 28px;
  }

  .top-profile-link,
  .top-logout-link {
    display: none;
  }
}

@media (max-width: 720px) {
  .mobile-menu-grid a[href$="logout.php"] {
    border-color: rgba(255, 73, 91, .28);
    color: #ff9da7;
  }

  .mobile-menu-grid a[href$="profile.php"],
  .mobile-menu-grid a[href$="admin/profile.php"] {
    border-color: rgba(116, 166, 255, .30);
    background: linear-gradient(180deg, rgba(54, 105, 190, .14), rgba(16, 19, 25, .96));
  }
}

/* ===== V61: image-only banner and readable best-provider rail ===== */
.hero-slider,
.hero-slider.portal-hero {
  background: #0d1017 !important;
}

.hero-slider .hero-slide {
  padding: 0 !important;
  background: var(--hero-image) center / cover no-repeat !important;
}

.hero-slider .hero-slide::before,
.hero-slider .portal-hero-copy,
.hero-slider::after {
  display: none !important;
}

.providers-widget .provider-home-grid {
  grid-template-columns: 1fr;
  gap: 8px;
}

.providers-widget .provider-home-grid .provider-mini-card {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 56px;
  gap: 9px;
  padding: 8px 9px;
  text-align: left;
}

.providers-widget .provider-mini-logo {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border-radius: 10px;
}

.providers-widget .provider-mini-card > span:last-child {
  display: block;
  min-width: 0;
  overflow: hidden;
}

.providers-widget .provider-mini-card strong {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.3;
}

.providers-widget .provider-mini-card small {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  line-height: 1.3;
}

/* ===== Ext-Flazz QRIS / withdrawal panels ===== */
.ext-flazz-deposit-panel,
.ext-flazz-withdraw-panel {
  border-color: rgba(104, 154, 255, .24);
  background: linear-gradient(145deg, rgba(26, 39, 68, .72), rgba(13, 16, 23, .96) 70%);
}
.ext-flazz-withdraw-panel .info-callout { transform: translateY(-8px); }
.manual-withdraw-panel {
  border-color: rgba(255, 198, 62, .22);
  background: linear-gradient(145deg, rgba(49, 39, 22, .48), rgba(13, 16, 23, .96) 70%);
}
.manual-withdraw-panel .panel-heading > div > p { max-width: 720px; margin: 7px 0 0; color: #aebbd3; line-height: 1.55; }
.report-scope-note,
.userdb-scope-note { margin: 12px 0 0; border-color: rgba(104, 154, 255, .2); background: rgba(26, 39, 68, .26); }
.page-help { margin-top: 8px; color: #8fa4c3; font-size: 11px; line-height: 1.55; }
.ext-flazz-payment-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  gap: 24px;
  align-items: stretch;
}
.ext-flazz-payment-summary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 10px 4px;
}
.ext-flazz-payment-summary h3 { margin: 10px 0 8px; color: #fff; font-size: clamp(22px, 3vw, 32px); }
.ext-flazz-payment-summary p { max-width: 560px; color: #aebbd3; line-height: 1.65; }
.payment-step { color: #8db8ff; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ext-flazz-amount-card { display: grid; gap: 4px; margin: 18px 0 12px; padding: 16px 18px; border: 1px solid rgba(141, 184, 255, .22); border-radius: 15px; background: rgba(7, 12, 23, .5); }
.ext-flazz-amount-card small, .ext-flazz-qr-card small, .ext-flazz-expiry { color: #8d9bb3; font-size: 11px; }
.ext-flazz-amount-card strong { color: #fff; font-size: 27px; letter-spacing: .02em; }
.ext-flazz-expiry { margin-bottom: 16px; }
.ext-flazz-live-status { display: flex; align-items: center; gap: 9px; margin-top: 18px; color: #aebbd3; font-size: 12px; }
.ext-flazz-live-status[data-state="approved"] { color: #7de4ad; }
.ext-flazz-live-status[data-state="rejected"] { color: #ff9da7; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #f0bd52; box-shadow: 0 0 0 5px rgba(240, 189, 82, .12); }
.ext-flazz-live-status[data-state="approved"] .status-dot { background: #60e49b; box-shadow: 0 0 0 5px rgba(96, 228, 155, .12); }
.ext-flazz-live-status[data-state="rejected"] .status-dot { background: #ff6574; box-shadow: 0 0 0 5px rgba(255, 101, 116, .12); }
.ext-flazz-qr-card { display: grid; place-items: center; align-content: center; gap: 12px; min-height: 330px; padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 24px 55px rgba(0,0,0,.22); }
.ext-flazz-qr-card img { display: block; width: min(100%, 300px); aspect-ratio: 1; object-fit: contain; border-radius: 8px; }
.ext-flazz-qr-card small { color: #5d6571; }
.ext-flazz-flow-note { display: grid; grid-template-columns: 30px 1fr 30px 1fr 30px 1fr; gap: 7px; align-items: center; margin: 22px 0; color: #aebbd3; font-size: 11px; }
.ext-flazz-flow-note span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(141,184,255,.32); border-radius: 50%; color: #9ec3ff; font-weight: 800; }
.ext-flazz-flow-note p { margin: 0; }
.destination-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.destination-chip { display: inline-flex; gap: 6px; align-items: center; padding: 9px 11px; border: 1px solid rgba(141,184,255,.2); border-radius: 10px; color: #b8c8e5; background: rgba(16,27,48,.68); font-size: 11px; }
.destination-chip b { color: #fff; }
.callback-url-stack { display: grid; gap: 12px; }
.callback-url-stack > div { display: grid; gap: 6px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(7,10,17,.34); }
.callback-url-stack small { color: #8d9bb3; font-size: 10px; letter-spacing: .1em; }
.callback-url-stack code { overflow-wrap: anywhere; color: #9ec3ff; font-size: 11px; }
.staff-password-editor { min-width: 170px; }
.staff-password-editor summary { cursor: pointer; color: #ff6b78; font-size: 11px; font-weight: 700; }
.staff-password-editor[open] summary { margin-bottom: 7px; }
.staff-password-form { display: grid; gap: 6px; }
.staff-password-form input { width: 100%; min-width: 0; padding: 7px 8px; font-size: 10px; }
.staff-password-form .small-button { width: 100%; padding: 7px 8px; font-size: 10px; }
.staff-edit-panel { margin-bottom: 18px; border-color: rgba(255, 73, 91, .28); }
.admin-alias-stack { display: grid; gap: 18px; min-width: 0; }
.admin-alias-stack .staff-accounts-full-panel { order: 1; }
.admin-alias-stack .staff-create-panel { order: 2; }
.staff-accounts-full-panel { min-width: 0; }
.staff-accounts-full-panel .table-wrap { overflow-x: auto; }
.staff-accounts-full-panel .data-table { min-width: 980px; }
.staff-accounts-full-panel .row-actions { flex-wrap: nowrap; white-space: nowrap; }
.staff-account-form { display: grid; gap: 16px; }
.staff-account-form label small, .stack-form label small { display: block; margin-top: 5px; color: #8d9bb3; font-size: 10px; line-height: 1.45; }
.password-change-box { display: grid; gap: 10px; padding: 15px; border: 1px solid rgba(141, 184, 255, .18); border-radius: 12px; background: rgba(11, 19, 34, .52); }
.role-management-grid { display: grid; grid-template-columns: minmax(230px, .36fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.role-list { display: grid; gap: 8px; }
.role-list-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; color: #dbe5f7; background: rgba(13, 18, 28, .55); }
.role-list-item:hover, .role-list-item.active { border-color: rgba(255, 73, 91, .65); background: rgba(72, 22, 34, .44); }
.role-list-item strong, .role-list-item small { display: block; }
.role-list-item small { margin-top: 4px; color: #8d9bb3; font-size: 10px; }
.role-system-badge, .role-custom-badge, .unlimited-badge { color: #70e2a2; font-size: 9px; letter-spacing: .08em; white-space: nowrap; }
.role-custom-badge { color: #9ec3ff; }
.permission-matrix-wrap { display: grid; gap: 8px; }
.compact-heading { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.permission-matrix th, .permission-matrix td { vertical-align: middle; }
.permission-matrix td:not(:first-child), .permission-matrix th:not(:first-child) { width: 70px; text-align: center; }
.permission-matrix thead th:not(:first-child) { padding-top: 10px; padding-bottom: 8px; }
.permission-matrix thead th:not(:first-child) span { display: block; }
.permission-column-check { display: block; margin: 7px auto 0; }
.permission-matrix input[type="checkbox"] { width: 17px; height: 17px; accent-color: #ff3b4c; }
.permission-group-row th { padding-top: 12px; color: #ff8c98; background: rgba(255, 73, 91, .06); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.permission-matrix .table-sub { display: block; color: #73819a; font-size: 9px; }
@media (max-width: 900px) {
  .role-management-grid { grid-template-columns: 1fr; }
  .permission-matrix td:not(:first-child), .permission-matrix th:not(:first-child) { width: 56px; }
}
@media (max-width: 760px) {
  .ext-flazz-payment-grid { grid-template-columns: 1fr; gap: 16px; }
  .ext-flazz-payment-summary { order: 2; padding: 0; }
  .ext-flazz-qr-card { order: 1; min-height: 0; padding: 16px; }
  .ext-flazz-qr-card img { width: min(76vw, 280px); }
  .ext-flazz-flow-note { grid-template-columns: 28px 1fr; }
  .ext-flazz-flow-note p { padding-right: 8px; }
}

/* ===== V58: polished staff list and permission matrix ===== */
.dashboard-shell.is-admin .alias-list-top {
  margin-bottom: 18px;
  padding: 20px;
  border-color: rgba(141, 184, 255, .18);
  background: linear-gradient(145deg, rgba(22, 31, 47, .96), rgba(13, 17, 23, .98) 72%);
}
.dashboard-shell.is-admin .alias-list-top .panel-heading {
  align-items: flex-start;
  margin-bottom: 16px;
}
.dashboard-shell.is-admin .alias-list-top .panel-heading-note {
  margin: 5px 0 0;
  color: #8f9db1;
  font-size: 12px;
  line-height: 1.45;
}
.dashboard-shell.is-admin .alias-list-top .table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 12px;
  background: rgba(7, 11, 16, .24);
}
.dashboard-shell.is-admin .alias-list-top .data-table {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}
.dashboard-shell.is-admin .alias-list-top .data-table th,
.dashboard-shell.is-admin .alias-list-top .data-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}
.dashboard-shell.is-admin .alias-list-top .data-table th:nth-child(1) { width: 28%; }
.dashboard-shell.is-admin .alias-list-top .data-table th:nth-child(2) { width: 17%; }
.dashboard-shell.is-admin .alias-list-top .data-table th:nth-child(3) { width: 15%; }
.dashboard-shell.is-admin .alias-list-top .data-table th:nth-child(4) { width: 12%; }
.dashboard-shell.is-admin .alias-list-top .data-table th:nth-child(5) { width: 16%; text-align: center; }
.dashboard-shell.is-admin .alias-list-top .data-table th:nth-child(6) { width: 18%; text-align: center; }
.dashboard-shell.is-admin .alias-list-top .data-table td {
  height: 68px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.dashboard-shell.is-admin .alias-list-top .data-table td:first-child {
  white-space: normal;
}
.dashboard-shell.is-admin .alias-list-top .data-table td:nth-child(5),
.dashboard-shell.is-admin .alias-list-top .data-table td:nth-child(6) {
  text-align: center;
  white-space: nowrap;
}
.dashboard-shell.is-admin .alias-list-top .data-table td:last-child {
  overflow: visible;
}
.dashboard-shell.is-admin .alias-list-top .data-table tbody tr:hover td {
  background: rgba(141, 184, 255, .045);
}
.dashboard-shell.is-admin .alias-list-top .row-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
  min-height: 36px;
  white-space: nowrap;
}
.dashboard-shell.is-admin .alias-list-top .row-actions .inline-form {
  min-width: 0;
  width: auto;
}
.dashboard-shell.is-admin .alias-list-top .row-actions .small-button,
.dashboard-shell.is-admin .alias-list-top .row-actions .primary-button,
.dashboard-shell.is-admin .alias-list-top .row-actions .danger-button {
  flex: 0 0 auto;
}
.dashboard-shell.is-admin .alias-list-top .unlimited-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(112, 226, 162, .24);
  border-radius: 999px;
  background: rgba(45, 205, 132, .08);
  font-size: 10px;
  letter-spacing: .04em;
}

.dashboard-shell.is-admin .permission-matrix-wrap {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(141, 184, 255, .14);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(14, 21, 31, .78), rgba(9, 13, 19, .64));
}
.dashboard-shell.is-admin .permission-matrix-wrap .compact-heading {
  align-items: center;
  margin-bottom: 10px;
  padding: 0 2px 3px;
}
.dashboard-shell.is-admin .permission-matrix-wrap .compact-heading h3 {
  margin-top: 3px;
  font-size: 15px;
}
.dashboard-shell.is-admin .permission-matrix-wrap > .table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 11px;
  background: rgba(7, 11, 16, .26);
}
.dashboard-shell.is-admin .permission-matrix {
  width: 100%;
  min-width: 650px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.dashboard-shell.is-admin .permission-matrix th:first-child,
.dashboard-shell.is-admin .permission-matrix td:first-child {
  width: auto;
  min-width: 260px;
  text-align: left;
}
.dashboard-shell.is-admin .permission-matrix th:not(:first-child),
.dashboard-shell.is-admin .permission-matrix td:not(:first-child) {
  width: 88px;
  min-width: 88px;
  max-width: 88px;
  padding-left: 8px;
  padding-right: 8px;
  text-align: center;
}
.dashboard-shell.is-admin .permission-matrix thead th {
  height: 68px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(141, 184, 255, .16);
  background: linear-gradient(180deg, #121a25, #101720);
  color: #afbed1 !important;
  vertical-align: middle;
}
.dashboard-shell.is-admin .permission-matrix thead th:first-child {
  padding-left: 16px;
}
.dashboard-shell.is-admin .permission-matrix thead th:not(:first-child) {
  text-align: center;
}
.dashboard-shell.is-admin .permission-matrix thead th .permission-column-control {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  margin: 0 auto;
  padding: 0;
  color: #afbed1;
  cursor: pointer;
  font-size: inherit;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}
.dashboard-shell.is-admin .permission-matrix thead th .permission-column-control span {
  display: block;
  line-height: 1.25;
}
.dashboard-shell.is-admin .permission-matrix tbody tr:not(.permission-group-row) {
  transition: background .16s ease;
}
.dashboard-shell.is-admin .permission-matrix tbody tr:not(.permission-group-row):hover {
  background: rgba(141, 184, 255, .045);
}
.dashboard-shell.is-admin .permission-matrix tbody tr:not(.permission-group-row) td {
  height: 60px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom-color: rgba(255, 255, 255, .065);
}
.dashboard-shell.is-admin .permission-matrix tbody tr:not(.permission-group-row) td:first-child {
  padding-left: 16px;
}
.dashboard-shell.is-admin .permission-matrix .permission-group-row th {
  height: 38px;
  padding: 10px 16px 8px;
  border-top: 1px solid rgba(141, 184, 255, .10);
  border-bottom: 1px solid rgba(141, 184, 255, .10);
  background: rgba(141, 184, 255, .055);
  color: #ff8c98 !important;
  font-size: 10px;
  letter-spacing: .12em;
  line-height: 1.25;
  text-align: left;
  text-transform: uppercase;
}
.dashboard-shell.is-admin .permission-matrix .table-sub {
  display: block;
  margin-top: 4px;
  color: #8291a6 !important;
  font-size: 10px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.dashboard-shell.is-admin .permission-matrix input[type="checkbox"] {
  display: block;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 auto;
  cursor: pointer;
  accent-color: #f72c46;
}
.dashboard-shell.is-admin .permission-matrix .permission-column-check {
  margin: 0 auto;
}
.dashboard-shell.is-admin .permission-matrix .permission-action-control {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.dashboard-shell.is-admin .permission-matrix .permission-action-control .permission-action-check {
  margin: 0 !important;
}
.dashboard-shell.is-admin .permission-matrix .permission-action-check {
  transform: translateZ(0);
}
@media (max-width: 900px) {
  .dashboard-shell.is-admin .permission-matrix-wrap { padding: 12px; }
  .dashboard-shell.is-admin .permission-matrix { min-width: 600px; }
  .dashboard-shell.is-admin .permission-matrix th:first-child,
  .dashboard-shell.is-admin .permission-matrix td:first-child { min-width: 240px; }
  .dashboard-shell.is-admin .permission-matrix th:not(:first-child),
  .dashboard-shell.is-admin .permission-matrix td:not(:first-child) {
    width: 78px;
    min-width: 78px;
    max-width: 78px;
  }
}
@media (max-width: 640px) {
  .dashboard-shell.is-admin .alias-list-top { padding: 14px; }
  .dashboard-shell.is-admin .alias-list-top .panel-heading { align-items: flex-start; }
  .dashboard-shell.is-admin .permission-matrix-wrap .compact-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* ===== V63: member-side win/lose readability ===== */
.dashboard-shell.is-admin .winlose-positive {
  color: var(--admin-text, #eef2f7) !important;
}
.dashboard-shell.is-admin .winlose-negative {
  color: #ff6d7a !important;
  font-weight: 800;
}
.dashboard-shell.is-admin .admin-report-table .winlose-positive,
.dashboard-shell.is-admin .admin-report-table .winlose-negative {
  font-weight: 800;
}

/* ===== V64: compact premium staff actions ===== */
.dashboard-shell.is-admin #staff-account-editor {
  scroll-margin-top: 76px;
}
.dashboard-shell.is-admin .staff-accounts-table {
  min-width: 1040px;
  table-layout: fixed;
}
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(1) { width: 28%; }
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(2) { width: 16%; }
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(3) { width: 15%; }
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(4) { width: 11%; }
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(5) { width: 14%; }
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(6) { width: 16%; text-align: center; }
.dashboard-shell.is-admin .staff-accounts-table th,
.dashboard-shell.is-admin .staff-accounts-table td {
  vertical-align: middle;
}
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(4),
.dashboard-shell.is-admin .staff-accounts-table td:nth-child(4),
.dashboard-shell.is-admin .staff-accounts-table th:nth-child(5),
.dashboard-shell.is-admin .staff-accounts-table td:nth-child(5) {
  text-align: center;
}
.dashboard-shell.is-admin .staff-accounts-table tbody tr {
  height: 74px;
}
.dashboard-shell.is-admin .staff-accounts-table tbody tr:hover td {
  background: rgba(141, 184, 255, .045);
}
.dashboard-shell.is-admin .staff-accounts-table td:last-child {
  overflow: visible;
  text-align: center;
}
.dashboard-shell.is-admin .staff-actions-cell {
  white-space: nowrap;
}
.dashboard-shell.is-admin .staff-action-bar {
  display: grid;
  grid-template-columns: repeat(4, 32px);
  align-items: center;
  justify-content: start;
  gap: 6px;
  width: 146px;
  min-width: 146px;
  min-height: 36px;
  margin-inline: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.dashboard-shell.is-admin .staff-action-bar form {
  display: contents;
  margin: 0;
}
.dashboard-shell.is-admin .staff-icon-action,
.dashboard-shell.is-admin .staff-protected-icon {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  padding: 0;
  border-radius: 9px;
  font-size: 13px;
  line-height: 1;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.dashboard-shell.is-admin .staff-icon-action {
  border-color: transparent;
  background: transparent;
  color: #c9d5e7;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 800;
  box-shadow: none;
}
.dashboard-shell.is-admin .staff-icon-action:hover {
  transform: translateY(-1px);
  border-color: transparent;
  background: rgba(255, 66, 88, .08);
  color: #fff;
  box-shadow: none;
}
.dashboard-shell.is-admin .staff-icon-action.danger {
  border-color: transparent;
  background: transparent;
  color: #ff8791;
}
.dashboard-shell.is-admin .staff-icon-action.is-enable {
  border-color: transparent;
  background: transparent;
  color: #6ee7b0;
}
.dashboard-shell.is-admin .staff-protected-icon {
  border: 0;
  background: transparent;
  color: #8494aa;
  cursor: help;
}
@media (max-width: 720px) {
  .dashboard-shell.is-admin .staff-accounts-table { min-width: 940px; }
  .dashboard-shell.is-admin .staff-action-bar { grid-template-columns: repeat(4, 29px); gap: 4px; width: 128px; min-width: 128px; padding: 0; }
  .dashboard-shell.is-admin .staff-icon-action,
  .dashboard-shell.is-admin .staff-protected-icon { width: 29px; height: 29px; min-width: 29px; }
}

/* ===== V67: compact dashboard account actions and credit mapping ===== */
.refined-home .account-panel {
  min-width: 0;
  overflow: hidden;
}
.refined-home .account-action-grid.three-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}
.refined-home .account-action-grid.three-col > a {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 40px;
  padding-inline: 8px;
  border-radius: 12px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.refined-home .account-action-grid.three-col > a:last-child {
  grid-column: 1 / -1;
}
@media (max-width: 768px) {
  .refined-home .account-action-grid.three-col {
    grid-template-columns: 1fr;
  }
  .refined-home .account-action-grid.three-col > a:last-child {
    grid-column: auto;
  }
}

/* ===== V69: independent public game provider visibility ===== */
.public-game-provider-page .public-provider-control-panel,
.public-game-provider-page .public-provider-howto-panel {
  overflow: hidden;
}
.public-provider-settings-link {
  display: grid;
  gap: 6px;
  align-content: start;
  min-height: 100%;
  padding: 10px 0;
}
.public-provider-settings-link > span,
.public-provider-settings-link > strong {
  display: block;
}
.public-provider-settings-link > span {
  color: var(--muted-text, #9aa8bb);
  font-size: 12px;
  font-weight: 700;
}
.public-provider-settings-link > strong {
  color: var(--text, #f1f5fb);
  font-size: 14px;
}
.public-provider-switch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.public-provider-switch-card {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(132, 153, 184, .24);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(24, 34, 51, .86), rgba(11, 16, 25, .92));
  box-shadow: 0 14px 32px rgba(0, 0, 0, .12);
}
.public-provider-switch-card.oro-source {
  border-color: rgba(97, 213, 170, .36);
}
.public-provider-switch-card.gsc-source {
  border-color: rgba(159, 183, 255, .38);
}
.provider-switch-head,
.provider-switch-head > div:first-child {
  display: flex;
  align-items: center;
}
.provider-switch-head {
  justify-content: space-between;
  gap: 14px;
}
.provider-switch-head > div:first-child {
  gap: 12px;
  min-width: 0;
}
.provider-switch-head h3 {
  margin: 2px 0 0;
  color: var(--text, #f1f5fb);
  font-size: 20px;
}
.provider-switch-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 13px;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
}
.provider-switch-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}
.provider-switch-state.is-on {
  border: 1px solid rgba(65, 220, 154, .52);
  color: #6ee7b0;
  background: rgba(20, 160, 103, .14);
}
.provider-switch-state.is-off {
  border: 1px solid rgba(255, 103, 121, .34);
  color: #ff8996;
  background: rgba(220, 44, 68, .10);
}
.provider-switch-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid rgba(132, 153, 184, .22);
  border-radius: 11px;
  color: var(--text, #f1f5fb);
  background: rgba(7, 12, 20, .44);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
}
.provider-switch-toggle input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #ed1c2f;
}
.provider-switch-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted-text, #9aa8bb);
  font-size: 11px;
  line-height: 1.5;
}
.provider-switch-meta span:last-child {
  text-align: right;
}
.public-provider-rule {
  margin: 2px 0 0;
  padding: 12px 14px;
  border-left: 3px solid rgba(237, 28, 47, .72);
  border-radius: 8px;
  background: rgba(237, 28, 47, .06);
}
.public-provider-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.public-provider-steps > div {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(132, 153, 184, .18);
  border-radius: 13px;
  background: rgba(11, 17, 27, .46);
}
.public-provider-steps > div > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  border-radius: 9px;
  color: #fff;
  background: rgba(237, 28, 47, .8);
  font-size: 11px;
  font-weight: 900;
}
.public-provider-steps strong,
.public-provider-steps p {
  display: block;
}
.public-provider-steps strong {
  color: var(--text, #f1f5fb);
  font-size: 13px;
}
.public-provider-steps p {
  margin: 6px 0 0;
  color: var(--muted-text, #9aa8bb);
  font-size: 12px;
  line-height: 1.55;
}
@media (max-width: 860px) {
  .public-provider-switch-grid,
  .public-provider-steps {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .public-provider-switch-card { padding: 16px; }
  .provider-switch-meta { flex-direction: column; gap: 4px; }
  .provider-switch-meta span:last-child { text-align: left; }
}
