/* ============================================================
   REF-TOWN DARK MODE
   Applied when <html data-theme="dark">
   All semantic colours (red/orange/green/blue) are unchanged.
   ============================================================ */

/* ── TOGGLE WIDGET ── */
.dark-toggle { display: flex; align-items: center; gap: 0.5rem; margin-left: 1rem; flex-shrink: 0; }
.dark-toggle-lbl { font-size: 0.62rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #999; user-select: none; }
.dark-pill { width: 38px; height: 20px; border-radius: 10px; background: #d0d0d0; border: none; cursor: pointer; position: relative; padding: 0; transition: background .2s; flex-shrink: 0; outline: none; }
.dark-pill:focus-visible { box-shadow: 0 0 0 2px #1a56db; }
.dark-thumb { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .2s; display: block; pointer-events: none; }
[data-theme="dark"] .dark-toggle-lbl { color: #666; }

/* ── GLOBAL ── */
[data-theme="dark"] body { background: #0f0f0f; color: #d8d8d8; }
[data-theme="dark"] a { color: inherit; }
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3 { color: #f0f0f0; }

/* White-background cards/panels — soften to off-white surface */
[data-theme="dark"] .section-card,
[data-theme="dark"] .sit-box,
[data-theme="dark"] .bgi-card,
[data-theme="dark"] .implication,
[data-theme="dark"] .suspension-player,
[data-theme="dark"] .select-trigger,
[data-theme="dark"] .select-options,
[data-theme="dark"] .stat-name { background: #1c1c1e !important; border-color: #2a2a2a !important; color: #d8d8d8; }

/* Ensure the #fafafa / near-white items also get overridden */
[data-theme="dark"] .intel-box,
[data-theme="dark"] .prematch-brief,
[data-theme="dark"] .identity-box { background: #1c1c1e !important; border-color: #2a2a2a !important; }

/* ── HEADER / NAV ── */
[data-theme="dark"] header { background: #111111 !important; border-color: #2a2a2a !important; }
[data-theme="dark"] .logo { color: #f0f0f0 !important; }
[data-theme="dark"] .nav-link { color: #777 !important; }
[data-theme="dark"] .nav-link:hover { color: #ccc !important; }
[data-theme="dark"] .nav-link.active { color: #f0f0f0 !important; }
[data-theme="dark"] .search-form input { background: #1a1a1a; color: #f0f0f0; border-color: #333; }
[data-theme="dark"] .search-form input::placeholder { color: #555; }
[data-theme="dark"] .search-form input:focus { border-color: #1a56db; }
[data-theme="dark"] .search-form button { background: #222; border-color: #333; }
[data-theme="dark"] .search-form button:hover { background: #1a56db; border-color: #1a56db; }

/* Mobile drawer */
[data-theme="dark"] .mob-drawer { background: #111; border-color: #2a2a2a; }
[data-theme="dark"] .mob-drawer-link { color: #ccc; border-color: #2a2a2a; }
[data-theme="dark"] .mob-overlay { background: rgba(0,0,0,0.7); }
[data-theme="dark"] .mob-burger span { background: #f0f0f0; }
[data-theme="dark"] .mob-search svg { stroke: #f0f0f0; }

/* ── BACK LINK / SHARE ── */
[data-theme="dark"] a.back, [data-theme="dark"] .back-link { color: #999; }
[data-theme="dark"] a.back:hover, [data-theme="dark"] .back-link:hover { color: #1a56db; }
[data-theme="dark"] .back-row { border-color: #2a2a2a; }
[data-theme="dark"] .share-btn { border-color: #333; color: #999; }
[data-theme="dark"] .share-btn:hover { border-color: #f0f0f0; color: #f0f0f0; }
[data-theme="dark"] .breadcrumb { color: #999; }

/* ── LEAGUE / FILTER BARS ── */
[data-theme="dark"] .league-bar { background: #0f0f0f; border-color: #2a2a2a; }
[data-theme="dark"] .league-tab { color: #888; border-color: transparent; }
[data-theme="dark"] .league-tab.active { color: #f0f0f0; border-color: #f0f0f0; }
[data-theme="dark"] .league-filter-bar { border-color: #2a2a2a; background: #0f0f0f; }
[data-theme="dark"] .season-label { color: #888; }
[data-theme="dark"] .page-heading h1 { color: #f0f0f0; }
[data-theme="dark"] .page-heading .sub { color: #999; }
[data-theme="dark"] .page-header { border-color: #2a2a2a; }
[data-theme="dark"] .page-heading { border-color: #2a2a2a; }
[data-theme="dark"] thead th { border-color: #2a2a2a; color: #888; }
[data-theme="dark"] .meta-line { color: #999; }
[data-theme="dark"] .sub { color: #999; }

/* ── TABLES (leaderboard, player, team) ── */
[data-theme="dark"] .ref-table thead th { color: #888; border-color: #2a2a2a; background: #0f0f0f; }
[data-theme="dark"] .ref-table thead th.sorted { color: #f0f0f0; }
[data-theme="dark"] .ref-table tbody tr { border-color: #2a2a2a; }
[data-theme="dark"] .ref-table tbody tr:hover { background: #1a1a1a; }
[data-theme="dark"] .ref-table td { color: #ccc; border-color: #2a2a2a; }
[data-theme="dark"] .ref-table td.num { color: #ccc; }
[data-theme="dark"] td.dim { color: #aaa; }
[data-theme="dark"] .ref-name { color: #f0f0f0; }
/* Leaderboard generic tbody */
[data-theme="dark"] tbody tr { border-color: #2a2a2a; }
[data-theme="dark"] tbody tr:hover { background: #1a1a1a !important; }
[data-theme="dark"] td.num { color: #d0d0d0; }
[data-theme="dark"] .history-table th, [data-theme="dark"] .history-table td { border-color: #2a2a2a; color: #ccc; }
[data-theme="dark"] .history-table thead th { background: #0f0f0f; color: #888; }
[data-theme="dark"] .rare-flag { color: #aaa; border-color: #555; }
[data-theme="dark"] .lv-avg { color: #aaa; }
[data-theme="dark"] .avg { color: #aaa; }

/* ── CARDS ── */
[data-theme="dark"] .s-card { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .s-card-hdr { color: #888; }
[data-theme="dark"] .section-label { color: #888; }
[data-theme="dark"] .section-title { color: #888; }
[data-theme="dark"] .sidebar-card-hdr { color: #888; }

/* ── MATCH HEADER ── */
[data-theme="dark"] .match-header { border-color: #2a2a2a; }
[data-theme="dark"] .match-date { color: #999; }
[data-theme="dark"] .match-meta { color: #999; }
[data-theme="dark"] .match-meta a { color: #aaa; }
[data-theme="dark"] .venue-line { color: #999; }
[data-theme="dark"] .team-name { color: #f0f0f0; }
[data-theme="dark"] .team-name a { color: #f0f0f0; }
[data-theme="dark"] .score-home, [data-theme="dark"] .score-away { color: #f0f0f0; }
[data-theme="dark"] .score-separator { color: #333; }
[data-theme="dark"] .score-status { color: #888; }
[data-theme="dark"] .ref-line { color: #aaa; }
[data-theme="dark"] .ref-line a { color: #ccc; }
[data-theme="dark"] .ref-name-line { color: #aaa; }
[data-theme="dark"] .ref-name-line a { color: #ccc; }

/* ── S1 / S2 / S3 PANELS (match page) ── */
[data-theme="dark"] .s1-panel { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .s1-hdr { color: #888; }
[data-theme="dark"] .s1-empty { color: #777; }
[data-theme="dark"] .mrt-driver-lbl { color: #999; }
[data-theme="dark"] .mrt-driver-lbl strong { color: #ccc; }
[data-theme="dark"] .mrt-driver { color: #999; }
[data-theme="dark"] .mrt-track { background: #2a2a2a; }
[data-theme="dark"] .mrt-bar-lbl { color: #888; }
[data-theme="dark"] .mrt-val { color: #888; }
[data-theme="dark"] .mrt-bar-lbl.active { color: #f0f0f0; }
[data-theme="dark"] .mrt-val.active { color: #f0f0f0; }
[data-theme="dark"] .ks-statement { color: #f0f0f0; }
[data-theme="dark"] .ks-ref-line { color: #999; }
[data-theme="dark"] .rfs-row { border-color: #2a2a2a; }
[data-theme="dark"] .rfs-lbl { color: #999; }
[data-theme="dark"] .rfs-val { color: #f0f0f0; }
[data-theme="dark"] .rfs-link a { color: #1a56db; }
[data-theme="dark"] .strip-tile { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .strip-num { color: #f0f0f0; }
[data-theme="dark"] .strip-lbl { color: #888; }
[data-theme="dark"] .strip-icon svg { stroke: #777; fill: #777; }

[data-theme="dark"] .s3-card { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .s3-hdr { color: #888; }
[data-theme="dark"] .tl-legend { color: #888; }
[data-theme="dark"] .period-box { border-color: #2a2a2a; }
[data-theme="dark"] .period-num { color: #f0f0f0; }
[data-theme="dark"] .period-lbl { color: #888; }
[data-theme="dark"] .period-pct { color: #777; }
[data-theme="dark"] .period-box.dominant { background: rgba(230,57,70,.06); border-color: rgba(230,57,70,.25); }

/* ── MATCH TIMELINE ── */
[data-theme="dark"] .tl-row { border-color: #2a2a2a; }
[data-theme="dark"] .tl-min { color: #888; }
[data-theme="dark"] .ev-player { color: #ccc; }
[data-theme="dark"] .ev-player a { color: #ccc; }
[data-theme="dark"] .ev-note { color: #888; }
[data-theme="dark"] .score-marker { color: #888; }
[data-theme="dark"] .ic-var { background: #2a2a2a; color: #ccc; }
[data-theme="dark"] .ic-pen { color: #aaa; }

/* ── INTEL BOX (pre/post match signals) ── */
[data-theme="dark"] .intel-box { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .intel-header { color: #888; }
[data-theme="dark"] .intel-header a { color: #888; }
[data-theme="dark"] .intel-line { color: #aaa; }
[data-theme="dark"] .intel-footer a { color: #1a56db; }
[data-theme="dark"] .mlabel { border-color: #2a2a2a; color: #999; background: #222; }

/* ── ABOUT / METHOD ── */
[data-theme="dark"] .about-full { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .about-full p { color: #aaa; }
[data-theme="dark"] .prematch-brief { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .brief-header { color: #888; }
[data-theme="dark"] .brief-form-lbl { color: #aaa; }
[data-theme="dark"] .disclaimer { color: #999; }
[data-theme="dark"] .pen-footnote { color: #999; }
[data-theme="dark"] .note-label { color: #999; }

/* ── MSTATS (match stats split bars) ── */
[data-theme="dark"] .mstats-label { color: #888; }
[data-theme="dark"] .mstats-val { color: #f0f0f0; }
[data-theme="dark"] .mstats-bar { background: #2a2a2a; }
[data-theme="dark"] .s4-hdr { color: #888; }

/* ── PMS FORM ── */
[data-theme="dark"] .pms-form { border-color: #2a2a2a; }
[data-theme="dark"] .pms-form-hdr { color: #888; }
[data-theme="dark"] .pms-form-val { color: #f0f0f0; }
[data-theme="dark"] .pms-form-lbl { color: #888; }

/* ── REFEREE PENALTY TABLE ── */
[data-theme="dark"] .pen-table th { color: #888; border-color: #2a2a2a; }
[data-theme="dark"] .pen-table td { border-color: #2a2a2a; color: #d0d0d0; }
[data-theme="dark"] .pen-table td.num { color: #d0d0d0; }
[data-theme="dark"] .pen-table td.team-name { color: #f0f0f0; }
[data-theme="dark"] .pen-none { color: #666; }

/* ── REFEREE RECENT MATCHES TABLE ── */
[data-theme="dark"] .match-table th { color: #888; border-color: #2a2a2a; }
[data-theme="dark"] .match-table td { border-color: #2a2a2a; }
[data-theme="dark"] .match-table tr:hover td { background: #242428; }
[data-theme="dark"] .match-teams { color: #f0f0f0; }
[data-theme="dark"] .match-score { color: #e0e0e0; }
[data-theme="dark"] .match-date { color: #999; }

/* ── REFEREE PAGE LAYOUT ── */
[data-theme="dark"] .body-grid { gap: 2rem; }
[data-theme="dark"] .match-card { padding: 1rem; }
[data-theme="dark"] .scrutiny-section { margin-top: 1rem; }
[data-theme="dark"] .scrutiny-box { background: #1c1c1e !important; border-color: #2a2a2a !important; }

/* ── REFEREE HERO ── */
[data-theme="dark"] .ref-hero   { border-color: #2a2a2a; }
[data-theme="dark"] .hero-center { border-color: #2a2a2a; }
[data-theme="dark"] .ref-name { color: #f0f0f0; }
[data-theme="dark"] .hero-meta { color: #999; }
[data-theme="dark"] .hero-sub { color: #999; }
[data-theme="dark"] .hero-about { color: #ccc; }
[data-theme="dark"] .hero-insight { color: #d0d0d0; background: transparent; border-color: transparent; }
[data-theme="dark"] .hstat-row { border-color: #2a2a2a; }
[data-theme="dark"] .hero-stats .stat-val { color: #f0f0f0; }
[data-theme="dark"] .hero-stats .stat-item { border-right-color: #2a2a2a; }
[data-theme="dark"] .hero-stats .hstat-row .stat-item:last-child { border-right: none !important; }
[data-theme="dark"] .rt-score-lbl { color: #888; }
[data-theme="dark"] .rt-score-lbl a { color: #888; }
[data-theme="dark"] .rt-ctx-delta { color: #aaa; }
[data-theme="dark"] .calibrated { color: #aaa; }
[data-theme="dark"] .ci-calibrated { color: #aaa; }
[data-theme="dark"] .stat-item { border-color: #2a2a2a; }
[data-theme="dark"] .stat-val { color: #f0f0f0; }
[data-theme="dark"] .stat-lbl { color: #888; }
[data-theme="dark"] .stat-name { color: #ccc; }
[data-theme="dark"] .stat-icon { opacity: 1; }
[data-theme="dark"] .sample-tag { color: #aaa; border-color: #444; }

/* ── REFEREE PROFILE CHARTS / BARS ── */
[data-theme="dark"] .bar-lbl { color: #aaa; }
[data-theme="dark"] .bar-score { color: #aaa; }
[data-theme="dark"] .bs-lbl { color: #aaa; }
[data-theme="dark"] .bs-section-label { color: #999; }
[data-theme="dark"] .bgi-card { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .bgi-subtitle { color: #aaa; }
[data-theme="dark"] .bgi-metric-label { color: #aaa; }
[data-theme="dark"] .bgi-ov { color: #aaa; }
[data-theme="dark"] .bgi-no-data { color: #aaa; }
[data-theme="dark"] .bgi-sep { color: #555; }
[data-theme="dark"] .bgi-flag.neutral { background: #222; color: #888; }
[data-theme="dark"] .bgi-footnote { color: #777; }
[data-theme="dark"] .exp-legend { color: #aaa; }

/* ── SCRUTINY ── */
[data-theme="dark"] .spotlight-card { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .sc-label { color: #888; }
[data-theme="dark"] .sc-number { color: #f0f0f0; }
[data-theme="dark"] .sc-denom { color: #aaa; }
[data-theme="dark"] .sc-metric-val { color: #f0f0f0; }
[data-theme="dark"] .sc-metric-lbl { color: #aaa; }
[data-theme="dark"] .sc-metric-avg { color: #999; }
[data-theme="dark"] .sc-metrics { border-color: #2a2a2a; }
[data-theme="dark"] .scrutiny-desc { color: #ccc; }

/* Tabs */
[data-theme="dark"] .ref-tabs-inner { border-color: #2a2a2a; }
[data-theme="dark"] .ref-tab { color: #aaa; border-color: transparent; }
[data-theme="dark"] .ref-tab.active { color: #f0f0f0; border-color: #f0f0f0; }
[data-theme="dark"] .ref-tab:hover { color: #e0e0e0; }

/* Breakdown / reason rows */
[data-theme="dark"] .breakdown-track { background: #2a2a2a; }
[data-theme="dark"] .reason-row { border-color: #2a2a2a; }
[data-theme="dark"] .reason-name { color: #ccc; }
[data-theme="dark"] .reason-count { color: #ccc; }
[data-theme="dark"] .reason-pct { color: #888; }

/* Signal panels */
[data-theme="dark"] .signal-panel { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .signal-lbl { color: #888; }
[data-theme="dark"] .interpret-desc { color: #ccc; }
[data-theme="dark"] .rs-desc { color: #ccc; }

/* ── PLAYER PAGE ── */
/* Hero */
[data-theme="dark"] .hero-name { color: #f0f0f0; }
[data-theme="dark"] .hero-kicker { color: #666; }
[data-theme="dark"] .hero-pattern { color: #aaa; }
[data-theme="dark"] .stat-num { color: #f0f0f0; }
[data-theme="dark"] .stat-lbl { color: #666; }
[data-theme="dark"] .stat-sep { background: #2a2a2a; }
[data-theme="dark"] .chip { color: #aaa; }
[data-theme="dark"] .chip.y { color: #c49100; }
[data-theme="dark"] .chip.r { color: #c0303a; }
[data-theme="dark"] .chip-dot { color: #444; }
/* Snapshot card */
[data-theme="dark"] .snapshot-card { background: #141416; border-color: #2a2a2a; }
[data-theme="dark"] .snapshot-top { background: #141416; }
[data-theme="dark"] .snapshot-pitch { color: #fff; }
[data-theme="dark"] .snap-eyebrow { color: #555; }
[data-theme="dark"] .snap-display-name { color: #f0f0f0; }
[data-theme="dark"] .snap-club { color: #aaa; }
[data-theme="dark"] .snap-club-dash { color: #444; }
[data-theme="dark"] .club-badge { opacity: 0.9; }
[data-theme="dark"] .snap-divider { background: #2a2a2a; }
[data-theme="dark"] .snap-meta-item { border-color: #2a2a2a; }
[data-theme="dark"] .snap-meta-label { color: #555; }
[data-theme="dark"] .snap-meta-val { color: #f0f0f0; }
[data-theme="dark"] .snap-meta-val.dash { color: #444; }
[data-theme="dark"] .snap-footer { background: #111112; border-color: #2a2a2a; }
[data-theme="dark"] .low-sample-badge { color: #6b9ef8; background: #1a2540; border-color: #2a3d6a; }
[data-theme="dark"] .snap-note { color: #555; }
/* Section cards */
[data-theme="dark"] .sec-card { background: #141416; border-color: #2a2a2a; }
[data-theme="dark"] .sec-hdr { color: #666; }
[data-theme="dark"] .sec-note { color: #555; }
/* Score state bars */
[data-theme="dark"] .state-track { background: #2a2a2a; }
[data-theme="dark"] .state-lbl { color: #aaa; }
[data-theme="dark"] .state-pct { color: #aaa; }
[data-theme="dark"] .state-note { color: #999; }
/* Card profile tiles */
[data-theme="dark"] .profile-tile { background: #1c1c1e; border-color: #2a2a2a; }
[data-theme="dark"] .pt-val { color: #f0f0f0; }
[data-theme="dark"] .pt-val .pt-ref { color: #f0f0f0; }
[data-theme="dark"] .pt-sublbl { color: #888; }
[data-theme="dark"] .pt-lbl { color: #555; }
/* Cards by referee table */
[data-theme="dark"] .ref-link { color: #ccc; }
[data-theme="dark"] .ref-link:hover { color: #f0f0f0; }
[data-theme="dark"] .cards-big { color: #f0f0f0; }
[data-theme="dark"] .view-more { border-color: #2a2a2a; }
/* Card history */
[data-theme="dark"] .match-link { color: #f0f0f0; }
[data-theme="dark"] .match-sub { color: #666; }
/* Misc */
[data-theme="dark"] .lbl { color: #999; }
[data-theme="dark"] .field-label { color: #999; }
[data-theme="dark"] .neu, [data-theme="dark"] .neutral { color: #aaa; }
[data-theme="dark"] .delta-neu { color: #aaa; }
[data-theme="dark"] .below { color: #aaa; }

/* ── TEAM PAGE ── */
[data-theme="dark"] .profile-top h2 { color: #f0f0f0; }
[data-theme="dark"] .profile-meta { color: #999; }
/* Team page generic table (no specific class) */
[data-theme="dark"] td { color: #d0d0d0; border-color: #2a2a2a !important; }
[data-theme="dark"] th { color: #888; border-color: #2a2a2a !important; }
[data-theme="dark"] tr:hover td { background: #1a1a1a !important; }
[data-theme="dark"] td.ref-link a { color: #f0f0f0; }
[data-theme="dark"] td.num { color: #d0d0d0; }
[data-theme="dark"] .ha-badge, [data-theme="dark"] .ha-tag { color: #999; }
[data-theme="dark"] .rec-block { border-color: #2a2a2a; }
[data-theme="dark"] .rec-lbl { color: #888; }
[data-theme="dark"] .rec-divider { background: #2a2a2a; }
[data-theme="dark"] .identity-box { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .identity-box p { color: #ccc; }
[data-theme="dark"] .next-fixture { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .nf-label { color: #888; }
[data-theme="dark"] .nf-teams { color: #f0f0f0; }
[data-theme="dark"] .nf-date { color: #aaa; }
[data-theme="dark"] .nf-ref-name { color: #ccc; }
[data-theme="dark"] .nf-tba { color: #777; }
[data-theme="dark"] .stats-grid .stat { border-color: #2a2a2a; }
[data-theme="dark"] .stat .val { color: #f0f0f0; }
[data-theme="dark"] .stat .lbl { color: #888; }
[data-theme="dark"] .stat .sub { color: #888; }
[data-theme="dark"] .split-bar { background: #2a2a2a; }
[data-theme="dark"] .split-legend { color: #888; }
[data-theme="dark"] .sit-card { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .sit-card h4 { color: #f0f0f0; }
[data-theme="dark"] .state-row { border-color: #2a2a2a; }
[data-theme="dark"] .player-row { border-color: #2a2a2a; }
[data-theme="dark"] .player-name { color: #f0f0f0; }
[data-theme="dark"] .player-name a { color: #ccc; }
[data-theme="dark"] .footer-note { color: #999; border-color: #2a2a2a; }
[data-theme="dark"] .community-body { color: #ccc; }
[data-theme="dark"] .share-desc { color: #999; }
[data-theme="dark"] .success-text { color: #ccc; }

/* ── UPCOMING / FIXTURES ── */
[data-theme="dark"] .date-heading { color: #888; border-color: #2a2a2a; }
[data-theme="dark"] .date-heading.today { color: #1a56db; }
[data-theme="dark"] .fixture { border-color: #2a2a2a; }
[data-theme="dark"] .fixture:hover { background: #1a1a1a; }
[data-theme="dark"] .fixture-row { border-color: #2a2a2a; }
[data-theme="dark"] .fixture-row:hover { background: #1a1a1a; }
[data-theme="dark"] .kickoff .time { color: #f0f0f0; }
[data-theme="dark"] .kickoff .tz { color: #888; }
[data-theme="dark"] .teams { color: #f0f0f0; }
[data-theme="dark"] .teams .sep { color: #555; }
[data-theme="dark"] .league-badge { background: #222; color: #888; border-color: #2a2a2a; }
[data-theme="dark"] .ref-row { color: #aaa; }
[data-theme="dark"] .ref-name.tba { color: #666; }
[data-theme="dark"] .ref-stats { color: #888; }
[data-theme="dark"] .empty { color: #999; }
[data-theme="dark"] .empty-title { color: #e0e0e0; }
[data-theme="dark"] .empty-sub { color: #999; }

/* ── SEARCH PAGE ── */
[data-theme="dark"] .search-result { border-color: #2a2a2a; }
[data-theme="dark"] .search-result:hover { background: #1a1a1a; }
[data-theme="dark"] .result-name { color: #f0f0f0; }
[data-theme="dark"] .result-meta { color: #888; }
[data-theme="dark"] .result-right { color: #888; }
[data-theme="dark"] .result-type { color: #777; }
[data-theme="dark"] .no-results { color: #888; }

/* ── YOUR VOICE ── */
[data-theme="dark"] .voice-section { border-color: #2a2a2a; }
[data-theme="dark"] .form-wrap { background: #141414; border-color: #2a2a2a; box-shadow: none; }
[data-theme="dark"] .hero-intro { color: #ccc; }
[data-theme="dark"] .field-label { color: #aaa; }
[data-theme="dark"] .field-label .opt { color: #666; }

/* All form inputs & textarea */
[data-theme="dark"] #feedback-form input[type="text"],
[data-theme="dark"] #feedback-form input[type="email"],
[data-theme="dark"] textarea,
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="text"] { background: #1c1c1e; color: #f0f0f0; border-color: #333; }
[data-theme="dark"] #feedback-form input[type="text"]::placeholder,
[data-theme="dark"] #feedback-form input[type="email"]::placeholder,
[data-theme="dark"] textarea::placeholder { color: #555; }
[data-theme="dark"] #feedback-form input:focus,
[data-theme="dark"] textarea:focus { border-color: #1a56db; box-shadow: 0 0 0 3px rgba(26,86,219,0.15); }

/* Custom select */
[data-theme="dark"] .select-trigger { background: #1c1c1e !important; color: #555; border-color: #333 !important; }
[data-theme="dark"] .select-trigger.has-value { color: #f0f0f0; }
[data-theme="dark"] .select-options { background: #1c1c1e !important; border-color: #333 !important; box-shadow: 0 6px 20px rgba(0,0,0,0.4); }
[data-theme="dark"] .select-option { color: #d0d0d0; }
[data-theme="dark"] .select-option:hover { background: #242428; }
[data-theme="dark"] .select-option.selected { background: rgba(26,86,219,0.15); color: #6b9eff; }

/* Character counter */
[data-theme="dark"] .counter-wrap { color: #555; }

/* Share list */
[data-theme="dark"] .share-list { border-color: #2a2a2a; background: #141414; }
[data-theme="dark"] .share-item { border-color: #2a2a2a; }
[data-theme="dark"] .share-icon { background: rgba(26,86,219,0.15); }
[data-theme="dark"] .share-name { color: #f0f0f0; }
[data-theme="dark"] .share-desc { color: #aaa; }

/* Community box */
[data-theme="dark"] .community-box { background: #141414; border-color: rgba(26,86,219,0.2); box-shadow: none; }
[data-theme="dark"] .community-body { color: #ccc; }
[data-theme="dark"] .community-body .sign-off { color: #f0f0f0; }

/* Success state */
[data-theme="dark"] .success-title { color: #f0f0f0; }
[data-theme="dark"] .success-text { color: #aaa; }

/* Misc */
[data-theme="dark"] label { color: #ccc; }
[data-theme="dark"] .form-note { color: #888; }
[data-theme="dark"] .capture-item { color: #aaa; }

/* ── METHODOLOGY ── */
[data-theme="dark"] .method-section { border-color: #2a2a2a; }
[data-theme="dark"] .method-intro { color: #d0d0d0; }
[data-theme="dark"] .meth-section-hdr { color: #aaa; }
[data-theme="dark"] .bgi-footnote { color: #999; }

/* ── MANIFESTO ── */
[data-theme="dark"] .man-kicker { color: #1a56db; }
[data-theme="dark"] .man-headline { color: #f0f0f0; }
[data-theme="dark"] .man-sub { color: #f0f0f0; }
[data-theme="dark"] .man-bold-open { color: #f0f0f0; }
[data-theme="dark"] .man-body-p { color: #ccc; }
[data-theme="dark"] .man-hero { border-color: #2a2a2a; }
[data-theme="dark"] .man-purpose { border-color: #2a2a2a; }
[data-theme="dark"] .purpose-lbl { color: #1a56db; }
[data-theme="dark"] .purpose-text { color: #f0f0f0; }
[data-theme="dark"] .purpose-icon circle, [data-theme="dark"] .purpose-icon line { stroke: #1a56db; }
[data-theme="dark"] .mbox { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .mbox-yes { border-color: #1a56db; }
[data-theme="dark"] .mbox-item { border-color: #2a2a2a; }
[data-theme="dark"] .mbox-text { color: #ccc; }
[data-theme="dark"] .mbox-svg { opacity: 0.35; }
[data-theme="dark"] .man-sh { color: #1a56db; }
[data-theme="dark"] .man-quote { background: rgba(37,99,235,0.08); border-color: rgba(37,99,235,0.2); }
[data-theme="dark"] .quote-rule { background: #2a2a2a; }
[data-theme="dark"] .quote-body { color: #f0f0f0; }
[data-theme="dark"] .man-3col p { color: #ccc; }
[data-theme="dark"] .man-step { background: #1a1a1a; border-color: #2a2a2a; }
[data-theme="dark"] .step-title { color: #f0f0f0; }
[data-theme="dark"] .step-text { color: #ccc; }
[data-theme="dark"] .man-method { background: #1a1a1a; }
[data-theme="dark"] .method-text p { color: #ccc; }
[data-theme="dark"] .man-closing-big { color: #f0f0f0; }
[data-theme="dark"] .man-footer { border-color: #2a2a2a; color: #777; }

/* ── 404 ── */
[data-theme="dark"] .error-title { color: #f0f0f0; }
[data-theme="dark"] .error-sub { color: #aaa; }

/* ── MOBILE OVERRIDES ── */
/* Leaderboard: mobile card rows */
[data-theme="dark"] .ref-table tr { background: #1c1c1e !important; border-color: #2a2a2a !important; }
/* Referee page: stats strip scroll indicators */
[data-theme="dark"] .stats-wrap::before { background: linear-gradient(to left,  transparent, #0f0f0f 80%) !important; }
[data-theme="dark"] .stats-wrap::after  { background: linear-gradient(to right, transparent, #0f0f0f 80%) !important; }
[data-theme="dark"] .ref-tabs::after    { background: linear-gradient(to right, transparent, #0f0f0f)     !important; }

/* ── MISC ── */
[data-theme="dark"] .meth-strip { border-color: #2a2a2a; }
[data-theme="dark"] .meth-strip a { color: #aaa; }
[data-theme="dark"] .page-kicker { color: #1a56db; }
[data-theme="dark"] .booking-coverage { color: #ccc; }
[data-theme="dark"] .hero-about { color: #ccc; }

/* ================================================================
   SITE-WIDE SHARED COMPONENTS (footer, cookie banner, legal pages)
   Light-mode base + dark overrides in one place.
   ================================================================ */

/* ── SITE FOOTER ── */
.site-footer { border-top: 1px solid #ebebeb; margin-top: 5rem; }
.footer-inner { max-width: 1140px; margin: 0 auto; padding: 2rem 2.5rem 2.5rem;
                display: flex; flex-direction: column; gap: 0.85rem; }
.footer-brand { display: flex; flex-direction: column; gap: 0.25rem; }
.footer-logo  { font-size: 1.3rem; font-weight: 900; letter-spacing: -1px;
                text-decoration: none; color: #111; display: inline-block; }
.footer-logo .footer-dash { color: #1a56db; }
.footer-tagline { font-size: 0.72rem; color: #bbb; letter-spacing: 0.3px; }
.footer-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0; }
.footer-link { font-size: 0.7rem; color: #aaa; text-decoration: none;
               padding: 0 0.55rem; transition: color .12s; }
.footer-link:first-child { padding-left: 0; }
.footer-link:hover { color: #1a56db; }
.footer-link-btn { background: none; border: none; cursor: pointer; padding: 0 0.55rem;
                   font-family: inherit; font-size: 0.7rem; color: #aaa; transition: color .12s; }
.footer-link-btn:hover { color: #1a56db; }
.footer-sep { font-size: 0.7rem; color: #ddd; user-select: none; }
.footer-copy { font-size: 0.65rem; color: #ddd; padding-top: 0.25rem; }

[data-theme="dark"] .site-footer      { border-color: #222; }
[data-theme="dark"] .footer-logo      { color: #e8e8e8; }
[data-theme="dark"] .footer-tagline   { color: #444; }
[data-theme="dark"] .footer-link      { color: #555; }
[data-theme="dark"] .footer-link:hover { color: #1a56db; }
[data-theme="dark"] .footer-link-btn  { color: #555; }
[data-theme="dark"] .footer-link-btn:hover { color: #1a56db; }
[data-theme="dark"] .footer-sep       { color: #2a2a2a; }
[data-theme="dark"] .footer-copy      { color: #333; }

/* ── COOKIE BANNER ── */
/* Compact floating card — centered, not full-width */
.rt-cookie-banner {
  position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%);
  z-index: 9999; display: none;
  width: calc(100% - 3rem); max-width: 960px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-left: 3px solid #1a56db;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.06);
}
.cookie-card {
  position: relative;
  display: flex; align-items: center; gap: 1.5rem;
  padding: 1.1rem 1.4rem;
}
.cookie-icon-wrap { flex-shrink: 0; }
.cookie-text-wrap { flex: 1; min-width: 0; }
.cookie-heading { font-size: 0.88rem; font-weight: 700; color: #111;
                  letter-spacing: -0.2px; margin-bottom: 0.2rem; }
.cookie-desc    { font-size: 0.78rem; color: #666; line-height: 1.5; }
.cookie-actions { display: flex; align-items: center; gap: 0.6rem; flex-shrink: 0; }
.cookie-manage  { font-size: 0.78rem; font-weight: 600; color: #555;
                  text-decoration: none; white-space: nowrap; padding: 0 0.25rem;
                  transition: color .12s; }
.cookie-manage:hover { color: #1a56db; text-decoration: underline; }
.cookie-reject  { background: none; color: #333; border: 1.5px solid #ccc;
                  border-radius: 6px; padding: 0.45rem 1rem; font-size: 0.78rem;
                  font-weight: 600; cursor: pointer; white-space: nowrap;
                  font-family: inherit; transition: border-color .12s, color .12s; }
.cookie-reject:hover { border-color: #888; color: #111; }
.cookie-accept  { background: #1a56db; color: #fff; border: none;
                  border-radius: 6px; padding: 0.45rem 1.1rem; font-size: 0.78rem;
                  font-weight: 700; cursor: pointer; white-space: nowrap;
                  font-family: inherit; display: flex; align-items: center; gap: 0.35rem;
                  transition: background .12s; }
.cookie-accept:hover { background: #1648c0; }
.cookie-close   { position: absolute; top: 0.7rem; right: 0.9rem;
                  background: none; border: none; cursor: pointer; padding: 0.2rem;
                  color: #bbb; font-size: 1.1rem; line-height: 1;
                  font-family: inherit; transition: color .12s; }
.cookie-close:hover { color: #555; }

/* Dark mode */
[data-theme="dark"] .rt-cookie-banner {
  background: #111214;
  border-color: #252528;
  border-left-color: #1a56db;
  box-shadow: 0 8px 40px rgba(0,0,0,0.5), -2px 0 16px rgba(26,86,219,0.15);
}
[data-theme="dark"] .cookie-heading { color: #f0f0f0; }
[data-theme="dark"] .cookie-desc    { color: #888; }
[data-theme="dark"] .cookie-manage  { color: #888; }
[data-theme="dark"] .cookie-manage:hover { color: #1a56db; }
[data-theme="dark"] .cookie-reject  { color: #ccc; border-color: #333; background: #1c1c1e; }
[data-theme="dark"] .cookie-reject:hover { border-color: #666; color: #f0f0f0; }
[data-theme="dark"] .cookie-close   { color: #555; }
[data-theme="dark"] .cookie-close:hover { color: #aaa; }

/* Mobile: full-width, stacked */
@media (max-width: 640px) {
  .rt-cookie-banner {
    bottom: 0; left: 0; right: 0; transform: none;
    width: 100%; max-width: 100%;
    border-radius: 12px 12px 0 0;
    border-left-width: 0; border-top: 3px solid #1a56db;
  }
  .cookie-card { flex-direction: column; align-items: flex-start; gap: 1rem;
                 padding: 1.25rem 1.25rem 1.5rem; }
  .cookie-actions { width: 100%; justify-content: flex-end; }
}

/* ── LEGAL PAGES ── */
[data-theme="dark"] .legal-title  { color: #f0f0f0; }
[data-theme="dark"] .legal-kicker { color: #1a56db; }
[data-theme="dark"] .legal-date   { color: #555; }
[data-theme="dark"] .legal-intro  { color: #aaa; border-color: #222; }
[data-theme="dark"] .legal-section { border-color: #1e1e1e; }
[data-theme="dark"] .legal-sh     { color: #555; }
[data-theme="dark"] .legal-body   { color: #bbb; }
[data-theme="dark"] .legal-body strong { color: #e8e8e8; }
[data-theme="dark"] .legal-subh   { color: #e0e0e0; }
[data-theme="dark"] .legal-table th { color: #555; border-color: #222; }
[data-theme="dark"] .legal-table td { color: #999; border-color: #1e1e1e; }
[data-theme="dark"] .legal-table td:first-child { color: #e0e0e0; }
[data-theme="dark"] .legal-table td code { color: #e0e0e0; }
