/* Terminal theme layer: loaded only with the dark theme, after sport-bundle-dark.css.
   Neutral chrome, colour reserved for data, dense rows, tabular numbers, sticky headers. */
:root{--radius:8px;--ink:#ececee;--muted:#a1a1aa;--line:#2a2a2f;--canvas:#111113;--surface:#17171a;--raise:#1f1f23;--accent:#e4e4e7;
  font-family:var(--font-text);font-size:15px}
body{background:var(--canvas);line-height:1.4;font-variant-numeric:tabular-nums}
h1{font-size:24px;letter-spacing:-.3px}h2{font-size:17px;letter-spacing:-.1px}h3{font-size:15px}
p{margin-bottom:10px}

/* Chrome: neutral header and navigation, no brand gradients. */
.app-header{background:#0c0c0e;border-bottom:1px solid var(--line);color:var(--ink)}
.header-inner{min-height:56px;padding:8px 18px}
.brand{font-size:19px;letter-spacing:-.2px}
.bottom-nav{background:#0c0c0e;border-top:1px solid var(--line)}
.bottom-nav a{min-height:46px;font-size:12px}
.bottom-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}

/* Controls stay grey; colour belongs to the numbers. */
button,.button{min-height:38px;padding:7px 14px;border-radius:6px;background:var(--raise);border-color:#34343a;color:var(--ink);font-weight:600}
.button:hover,button:hover:not(:disabled){filter:none;background:#26262b;border-color:#45454d}
.secondary{background:transparent;border-color:#34343a;color:var(--ink)}
input,select{min-height:38px;padding:7px 10px;border-radius:6px;background:var(--surface)}
a{color:#d4d4d8;text-decoration:underline;text-decoration-color:#52525b;text-underline-offset:2px}
a.button,.bottom-nav a,.brand,nav a,.segmented a,.match-tabs a,.fixture-row,.home-quick-card,.admin-hub-card{text-decoration:none}
a:hover{text-decoration-color:currentColor}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #fafafa;outline-offset:2px}
.segmented a[aria-current],.segmented a[aria-pressed="true"],.match-tabs a[aria-current]{background:#3a3a41;color:#fafafa;border-color:#52525b}

/* Surfaces: flat, thin borders, tighter padding. */
.compare-card,.panel,.player-card{background:var(--surface);border-color:var(--line);border-radius:var(--radius);box-shadow:none}
.panel{padding:14px 16px}
.panel h2{margin-bottom:10px}
.fixture-row,.alert-row-item,.signal-event,.home-quick-card,.admin-hub-card,.admin-kpi-card,.pro-tool-tile{border-radius:6px;box-shadow:none}
.fixture-row{padding-top:8px;padding-bottom:8px}
.fixture-row:hover{border-color:#52525b;box-shadow:none}
.notice{border-radius:6px}

/* Tables: dense rows, right-aligned numbers, headers stay visible while scrolling. */
table{font-variant-numeric:tabular-nums}
.league-stats-table th,.league-stats-table td,.odds-table th,.odds-table td{padding:6px 8px}
.league-stats-table thead th,.odds-table thead th,.terminal-table thead th{position:sticky;top:0;z-index:2;background:#1f1f23;box-shadow:inset 0 -1px 0 var(--line)}
.league-stats-table tbody tr:nth-child(even),.odds-table tbody tr:nth-child(even){background:#141417}
.league-stats-table tbody tr:hover,.odds-table tbody tr:hover{background:#1f1f23}
.odds-scroll,.league-stats-panel .table-scroll{max-height:70vh;overflow:auto}

/* Collapsible filter panels used by Scanner and Home. */
details.filter-panel{border:1px solid var(--line);border-radius:6px;background:var(--surface);margin:0 0 12px}
details.filter-panel>summary{cursor:pointer;padding:9px 12px;font-weight:600;list-style:none}
details.filter-panel>summary::-webkit-details-marker{display:none}
details.filter-panel>summary::after{content:"+";float:right;color:var(--muted)}
details.filter-panel[open]>summary::after{content:"−"}
details.filter-panel>.filter-panel-body{padding:4px 12px 12px}

@media (max-width:640px){
  .header-inner{padding:8px 14px}
  .panel{padding:12px}
  h1{font-size:21px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.league-stats-table-wrap{max-height:75vh;overflow:auto}
.home-hero{padding:14px 16px}
.home-hero-title{font-size:20px;margin-bottom:4px}
.home-hero-sub{font-size:13px;color:var(--muted);margin-bottom:10px}
.kpi-card{padding:10px 12px;border-radius:6px;box-shadow:none}
.kpi-val{font-size:22px}
.home-action-bar a{min-height:34px;padding:6px 12px;border-radius:6px}
.alert-match-preview li{border-color:var(--line);background:#141417}
.alert-match-preview .amp-market{color:#d4d4d8}
.signal-filters>summary .af-edit{color:var(--ink);text-decoration:underline;text-decoration-color:#52525b}
.league-stats-table th.th-sorted{background:#2a2a2f;color:#fafafa}
.league-stats-table td.td-sorted{background-color:rgba(255,255,255,.035)}
.match-plan-pill{background:transparent}
.edge-anomaly-note{color:var(--muted)}
h1,h2,.page-heading h2,.home-hero-title,.alert-section-title{font-family:var(--font-data);letter-spacing:0}
/* Selected filters are neutral: colour stays on the numbers. */
.metric-chips a[aria-current],.quick-filter-pills a[aria-current],.sort-chip.active,.density-chip.active{background:#3a3a41;border-color:#5a5a63;color:#fafafa}
.estimate-chain .ec-value strong{color:var(--emerald)}
.estimate-chain .ec-anomaly{border-color:#52525b;color:var(--muted)}
.terminal-table-wrap{background:var(--surface);border-color:var(--line)}
.terminal-table th{background:#1f1f23;color:var(--muted);box-shadow:inset 0 -1px 0 var(--line);border-bottom:0}
.terminal-table td{border-bottom-color:#232327}
.terminal-table tbody tr:nth-child(even) td{background:#141417}
.terminal-table tbody tr:hover td{background:#1f1f23}
.league-stats-table thead th{z-index:3}
.league-stats-table thead th.th-league{left:0;z-index:4;background:#1f1f23}
.league-stats-table td.league-col{z-index:1;background:var(--surface)}
.scanner-table-head{background:#1f1f23;border-color:var(--line)}
.home-pick-list{background:var(--surface)}
.home-pick-link:hover{background:#1f1f23}
.cal-expected{background:#52525b}.cal-observed{background:var(--emerald)}.rel-hit{color:var(--emerald)}.rel-miss{color:var(--red)}
.calendar-controls{background:var(--canvas);border-bottom-color:var(--line)}
.notfound-page{max-width:640px;margin:32px auto;padding:0 16px}
.notfound-panel h1{margin-bottom:8px}
.notfound-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chip-radio input:checked+span{background:#3a3a41;border-color:#5a5a63;color:#fafafa}
.inline-help>p{background:#1f1f23;color:var(--ink);border:1px solid #34343a;box-shadow:0 12px 32px rgba(0,0,0,.45)}
.form-popup{background:#1f1f23;color:var(--ink);border-color:#34343a;box-shadow:0 12px 32px rgba(0,0,0,.45);font-size:13px;line-height:1.4}
.player-card[open]>summary{border-bottom-color:var(--line)}

/* Solid green buttons keep white text readable on the dark theme (the accent green is for text). */
.plan-upgrade-btn,.btn-pro-activate,.pro-ribbon,.btn-auth-submit{background:#047857;border-color:#047857;color:#fff}
/* Accent text tones for the dark theme: the light theme uses darker shades for contrast on white. */
:root{--emerald-400:#34d399;--rose-400:#fb7185;--amber-400:#fbbf24;--cyan-400:#38bdf8}
