/* ==========================================================================
   EloBoostEU master design tokens.
   These are the single source of truth for the whole customer-facing site.
   The homepage's premium emerald/cyan graphite language is defined here, so
   every page that uses the shared components (.card, .btn, .field, .badge,
   .page-shell, tables, dialogs, toasts…) inherits it automatically instead of
   each page carrying its own styling.
   ========================================================================== */
:root {
    --bg: #080b0d;
    --bg-soft: #0b1012;
    --surface: #101618;
    --surface-2: #151c1e;
    --surface-3: #1a2325;
    --border: rgba(255, 255, 255, .08);
    --border-strong: rgba(255, 255, 255, .14);
    --text: #f5f7f7;
    --muted: #8e9a9d;
    --accent: #34e8a4;
    --accent-2: #35d3e6;
    --accent-soft: rgba(52, 232, 164, .14);
    --cyan: #35d3e6;
    --magenta: #ff4d7d;
    --success: #34e8a4;
    --warning: #f0c46a;
    --danger: #ff5f78;
    --radius: 12px;
    --shadow: 0 24px 80px rgba(0, 0, 0, .5);
    --max: 1320px;
    /* Aliases so newer work can use the --ee-* naming without a second palette. */
    --ee-bg: var(--bg);
    --ee-surface: var(--surface);
    --ee-text: var(--text);
    --ee-text-muted: var(--muted);
    --ee-border: var(--border);
    --ee-accent: var(--accent);
    --ee-accent-secondary: var(--accent-2);
}

