/* MATCH-SIGNAL-BASKETBALL-DESK-V1: shared workspace hierarchy, mobile-first and scoped. */
body[data-page="hub"][data-sport="basketball"]{--nba-accent:#2f7d6d;--nba-accent-soft:#dcefe9;--nba-ink:#162a35;--nba-muted:#617580;--nba-border:#dbe4e8;--nba-surface:#fff;--nba-soft:#f4f8f9;background:#f3f6f7;color:#172b35}
body[data-page="hub"][data-sport="basketball"] .cd-shell{width:100%;max-width:1480px;box-sizing:border-box;padding:18px 24px 48px;margin:auto}
body[data-page="hub"][data-sport="basketball"] .cd-page-header{background:linear-gradient(120deg,#fff 0%,#f1f8f6 100%);border:1px solid var(--nba-border);border-radius:16px;padding:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:24px;align-items:center}
body[data-page="hub"][data-sport="basketball"] .cd-header-copy{min-width:0}
body[data-page="hub"][data-sport="basketball"] .cd-eyebrow,body[data-page="hub"][data-sport="basketball"] .cd-section-kicker{color:var(--nba-accent);font-size:10px;letter-spacing:.14em;font-weight:900}
body[data-page="hub"][data-sport="basketball"] .cd-page-header h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.05;margin:9px 0 12px;color:var(--nba-ink)}
body[data-page="hub"][data-sport="basketball"] .cd-page-header p{max-width:780px;color:#536975;font-size:14px;line-height:1.7;margin:0}
body[data-page="hub"][data-sport="basketball"] .cd-header-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
body[data-page="hub"][data-sport="basketball"] .cd-chip{border:1px solid #d4e2e3;background:#fff;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;color:#435c66}
body[data-page="hub"][data-sport="basketball"] .cd-chip-primary{background:var(--nba-accent-soft);border-color:#c6e4db;color:#1c6656}
body[data-page="hub"][data-sport="basketball"] .cd-header-aside{background:#fff;border:1px solid var(--nba-border);border-radius:12px;padding:16px;min-width:0}
body[data-page="hub"][data-sport="basketball"] .cd-header-aside strong{display:block;color:var(--nba-ink);font-size:14px;margin:7px 0}
body[data-page="hub"][data-sport="basketball"] .cd-header-aside p{font-size:12px;line-height:1.55;color:#617580}
body[data-page="hub"][data-sport="basketball"] .cd-aside-meta{font-size:11px;color:#6c7e86;margin-top:12px}
body[data-page="hub"][data-sport="basketball"] .cd-aside-meta b{color:#263f4b}
body[data-page="hub"][data-sport="basketball"] .cd-section-nav{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a{display:flex;gap:7px;align-items:center;border:1px solid var(--nba-border);border-radius:9px;background:#fff;padding:9px 12px;color:#3b5662;font-size:11px;font-weight:800}
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a span{color:var(--nba-accent);font-variant-numeric:tabular-nums}
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid{margin:0 0 16px;gap:12px}
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric{background:#fff;border:1px solid var(--nba-border);border-radius:12px;padding:15px}
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric small{color:#687e88;font-size:10px;letter-spacing:.08em}
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric strong{color:var(--nba-ink);font-size:27px}
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric span{color:#6d818a;font-size:11px}
body[data-page="hub"][data-sport="basketball"] .basketball-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px;align-items:start}
body[data-page="hub"][data-sport="basketball"] .cd-main-column,body[data-page="hub"][data-sport="basketball"] .cd-side-column{min-width:0;display:grid;gap:16px}
body[data-page="hub"][data-sport="basketball"] .cd-board-panel,body[data-page="hub"][data-sport="basketball"] .cd-rail-card{background:#fff;border:1px solid var(--nba-border);border-radius:13px;padding:18px;min-width:0;box-shadow:0 2px 8px #20394406}
body[data-page="hub"][data-sport="basketball"] .cd-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
body[data-page="hub"][data-sport="basketball"] .cd-panel-heading h2{color:var(--nba-ink);font-size:20px;letter-spacing:-.025em;margin:5px 0}
body[data-page="hub"][data-sport="basketball"] .cd-panel-heading p{color:#617580;font-size:12px;line-height:1.6;margin:0;max-width:700px}
body[data-page="hub"][data-sport="basketball"] .cd-status{display:inline-flex;align-items:center;gap:6px;background:#edf3f4;border:1px solid #dce6e8;color:#526b75;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;white-space:normal}
body[data-page="hub"][data-sport="basketball"] .cd-status.ok{background:#e6f5ee;border-color:#cce8d9;color:#1d6b50}
body[data-page="hub"][data-sport="basketball"] .cd-status.warn{background:#fff3df;border-color:#f1dfb9;color:#855a12}
body[data-page="hub"][data-sport="basketball"] .game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-page="hub"][data-sport="basketball"] .game-card{min-width:0;background:#fbfdfd;border:1px solid #dfe8eb;border-radius:11px;padding:14px;color:var(--nba-ink)}
body[data-page="hub"][data-sport="basketball"] .game-card.is-live{border-color:#7ec5b3;box-shadow:inset 3px 0 #2f9a7d}
body[data-page="hub"][data-sport="basketball"] .game-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}
body[data-page="hub"][data-sport="basketball"] .tag{border-radius:6px;background:#eaf0f2;color:#526872;padding:5px 7px;font-size:9px;font-weight:900;letter-spacing:.07em}
body[data-page="hub"][data-sport="basketball"] .tag.live{background:#e1f5ed;color:#176e51}
body[data-page="hub"][data-sport="basketball"] .tag.final{background:#e8eef7;color:#375e8d}
body[data-page="hub"][data-sport="basketball"] .game-time{font-size:10px;color:#71848c;text-align:right}
body[data-page="hub"][data-sport="basketball"] .matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px}
body[data-page="hub"][data-sport="basketball"] .team{display:flex;align-items:center;gap:7px;min-width:0;font-size:12px;font-weight:850;color:#203943}
body[data-page="hub"][data-sport="basketball"] .team.away{justify-content:flex-end;text-align:right}
body[data-page="hub"][data-sport="basketball"] .team>span:last-child{overflow-wrap:anywhere}
body[data-page="hub"][data-sport="basketball"] .team-mark{flex:0 0 29px;width:29px;height:29px;display:grid;place-items:center;background:#e6f0f1;border:1px solid #d4e1e5;border-radius:8px;color:#2c5b61;font-size:9px;font-weight:950}
body[data-page="hub"][data-sport="basketball"] .scoreline{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:15px;color:#203943}
body[data-page="hub"][data-sport="basketball"] .score{font-size:20px;font-weight:950;color:#17333f}
body[data-page="hub"][data-sport="basketball"] .dash,body[data-page="hub"][data-sport="basketball"] .muted{color:#71858d}
body[data-page="hub"][data-sport="basketball"] .game-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #e0e9eb;margin-top:13px;padding-top:11px}
body[data-page="hub"][data-sport="basketball"] .game-bottom small{display:block;color:#6b8088;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
body[data-page="hub"][data-sport="basketball"] .game-bottom strong{display:block;color:#233f4a;font-size:12px;margin-top:5px;overflow-wrap:anywhere}
body[data-page="hub"][data-sport="basketball"] .fineprint{font-size:10px;color:#71848c;line-height:1.55;margin-top:11px}
body[data-page="hub"][data-sport="basketball"] .empty-state,body[data-page="hub"][data-sport="basketball"] .cd-empty-state{padding:18px;border:1px dashed #cbd9de;border-radius:10px;background:#f8fbfb;color:#607780;font-size:12px;line-height:1.6}
body[data-page="hub"][data-sport="basketball"] .results-table-wrap{overflow:auto;border:1px solid #dce6e9;border-radius:10px}
body[data-page="hub"][data-sport="basketball"] .results-table{width:100%;border-collapse:collapse;min-width:600px;background:#fff}
body[data-page="hub"][data-sport="basketball"] .results-table th,body[data-page="hub"][data-sport="basketball"] .results-table td{padding:11px 12px;text-align:left;border-bottom:1px solid #e4ecee;font-size:11px;color:#2d4752}
body[data-page="hub"][data-sport="basketball"] .results-table th{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#647a84;background:#f5f8f9}
body[data-page="hub"][data-sport="basketball"] .results-table td small{display:block;color:#74868d;margin-top:3px}
body[data-page="hub"][data-sport="basketball"] .final-score{font-size:15px!important;font-weight:950;white-space:nowrap;color:#203b47!important}
body[data-page="hub"][data-sport="basketball"] .good{color:#7ee2b8;font-weight:850}
body[data-page="hub"][data-sport="basketball"] .bad{color:#ff9ba3;font-weight:850}
body[data-page="hub"][data-sport="basketball"] .audit-note{margin-top:12px;padding:12px;border:1px solid #dce7e9;border-radius:10px;background:#f5f9fa;color:#5c737d;font-size:11px;line-height:1.65}
body[data-page="hub"][data-sport="basketball"] .cd-rail-card h3{color:var(--nba-ink);font-size:15px;margin:8px 0}
body[data-page="hub"][data-sport="basketball"] .cd-rail-card p,body[data-page="hub"][data-sport="basketball"] .cd-rail-card li{color:#617580;font-size:11px;line-height:1.7}
body[data-page="hub"][data-sport="basketball"] .cd-rail-card ul{padding-left:17px;margin:10px 0 0}
body[data-page="hub"][data-sport="basketball"] .cd-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #dbe5e8;margin-top:22px;padding-top:15px;color:#6d8189;font-size:10px}
body[data-page="hub"][data-sport="basketball"] :focus-visible{outline:3px solid #228a78;outline-offset:3px}
@media(max-width:1050px){body[data-page="hub"][data-sport="basketball"] .basketball-workspace{grid-template-columns:minmax(0,1fr) 245px}body[data-page="hub"][data-sport="basketball"] .game-grid{grid-template-columns:1fr}}
@media(max-width:760px){body[data-page="hub"][data-sport="basketball"] .cd-shell{padding:12px 12px 32px}body[data-page="hub"][data-sport="basketball"] .cd-page-header{grid-template-columns:1fr;padding:19px;gap:15px}body[data-page="hub"][data-sport="basketball"] .basketball-workspace{grid-template-columns:1fr}body[data-page="hub"][data-sport="basketball"] .cd-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page="hub"][data-sport="basketball"] .cd-panel-heading{display:block}body[data-page="hub"][data-sport="basketball"] .cd-panel-heading>.cd-status{margin-top:9px}}
@media(max-width:480px){body[data-page="hub"][data-sport="basketball"] .cd-side-column{grid-template-columns:1fr}body[data-page="hub"][data-sport="basketball"] .cd-board-panel{padding:12px}body[data-page="hub"][data-sport="basketball"] .game-card{padding:11px}body[data-page="hub"][data-sport="basketball"] .game-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page="hub"][data-sport="basketball"] .game-bottom>div:last-child{grid-column:1/-1}body[data-page="hub"][data-sport="basketball"] .team{font-size:10px;gap:4px}body[data-page="hub"][data-sport="basketball"] .team-mark{flex-basis:25px;width:25px;height:25px}body[data-page="hub"][data-sport="basketball"] .score{font-size:17px}}
@media(prefers-reduced-motion:reduce){body[data-page="hub"][data-sport="basketball"] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body[data-page="hub"][data-sport="basketball"] .nba-total-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-page="hub"][data-sport="basketball"] .nba-total-card{background:#fbfdfd;border:1px solid #dce7e9;border-radius:11px;padding:14px;min-width:0}
body[data-page="hub"][data-sport="basketball"] .nba-total-match strong{display:block;color:#203943;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
body[data-page="hub"][data-sport="basketball"] .nba-total-match strong span{color:#819199;font-weight:500}
body[data-page="hub"][data-sport="basketball"] .nba-total-match small{display:block;color:#71848c;font-size:10px;margin-top:4px}
body[data-page="hub"][data-sport="basketball"] .nba-total-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
body[data-page="hub"][data-sport="basketball"] .nba-total-values>div{background:#f0f6f6;border:1px solid #e1ebeb;border-radius:8px;padding:10px;min-width:0}
body[data-page="hub"][data-sport="basketball"] .nba-total-values small{display:block;color:#647a84;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
body[data-page="hub"][data-sport="basketball"] .nba-total-values strong{display:block;color:#173a44;font-size:22px;line-height:1.2;margin:6px 0 2px}
body[data-page="hub"][data-sport="basketball"] .nba-total-values span{display:block;color:#71848c;font-size:9px;line-height:1.4}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices>span{background:#e7f4ef;border:1px solid #cfe7dd;color:#25644f;border-radius:7px;padding:7px 9px;font-size:11px}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices b{color:#164d3b;margin-left:5px}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices .nba-price-missing{background:#fff5e6;border-color:#f1dfbf;color:#855a12;line-height:1.5}
@media(max-width:650px){body[data-page="hub"][data-sport="basketball"] .nba-total-grid{grid-template-columns:1fr}}

body[data-page="hub"][data-sport="basketball"] .metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body[data-page="hub"][data-sport="basketball"] .metric{background:#fbfdfd;border:1px solid #dce7e9;border-radius:10px;padding:12px;min-width:0}
body[data-page="hub"][data-sport="basketball"] .metric small{display:block;color:#647a84;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
body[data-page="hub"][data-sport="basketball"] .metric strong{display:block;color:#203943;font-size:22px;font-weight:900;margin:5px 0}
body[data-page="hub"][data-sport="basketball"] .metric span{display:block;color:#71848c;font-size:10px;line-height:1.5}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices .nba-lean{background:#eaf0f2;border-color:#d7e2e5;color:#435e69}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices .nba-lean b{color:#1f4b56}
@media(max-width:760px){body[data-page="hub"][data-sport="basketball"] .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* MATCH-SIGNAL-DARK-THEME-HOTFIX-2026-10-23
   Basketball must inherit the same dark analytics-terminal system as the other desks.
   These scoped overrides intentionally supersede the earlier light-theme experiment. */
body[data-page="hub"][data-sport="basketball"] {
  --nba-accent: #7edbd1;
  --nba-accent-soft: rgba(126,219,209,.12);
  --nba-ink: #edf5fa;
  --nba-muted: #a0b2c0;
  --nba-border: #2a4051;
  --nba-surface: #101b27;
  --nba-soft: #132230;
  background:
    radial-gradient(900px 430px at 80% -180px, rgba(88,188,187,.13), transparent 72%),
    radial-gradient(760px 360px at 0% 8%, rgba(99,116,190,.09), transparent 70%),
    linear-gradient(180deg,#0b141e 0%,#09111a 48%,#080e15 100%);
  color: #edf5fa;
}
body[data-page="hub"][data-sport="basketball"] .cd-page-header {
  background: linear-gradient(112deg,rgba(17,34,46,.98),rgba(12,23,33,.98) 67%,rgba(22,24,42,.98));
  border-color: #2c4b59;
  box-shadow: 0 16px 38px rgba(0,0,0,.19);
}
body[data-page="hub"][data-sport="basketball"] .cd-page-header h1,
body[data-page="hub"][data-sport="basketball"] .cd-panel-heading h2,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card h3,
body[data-page="hub"][data-sport="basketball"] .cd-header-aside strong,
body[data-page="hub"][data-sport="basketball"] .cd-aside-meta b { color:#f0f6fa; }
body[data-page="hub"][data-sport="basketball"] .cd-page-header p,
body[data-page="hub"][data-sport="basketball"] .cd-header-aside p,
body[data-page="hub"][data-sport="basketball"] .cd-panel-heading p,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card p,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card li,
body[data-page="hub"][data-sport="basketball"] .cd-aside-meta,
body[data-page="hub"][data-sport="basketball"] .cd-footer { color:#a0b2c0; }
body[data-page="hub"][data-sport="basketball"] .cd-eyebrow,
body[data-page="hub"][data-sport="basketball"] .cd-section-kicker,
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a span { color:#7edbd1; }
body[data-page="hub"][data-sport="basketball"] .cd-header-aside,
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric,
body[data-page="hub"][data-sport="basketball"] .cd-board-panel,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card {
  background:linear-gradient(145deg,#111e2b,#0d1722);
  border-color:#2a4051;
  box-shadow:0 12px 32px rgba(0,0,0,.16);
}
body[data-page="hub"][data-sport="basketball"] .cd-chip {
  background:#111d29;
  border-color:#2a4051;
  color:#c3d0da;
}
body[data-page="hub"][data-sport="basketball"] .cd-chip-primary {
  background:rgba(123,220,178,.08);
  border-color:rgba(123,220,178,.27);
  color:#a5eed0;
}
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric small,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric span { color:#9aabba; }
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric strong { color:#edf5fa; }
body[data-page="hub"][data-sport="basketball"] .cd-status {
  background:#142332;
  border-color:#304656;
  color:#b4c4d0;
}
body[data-page="hub"][data-sport="basketball"] .cd-status.ok {
  background:rgba(104,217,167,.1);
  border-color:rgba(104,217,167,.28);
  color:#8ce8bd;
}
body[data-page="hub"][data-sport="basketball"] .cd-status.warn {
  background:rgba(240,200,117,.1);
  border-color:rgba(240,200,117,.28);
  color:#f0d28e;
}
body[data-page="hub"][data-sport="basketball"] .game-card,
body[data-page="hub"][data-sport="basketball"] .nba-total-card,
body[data-page="hub"][data-sport="basketball"] .metric {
  background:linear-gradient(145deg,#132230,#0d1722);
  border-color:#2a4051;
  color:#edf5fa;
}
body[data-page="hub"][data-sport="basketball"] .tag,
body[data-page="hub"][data-sport="basketball"] .team-mark,
body[data-page="hub"][data-sport="basketball"] .nba-total-values>div {
  background:#182a39;
  border-color:#304656;
  color:#c3d0da;
}
body[data-page="hub"][data-sport="basketball"] .tag.live {
  background:rgba(104,217,167,.12);
  color:#8ce8bd;
}
body[data-page="hub"][data-sport="basketball"] .tag.final {
  background:rgba(126,219,209,.1);
  color:#9be8e1;
}
body[data-page="hub"][data-sport="basketball"] .team,
body[data-page="hub"][data-sport="basketball"] .scoreline,
body[data-page="hub"][data-sport="basketball"] .score,
body[data-page="hub"][data-sport="basketball"] .game-bottom strong,
body[data-page="hub"][data-sport="basketball"] .nba-total-match strong,
body[data-page="hub"][data-sport="basketball"] .metric strong { color:#edf5fa; }
body[data-page="hub"][data-sport="basketball"] .game-time,
body[data-page="hub"][data-sport="basketball"] .game-bottom small,
body[data-page="hub"][data-sport="basketball"] .fineprint,
body[data-page="hub"][data-sport="basketball"] .muted,
body[data-page="hub"][data-sport="basketball"] .dash,
body[data-page="hub"][data-sport="basketball"] .nba-total-match small,
body[data-page="hub"][data-sport="basketball"] .nba-total-values small,
body[data-page="hub"][data-sport="basketball"] .metric small,
body[data-page="hub"][data-sport="basketball"] .metric span { color:#9aabba; }
body[data-page="hub"][data-sport="basketball"] .game-bottom,
body[data-page="hub"][data-sport="basketball"] .results-table-wrap,
body[data-page="hub"][data-sport="basketball"] .audit-note { border-color:#2a4051; }
body[data-page="hub"][data-sport="basketball"] .results-table { background:#0e1924; }
body[data-page="hub"][data-sport="basketball"] .results-table th {
  background:#142332;
  color:#a0b2c0;
  border-color:#2a4051;
}
body[data-page="hub"][data-sport="basketball"] .results-table td {
  background:#0e1924;
  color:#d4e0e8;
  border-color:#263b4b;
}
body[data-page="hub"][data-sport="basketball"] .results-table td small { color:#9aabba; }
body[data-page="hub"][data-sport="basketball"] .final-score { color:#edf5fa!important; }
body[data-page="hub"][data-sport="basketball"] .audit-note {
  background:#111e2b;
  color:#a0b2c0;
}
body[data-page="hub"][data-sport="basketball"] .cd-footer { border-color:#2a4051; }
body[data-page="hub"][data-sport="basketball"] .cd-empty-state,
body[data-page="hub"][data-sport="basketball"] .empty-state {
  background:#101c28;
  border-color:#304656;
  color:#a0b2c0;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices,
body[data-page="hub"][data-sport="basketball"] .nba-total-prices b { color:#edf5fa; }
body[data-page="hub"][data-sport="basketball"] .nba-total-prices .nba-price-missing {
  background:rgba(240,200,117,.1);
  border-color:rgba(240,200,117,.28);
  color:#f0d28e;
}
body[data-page="hub"][data-sport="basketball"] :focus-visible {
  outline-color:#7edbd1;
}


/* MATCH-SIGNAL-BASKETBALL-DARK-V2 — enforce shared terminal surfaces even if older
   component rules are present earlier in the stylesheet. */
body[data-page="hub"][data-sport="basketball"] {
  background-color:#09111a !important;
  color:#edf5fa !important;
}
body[data-page="hub"][data-sport="basketball"] .cd-shell,
body[data-page="hub"][data-sport="basketball"] .cd-main-column,
body[data-page="hub"][data-sport="basketball"] .cd-side-column { color:#edf5fa; }
body[data-page="hub"][data-sport="basketball"] .cd-page-header,
body[data-page="hub"][data-sport="basketball"] .cd-header-aside,
body[data-page="hub"][data-sport="basketball"] .cd-board-panel,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric {
  background-color:#101b27 !important;
  color:#edf5fa !important;
  border-color:#2a4051 !important;
}
body[data-page="hub"][data-sport="basketball"] .cd-page-header {
  background-image:linear-gradient(112deg,rgba(17,34,46,.98),rgba(12,23,33,.98) 67%,rgba(22,24,42,.98)) !important;
}
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a,
body[data-page="hub"][data-sport="basketball"] .cd-chip,
body[data-page="hub"][data-sport="basketball"] .game-card,
body[data-page="hub"][data-sport="basketball"] .nba-total-card,
body[data-page="hub"][data-sport="basketball"] .nba-total-values>div,
body[data-page="hub"][data-sport="basketball"] .results-table,
body[data-page="hub"][data-sport="basketball"] .results-table td,
body[data-page="hub"][data-sport="basketball"] .results-table th,
body[data-page="hub"][data-sport="basketball"] .audit-note,
body[data-page="hub"][data-sport="basketball"] .cd-empty-state,
body[data-page="hub"][data-sport="basketball"] .empty-state {
  background-color:#111e2b !important;
  color:#d4e0e8 !important;
  border-color:#2a4051 !important;
}
body[data-page="hub"][data-sport="basketball"] h1,
body[data-page="hub"][data-sport="basketball"] h2,
body[data-page="hub"][data-sport="basketball"] h3,
body[data-page="hub"][data-sport="basketball"] .team,
body[data-page="hub"][data-sport="basketball"] .score,
body[data-page="hub"][data-sport="basketball"] .scoreline,
body[data-page="hub"][data-sport="basketball"] .game-bottom strong,
body[data-page="hub"][data-sport="basketball"] .nba-total-match strong,
body[data-page="hub"][data-sport="basketball"] .nba-total-prices,
body[data-page="hub"][data-sport="basketball"] .nba-total-prices b,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric strong {
  color:#edf5fa !important;
}
body[data-page="hub"][data-sport="basketball"] .cd-page-header p,
body[data-page="hub"][data-sport="basketball"] .cd-panel-heading p,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card p,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card li,
body[data-page="hub"][data-sport="basketball"] .cd-aside-meta,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric small,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric span,
body[data-page="hub"][data-sport="basketball"] .game-time,
body[data-page="hub"][data-sport="basketball"] .fineprint,
body[data-page="hub"][data-sport="basketball"] .nba-total-match small {
  color:#9aabba !important;
}


/* MATCH-SIGNAL-BASKETBALL-DARK-V3 — cache-busted production safety net.
   Match the shared dark analytics terminal across every Basketball surface. */
html:has(body[data-page="hub"][data-sport="basketball"]),
body[data-page="hub"][data-sport="basketball"] {
  background:#090f16 !important;
  background-color:#090f16 !important;
  color:#edf5fa !important;
  color-scheme:dark;
}
body[data-page="hub"][data-sport="basketball"] .cd-page-header,
body[data-page="hub"][data-sport="basketball"] .cd-header-aside,
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric,
body[data-page="hub"][data-sport="basketball"] .cd-board-panel,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card,
body[data-page="hub"][data-sport="basketball"] .game-card,
body[data-page="hub"][data-sport="basketball"] .nba-total-card,
body[data-page="hub"][data-sport="basketball"] .nba-total-values>div,
body[data-page="hub"][data-sport="basketball"] .metric,
body[data-page="hub"][data-sport="basketball"] .results-table,
body[data-page="hub"][data-sport="basketball"] .results-table th,
body[data-page="hub"][data-sport="basketball"] .results-table td,
body[data-page="hub"][data-sport="basketball"] .audit-note,
body[data-page="hub"][data-sport="basketball"] .empty-state,
body[data-page="hub"][data-sport="basketball"] .cd-empty-state {
  background:#101b27 !important;
  background-color:#101b27 !important;
  border-color:#2a4051 !important;
  color:#d4e0e8 !important;
  box-shadow:none;
}
body[data-page="hub"][data-sport="basketball"] .cd-page-header {
  background-image:linear-gradient(112deg,#12222e,#0c1721 68%,#171827) !important;
}
body[data-page="hub"][data-sport="basketball"] h1,
body[data-page="hub"][data-sport="basketball"] h2,
body[data-page="hub"][data-sport="basketball"] h3,
body[data-page="hub"][data-sport="basketball"] .cd-header-aside strong,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric strong,
body[data-page="hub"][data-sport="basketball"] .team,
body[data-page="hub"][data-sport="basketball"] .scoreline,
body[data-page="hub"][data-sport="basketball"] .score,
body[data-page="hub"][data-sport="basketball"] .game-bottom strong,
body[data-page="hub"][data-sport="basketball"] .nba-total-match strong,
body[data-page="hub"][data-sport="basketball"] .nba-total-values strong,
body[data-page="hub"][data-sport="basketball"] .final-score {
  color:#edf5fa !important;
}
body[data-page="hub"][data-sport="basketball"] p,
body[data-page="hub"][data-sport="basketball"] li,
body[data-page="hub"][data-sport="basketball"] small,
body[data-page="hub"][data-sport="basketball"] .game-time,
body[data-page="hub"][data-sport="basketball"] .fineprint,
body[data-page="hub"][data-sport="basketball"] .cd-footer {
  color:#9aabba;
}
body[data-page="hub"][data-sport="basketball"] .cd-eyebrow,
body[data-page="hub"][data-sport="basketball"] .cd-section-kicker,
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a span {
  color:#7edbd1 !important;
}


/* MATCH-SIGNAL-BASKETBALL-READABILITY-FIX-2026-10-23
   Final overrides: prevent legacy light-surface rules from producing white cards
   and maintain readable contrast across totals, live, results, and empty states. */
body[data-page="hub"][data-sport="basketball"] .nba-total-card,
body[data-page="hub"][data-sport="basketball"] .nba-total-values > div,
body[data-page="hub"][data-sport="basketball"] .nba-total-prices,
body[data-page="hub"][data-sport="basketball"] .game-card,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card,
body[data-page="hub"][data-sport="basketball"] .cd-board-panel,
body[data-page="hub"][data-sport="basketball"] .cd-header-aside,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric,
body[data-page="hub"][data-sport="basketball"] .cd-section-nav a,
body[data-page="hub"][data-sport="basketball"] .cd-chip,
body[data-page="hub"][data-sport="basketball"] .results-table-wrap,
body[data-page="hub"][data-sport="basketball"] .results-table,
body[data-page="hub"][data-sport="basketball"] .results-table th,
body[data-page="hub"][data-sport="basketball"] .results-table td {
  background-color:#101b27 !important;
  color:#dce7ef !important;
  border-color:#2b4051 !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-card {
  background-image:linear-gradient(145deg,#132231,#101923) !important;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
body[data-page="hub"][data-sport="basketball"] .nba-total-values > div {
  background:#0c1722 !important;
  border-radius:9px;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-card strong,
body[data-page="hub"][data-sport="basketball"] .nba-total-card b,
body[data-page="hub"][data-sport="basketball"] .nba-total-values strong,
body[data-page="hub"][data-sport="basketball"] .game-card strong,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card h3,
body[data-page="hub"][data-sport="basketball"] .cd-metric-grid .ms-metric strong {
  color:#f0f6fb !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-card small,
body[data-page="hub"][data-sport="basketball"] .nba-total-card .fineprint,
body[data-page="hub"][data-sport="basketball"] .nba-total-values span,
body[data-page="hub"][data-sport="basketball"] .nba-total-match small,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card p,
body[data-page="hub"][data-sport="basketball"] .cd-rail-card li,
body[data-page="hub"][data-sport="basketball"] .cd-panel-heading p {
  color:#aabac8 !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-price-missing {
  display:block;
  padding:9px 10px;
  margin-top:8px;
  border:1px solid #665333 !important;
  border-radius:8px;
  background:#2b2418 !important;
  color:#f1d79b !important;
  line-height:1.5;
}
body[data-page="hub"][data-sport="basketball"] .nba-lean {
  display:block;
  color:#b8c9d5 !important;
  margin-bottom:7px;
  line-height:1.5;
}
body[data-page="hub"][data-sport="basketball"] .cd-status.ok {
  background:#12362f !important;
  border-color:#276553 !important;
  color:#9ce5c7 !important;
}
body[data-page="hub"][data-sport="basketball"] .cd-status.warn {
  background:#3a2b17 !important;
  border-color:#6b512a !important;
  color:#f0d28e !important;
}

/* MATCH-SIGNAL-BASKETBALL-LEAN-ODDS-CONTRAST-V1
   Explicitly override global/legacy typography on the exact projection lean and price pills. */
body[data-page="hub"][data-sport="basketball"] .nba-total-prices {
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  background:transparent !important;
  color:#eaf2f8 !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices > span,
body[data-page="hub"][data-sport="basketball"] .nba-total-prices > span.nba-lean {
  display:inline-flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  background:#172b3b !important;
  background-color:#172b3b !important;
  color:#eaf2f8 !important;
  border:1px solid #385468 !important;
  border-radius:8px !important;
  padding:9px 11px !important;
  font-size:12px !important;
  line-height:1.55 !important;
  opacity:1 !important;
  text-shadow:none !important;
  -webkit-text-fill-color:#eaf2f8 !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices > span.nba-lean {
  display:block !important;
  flex-basis:100% !important;
  background:#152b38 !important;
  background-color:#152b38 !important;
  color:#c5d7e4 !important;
  border-color:#3b5b6d !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices > span.nba-lean b,
body[data-page="hub"][data-sport="basketball"] .nba-total-prices > span b {
  color:#f4fbff !important;
  font-weight:900 !important;
  -webkit-text-fill-color:#f4fbff !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices > span:not(.nba-lean) {
  background:#12352f !important;
  background-color:#12352f !important;
  color:#c8f3df !important;
  border-color:#28604f !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices > span:not(.nba-lean) b {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices .nba-price-missing {
  display:block !important;
  flex-basis:100% !important;
  background:#3a2d19 !important;
  background-color:#3a2d19 !important;
  color:#ffe4ad !important;
  border-color:#80663b !important;
  -webkit-text-fill-color:#ffe4ad !important;
}



/* Totals comprehension + four independent basketball builders */
body[data-page="hub"][data-sport="basketball"] .nba-read-guide{margin:14px 0 18px;padding:18px 20px;border:1px solid #c9dfd9;border-left:4px solid #2f7d6d;border-radius:12px;background:#f3faf7;color:#203a43}
body[data-page="hub"][data-sport="basketball"] .nba-read-guide>strong{display:block;font-size:16px;color:#183c3a;margin-bottom:7px}
body[data-page="hub"][data-sport="basketball"] .nba-read-guide p{font-size:13px;line-height:1.65;color:#405b63;margin:7px 0}
body[data-page="hub"][data-sport="basketball"] .nba-guide-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}
body[data-page="hub"][data-sport="basketball"] .nba-guide-legend span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#36505a}
body[data-page="hub"][data-sport="basketball"] .nba-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
body[data-page="hub"][data-sport="basketball"] .nba-dot-green{background:#198754}
body[data-page="hub"][data-sport="basketball"] .nba-dot-blue{background:#2876c7}
body[data-page="hub"][data-sport="basketball"] .nba-dot-grey{background:#84939a}
body[data-page="hub"][data-sport="basketball"] .nba-total-card{display:grid;gap:12px}
body[data-page="hub"][data-sport="basketball"] .nba-total-values{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-page="hub"][data-sport="basketball"] .nba-total-prices{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-card{min-width:0;border:1px solid #d5e0e4;border-radius:12px;background:#fff;padding:15px;box-shadow:0 2px 8px #20394408}
body[data-page="hub"][data-sport="basketball"] .nba-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid #e7edef;padding-bottom:10px;margin-bottom:10px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-head h3{margin:0;color:#18313d;font-size:16px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-head p{font-size:11px;color:#617580;line-height:1.45;margin:4px 0 0}
body[data-page="hub"][data-sport="basketball"] .nba-builder-count{font-size:10px;font-weight:900;border-radius:99px;background:#e7f2ef;color:#206352;padding:5px 8px;white-space:nowrap}
body[data-page="hub"][data-sport="basketball"] .nba-builder-legs{display:grid;gap:7px;min-height:44px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-empty{padding:12px;border:1px dashed #cbd8dd;border-radius:8px;color:#6a7d85;font-size:12px;text-align:center}
body[data-page="hub"][data-sport="basketball"] .nba-builder-leg{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;background:#f5f8f9;border:1px solid #e0e8eb;border-radius:8px;padding:9px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-leg strong{display:block;color:#263f49;font-size:12px;line-height:1.4}
body[data-page="hub"][data-sport="basketball"] .nba-builder-leg small{display:block;color:#617780;font-size:10px;margin-top:3px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
body[data-page="hub"][data-sport="basketball"] .nba-builder-actions button,body[data-page="hub"][data-sport="basketball"] .nba-total-add button{appearance:none;border:1px solid #b9d2cc;border-radius:8px;padding:8px 10px;background:#edf7f4;color:#175e4f;font-size:11px;font-weight:900;cursor:pointer}
body[data-page="hub"][data-sport="basketball"] .nba-builder-actions button.primary{background:#176b5b;border-color:#176b5b;color:#fff}
body[data-page="hub"][data-sport="basketball"] .nba-builder-actions button.remove,body[data-page="hub"][data-sport="basketball"] .nba-builder-leg button{background:#fff;border-color:#d5dfe3;color:#596f78}
body[data-page="hub"][data-sport="basketball"] .nba-builder-actions button:disabled{opacity:.45;cursor:not-allowed}
body[data-page="hub"][data-sport="basketball"] .nba-total-add{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px}
body[data-page="hub"][data-sport="basketball"] .nba-total-add label{font-size:11px;font-weight:800;color:#405a64}
body[data-page="hub"][data-sport="basketball"] .nba-total-add select{max-width:125px;border:1px solid #cbd8dd;border-radius:7px;background:#fff;color:#243e48;padding:7px;font-size:11px}
body[data-page="hub"][data-sport="basketball"] .nba-total-add button.over{background:#edf7f0;border-color:#c7e2ce;color:#17663b}
body[data-page="hub"][data-sport="basketball"] .nba-total-add button.under{background:#edf4fb;border-color:#c7d9ed;color:#205f9d}
body[data-page="hub"][data-sport="basketball"] .nba-booking-result{margin-top:10px;border:1px solid #bbd9ce;border-radius:9px;background:#f0faf5;padding:11px;color:#1f4c3c;font-size:12px;overflow-wrap:anywhere}
body[data-page="hub"][data-sport="basketball"] .nba-booking-result a{color:#145d4b;font-weight:900}
body[data-page="hub"][data-sport="basketball"] .nba-builder-warning{margin-top:9px;font-size:11px;line-height:1.5;color:#785b25}
@media(max-width:760px){body[data-page="hub"][data-sport="basketball"] .nba-builder-grid{grid-template-columns:1fr}body[data-page="hub"][data-sport="basketball"] .nba-read-guide{padding:14px}body[data-page="hub"][data-sport="basketball"] .nba-total-values{grid-template-columns:1fr}}


/* MATCH-SIGNAL-BASKETBALL-BUILDER-DARK-V1 — keep the entire four-slip workspace
   on the same dark terminal palette as the rest of the basketball desk. */
body[data-page="hub"][data-sport="basketball"] #basketball-builders,
body[data-page="hub"][data-sport="basketball"] #basketball-builders .cd-board-panel,
body[data-page="hub"][data-sport="basketball"] #basketballBuilderWorkspace,
body[data-page="hub"][data-sport="basketball"] .nba-builder-grid,
body[data-page="hub"][data-sport="basketball"] .nba-builder-card {
  background:#101b27 !important;
  color:#eaf2f8 !important;
  border-color:#2a4051 !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-builder-card {
  background:linear-gradient(145deg,#132231,#0e1822) !important;
  border:1px solid #304657 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-builder-head { border-color:#2a4051 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-head h3,
body[data-page="hub"][data-sport="basketball"] .nba-builder-leg strong,
body[data-page="hub"][data-sport="basketball"] .nba-builder-count,
body[data-page="hub"][data-sport="basketball"] .nba-builder-card label { color:#edf5fa !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-head p,
body[data-page="hub"][data-sport="basketball"] .nba-builder-leg small { color:#a7bac8 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-count { background:#163b36 !important; border:1px solid #286454 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-leg { background:#0c1722 !important; border-color:#2a4051 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-empty { background:#0c1722 !important; border-color:#385064 !important; color:#a7bac8 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-actions button,
body[data-page="hub"][data-sport="basketball"] .nba-builder-leg button,
body[data-page="hub"][data-sport="basketball"] .nba-builder-error button {
  background:#172b3b !important; color:#eaf2f8 !important; border-color:#385468 !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-builder-actions button.primary {
  background:#176b5b !important; color:#fff !important; border-color:#2c8c78 !important;
}
body[data-page="hub"][data-sport="basketball"] .nba-booking-result { background:#102d27 !important; color:#d9f6e9 !important; border-color:#286454 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-booking-result strong,
body[data-page="hub"][data-sport="basketball"] .nba-booking-result p { color:#d9f6e9 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-booking-result a { color:#8de0c2 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-warning,
body[data-page="hub"][data-sport="basketball"] .nba-builder-error { color:#ffdb94 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-error { margin-top:10px; padding:11px; border:1px solid #805e31 !important; border-radius:9px; background:#342817 !important; }
body[data-page="hub"][data-sport="basketball"] .nba-builder-error p { color:#ffdb94 !important; margin:6px 0; overflow-wrap:anywhere; }