html { scroll-padding-top: 84px; }
body {
    font-family: "Segoe UI Variable Text", "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 72% 7%, rgba(52, 232, 164, .14), transparent 28rem),
        linear-gradient(180deg, #080b0d, #0b1012 54%, #080b0d);
}
body:before {
    background-image: linear-gradient(rgba(255, 255, 255,.017) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255,.017) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(to bottom, black, transparent 82%);
}
h1, h2, h3, .brand { font-family: Bahnschrift, "Segoe UI Variable Display", "Segoe UI", sans-serif; }
.section { padding: 72px 0; }
.section-heading { margin-bottom: 26px; }
.section-heading h2, .page-heading h1 { letter-spacing: -.045em; }
.eyebrow { color: #5ef0bd; letter-spacing: .16em; }
.accent { color: #35d3e6; }

.app-header {
    height: 76px;
    background: rgba(10, 12, 12, .84);
    border-color: rgba(52, 232, 164, .16);
    box-shadow: 0 10px 40px rgba(0, 0, 0,.16);
}
.brand { font-size: 1rem; letter-spacing: -.03em; }
/* Header brand is the logo lock-up rather than text. Height-capped so the
   header rhythm stays put; the alt text carries the name for a11y and SEO. */
.brand-logo { display: inline-flex; align-items: center; }
.brand-logo img { display: block; height: 34px; width: auto; max-width: 100%; }
/* height is overridden inline from the admin-managed logo height setting */
@media (max-width: 640px) { .brand-logo img { height: 28px; } }
.brand-mark {
    position: relative;
    width: 34px;
    height: 34px;
    overflow: hidden;
    border-radius: 10px 4px 10px 4px;
    background: linear-gradient(135deg, #5ef0bd, #0f8f68 62%, #34e8a4);
    box-shadow: 0 0 22px rgba(52, 232, 164, .42);
}
.brand-mark:before, .brand-mark:after, .brand-mark i {
    content: "";
    position: absolute;
    inset: 8px 9px;
    border: 2px solid #fff;
    border-left-width: 4px;
    transform: skew(-16deg) rotate(-8deg);
}
.brand-mark:after { inset: 13px 6px 7px 15px; border-top: 0; border-left: 0; opacity: .8; }
.brand-mark i { inset: 4px 17px 18px 6px; border: 0; background: #fff; clip-path: polygon(0 0,100% 35%,25% 100%); }
.main-nav { gap: 20px; }
.main-nav a { position: relative; font-size: .79rem; font-weight: 650; color: #b6b7c9; }
.main-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:2px; background:linear-gradient(90deg,var(--accent),var(--magenta)); transition:.2s; }
.main-nav a:hover:after { right:0; }
.header-actions .btn-primary { box-shadow: 0 0 24px rgba(52, 232, 164,.28); }

.announcement-bar {
    min-height: 32px;
    display: flex;
    justify-content: center;
    gap: 54px;
    align-items: center;
    padding: 7px 18px;
    border-bottom: 1px solid var(--border);
    color: #c6c8d7;
    background: #0b1012;
    font-size: .7rem;
}
.announcement-bar i, .hero-pill i, .live-dot:before, .available-tag i { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan); }
.announcement-offer { color: #ffffff; }
.announcement-offer strong { color: #ff789e; }

.eu-hero { position: relative; min-height: 650px; overflow: hidden; border-bottom: 1px solid var(--border); }
.eu-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#080b0d 0%,rgba(10, 12, 12,.98) 28%,rgba(10, 12, 12,.45) 62%,rgba(10, 12, 12,.8) 100%); z-index:1; }
.eu-hero:after { content:""; position:absolute; inset:auto 0 0; height:190px; background:linear-gradient(transparent,#080b0d); z-index:1; }
.eu-hero-art { position:absolute; inset:0; background:url('/images/eloboosteu-hero-banner.png') 68% 22%/cover no-repeat; filter:saturate(.75) brightness(.6) contrast(1.02); opacity:.4; }
.eu-hero-grid { position:relative; z-index:2; min-height:650px; display:flex; align-items:center; }
.eu-hero-copy { padding:66px 0; }
.hero-pill { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:8px 12px; border:1px solid rgba(52, 232, 164,.22); border-radius:30px; background:rgba(52, 232, 164,.13); color:#ffffff; font-size:.69rem; font-weight:700; letter-spacing:.04em; }
.hero-pill i { background:#ff4f88; box-shadow:0 0 10px #ff4f88; }
.eu-hero h1 { max-width:690px; margin:18px 0 18px; font-size:clamp(3rem,5.3vw,5.4rem); line-height:.96; letter-spacing:-.065em; }
.eu-hero h1 span { background:linear-gradient(90deg,#5ef0bd,#2fbfa0 52%,#3bd7ef); background-clip:text; -webkit-background-clip:text; color:transparent; }
.eu-hero-copy>p { max-width:610px; margin:0; color:#b0b2c4; font-size:1.02rem; line-height:1.75; }
.eu-hero .hero-actions { margin:28px 0 42px; }
.hero-micro-proof { display:flex; gap:0; }
.hero-micro-proof>span { min-width:132px; padding:0 26px; border-left:1px solid var(--border); }
.hero-micro-proof>span:first-child { padding-left:0; border-left:0; }
.hero-micro-proof strong,.hero-micro-proof small { display:block; }
.hero-micro-proof strong { font:700 .86rem Bahnschrift, "Segoe UI", sans-serif; }
.hero-micro-proof small { color:var(--muted); font-size:.66rem; margin-top:3px; }

.live-dot { color:#7ff5bd; font-size:.66rem; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.live-dot:before { background:#49df9e; box-shadow:0 0 10px #49df9e; }

.btn { border-radius:7px; font-size:.82rem; }
.btn-primary { position:relative; background:linear-gradient(100deg,#34e8a4,#35d3e6 52%,#34e8a4); border-color:rgba(255, 255, 255,.18); box-shadow:0 8px 24px rgba(52, 232, 164,.24); overflow:hidden; }
.btn-primary:before { content:""; position:absolute; inset:0; transform:translateX(-110%); background:linear-gradient(90deg,transparent,rgba(255, 255, 255,.15),transparent); transition:.45s; }
.btn-primary:hover { background:linear-gradient(100deg,#34e8a4,#35d3e6); box-shadow:0 10px 32px rgba(52, 232, 164,.38); }
.btn-primary:hover:before { transform:translateX(110%); }
.btn-ghost,.btn-secondary { background:rgba(21, 25, 25,.62); border-color:rgba(255, 255, 255,.26); }

.proof-deck { position:relative; z-index:3; margin-top:-1px; border-bottom:1px solid var(--border); background:#0b1012; }
.proof-deck-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.proof-deck-grid>div { display:grid; grid-template-columns:36px 1fr; grid-template-rows:auto auto; align-items:center; padding:20px 24px; border-right:1px solid var(--border); }
.proof-deck-grid>div:last-child { border:0; }
.proof-icon { grid-row:1/3; color:#35d3e6; font-size:1.3rem; }
.proof-deck strong { font-size:.85rem; }
.proof-deck small { color:var(--muted); font-size:.62rem; }

.compact-heading { align-items:center; }
.game-showcase { padding-top:56px; }
.game-activity-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:20px; }
.game-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.game-card { position:relative; min-height:330px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid var(--border); border-radius:11px; background:radial-gradient(circle at 70% 20%,rgba(52, 232, 164,.35),transparent 38%),linear-gradient(145deg,#131b1c,#0b1012); transition:.25s; }
.game-card:before { content:""; position:absolute; inset:0; background:linear-gradient(transparent 12%,rgba(11, 12, 13,.22) 42%,#0a0f10 78%); }
.game-card:hover { transform:translateY(-4px); border-color:rgba(52, 232, 164,.52); box-shadow:0 20px 50px rgba(0, 0, 0,.34); }
.game-card-valorant { border-color:rgba(240, 68, 112,.38); background:radial-gradient(circle at 75% 13%,rgba(236, 57, 93,.4),transparent 40%),linear-gradient(145deg,#26131f,#0b1012); }
.game-card-lol { border-color:rgba(221, 170, 67,.33); background:radial-gradient(circle at 75% 13%,rgba(198, 133, 37,.35),transparent 40%),linear-gradient(145deg,#211b12,#0b1012); }
.game-code { position:absolute; right:18px; top:10px; color:rgba(255, 255, 255,.075); font:800 8rem/1 Bahnschrift, "Segoe UI", sans-serif; }
.game-card>div,.game-card>a { position:relative; z-index:1; }
.game-card>div { padding:28px 24px 20px; }
.game-card small { color:#ff7b9d; text-transform:uppercase; letter-spacing:.14em; font-size:.59rem; }
.game-card-lol small { color:#e9bd64; }
.game-card h3 { margin:3px 0 14px; font-size:1.45rem; }
.game-card ul { margin:0 0 18px; padding:0; list-style:none; color:#c3c4d2; font-size:.7rem; line-height:1.8; }
.game-card li:before { content:"+"; color:#35d3e6; margin-right:7px; }
.game-card strong { font-size:.85rem; }
.game-card>a { display:flex; justify-content:space-between; padding:13px 24px; border-top:1px solid var(--border); color:#ffffff; font-size:.72rem; font-weight:750; }
.activity-board,.showcase-panel { border:1px solid var(--border); border-radius:11px; background:linear-gradient(145deg,rgba(21, 25, 25,.94),rgba(14, 16, 17,.96)); }
.panel-title { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; border-bottom:1px solid var(--border); }
.panel-title h2,.panel-title h3 { margin:3px 0 0; font-size:.98rem; }
.panel-title>a { color:#35d3e6; font-size:.65rem; }
.activity-row { display:grid; grid-template-columns:40px 1fr auto; gap:12px; align-items:center; margin:8px 10px; padding:11px 12px; border:1px solid rgba(255, 255, 255,.12); border-radius:8px; background:rgba(10, 12, 12,.44); }
.activity-rank { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(52, 232, 164,.4); clip-path:polygon(50% 0,100% 28%,84% 85%,50% 100%,16% 85%,0 28%); background:#252a2b; color:#ffffff; font-weight:800; }
.activity-row div { display:grid; }
.activity-row small { color:#8d8fa3; font-size:.56rem; text-transform:uppercase; }
.activity-row strong { font-size:.72rem; }
.activity-row em { color:var(--muted); font-size:.6rem; font-style:normal; }
.activity-status { color:#53dca0; font-size:.58rem; text-transform:uppercase; }
.activity-status:before { content:""; display:inline-block; width:5px; height:5px; margin-right:5px; border-radius:50%; background:currentColor; }
.activity-empty { padding:40px; text-align:center; color:var(--muted); }

.calculator-stage { background:radial-gradient(circle at 72% 40%,rgba(52, 232, 164,.12),transparent 28rem),#090b16; border-block:1px solid var(--border); }
.calculator-stage-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:74px; align-items:center; }
.calculator-intro h2,.security-grid h2 { margin:10px 0 18px; font-size:clamp(2.2rem,4vw,3.6rem); line-height:1.02; letter-spacing:-.05em; }
.calculator-intro p,.security-grid>div>p { color:var(--muted); max-width:520px; }
.check-list { display:grid; gap:10px; margin:24px 0; padding:0; list-style:none; color:#e0e0e0; font-size:.79rem; }
.check-list li:before { content:"✓"; display:inline-grid; place-items:center; width:19px; height:19px; margin-right:10px; border-radius:50%; background:rgba(74, 220, 157,.1); color:#52dda0; font-size:.64rem; }
.calculator { border-color:rgba(52, 232, 164,.32); background:rgba(18, 21, 22,.94); box-shadow:0 26px 80px rgba(0, 0, 0,.34); }
.calculator-head { background:linear-gradient(90deg,rgba(52, 232, 164,.12),transparent); }
.field input,.field select,.field textarea { background:#0b1012; border-color:rgba(255, 255, 255,.22); border-radius:7px; }
.option-toggle { background:#0a0f10; }
.quote-total strong { color:#35d3e6; }

.process-section { padding-bottom:52px; }
.process-line { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.process-line:before { content:""; position:absolute; left:8%; right:8%; top:25px; height:1px; background:linear-gradient(90deg,#34e8a4,#f04283,#34e8a4); opacity:.65; }
.process-line article { position:relative; padding-right:30px; }
.process-line article>span { position:relative; z-index:1; width:50px; height:50px; display:grid; place-items:center; margin-bottom:18px; border:1px solid #35d3e6; border-radius:50%; background:#111327; box-shadow:0 0 0 7px #0b1012; font:700 .8rem Bahnschrift, "Segoe UI", sans-serif; }
.process-line h3 { margin:0 0 5px; font-size:.86rem; }
.process-line p { margin:0; color:var(--muted); font-size:.7rem; }

.why-section { padding-top:44px; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border); border-radius:11px; background:#0c0f1e; }
.why-grid article { display:flex; gap:14px; padding:25px 20px; border-right:1px solid var(--border); }
.why-grid article:last-child { border:0; }
.why-grid article>span { color:#35d3e6; font-size:1.7rem; }
.why-grid h3 { margin:0 0 5px; font-size:.83rem; color:#35d3e6; }
.why-grid p { margin:0; color:var(--muted); font-size:.66rem; }

.social-proof-section { padding-top:22px; }
.social-proof-grid { display:grid; grid-template-columns:1.08fr .92fr 1fr; gap:12px; }
.booster-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; padding:10px; }
.booster-card { display:grid; grid-template-columns:42px 1fr; gap:10px; padding:14px; border:1px solid var(--border); border-radius:8px; background:#0a0f10; }
.booster-avatar,.review-avatar { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,#34e8a4,#636363); border:2px solid rgba(52, 232, 164,.35); color:#fff; font-size:.71rem; font-weight:800; overflow:hidden; }
.booster-avatar-photo { padding:0; }
.booster-avatar-photo img { width:100%; height:100%; object-fit:cover; }
.booster-avatar-large { width:72px; height:72px; font-size:1.3rem; }
.profile-identity { display:flex; align-items:center; gap:16px; }
.booster-card strong,.booster-card small { display:block; }
.booster-card strong { font-size:.72rem; }
.booster-card small { color:var(--muted); font-size:.58rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.booster-card dl { grid-column:1/-1; display:flex; gap:18px; margin:8px 0 0; flex-wrap:wrap; }
.booster-card dl div { display:grid; }
.booster-card dt { color:var(--muted); font-size:.54rem; }
.booster-card dd { margin:0; color:#f3c86e; font-size:.66rem; font-weight:700; }
.available-tag { grid-column:1/-1; color:#64e3aa; font-size:.56rem; text-transform:uppercase; }
.available-tag i { width:5px; height:5px; background:#4ce39d; box-shadow:0 0 8px #4ce39d; }
.compact-review { display:flex; gap:10px; margin:10px; padding:13px; border:1px solid var(--border); border-radius:8px; background:#0a0f10; }
.compact-review>div:last-child { min-width:0; }
.compact-review strong { font-size:.7rem; }
.compact-review .stars { float:right; font-size:.55rem; }
.compact-review p { margin:7px 0; color:#c1c2ce; font-size:.63rem; }
.compact-review small { color:#35d3e6; font-size:.55rem; }
.tracking-order { padding:18px; }
.tracking-order>small { color:var(--muted); font-size:.59rem; }
.tracking-order h3 { margin:4px 0 13px; font-size:.9rem; }
.tracking-order ol { display:grid; gap:7px; margin:18px 0; padding:0; list-style:none; color:#7d8095; font-size:.62rem; }
.tracking-order li:before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; border:1px solid #666a80; border-radius:50%; }
.tracking-order li.done { color:#bec0ce; }
.tracking-order li.done:before { background:#42d492; border-color:#42d492; box-shadow:0 0 7px #42d492; }
.message-preview { display:block; padding:10px; border-radius:6px; background:rgba(52, 232, 164,.14); color:#35d3e6; font-size:.61rem; }

.security-section { background:linear-gradient(90deg,rgba(255, 255, 255,.08),transparent),#0b1012; border-block:1px solid var(--border); }
.security-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:76px; align-items:center; }
.security-points { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--border); border-radius:11px; overflow:hidden; }
.security-points article { min-height:195px; padding:22px 18px; border-right:1px solid var(--border); background:rgba(20, 23, 23,.82); }
.security-points article:last-child { border:0; }
.security-points span { color:#35d3e6; font:700 .7rem Bahnschrift, "Segoe UI", sans-serif; }
.security-points h3 { margin:28px 0 8px; font-size:.8rem; }
.security-points p { margin:0; color:var(--muted); font-size:.66rem; }

.faq-cta-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; align-items:stretch; }
.faq-cta-grid>div>h2 { margin:8px 0 24px; }
.faq-item { background:#0c0f1d; border-radius:7px; }
.faq-item summary { padding:13px 15px; font-size:.7rem; }
.faq-item p { font-size:.68rem; }
.final-cta { min-height:390px; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:54px; text-align:center; border:1px solid rgba(52, 232, 164,.28); border-radius:11px; background:radial-gradient(circle at 50% 15%,rgba(52, 232, 164,.28),transparent 45%),linear-gradient(145deg,#191d1e,#0b0d1a); }
.final-cta h2 { margin:18px 0 8px; font-size:clamp(2rem,4vw,3.3rem); line-height:1.02; letter-spacing:-.05em; }
.final-cta p { color:var(--muted); }
.final-cta .btn { max-width:330px; margin-top:8px; }

.site-footer { background:#060710; border-color:var(--border); }
.footer-grid { grid-template-columns:2.3fr repeat(3,1fr); }
.footer-intro p { max-width:400px; }
.footer-regions { display:flex; gap:7px; margin-top:18px; }
.footer-regions span { padding:4px 7px; border:1px solid var(--border); border-radius:5px; color:#888ca1; font-size:.56rem; }

.info-hero { position:relative; overflow:hidden; padding:100px 0 64px; border-bottom:1px solid var(--border); background:radial-gradient(circle at 72% 30%,rgba(52, 232, 164,.24),transparent 27rem); }
.info-hero:after { content:"ELOBOOSTEU"; position:absolute; right:5%; bottom:-30px; color:rgba(255, 255, 255,.025); font:800 clamp(4rem,12vw,10rem) Bahnschrift, "Segoe UI", sans-serif; }
.games-page-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.game-page-card { position:relative; min-height:330px; overflow:hidden; display:grid; grid-template-columns:170px 1fr; align-items:center; gap:28px; padding:42px; border:1px solid var(--border); border-radius:12px; background:radial-gradient(circle at 10% 30%,rgba(52, 232, 164,.35),transparent 36%),#101618; }
.game-page-card h2 { margin:6px 0 12px; font-size:2.2rem; }
.game-page-card p { color:var(--muted); font-size:.82rem; }
.game-page-lol { background:radial-gradient(circle at 10% 30%,rgba(183, 118, 26,.3),transparent 36%),#101618; }
.game-page-valorant { background:radial-gradient(circle at 10% 30%,rgba(255, 70, 85,.28),transparent 36%),#101618; }
.booster-hero { background:radial-gradient(circle at 72% 30%,rgba(238, 60, 133,.16),transparent 27rem),radial-gradient(circle at 40% 0,rgba(52, 232, 164,.2),transparent 28rem); }
.application-panel { padding:32px; }
.application-panel h2 { margin:6px 0 24px; }
.application-list { display:grid; gap:10px; margin-bottom:24px; }
.application-list>div { display:flex; gap:16px; padding:17px; border:1px solid var(--border); border-radius:8px; background:#0a0f10; }
.application-list span { color:#35d3e6; font:700 .7rem Bahnschrift, "Segoe UI", sans-serif; }
.application-list p { margin:0; color:var(--muted); font-size:.75rem; }
.application-list strong { display:block; color:var(--text); margin-bottom:3px; }
/* Booster application: requirements sit beside the form so an applicant can check
   themselves against them while filling it in, instead of scrolling back and forth. */
.booster-apply-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:28px; align-items:start; }
.booster-apply-grid .application-panel { position:sticky; top:96px; }
.application-footnote { margin:18px 0 0; color:var(--muted); font-size:.72rem; }
.application-form-card .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.application-form-card .field-full { grid-column:1 / -1; }
.form-error-summary:not(:empty) { border:1px solid rgba(255,70,85,.4); background:rgba(255,70,85,.08); border-radius:8px; padding:12px 14px; margin-bottom:4px; }
.form-error-summary ul { margin:0; padding-left:18px; color:#ffb3ba; font-size:.78rem; }
.application-success { text-align:center; padding:56px 32px; }
.application-success-mark { width:56px; height:56px; margin:0 auto 18px; border-radius:50%; display:grid; place-items:center; font-size:1.5rem; color:#04120c; background:linear-gradient(135deg,#34e8a4,#35d3e6); }
.application-success h2 { margin:0 0 10px; }
.application-success p { color:var(--muted); max-width:44ch; margin:0 auto 22px; }
@media (max-width:900px) {
    .booster-apply-grid { grid-template-columns:1fr; }
    .booster-apply-grid .application-panel { position:static; }
    .application-form-card .form-grid { grid-template-columns:1fr; }
}

.card { background:linear-gradient(145deg,rgba(21, 24, 24,.98),rgba(15, 17, 18,.98)); }
.auth-shell { background:radial-gradient(circle at 50% 18%,rgba(52, 232, 164,.18),transparent 25rem); }
.auth-card { border-color:rgba(52, 232, 164,.3); box-shadow:var(--shadow); }
.social-auth { display:grid; gap:10px; margin-bottom:6px; }
.btn-social { gap:10px; background:#fff; color:#1f1f1f; border-color:rgba(0, 0, 0,.08); font-weight:700; }
.btn-social:hover { background:#f4f4f4; }
.btn-social svg { width:18px; height:18px; flex:none; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; }
.auth-divider:before,.auth-divider:after { content:""; flex:1; height:1px; background:var(--border); }
.auth-signup-btn { margin-top:12px; }
.workspace-body .app-header { background:#090b16; }
.workspace-body .card { background:#0e1120; }
.subnav { background:#0a0f10; }

@media (max-width: 1120px) {
    .main-nav { gap:13px; }
    .main-nav a { font-size:.7rem; }
    .game-activity-grid,.calculator-stage-grid,.security-grid { gap:34px; }
    .social-proof-grid { grid-template-columns:1fr 1fr; }
    .tracking-panel { grid-column:1/-1; }
    .tracking-panel .tracking-order { max-width:720px; }
}

@media (max-width: 900px) {
    .eu-hero-grid { padding-bottom:52px; }
    .eu-hero-art { background-position:70% 15%; opacity:.38; }
    .eu-hero:before { background:linear-gradient(90deg,#080b0d 0%,rgba(10, 12, 12,.88) 60%,rgba(10, 12, 12,.55)); }
    .eu-hero-copy { padding:80px 0 10px; }
    .proof-deck-grid { grid-template-columns:repeat(3,1fr); }
    .proof-deck-grid>div:nth-child(3) { border-right:0; }
    .game-activity-grid,.calculator-stage-grid,.security-grid,.faq-cta-grid { grid-template-columns:1fr; }
    .process-line { grid-template-columns:1fr 1fr; gap:32px; }
    .process-line:before { display:none; }
    .why-grid { grid-template-columns:1fr 1fr; }
    .why-grid article:nth-child(2) { border-right:0; }
    .why-grid article:nth-child(-n+2) { border-bottom:1px solid var(--border); }
    .games-page-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:2fr 1fr 1fr; }
}

@media (max-width: 640px) {
    .brand>span:last-child { display:inline; }
    .announcement-bar { justify-content:flex-start; gap:12px; overflow:hidden; white-space:nowrap; }
    .announcement-offer { display:none; }
    .eu-hero { min-height:auto; }
    .eu-hero-grid { min-height:auto; padding-bottom:36px; }
    .eu-hero-art { background-position:68% top; background-size:auto 420px; opacity:.32; }
    .eu-hero:before { background:linear-gradient(180deg,rgba(10, 12, 12,.25),#080b0d 49%,#080b0d); }
    .eu-hero-copy { padding:242px 0 0; }
    .eu-hero h1 { font-size:2.72rem; }
    .eu-hero-copy>p { font-size:.86rem; }
    .hero-micro-proof { display:grid; grid-template-columns:repeat(3,1fr); }
    .hero-micro-proof>span { min-width:0; padding:0 12px; }
    .proof-deck-grid { grid-template-columns:1fr 1fr; }
    .proof-deck-grid>div { padding:15px 14px; border-bottom:1px solid var(--border); }
    .proof-deck-grid>div:nth-child(odd) { border-right:1px solid var(--border); }
    .proof-deck-grid>div:nth-child(even) { border-right:0; }
    .proof-deck-grid>div:last-child { grid-column:1/-1; }
    .game-card-grid,.social-proof-grid,.booster-grid,.process-line,.why-grid,.security-points { grid-template-columns:1fr; }
    .game-card { min-height:280px; }
    .activity-row { grid-template-columns:34px 1fr; }
    .activity-status { grid-column:2; }
    .process-line article { display:grid; grid-template-columns:46px 1fr; column-gap:12px; padding:0; }
    .process-line article>span { grid-row:1/3; width:42px; height:42px; margin:0; }
    .process-line h3 { align-self:end; }
    .why-grid article { border-right:0; border-bottom:1px solid var(--border); }
    .why-grid article:nth-child(3) { border-bottom:1px solid var(--border); }
    .security-points article { min-height:auto; border-right:0; border-bottom:1px solid var(--border); }
    .final-cta { min-height:350px; padding:35px 22px; }
    .game-page-card { min-height:0; grid-template-columns:1fr; padding:28px 22px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* Shared utilities and the rank emblem used by the admin pricing catalog.
   The customer-facing rank boost studio has its own scoped layer in boost-studio.css. */
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.rank-emblem { --rank-color:#35d3e6; --rank-dark:#2e3536; position:relative; width:35px; height:39px; display:grid; place-items:center; clip-path:polygon(50% 0,94% 24%,82% 80%,50% 100%,18% 80%,6% 24%); background:linear-gradient(145deg,var(--rank-color),var(--rank-dark) 60%); filter:drop-shadow(0 4px 7px rgba(0, 0, 0,.34)); }
.rank-emblem:before { content:""; width:17px; height:21px; clip-path:inherit; background:linear-gradient(145deg,rgba(255, 255, 255,.65),var(--rank-color) 32%,var(--rank-dark) 75%); }
.rank-emblem i { position:absolute; inset:7px 13px 18px; background:rgba(255, 255, 255,.65); clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%); }
.rank-emblem[data-rank-tone="iron"] { --rank-color:#8c817a;--rank-dark:#322d2a; }
.rank-emblem[data-rank-tone="bronze"] { --rank-color:#b76c43;--rank-dark:#42261d; }
.rank-emblem[data-rank-tone="silver"] { --rank-color:#a8b9cc;--rank-dark:#354253; }
.rank-emblem[data-rank-tone="gold"] { --rank-color:#e0a73e;--rank-dark:#59401b; }
.rank-emblem[data-rank-tone="platinum"] { --rank-color:#41c5b9;--rank-dark:#164846; }
.rank-emblem[data-rank-tone="emerald"] { --rank-color:#2fd18d;--rank-dark:#124b37; }
.rank-emblem[data-rank-tone="diamond"] { --rank-color:#34e8a4;--rank-dark:#34e8a4; }
.rank-emblem[data-rank-tone="ascendant"] { --rank-color:#50bc83;--rank-dark:#28523e; }
.rank-emblem[data-rank-tone="master"] { --rank-color:#35d3e6;--rank-dark:#676767; }
.rank-emblem[data-rank-tone="grandmaster"] { --rank-color:#e55477;--rank-dark:#651d36; }
.rank-emblem[data-rank-tone="immortal"] { --rank-color:#e65379;--rank-dark:#641e38; }
.rank-emblem[data-rank-tone="challenger"],.rank-emblem[data-rank-tone="radiant"] { --rank-color:#f3c85d;--rank-dark:#695121; }

/* League of Legends rank artwork — LoL only, Valorant keeps the CSS gem shapes */
[data-game-slug="league-of-legends"] .rank-emblem,
.rank-emblem[data-game-slug="league-of-legends"],
[data-game-slug="valorant"] .rank-emblem,
.rank-emblem[data-game-slug="valorant"] { max-width:100%; clip-path:none; background:none; background-size:contain; background-position:center; background-repeat:no-repeat; filter:drop-shadow(0 3px 7px rgba(0, 0, 0,.45)); }
/* League emblems are wide (winged), Valorant tier icons are square — size each to its own artwork */
[data-game-slug="league-of-legends"] .rank-emblem,
.rank-emblem[data-game-slug="league-of-legends"] { width:60px; max-width:60px; height:44px; }
[data-game-slug="valorant"] .rank-emblem,
.rank-emblem[data-game-slug="valorant"] { width:44px; max-width:44px; height:44px; }
/* The artwork replaces the CSS gem, so its inner shapes are hidden. */
[data-game-slug="league-of-legends"] .rank-emblem:before,
[data-game-slug="league-of-legends"] .rank-emblem i,
.rank-emblem[data-game-slug="league-of-legends"]:before,
.rank-emblem[data-game-slug="league-of-legends"] i,
[data-game-slug="valorant"] .rank-emblem:before,
[data-game-slug="valorant"] .rank-emblem i,
.rank-emblem[data-game-slug="valorant"]:before,
.rank-emblem[data-game-slug="valorant"] i { display:none; }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="iron"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="iron"] { background-image:url('/assets/games/lol/ranks/iron.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="bronze"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="bronze"] { background-image:url('/assets/games/lol/ranks/bronze.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="silver"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="silver"] { background-image:url('/assets/games/lol/ranks/silver.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="gold"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="gold"] { background-image:url('/assets/games/lol/ranks/gold.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="platinum"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="platinum"] { background-image:url('/assets/games/lol/ranks/platinum.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="emerald"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="emerald"] { background-image:url('/assets/games/lol/ranks/emerald.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="diamond"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="diamond"] { background-image:url('/assets/games/lol/ranks/diamond.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="master"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="master"] { background-image:url('/assets/games/lol/ranks/master.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="grandmaster"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="grandmaster"] { background-image:url('/assets/games/lol/ranks/grandmaster.png'); }
[data-game-slug="league-of-legends"] .rank-emblem[data-rank-tone="challenger"],.rank-emblem[data-game-slug="league-of-legends"][data-rank-tone="challenger"] { background-image:url('/assets/games/lol/ranks/challenger.png'); }

/* Valorant competitive tier artwork — official Riot rank icons */
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="iron"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="iron"] { background-image:url('/assets/games/valorant/ranks/iron.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="bronze"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="bronze"] { background-image:url('/assets/games/valorant/ranks/bronze.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="silver"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="silver"] { background-image:url('/assets/games/valorant/ranks/silver.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="gold"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="gold"] { background-image:url('/assets/games/valorant/ranks/gold.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="platinum"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="platinum"] { background-image:url('/assets/games/valorant/ranks/platinum.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="diamond"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="diamond"] { background-image:url('/assets/games/valorant/ranks/diamond.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="ascendant"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="ascendant"] { background-image:url('/assets/games/valorant/ranks/ascendant.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="immortal"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="immortal"] { background-image:url('/assets/games/valorant/ranks/immortal.png'); }
[data-game-slug="valorant"] .rank-emblem[data-rank-tone="radiant"],.rank-emblem[data-game-slug="valorant"][data-rank-tone="radiant"] { background-image:url('/assets/games/valorant/ranks/radiant.png'); }
.option-admin-row { display:grid; grid-template-columns:minmax(220px,1fr) 130px 150px auto; align-items:end; gap:12px; }
.option-admin-row .badge { margin-top:8px; }
.compact-metrics { margin-bottom:16px; }
.pricing-rule-panel { overflow:hidden; }
.pricing-rule-panel .panel-head p { max-width:680px; margin:4px 0 0; color:var(--muted); font-size:.62rem; }
.pricing-rule-list { display:grid; }
.pricing-rule-editor { display:grid; grid-template-columns:minmax(180px,1.35fr) repeat(5,minmax(92px,.72fr)) 96px auto; align-items:end; gap:10px; padding:14px 18px; border-top:1px solid var(--border); }
.pricing-rule-editor:hover { background:rgba(52, 232, 164,.045); }
.pricing-rule-rank { min-width:0; display:flex; align-items:center; gap:11px; padding-bottom:3px; }
.pricing-rule-rank .rank-emblem { flex:0 0 33px; width:33px; height:37px; }
.pricing-rule-rank strong,.pricing-rule-rank small { display:block; }
.pricing-rule-rank strong { font-size:.69rem; }
.pricing-rule-rank small { margin-top:3px; color:var(--muted); font-size:.54rem; }
.pricing-rule-editor .field label { font-size:.53rem; }
.pricing-rule-editor .field input { min-width:0; min-height:36px; padding:7px 8px; font-size:.62rem; }
.pricing-rule-editor .rule-active { min-height:36px; }
.provider-theme { background:radial-gradient(circle at 73% 0,rgba(52, 232, 164,.11),transparent 34rem),#080a13; }
.workspace-body:has(.admin-workspace-shell) { background:radial-gradient(circle at 78% 0,rgba(52, 232, 164,.1),transparent 34rem),#080a13; }
.booster-workspace-shell { min-height:calc(100vh - 76px); display:grid; grid-template-columns:246px minmax(0,1fr); }
.admin-workspace-shell { grid-template-columns:258px minmax(0,1fr); }
.admin-workspace-main .container { width:min(1380px,calc(100% - 44px)); }
.admin-sidebar { border-right-color:rgba(52, 232, 164,.16); background:linear-gradient(180deg,#0a101a,#070a11); }
.admin-sidebar .booster-sidebar-nav>a.active { border-color:rgba(52, 232, 164,.25); background:linear-gradient(90deg,rgba(52, 232, 164,.2),rgba(52, 232, 164,.04)); box-shadow:inset 2px 0 #34e8a4; }
.admin-sidebar .booster-sidebar-nav>a:hover { background:rgba(52, 232, 164,.07); }
.admin-command-mark { position:relative; width:35px; height:35px; display:grid; place-items:center; border:1px solid rgba(52, 232, 164,.35); border-radius:10px; background:rgba(52, 232, 164,.12); }
.admin-command-mark:before,.admin-command-mark:after,.admin-command-mark i { content:""; position:absolute; border:1px solid #34e8a4; }
.admin-command-mark:before { width:16px; height:16px; transform:rotate(45deg); }
.admin-command-mark:after { width:7px; height:7px; border-radius:50%; background:#34e8a4; box-shadow:0 0 12px rgba(52, 232, 164,.5); }
.admin-command-mark i { width:23px; height:23px; border-radius:50%; opacity:.35; }
.admin-ops-page { padding-top:34px; }
.admin-finance-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.admin-live-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.live-card-enter { animation:live-card-enter .22s ease both; }
.presence-dot { width:6px; height:6px; display:inline-block; margin-right:6px; border-radius:50%; background:#5f6574; box-shadow:0 0 0 3px rgba(255, 255, 255,.1); }
.presence-dot.online { background:#47ca9d; box-shadow:0 0 0 3px rgba(71, 202, 157,.12),0 0 10px rgba(71, 202, 157,.35); }
.notification-center-list { display:grid; gap:8px; }
.notification-center-item { display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:15px; padding:16px 18px; color:inherit; }
.notification-center-item>i { width:7px; height:7px; border-radius:50%; background:#4f5668; }
.notification-center-item.unread { border-color:rgba(52, 232, 164,.32); background:linear-gradient(100deg,rgba(52, 232, 164,.09),rgba(17, 20, 21,.96)); }
.notification-center-item.unread>i { background:#35d3e6; box-shadow:0 0 13px rgba(52, 232, 164,.45); }
.notification-center-item h2 { margin:4px 0; font-size:.75rem; }
.notification-center-item p { margin:0 0 5px; color:#a2a8ba; font-size:.55rem; }
.notification-center-item small { color:#626a7d; font-size:.47rem; }
.confirm-dialog { width:min(440px,calc(100% - 28px)); padding:0; border:1px solid rgba(52, 232, 164,.38); border-radius:18px; color:var(--text); background:linear-gradient(145deg,#191c1d,#0b0c18); box-shadow:0 30px 100px rgba(0, 0, 0,.7); opacity:0; transform:translateY(8px) scale(.98); transition:opacity .18s,transform .18s,overlay .18s allow-discrete,display .18s allow-discrete; }
.confirm-dialog[open] { opacity:1; transform:none; }
.confirm-dialog::backdrop { background:rgba(6, 6, 6,.76); backdrop-filter:blur(6px); }
.confirm-dialog form { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; padding:22px; }
.confirm-dialog-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(237, 84, 117,.35); border-radius:12px; color:#ff819d; background:rgba(176, 44, 75,.13); font-weight:900; }
.confirm-dialog h2 { margin:5px 0; font-size:1rem; }
.confirm-dialog p { margin:0; color:var(--muted); font-size:.59rem; line-height:1.55; }
.confirm-dialog .actions { grid-column:1 / -1; justify-content:flex-end; margin-top:8px; }
.quote-loading [data-base-price],.quote-loading [data-addon-price],.quote-loading [data-discount-price],.quote-loading [data-estimate],.quote-loading [data-total] { color:transparent!important; border-radius:5px; background:linear-gradient(90deg,rgba(255, 255, 255,.05),rgba(52, 232, 164,.17),rgba(255, 255, 255,.05)); background-size:220% 100%; animation:skeleton-shimmer 1.1s linear infinite; }
@keyframes skeleton-shimmer { to { background-position:-220% 0; } }
button[aria-busy="true"] { cursor:wait; opacity:.72; }
button:disabled,.btn.disabled { cursor:not-allowed; filter:saturate(.45); opacity:.5; }
@starting-style { .confirm-dialog[open] { opacity:0; transform:translateY(8px) scale(.98); } }
@keyframes live-card-enter { from { opacity:.35; transform:translateY(4px); } }
.admin-live-grid>.empty-state { grid-column:1/-1; }
.admin-live-card { padding:19px; }
.admin-live-card>header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.admin-live-card header small { color:var(--muted); font-size:.5rem; }
.admin-live-card h2 { margin:3px 0 0; font-size:.78rem; }
.admin-live-route { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; margin:17px 0 12px; padding:13px; border:1px solid var(--border); border-radius:8px; background:rgba(9, 10, 10,.55); }
.admin-live-route span:last-child { text-align:right; }
.admin-live-route small,.admin-live-route strong { display:block; }
.admin-live-route small { color:var(--muted); font-size:.47rem; }
.admin-live-route strong { margin-top:3px; font-size:.61rem; }
.admin-live-route>b { color:#34e8a4; }
.admin-live-meta { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:13px; }
.admin-live-meta>span { min-width:0; padding:9px; border:1px solid var(--border); border-radius:7px; background:rgba(255, 255, 255,.012); }
.admin-live-meta small,.admin-live-meta strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-live-meta small { color:var(--muted); font-size:.45rem; }
.admin-live-meta strong { margin-top:3px; font-size:.53rem; }
.notification-ops-list { display:grid; overflow:hidden; }
.notification-ops-list>article { display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:14px; padding:16px 19px; border-bottom:1px solid var(--border); }
.notification-ops-list>article:last-child { border-bottom:0; }
.notification-state { width:7px; height:7px; border-radius:50%; background:#51576a; }
.notification-state.unread { background:#34e8a4; box-shadow:0 0 0 5px rgba(52, 232, 164,.08); }
.notification-ops-list h2 { margin:3px 0; font-size:.68rem; }
.notification-ops-list small { color:var(--muted); font-size:.49rem; }
.notification-ops-list p { margin:0; color:#969bad; font-size:.56rem; }
.settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.settings-grid h2 { margin:8px 0; font-size:1.4rem; }
.settings-grid .btn { margin-top:16px; }
.settings-stat-list { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.settings-stat-list span { padding:10px; border:1px solid var(--border); border-radius:7px; }
.settings-stat-list small,.settings-stat-list strong { display:block; }
.settings-stat-list small { color:var(--muted); font-size:.48rem; }
.settings-stat-list strong { margin-top:3px; font-size:.75rem; }
.admin-overview-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:23px; }
.admin-overview-hero h1 { margin:5px 0; font-size:clamp(2rem,4vw,3.2rem); letter-spacing:-.05em; }
.admin-overview-hero p { margin:0; color:var(--muted); font-size:.68rem; }
.admin-health-signal { min-width:300px; display:grid; grid-template-columns:9px 1fr auto; align-items:center; gap:11px; padding:13px 14px; border:1px solid rgba(52, 232, 164,.2); border-radius:10px; background:rgba(31, 35, 36,.55); }
.admin-health-signal>i { width:8px; height:8px; border-radius:50%; background:#58d5b0; box-shadow:0 0 0 5px rgba(88, 213, 176,.08); }
.admin-health-signal strong,.admin-health-signal small { display:block; }
.admin-health-signal strong { font-size:.61rem; }
.admin-health-signal small { margin-top:2px; color:var(--muted); font-size:.48rem; }
.admin-health-signal a { color:#34e8a4; font-size:.53rem; font-weight:800; }
.admin-overview-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-bottom:14px; }
.admin-overview-kpi { position:relative; min-height:112px; padding:16px; overflow:hidden; transition:.18s; }
.admin-overview-kpi:hover { transform:translateY(-2px); border-color:rgba(52, 232, 164,.35); }
.admin-overview-kpi span,.admin-overview-kpi strong,.admin-overview-kpi small { display:block; }
.admin-overview-kpi span { color:#8d95a8; font-size:.51rem; font-weight:760; text-transform:uppercase; letter-spacing:.07em; }
.admin-overview-kpi strong { margin:9px 0 4px; font-size:1.1rem; letter-spacing:-.04em; }
.admin-overview-kpi small { color:#626a7d; font-size:.47rem; }
.admin-overview-kpi.revenue,.admin-overview-kpi.profit { border-color:rgba(71, 202, 157,.2); background:linear-gradient(145deg,rgba(34, 126, 100,.11),rgba(17, 20, 21,.95)); }
.admin-overview-kpi.revenue strong,.admin-overview-kpi.profit strong { color:#71dfad; }
.admin-overview-kpi.liability,.admin-overview-kpi.warning { border-color:rgba(229, 174, 82,.19); }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr); gap:12px; margin-bottom:12px; }
.admin-filter-bar { display:flex; align-items:end; gap:10px; padding:13px; margin-bottom:14px; }
.admin-filter-bar .field { flex:1; margin:0; }
.admin-order-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:14px; margin-bottom:13px; }
.admin-order-filters .field { margin:0; }
.admin-filter-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:8px; padding-top:2px; }
.admin-booster-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.admin-booster-card { display:grid; gap:15px; padding:18px; color:inherit; transition:transform .18s,border-color .18s,box-shadow .18s; }
.admin-booster-card:hover { transform:translateY(-3px); border-color:rgba(52, 232, 164,.38); box-shadow:0 18px 45px rgba(0, 0, 0,.24); }
.admin-booster-card h2 { margin:0 0 4px; font-size:.9rem; }
.admin-booster-card p { margin:0; color:var(--muted); font-size:.56rem; }
.booster-qualification { display:flex; flex-wrap:wrap; gap:6px; }
.booster-qualification span { padding:5px 8px; border:1px solid var(--border); border-radius:999px; color:#aeb4c5; background:rgba(255, 255, 255,.025); font-size:.48rem; }
.admin-booster-card dl { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0; }
.admin-booster-card dl div { padding-top:10px; border-top:1px solid var(--border); }
.admin-booster-card dt,.admin-booster-card dd { margin:0; }
.admin-booster-card dt { color:#656d80; font-size:.43rem; text-transform:uppercase; letter-spacing:.06em; }
.admin-booster-card dd { margin-top:4px; font-size:.66rem; font-weight:800; }
.admin-editor-form { padding:22px; }
.admin-form-section { display:grid; grid-template-columns:190px minmax(0,1fr); gap:24px; padding:22px 0; border-bottom:1px solid var(--border); }
.admin-form-section:first-of-type { padding-top:4px; }
.admin-form-section h2 { margin:5px 0; font-size:.88rem; }
.admin-editor-form>.actions { margin-top:22px; }
.admin-booster-profile-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.admin-booster-identity { display:flex; align-items:center; gap:14px; }
.admin-booster-identity h1 { margin:5px 0; font-size:clamp(1.7rem,3vw,2.5rem); }
.admin-booster-identity p { margin:0; color:var(--muted); font-size:.58rem; }
.avatar.large { width:58px; height:58px; font-size:.88rem; }
.admin-booster-metrics { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; margin-bottom:13px; }
.admin-booster-metrics>div { padding:14px 12px; }
.admin-booster-metrics small,.admin-booster-metrics strong { display:block; }
.admin-booster-metrics small { color:#7c8498; font-size:.44rem; text-transform:uppercase; letter-spacing:.05em; }
.admin-booster-metrics strong { margin-top:8px; font-size:.75rem; }
.admin-booster-detail-grid { grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); }
.admin-chart-panel,.admin-status-panel,.admin-recent-orders { overflow:hidden; }
.admin-chart-panel .panel-head,.admin-status-panel .panel-head,.admin-recent-orders .panel-head { padding:17px 19px; }
.admin-chart-panel .panel-head h2,.admin-status-panel .panel-head h2,.admin-recent-orders .panel-head h2 { margin:4px 0 0; font-size:.82rem; }
.admin-chart-panel .panel-head>strong { color:#76d9ac; font-size:.73rem; }
.admin-revenue-chart { height:220px; display:grid; grid-template-columns:repeat(7,1fr); align-items:end; gap:8px; padding:22px 18px 16px; }
.admin-revenue-chart>div { display:grid; justify-items:center; gap:5px; }
.admin-revenue-chart span { width:100%; height:145px; display:flex; align-items:end; padding:0 7px; border-bottom:1px solid var(--border); }
.admin-revenue-chart i { width:100%; min-height:3px; height:var(--bar); border-radius:5px 5px 1px 1px; background:linear-gradient(180deg,#34e8a4,#34e8a4); box-shadow:0 0 18px rgba(52, 232, 164,.1); }
.admin-revenue-chart strong { color:#9da4b5; font-size:.5rem; }
.admin-revenue-chart small { color:#596174; font-size:.43rem; white-space:nowrap; }
.admin-status-list { display:grid; padding:8px 17px 14px; }
.admin-status-list>a { display:grid; grid-template-columns:105px 1fr 40px; align-items:center; gap:10px; padding:9px 1px; border-bottom:1px solid var(--border); }
.admin-status-list>a:last-child { border-bottom:0; }
.admin-status-list strong,.admin-status-list small { display:block; }
.admin-status-list strong { font-size:.55rem; }
.admin-status-list small { margin-top:2px; color:var(--muted); font-size:.44rem; }
.admin-status-list b { color:#8d95aa; font-size:.49rem; text-align:right; }
.admin-status-list .performance-track { height:4px; }
.admin-status-list .performance-track i { background:linear-gradient(90deg,#34e8a4,#34e8a4); }
.admin-recent-orders { margin-top:0; }
.admin-recent-orders .panel-head a { color:#34e8a4; font-size:.53rem; font-weight:800; }
.booster-workspace-main { min-width:0; }
.booster-workspace-main .container { width:min(1320px,calc(100% - 44px)); }
.booster-sidebar { position:sticky; top:0; height:100vh; z-index:20; display:flex; flex-direction:column; padding:22px 14px 16px; border-right:1px solid rgba(52, 232, 164,.16); background:linear-gradient(180deg,#0b0d19,#080a12); }
.booster-sidebar-head { display:flex; align-items:center; gap:11px; padding:0 9px 22px; border-bottom:1px solid var(--border); }
.booster-sidebar-head strong,.booster-sidebar-head small { display:block; }
.booster-sidebar-head strong { font-size:.72rem; letter-spacing:-.01em; }
.booster-sidebar-head small { margin-top:2px; color:var(--muted); font-size:.52rem; }
.booster-command-mark { position:relative; width:35px; height:35px; display:grid; place-items:center; border:1px solid rgba(52, 232, 164,.4); border-radius:10px; background:rgba(52, 232, 164,.13); }
.booster-command-mark:before,.booster-command-mark:after,.booster-command-mark i { content:""; position:absolute; width:14px; height:2px; border-radius:2px; background:#35d3e6; }
.booster-command-mark:before { transform:translateY(-5px); }
.booster-command-mark:after { transform:translateY(5px); }
.booster-sidebar-nav { display:grid; gap:3px; padding:18px 0; overflow-y:auto; }
.booster-sidebar-nav>a { display:flex; align-items:center; gap:11px; min-height:40px; padding:9px 10px; border:1px solid transparent; border-radius:8px; color:#8f94aa; font-size:.64rem; font-weight:680; transition:.18s; }
.booster-sidebar-nav>a svg { flex:0 0 17px; width:17px; height:17px; }
.booster-sidebar-nav>a:hover { color:#f3f3f3; background:rgba(52, 232, 164,.07); transform:translateX(2px); }
.booster-sidebar-nav>a.active { color:white; border-color:rgba(52, 232, 164,.28); background:linear-gradient(90deg,rgba(52, 232, 164,.2),rgba(52, 232, 164,.06)); box-shadow:inset 2px 0 #35d3e6; }
.booster-nav-label { margin:13px 10px 4px; color:#565b70; font-size:.48rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.booster-sidebar-foot { display:flex; align-items:center; gap:9px; margin-top:auto; padding:13px 10px; border:1px solid var(--border); border-radius:9px; background:rgba(255, 255, 255,.015); }
.booster-sidebar-foot>i { width:7px; height:7px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px rgba(70, 201, 139,.08); }
.booster-sidebar-foot strong,.booster-sidebar-foot small { display:block; }
.booster-sidebar-foot strong { font-size:.55rem; }
.booster-sidebar-foot small { margin-top:2px; color:var(--muted); font-size:.46rem; }
.booster-page { padding-top:34px; }
.booster-dashboard-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:24px; padding:4px 2px; }
.booster-dashboard-hero h1 { margin:6px 0; font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.05; letter-spacing:-.045em; }
.booster-dashboard-hero p { max-width:660px; margin:0; color:var(--muted); font-size:.75rem; }
.booster-presence { min-width:255px; display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:11px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:#0d0f1c; }
.booster-presence>i { width:8px; height:8px; border-radius:50%; }
.booster-presence.online>i { background:var(--success); box-shadow:0 0 0 5px rgba(70, 201, 139,.08); }
.booster-presence.offline>i { background:var(--warning); box-shadow:0 0 0 5px rgba(232, 182, 90,.08); }
.booster-presence strong,.booster-presence small { display:block; }
.booster-presence strong { font-size:.62rem; }
.booster-presence small { margin-top:2px; color:var(--muted); font-size:.5rem; }
.booster-presence a { color:#35d3e6; font-size:.55rem; font-weight:750; }
.alert-panel { display:flex; gap:8px; margin-bottom:18px; padding:13px 15px; border:1px solid rgba(239, 107, 115,.3); border-radius:9px; background:rgba(239, 107, 115,.07); color:#f0b2b6; font-size:.62rem; }
.alert-panel span { color:#bc8f94; }
.booster-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.booster-kpi { position:relative; overflow:hidden; min-height:124px; display:flex; flex-direction:column; justify-content:center; padding:17px 18px; transition:.18s; }
a.booster-kpi:hover { transform:translateY(-2px); border-color:rgba(52, 232, 164,.38); }
.booster-kpi:after { content:""; position:absolute; width:70px; height:70px; right:-34px; bottom:-36px; border-radius:50%; background:rgba(52, 232, 164,.08); }
.booster-kpi.accent { border-color:rgba(52, 232, 164,.32); background:linear-gradient(145deg,rgba(52, 232, 164,.18),#0e1120); }
.booster-kpi.warning { border-color:rgba(232, 182, 90,.2); }
.booster-kpi.success { border-color:rgba(70, 201, 139,.2); }
.booster-kpi>span { color:#9297aa; font-size:.56rem; font-weight:720; text-transform:uppercase; letter-spacing:.07em; }
.booster-kpi>strong { display:block; margin:8px 0 3px; font-size:1.35rem; letter-spacing:-.045em; white-space:nowrap; }
.booster-kpi>small { color:#696f83; font-size:.5rem; }
.booster-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(315px,.7fr); align-items:start; gap:14px; }
.booster-panel { overflow:hidden; }
.booster-panel .panel-head { padding:16px 18px; }
.booster-panel .panel-head h2 { margin:3px 0 0; font-size:.85rem; }
.booster-panel .panel-head a { color:#35d3e6; font-size:.55rem; font-weight:750; }
.booster-panel-body { display:grid; gap:1px; padding:8px; }
.booster-order-card { display:grid; grid-template-columns:minmax(175px,.8fr) minmax(230px,1fr) 120px auto; align-items:center; gap:16px; padding:14px; border-color:transparent; border-bottom-color:var(--border); border-radius:7px; background:#0b0e1a!important; box-shadow:none; transition:.18s; }
.booster-order-card:last-child { border-bottom-color:transparent; }
.booster-order-card:hover { border-color:rgba(52, 232, 164,.28); background:#101618!important; }
.booster-order-identity { min-width:0; display:flex; align-items:center; gap:10px; }
.game-sigil { flex:0 0 34px; width:34px; height:37px; display:grid; place-items:center; clip-path:polygon(50% 0,94% 23%,83% 79%,50% 100%,17% 79%,6% 23%); background:linear-gradient(145deg,#35d3e6,#2c3334); color:white; font-size:.63rem; font-weight:850; }
.booster-order-identity small,.booster-order-identity h3,.booster-order-identity p { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.booster-order-identity small { color:#a5a5a5; font-size:.48rem; }
.booster-order-identity h3 { margin:2px 0 0; font-size:.66rem; }
.booster-order-identity p { margin:1px 0 0; color:var(--muted); font-size:.5rem; }
.booster-order-route { min-width:0; }
.booster-order-route>small { color:var(--muted); font-size:.48rem; }
.booster-order-route>strong { display:block; overflow:hidden; margin:2px 0 0; text-overflow:ellipsis; white-space:nowrap; font-size:.62rem; }
.booster-order-route>strong span { margin:0 4px; color:#7d8192; }
.booster-order-route .progress-track { height:4px; margin:7px 0 4px; }
.booster-order-route p { overflow:hidden; margin:0; color:#747a8e; font-size:.47rem; text-overflow:ellipsis; white-space:nowrap; }
.booster-order-meta { display:grid; justify-items:start; }
.booster-order-meta>strong { margin-top:6px; font-size:.62rem; }
.booster-order-meta>small { color:var(--muted); font-size:.47rem; }
.empty-state.compact { padding:34px 18px; }
.booster-chart { height:188px; display:grid; grid-template-columns:repeat(6,1fr); align-items:end; gap:8px; padding:20px 18px 16px; }
.booster-chart>div { min-width:0; display:grid; justify-items:center; gap:5px; }
.booster-chart>div>span { width:100%; height:118px; display:flex; align-items:end; padding:0 5px; border-bottom:1px solid var(--border); }
.booster-chart i { width:100%; min-height:3px; height:var(--bar); border-radius:4px 4px 1px 1px; background:linear-gradient(180deg,#35d3e6,#7c7c7c); }
.booster-chart strong { color:#9b9fb0; font-size:.49rem; }
.booster-chart small { color:#5e6375; font-size:.42rem; white-space:nowrap; }
.booster-completion-list { display:grid; padding:7px 16px 12px; }
.booster-completion-list>a { display:flex; justify-content:space-between; gap:10px; padding:10px 2px; border-bottom:1px solid var(--border); }
.booster-completion-list>a:last-child { border-bottom:0; }
.booster-completion-list strong,.booster-completion-list small { display:block; }
.booster-completion-list strong { font-size:.57rem; }
.booster-completion-list small { margin-top:2px; color:var(--muted); font-size:.46rem; }
.booster-completion-list b { color:#75d6a8; font-size:.57rem; }
.booster-filters { max-width:620px; }
.booster-order-list { gap:8px; }
.available-order-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.available-order-grid>.empty-state { grid-column:1/-1; }
.available-order-card { padding:19px; transition:.18s; }
.available-order-card:hover { transform:translateY(-2px); border-color:rgba(52, 232, 164,.36); }
.available-order-card>header,.available-order-card>footer { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.available-route { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; margin:18px 0; padding:16px; border:1px solid var(--border); border-radius:9px; background:#0a0d18; }
.available-route span:last-child { text-align:right; }
.available-route small,.available-route strong { display:block; }
.available-route small { color:var(--muted); font-size:.48rem; }
.available-route strong { margin-top:3px; font-size:.68rem; }
.available-route>b { color:#8a8a8a; }
.available-tags { display:flex; gap:6px; flex-wrap:wrap; min-height:25px; }
.available-tags span { padding:4px 7px; border:1px solid var(--border); border-radius:5px; color:#969bad; background:#0b0e19; font-size:.48rem; }
.available-tags .priority { color:#e8bd67; border-color:rgba(232, 182, 90,.25); }
.available-order-card>footer { margin-top:17px; padding-top:15px; border-top:1px solid var(--border); }
.available-order-card>footer small,.available-order-card>footer strong { display:block; }
.available-order-card>footer small { color:var(--muted); font-size:.48rem; }
.available-order-card>footer strong { margin-top:2px; font-size:.59rem; }
.available-earning { text-align:right; }
.available-earning strong { color:#7cdaa9; font-size:.76rem!important; }
.available-order-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.available-order-actions .btn { width:100%; }
.available-order-actions form { margin:0; }
.available-order-card.realtime-departure { opacity:0; transform:scale(.97); transition:opacity .2s ease,transform .2s ease; }
.realtime-arrival { animation:order-arrival .8s ease both; }
@keyframes order-arrival { from { opacity:0; transform:translateY(-10px); border-color:rgba(70, 201, 139,.55); } }
.realtime-order-toast { align-items:flex-start; border-color:rgba(70, 201, 139,.42); }
.realtime-order-toast>span:nth-child(2) { display:grid; gap:2px; }
.realtime-order-toast strong { font-size:.7rem; }
.realtime-order-toast small { color:var(--muted); font-size:.55rem; }
.realtime-order-toast>a { align-self:center; margin-left:auto; color:#8ee2b7; font-size:.58rem; font-weight:800; }
.realtime-order-toast>button { margin-left:0; }
.acceptance-lock { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; border-color:rgba(232, 182, 90,.22); }
.acceptance-lock>div { display:flex; align-items:center; gap:14px; }
.acceptance-lock h2 { margin:0 0 5px; font-size:.88rem; }
.acceptance-lock p { max-width:600px; margin:0; color:var(--muted); font-size:.62rem; }
.active-order-hero { overflow:hidden; }
.rank-route-live { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; margin:20px 0 14px; }
.rank-route-live>div { display:grid; gap:5px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:rgba(255, 255, 255,.025); }
.rank-route-live>div:last-child { border-color:rgba(52, 232, 164,.3); background:linear-gradient(135deg,rgba(52, 232, 164,.1),rgba(52, 232, 164,.04)); }
.rank-route-live small { color:var(--muted); font-size:.56rem; text-transform:uppercase; letter-spacing:.09em; }
.rank-route-live strong { font-size:.88rem; }
.rank-route-live>span { color:var(--cyan); font-size:1.3rem; }
.progress-publisher { border-color:rgba(52, 232, 164,.2); }
.progress-publish-footer { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:4px; }
.progress-publish-footer>span { display:grid; gap:3px; }
.progress-publish-footer strong { font-size:.68rem; }
.progress-publish-footer small { color:var(--muted); font-size:.57rem; }
.customer-note { margin-top:16px; padding:14px; border:1px solid rgba(52, 232, 164,.2); border-radius:10px; background:rgba(52, 232, 164,.06); }
.customer-note strong { font-size:.63rem; color:var(--purple-light); }
.customer-note p { margin:6px 0 0; color:var(--text-soft); font-size:.62rem; line-height:1.55; }
.compact-empty { display:grid; gap:5px; color:var(--muted); font-size:.6rem; }
.compact-empty strong { color:var(--text); font-size:.68rem; }
.realtime-progress-toast { align-items:flex-start; border-color:rgba(52, 232, 164,.36); }
.realtime-progress-toast>span:nth-child(2) { display:grid; gap:2px; }
.realtime-progress-toast strong { font-size:.7rem; }
.realtime-progress-toast small { color:var(--muted); font-size:.55rem; }
.lock-mark { flex:0 0 38px; width:38px; height:38px; position:relative; border:1px solid rgba(232, 182, 90,.3); border-radius:9px; background:rgba(232, 182, 90,.07); }
.lock-mark:before { content:""; position:absolute; left:11px; top:8px; width:14px; height:12px; border:2px solid #d6a957; border-bottom:0; border-radius:9px 9px 0 0; }
.lock-mark:after { content:""; position:absolute; left:8px; right:8px; bottom:8px; height:15px; border-radius:4px; background:#d6a957; }
.earning-focus { padding:23px; border-color:rgba(70, 201, 139,.2); }
.earning-focus small,.earning-focus strong { display:block; }
.earning-focus small { color:var(--muted); font-size:.55rem; text-transform:uppercase; letter-spacing:.08em; }
.earning-focus strong { margin:7px 0 5px; color:#78d9a8; font-size:1.55rem; letter-spacing:-.045em; }
.earning-focus p { margin:0; color:#707689; font-size:.53rem; }
.live-indicator { display:flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid rgba(70, 201, 139,.22); border-radius:7px; color:#78dbaa; background:rgba(70, 201, 139,.06); font-size:.55rem; }
.live-indicator i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.live-indicator b { font-size:inherit; }
.rating-lockup { display:grid; justify-items:end; }
.rating-lockup strong { font-size:1.9rem; letter-spacing:-.05em; }
.rating-lockup small { color:var(--muted); font-size:.5rem; text-transform:uppercase; letter-spacing:.08em; }
.performance-kpis { grid-template-columns:repeat(4,1fr); }
.performance-list { display:grid; padding:6px 18px 14px; }
.performance-row { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(250px,1fr); align-items:center; gap:28px; padding:15px 2px; border-bottom:1px solid var(--border); }
.performance-row:last-child { border-bottom:0; }
.performance-row>div:first-child { display:flex; align-items:center; gap:11px; }
.performance-row strong,.performance-row small { display:block; }
.performance-row strong { font-size:.65rem; }
.performance-row small { margin-top:3px; color:var(--muted); font-size:.5rem; }
.performance-track { display:block; height:6px; overflow:hidden; border-radius:6px; background:#232638; }
.performance-track i { display:block; width:var(--performance); height:100%; border-radius:inherit; background:#35d3e6; }
.availability-shell { max-width:760px; }
.availability-card { display:grid; grid-template-columns:120px 1fr; align-items:center; gap:28px; padding:28px; }
.availability-card.available { border-color:rgba(70, 201, 139,.25); }
.availability-orbit { position:relative; width:100px; height:100px; display:grid; place-items:center; border:1px solid rgba(52, 232, 164,.25); border-radius:50%; background:radial-gradient(circle,rgba(52, 232, 164,.18),transparent 65%); }
.availability-orbit:before,.availability-orbit:after { content:""; position:absolute; border:1px solid rgba(52, 232, 164,.17); border-radius:50%; }
.availability-orbit:before { inset:13px; }
.availability-orbit:after { inset:28px; }
.availability-orbit i { width:13px; height:13px; z-index:1; border-radius:50%; background:var(--warning); box-shadow:0 0 0 7px rgba(232, 182, 90,.09); }
.availability-card.available .availability-orbit i { background:var(--success); box-shadow:0 0 0 7px rgba(70, 201, 139,.09); }
.availability-card h2 { margin:5px 0 8px; font-size:1.35rem; }
.availability-card p { margin:0; color:var(--muted); font-size:.67rem; }
.availability-card>div>small { display:block; margin-top:12px; color:#686e81; font-size:.5rem; }
.availability-actions { display:flex; gap:10px; margin:16px 0; }
.availability-guidance { padding:22px; }
.availability-guidance h3 { margin:0 0 14px; font-size:.8rem; }
.status-available { color:#72dca7; background:rgba(70, 201, 139,.08); border-color:rgba(70, 201, 139,.22); }
.earnings-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.booster-kpi.warning:before { background:linear-gradient(90deg,#d79c4a,#f0c96e); }
.earning-balance-panel { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:16px; padding:24px; overflow:hidden; border-color:rgba(91, 208, 175,.2); background:radial-gradient(circle at 85% 50%,rgba(68, 201, 155,.1),transparent 20rem),linear-gradient(135deg,rgba(23, 27, 27,.95),rgba(14, 17, 17,.96)); }
.earning-balance-panel h2 { margin:6px 0 5px; color:#79e2b0; font-size:1.65rem; letter-spacing:-.04em; }
.earning-balance-panel p { max-width:580px; margin:0; color:var(--muted); font-size:.61rem; line-height:1.55; }
.earning-balance-split { display:grid; grid-template-columns:1fr 1fr; min-width:300px; border:1px solid var(--border); border-radius:10px; background:rgba(10, 12, 12,.55); }
.earning-balance-split>span { padding:15px 18px; }
.earning-balance-split>span+span { border-left:1px solid var(--border); }
.earning-balance-split small,.earning-balance-split strong,.ledger-reference { display:block; }
.earning-balance-split small { margin-bottom:5px; color:var(--muted); font-size:.52rem; text-transform:uppercase; letter-spacing:.07em; }
.earning-balance-split strong { font-size:.72rem; }
.earning-ledger .panel-head { padding:18px 20px; border-bottom:1px solid var(--border); }
.earning-ledger .panel-head h2 { margin:4px 0 0; font-size:.9rem; }
.earning-ledger .panel-head>small { color:var(--muted); font-size:.55rem; }
.ledger-reference { margin-top:4px; color:var(--muted); font-size:.49rem; }
.pagination { display:flex; justify-content:center; gap:6px; margin-top:20px; }
.pagination a { min-width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--border); border-radius:7px; color:var(--muted); font-size:.58rem; }
.pagination a:hover,.pagination a.active { color:white; border-color:#35d3e6; background:rgba(52, 232, 164,.17); }

.customer-theme { background:radial-gradient(circle at 70% 0,rgba(52, 232, 164,.1),transparent 30rem),var(--bg); }
.customer-subnav { border-bottom-color:rgba(52, 232, 164,.2); }
.customer-workspace .page-heading { margin-bottom:24px; }
.dashboard-command-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr); align-items:start; gap:18px; margin-top:28px; }
.customer-quick-panel { position:sticky; top:120px; }
.customer-shortcuts { display:grid; gap:4px; }
.customer-shortcuts>a { display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:center; padding:11px; border:1px solid transparent; border-radius:8px; transition:.18s; }
.customer-shortcuts>a:hover { border-color:var(--border); background:rgba(52, 232, 164,.08); transform:translateX(2px); }
.customer-shortcuts>a>span { width:32px; height:32px; display:grid; place-items:center; border:1px solid rgba(52, 232, 164,.35); border-radius:8px; color:#35d3e6; background:rgba(52, 232, 164,.1); }
.customer-shortcuts strong,.customer-shortcuts small { display:block; }
.customer-shortcuts strong { font-size:.67rem; }
.customer-shortcuts small { margin-top:2px; color:var(--muted); font-size:.53rem; }
.mini-order-list { display:grid; gap:3px; }
.mini-order-list>a { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); }
.mini-order-list>a:last-child { border-bottom:0; }
.mini-order-list strong,.mini-order-list small { display:block; }
.mini-order-list strong { font-size:.62rem; }
.mini-order-list small { margin-top:3px; color:var(--muted); font-size:.52rem; }
.workspace-tabs { display:flex; gap:5px; margin-bottom:14px; padding:5px; width:max-content; max-width:100%; overflow-x:auto; border:1px solid var(--border); border-radius:9px; background:rgba(14, 16, 17,.8); }
.workspace-tabs a { white-space:nowrap; padding:9px 15px; border-radius:6px; color:var(--muted); font-size:.62rem; font-weight:750; }
.workspace-tabs a:hover,.workspace-tabs a.active { color:white; background:rgba(52, 232, 164,.22); }
.message-thread-list { display:grid; gap:9px; }
.message-thread-card { display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px 18px; transition:.18s; }
.message-thread-card:hover { border-color:rgba(52, 232, 164,.42); transform:translateY(-1px); }
.message-thread-body { min-width:0; }
.message-thread-body>div { display:flex; align-items:center; gap:10px; }
.message-thread-body>div span { color:var(--muted); font-size:.55rem; }
.message-thread-body strong { font-size:.72rem; }
.message-thread-body p { margin:6px 0 4px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#c3c5d5; font-size:.62rem; }
.message-thread-body small { color:var(--muted); font-size:.51rem; }
.invoice-shell { max-width:980px; }
.invoice-document { padding:30px; }
.invoice-document>header,.invoice-document>footer { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.invoice-document>header>div { display:grid; justify-items:end; gap:7px; }
.invoice-document>header small { color:var(--muted); font-size:.55rem; }
.invoice-parties { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:28px 0; padding:20px; border:1px solid var(--border); border-radius:9px; background:rgba(10, 12, 12,.48); }
.invoice-parties span,.invoice-parties strong,.invoice-parties small { display:block; }
.invoice-parties span { margin-bottom:8px; color:#35d3e6; font-size:.52rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.invoice-parties strong { font-size:.74rem; }
.invoice-parties small { margin-top:4px; color:var(--muted); font-size:.58rem; }
.invoice-document>footer { margin-top:22px; padding:18px 0; border-top:1px solid var(--border); }
.invoice-document>footer p { margin:0; color:var(--muted); font-size:.6rem; }
.invoice-document>footer strong { font-size:1rem; }
.security-layout { grid-template-columns:minmax(0,1fr) 310px; }
.security-checks { display:grid; gap:14px; }
.security-checks>div { display:grid; grid-template-columns:28px 1fr; gap:10px; }
.security-checks>div>span { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; color:#6ee7ae; background:rgba(55, 191, 129,.1); font-size:.6rem; }
.security-checks p { margin:0; }
.security-checks strong,.security-checks small { display:block; }
.security-checks strong { font-size:.65rem; }
.security-checks small { margin-top:3px; color:var(--muted); font-size:.54rem; line-height:1.5; }

.analytics-consent { position:fixed; right:22px; bottom:22px; z-index:1000; width:min(680px,calc(100% - 44px)); display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:16px; padding:17px; border:1px solid rgba(52, 232, 164,.38); border-radius:14px; background:linear-gradient(135deg,rgba(22, 25, 26,.98),rgba(13, 15, 15,.98)); box-shadow:0 24px 70px rgba(0, 0, 0,.48),0 0 40px rgba(52, 232, 164,.12); backdrop-filter:blur(18px); }
.analytics-consent[hidden] { display:none; }
.analytics-consent-mark { width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(52, 232, 164,.34); border-radius:12px; background:radial-gradient(circle at 35% 30%,rgba(52, 232, 164,.34),rgba(255, 255, 255,.22)); }
.analytics-consent-mark span { width:18px; height:22px; display:block; border:2px solid #35d3e6; border-radius:10px 10px 12px 12px; box-shadow:0 0 16px rgba(52, 232, 164,.35); }
.analytics-consent-copy strong { display:block; font-size:.72rem; }
.analytics-consent-copy p { margin:5px 0 4px; color:#a7a9ba; font-size:.57rem; line-height:1.5; }
.analytics-consent-copy a { color:#35d3e6; font-size:.54rem; font-weight:700; }
.analytics-consent-actions { display:flex; gap:8px; }
.analytics-consent-actions .btn { white-space:nowrap; }
.privacy-grid { display:grid; gap:12px; }
.privacy-hero { padding-bottom:34px; }
.analytics-preference-card { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; border-color:rgba(52, 232, 164,.28); }
.analytics-preference-card strong,.analytics-preference-card small { display:block; }
.analytics-preference-card strong { margin-top:7px; font-size:.88rem; }
.analytics-preference-card small { margin-top:5px; color:var(--muted); font-size:.56rem; }
.analytics-preference-actions { display:flex; gap:9px; }
[data-analytics-choice][aria-pressed="true"] { border-color:#35d3e6; box-shadow:0 0 0 2px rgba(52, 232, 164,.14); }

@media (max-width: 980px) {
    .admin-order-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-booster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-booster-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .admin-booster-detail-grid { grid-template-columns:1fr; }
    .admin-overview-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .admin-overview-grid { grid-template-columns:1fr; }
    .admin-overview-hero { align-items:flex-start; flex-direction:column; }
    .admin-health-signal { width:100%; min-width:0; }
    .admin-finance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .admin-live-grid { grid-template-columns:1fr; }
    .settings-grid { grid-template-columns:1fr; }
    .earnings-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .earning-balance-panel { align-items:flex-start; flex-direction:column; }
    .earning-balance-split { width:100%; min-width:0; }
    .booster-workspace-shell { width:100%; max-width:100%; grid-template-columns:minmax(0,1fr); overflow:hidden; }
    .booster-workspace-main { width:100%; max-width:100%; min-width:0; }
    .booster-sidebar { position:sticky; top:0; width:100%; max-width:100%; min-width:0; height:auto; overflow:hidden; padding:8px 14px; border-right:0; border-bottom:1px solid var(--border); }
    .booster-sidebar-head,.booster-sidebar-foot,.booster-nav-label { display:none; }
    .booster-sidebar-nav { width:100%; max-width:100%; min-width:0; display:flex; gap:4px; padding:0; overflow-x:auto; scrollbar-width:none; }
    .booster-sidebar-nav::-webkit-scrollbar { display:none; }
    .booster-sidebar-nav>a { flex:0 0 auto; min-height:38px; padding:8px 10px; }
    .booster-sidebar-nav>a:hover { transform:none; }
    .booster-dashboard-grid { grid-template-columns:1fr; }
    .booster-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .booster-order-card { grid-template-columns:minmax(170px,.8fr) minmax(210px,1fr) 110px auto; }
    .option-admin-row { grid-template-columns:1fr 1fr; }
    .pricing-rule-list { overflow-x:auto; }
    .pricing-rule-editor { min-width:1050px; }
    .dashboard-command-grid { grid-template-columns:1fr; }
    .customer-quick-panel { position:static; }
    .security-layout { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
    .admin-order-filters { grid-template-columns:1fr; }
    .admin-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
    .admin-filter-bar,.admin-booster-profile-head { align-items:stretch; flex-direction:column; }
    .admin-filter-bar .btn { width:100%; }
    .admin-booster-grid,.admin-booster-metrics { grid-template-columns:1fr 1fr; }
    .admin-form-section { grid-template-columns:1fr; gap:10px; }
    .admin-booster-identity { align-items:flex-start; }
    .admin-booster-profile-head>.actions { display:grid; grid-template-columns:1fr; }
    .admin-overview-kpis { grid-template-columns:1fr; }
    .admin-health-signal { grid-template-columns:9px 1fr; }
    .admin-health-signal a { grid-column:2; }
    .admin-revenue-chart { gap:4px; padding-inline:10px; }
    .admin-revenue-chart span { padding-inline:3px; }
    .admin-status-list>a { grid-template-columns:90px 1fr 34px; }
    .admin-finance-grid { grid-template-columns:1fr; }
    .admin-live-meta { grid-template-columns:1fr 1fr; }
    .notification-ops-list>article { grid-template-columns:8px minmax(0,1fr); }
    .notification-ops-list>article>.btn { grid-column:2; width:max-content; }
    .earnings-kpi-grid { grid-template-columns:1fr; }
    .earning-balance-panel { padding:18px; }
    .earning-balance-split { grid-template-columns:1fr; }
    .earning-balance-split>span+span { border-left:0; border-top:1px solid var(--border); }
    .earning-ledger { overflow-x:auto; }
    .earning-ledger table { min-width:720px; }
    .analytics-consent { right:12px; bottom:12px; width:calc(100% - 24px); grid-template-columns:38px minmax(0,1fr); gap:11px; padding:14px; }
    .analytics-consent-mark { width:38px; height:38px; }
    .analytics-consent-actions { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; }
    .analytics-consent-actions .btn { width:100%; }
    .analytics-preference-card { align-items:stretch; flex-direction:column; padding:18px; }
    .analytics-preference-actions { display:grid; grid-template-columns:1fr 1fr; }
    .analytics-preference-actions .btn { width:100%; }
    .booster-workspace-main .container { width:calc(100% - 24px); }
    .booster-sidebar { padding-inline:10px; }
    .booster-sidebar-nav>a { min-height:36px; padding:7px 9px; font-size:.57rem; }
    .booster-sidebar-nav>a svg { width:15px; height:15px; }
    .booster-page { padding-top:24px; }
    .booster-dashboard-hero { align-items:flex-start; flex-direction:column; }
    .booster-presence { width:100%; min-width:0; }
    .booster-kpi-grid,.performance-kpis,.available-order-grid { grid-template-columns:1fr; }
    .booster-kpi { min-height:104px; }
    .booster-order-card { grid-template-columns:1fr; gap:11px; padding:15px; }
    .booster-order-meta { grid-template-columns:auto 1fr; align-items:center; gap:4px 10px; }
    .booster-order-meta>strong { margin:0; }
    .booster-order-meta>small { grid-column:2; }
    .booster-order-card>.btn { width:100%; }
    .booster-chart { padding-inline:11px; gap:4px; }
    .booster-chart>div>span { padding-inline:2px; }
    .booster-chart small { display:none; }
    .available-route { gap:9px; padding:13px 10px; }
    .available-order-actions { grid-template-columns:1fr; }
    .acceptance-lock { align-items:flex-start; flex-direction:column; }
    .acceptance-lock .btn { width:100%; }
    .rank-route-live { grid-template-columns:1fr; gap:8px; }
    .rank-route-live>span { transform:rotate(90deg); justify-self:center; }
    .progress-publish-footer { align-items:stretch; flex-direction:column; }
    .progress-publish-footer .btn { width:100%; }
    .performance-row { grid-template-columns:1fr; gap:12px; }
    .availability-card { grid-template-columns:1fr; padding:22px; }
    .availability-orbit { width:82px; height:82px; }
    .availability-actions { flex-direction:column; }
    .availability-actions .btn { width:100%; }
    .option-admin-row { grid-template-columns:1fr; }
    .message-thread-card { grid-template-columns:38px minmax(0,1fr); padding:13px; }
    .message-thread-card>.status-badge { grid-column:2; justify-self:start; }
    .message-thread-body>div { align-items:flex-start; flex-direction:column; gap:3px; }
    .invoice-document { padding:18px 14px; }
    .invoice-parties { grid-template-columns:1fr; }
}

@media print {
    .app-header,.subnav,.site-footer,.no-print,.toast { display:none!important; }
    body,.workspace-body { background:white!important; color:#111!important; }
    .page-shell { padding:0!important; }
    .invoice-document { border:0!important; box-shadow:none!important; background:white!important; }
    .invoice-document * { color:#111!important; }
}

.status-page { position:relative; isolation:isolate; width:min(1180px,calc(100% - 40px)); min-height:620px; margin:42px auto 80px; padding:clamp(34px,7vw,88px); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr); align-items:center; gap:42px; overflow:hidden; border:1px solid rgba(52, 232, 164,.24); border-radius:28px; background:linear-gradient(145deg,rgba(21, 24, 25,.97),rgba(12, 14, 14,.98)); box-shadow:0 36px 100px rgba(0, 0, 0,.48),inset 0 1px rgba(255, 255, 255,.04); }
.status-page::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.22; background-image:linear-gradient(rgba(255, 255, 255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255, 255, 255,.035) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to right,#000,transparent 88%); }
.status-page-glow { position:absolute; z-index:-1; width:430px; height:430px; border-radius:50%; filter:blur(110px); opacity:.2; }
.status-page-glow-one { left:-190px; top:-190px; background:#34e8a4; }
.status-page-glow-two { right:-190px; bottom:-230px; background:#34e8a4; }
.status-page-content { position:relative; z-index:2; max-width:650px; }
.status-code { margin:8px 0 -10px; font-size:clamp(6.4rem,14vw,11rem); line-height:.9; font-weight:950; letter-spacing:-.08em; color:transparent; background:linear-gradient(135deg,#fff 8%,#35d3e6 48%,#2dd4bf); -webkit-background-clip:text; background-clip:text; filter:drop-shadow(0 12px 30px rgba(52, 232, 164,.23)); }
.status-page h1 { max-width:640px; margin:24px 0 14px; font-size:clamp(2rem,4vw,3.5rem); line-height:1.04; letter-spacing:-.045em; }
.status-page-content>p { max-width:610px; margin:0; color:var(--muted); font-size:1.02rem; line-height:1.75; }
.status-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:30px; }
.status-signal { display:flex; align-items:center; gap:9px; margin-top:34px; color:#9b9b9b; font-size:.77rem; font-weight:700; letter-spacing:.04em; }
.status-signal i { width:8px; height:8px; border-radius:50%; background:#34d399; box-shadow:0 0 18px #34d399; }
.status-request { display:block; margin-top:28px; color:#878787; }
.status-visual { position:relative; min-height:390px; display:grid; place-items:center; }
.status-orbit { position:absolute; border:1px solid rgba(52, 232, 164,.32); border-radius:50%; animation:status-spin 28s linear infinite; }
.status-orbit::before,.status-orbit::after { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:#34e8a4; box-shadow:0 0 20px #34e8a4; }
.status-orbit::before { left:14%; top:12%; }.status-orbit::after { right:7%; bottom:22%; background:#34e8a4; box-shadow:0 0 20px #34e8a4; }
.status-orbit-large { width:330px; height:330px; }.status-orbit-small { width:235px; height:235px; animation-direction:reverse; animation-duration:19s; }
.status-emblem { position:relative; width:150px; height:150px; display:grid; place-items:center; border:1px solid rgba(255, 255, 255,.14); border-radius:38px; transform:rotate(45deg); background:linear-gradient(145deg,rgba(52, 232, 164,.35),rgba(52, 232, 164,.17)); box-shadow:0 26px 65px rgba(47, 54, 55,.6),inset 0 1px rgba(255, 255, 255,.17); }
.status-emblem::after { content:""; position:absolute; inset:11px; border:1px solid rgba(255, 255, 255,.1); border-radius:29px; }
.status-emblem span { transform:rotate(-45deg); font-size:2.5rem; font-weight:950; letter-spacing:-.09em; background:linear-gradient(135deg,#fff,#35d3e6,#67e8f9); color:transparent; -webkit-background-clip:text; background-clip:text; }
.status-coordinate { position:absolute; bottom:0; color:#828282; font:700 .65rem/1 monospace; letter-spacing:.19em; }
@keyframes status-spin { to { transform:rotate(360deg); } }
@media (max-width:760px) { .status-page { width:calc(100% - 24px); min-height:0; margin:18px auto 45px; padding:36px 22px 42px; grid-template-columns:1fr; gap:10px; border-radius:20px; }.status-visual { min-height:230px; order:-1 }.status-orbit-large { width:210px;height:210px }.status-orbit-small { width:150px;height:150px }.status-emblem { width:98px;height:98px;border-radius:26px }.status-emblem::after{border-radius:18px}.status-emblem span{font-size:1.7rem}.status-code{font-size:7rem}.status-actions{display:grid;grid-template-columns:1fr}.status-actions .btn,.status-actions .text-button{width:100%;justify-content:center}.status-coordinate{display:none} }

/* Admin — Website (site management) module surfaces */
.banner-preview { max-width:520px; margin-bottom:14px; border:1px solid var(--border); border-radius:10px; overflow:hidden; background:#0b1012; }
.banner-preview img { display:block; width:100%; height:auto; }
.nav-admin-row { display:grid; grid-template-columns:minmax(140px,1.1fr) minmax(160px,1.4fr) 90px auto auto; gap:12px; align-items:end; }
.nav-admin-row .field { min-width:0; margin:0; }
.nav-admin-row .option-toggle { min-height:45px; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; padding:22px; }
.media-tile { margin:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; background:#0b1012; }
.media-tile img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.media-tile figcaption { padding:10px 12px; display:grid; gap:3px; }
.media-tile strong { font-size:.74rem; word-break:break-all; }
.media-tile small { color:var(--muted); font-size:.62rem; }
.media-tile code { font-size:.58rem; color:#35d3e6; word-break:break-all; }
@media(max-width:900px){ .nav-admin-row { grid-template-columns:1fr 1fr; } }
@media(max-width:640px){ .nav-admin-row { grid-template-columns:1fr; } }

/* ==========================================================================
   Master design system — contrast corrections after the emerald/cyan move.
   The accent is a bright mint, so primary/accent surfaces need dark ink
   (~11:1) instead of the white text that suited the old purple accent (~1.9:1).
   ========================================================================== */
.btn-primary, .btn-primary:hover, .btn-primary:focus-visible { color: #04120c; }
.btn-primary svg { color: #04120c; }
.badge-accent, .status-badge.status-accent { color: #04120c; }
/* Focus ring should follow the accent, not the retired purple. */
.btn:focus-visible, .text-button:focus-visible, a:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible {
    outline: 3px solid rgba(52, 232, 164, .45);
    outline-offset: 2px;
}
/* Inputs: keep fields readable on the new graphite surfaces. */
.field input, .field select, .field textarea { background: #0b1012; border-color: rgba(255,255,255,.14); color: var(--text); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--accent); }
.field input::placeholder, .field textarea::placeholder { color: #6b7877; }

/* Booster application review cards. Everything else on this page reuses the existing
   admin card, badge and filter styles. */
.application-review .panel-head h2 { display:flex; align-items:center; gap:10px; }
.application-review .form-grid { display:grid; grid-template-columns:minmax(0,180px) minmax(0,1fr); gap:14px; align-items:end; }
.application-experience { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.application-experience strong { display:block; margin-bottom:6px; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.application-experience p { margin:0; font-size:.82rem; white-space:pre-wrap; }
@media (max-width:700px) { .application-review .form-grid { grid-template-columns:1fr; } }

/* Shared game brand mark (_GameLogo.cshtml). Height is em-based so each surface controls
   scale with its own font-size, and the two wordmarks keep their relative optical weight. */
.game-logo { display:block; width:auto; height:auto; max-width:100%; }
.game-logo-league-of-legends, .game-logo-lol { max-height:1.95em; }
.game-logo-valorant { max-height:1.05em; }
/* Counter-Strike 2 ships a one-line wordmark at roughly 4.8:1, between the other two optically. */
.game-logo-counter-strike-2, .game-logo-generic { max-height:1.35em; }
/* Teamfight Tactics is a two-line lock-up at roughly 3.1:1 — slightly wider than League's. */
.game-logo-teamfight-tactics { max-height:1.72em; }

/* Games page: the shield with a letter in it is replaced by the real wordmark, so the brand
   column is sized around the logo instead of a fixed hexagon. */
.game-page-brand { display:flex; align-items:center; justify-content:center; font-size:1.9rem; padding:18px; border-radius:12px; background:rgba(255,255,255,.03); border:1px solid var(--border); }
.game-page-brand .game-logo-league-of-legends, .game-page-brand .game-logo-lol { max-height:3.2em; }
.game-page-brand .game-logo-valorant { max-height:1.5em; }
.game-page-brand .game-logo-counter-strike-2, .game-page-brand .game-logo-generic { max-height:2em; }
.game-page-brand .game-logo-teamfight-tactics { max-height:2.8em; }

/* Services page: one block per game, headed by its wordmark. */
.service-game-group { margin-bottom:44px; }
.service-game-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--border); font-size:1.35rem; }

/* Services mega menu: the group heading is now the wordmark rather than an icon plus text. */
.nav-service-group-head { font-size:1rem; }

/* ---------------------------------------------------------------------------
   Game-scoped booster permissions and account moderation.

   Two ideas share this block: a "scope chip" that states which games an account
   is licensed for (read-only, shown on booster cards, profiles and the pool
   header), and the moderation panels on the admin account profile. Both reuse
   the existing card/field/badge system rather than introducing new shells.
   --------------------------------------------------------------------------- */
.booster-scope-chips { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.scope-chip { padding:5px 10px; border:1px solid rgba(52, 232, 164,.3); border-radius:999px; background:rgba(52, 232, 164,.08); color:#8ef0c6; font-size:.48rem; font-weight:750; letter-spacing:.02em; }
.scope-chip-empty { border-color:rgba(232, 182, 90,.34); background:rgba(232, 182, 90,.09); color:#e8b65a; }
.scope-banner { margin-bottom:14px; padding:11px 14px; border:1px solid var(--border); border-radius:11px; background:var(--surface-2); }
.scope-label { color:#656d80; font-size:.44rem; text-transform:uppercase; letter-spacing:.07em; }
.scope-warning { margin:10px 0 0; color:#e8b65a; font-size:.62rem; }

/* Checkbox list of games. Deliberately not a multi-select: an admin has to see
   every game and its state at a glance before saving a permission change. */
.game-scope-picker { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; margin:0 0 14px; padding:0; border:0; }
.game-scope-picker.wide { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.game-scope-picker legend { padding:0 0 8px; color:#656d80; font-size:.44rem; text-transform:uppercase; letter-spacing:.07em; }
.game-scope-picker label { display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); font-size:.62rem; cursor:pointer; transition:border-color .16s,background .16s; }
.game-scope-picker label:hover { border-color:rgba(52, 232, 164,.35); }
.game-scope-picker label:has(input:checked) { border-color:rgba(52, 232, 164,.45); background:rgba(52, 232, 164,.07); }
.game-scope-picker input { accent-color:var(--accent); width:15px; height:15px; }

.account-restriction-notice { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; margin-bottom:13px; border-color:rgba(239, 107, 115,.32); background:rgba(239, 107, 115,.05); }
.account-restriction-notice h2 { margin:5px 0 6px; font-size:.92rem; }
.account-restriction-notice p { margin:0 0 6px; color:#cbd2dc; font-size:.66rem; }
.account-restriction-notice small { color:var(--muted); font-size:.5rem; }

.moderation-form { display:grid; gap:10px; padding:14px 0; border-top:1px solid var(--border); }
.moderation-form:first-of-type { padding-top:4px; border-top:0; }
.moderation-form .field { margin:0; }
.danger-inline { margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.audit-payload { display:block; max-width:320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#8d95aa; font-size:.5rem; }

.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

@media (max-width:900px) {
    .account-restriction-notice { flex-direction:column; align-items:stretch; }
    .game-scope-picker { grid-template-columns:1fr; }
}
.scope-intro { margin:0 0 12px; }

/* The account profile often has empty order tables. Without this the two columns stretch to the
   taller one and the empty states float in a tall, hollow card. */
.account-profile-grid { align-items:start; }
.account-profile-grid .stack > .card:has(.empty-state) .data-table { margin-bottom:0; }

/* Audit viewer: the actor and entity columns now carry two lines each, and the JSON payload columns
   must stay narrow so the readable columns keep the space. */
.audit-table td small { display:block; margin-top:3px; color:#656d80; font-size:.44rem; }
.audit-entity-type { display:block; color:#656d80; font-size:.44rem; text-transform:uppercase; letter-spacing:.06em; }
.audit-entity-missing { color:#8d95aa; font-style:italic; }
.audit-payload-cell { display:block; max-width:260px; max-height:3.2em; overflow:hidden; color:#8d95aa; font-size:.48rem; line-height:1.6; word-break:break-word; }
.audit-table td a strong { white-space:nowrap; }
.audit-table td:nth-child(4) { min-width:190px; }

/* Admin catalog: services grouped by game (Areas/Admin/Views/Admin/Services.cshtml). With three
   games and thirteen services a flat list stops being scannable, so each game gets a labelled
   band and every service states its own state next to the toggle. */
.admin-catalog-group { display:flex; flex-direction:column; gap:14px; margin-bottom:30px; }
.admin-catalog-group-head { display:flex; align-items:center; gap:10px; margin:0; padding-bottom:10px; border-bottom:1px solid var(--border); font-size:1.05rem; letter-spacing:.02em; }
.panel-head-actions { display:flex; align-items:center; gap:10px; }
.badge-warn { border-color:color-mix(in srgb, #e5a54b 45%, transparent); color:#e5a54b; }

/* Checkout map picker (CS2 ranks per map). Reuses the option-toggle visual language so it reads as
   part of the same form rather than a bolted-on control. */
.map-choice-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:10px; margin:14px 0 6px; }
.map-choice { display:flex; align-items:center; gap:9px; padding:11px 13px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.02); cursor:pointer; transition:border-color .18s ease, background .18s ease; }
.map-choice:hover { border-color:var(--border-strong); background:rgba(255,255,255,.04); }
.map-choice:has(input:checked) { border-color:color-mix(in srgb, var(--accent) 55%, transparent); background:color-mix(in srgb, var(--accent) 10%, transparent); }
.map-choice input { accent-color:var(--accent); width:16px; height:16px; margin:0; }
.map-choice span { font-size:.86rem; font-weight:600; }
@media (max-width:520px) { .map-choice-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* Per-map orders (CS2 Competitive) surfaced on booster cards. */
.map-tag { border-color:color-mix(in srgb, var(--accent) 40%, transparent) !important; }
.booster-order-maps { margin-top:6px; font-size:.78rem; color:var(--muted); }
.booster-order-maps small { margin-right:6px; text-transform:uppercase; letter-spacing:.1em; font-size:.62rem; opacity:.75; }

/* A form field kept in the DOM (so it still posts) but with nothing meaningful to choose. */
.is-hidden-field { display:none; }

/* Account actions inside the mobile navigation drawer (_Layout.cshtml). The header row hides its
   text buttons below 900px and its buttons below 640px, which left a signed-in visitor on a phone
   with no Sign out control anywhere. These repeat those actions where there is room for them. */
.nav-account-mobile { display:none; }
@media (max-width:900px) {
    .nav-account-mobile { display:flex; flex-direction:column; gap:2px; margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
    .nav-account-mobile a,
    .nav-account-mobile button { display:flex; align-items:center; gap:8px; width:100%; padding:12px 4px; border:0; background:none; font-size:.95rem; font-weight:600; color:#b9c1cf; text-align:left; cursor:pointer; font-family:inherit; }
    .nav-account-mobile a:hover,
    .nav-account-mobile button:hover { color:#fff; }
    .nav-account-mobile form { margin:0; }
    .nav-account-mobile button { color:var(--danger); }
    .nav-account-badge { min-width:18px; height:18px; padding:0 5px; display:grid; place-items:center; background:var(--danger); border-radius:10px; font-size:.68rem; font-weight:800; color:#fff; }
}

/* ---- Admin: game card presentation (/admin/games) ----
   One row per game holding its artwork layers, accent, order and state, so the public game grid is
   configured entirely from here rather than from a deploy. */
.admin-game-row { display:flex; flex-direction:column; gap:14px; padding:18px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.02); }
.admin-game-row-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admin-game-row-head strong { font-size:1rem; }
.admin-game-row-head p { margin:2px 0 0; font-size:.76rem; }
.admin-game-swatch { width:34px; height:34px; border-radius:9px; border:1px solid rgba(255,255,255,.22); flex-shrink:0; }
.admin-game-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; align-items:end; }
.admin-game-fields .checkbox-field { flex-direction:row; align-items:center; gap:8px; }
.admin-game-fields .checkbox-field input { width:auto; }
.admin-game-media { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.admin-game-slot { display:flex; flex-direction:column; gap:7px; padding:10px; border:1px dashed var(--border); border-radius:11px; }
.admin-game-slot-label { font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.admin-game-slot img { width:100%; height:56px; object-fit:contain; background:rgba(0,0,0,.35); border-radius:7px; }
.admin-game-slot-empty { display:grid; place-items:center; height:56px; border-radius:7px; background:rgba(255,255,255,.03); font-size:.68rem; color:var(--muted); }
.admin-game-slot input[type=file] { font-size:.7rem; }
.admin-game-actions { display:flex; justify-content:flex-end; }
.admin-game-clear { display:flex; flex-wrap:wrap; gap:8px; margin:-4px 0 10px; }
