/* ══════════════════════════════════════════════════════════════
   SECTION 1: CSS — base theme (v0.5.0 origin) · v1.0.0 additions appended below
   Inherits v0.4.x dark theme. Adds: status pill palette,
   accordion step states, banner styling, FORCED pill,
   validation tick/cross, locked overlay, team-row highlight.
   ══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{--bg0:#08080a;--bg1:#0f0f14;--bg2:#16161e;--bg3:#1c1c26;--bg4:#22222e;--bg5:#2a2a38;--line:rgba(255,255,255,0.06);--line2:rgba(255,255,255,0.11);--line3:rgba(255,255,255,0.18);--accent:#2ecc71;--gold:#f0c040;--teal:#00d4aa;--blue:#4a9eff;--green:#4cde80;--red:#ff4d55;--amber:#ffb830;--purple:#a78bfa;--sg-red:#e8232a;--text:rgba(255,255,255,0.90);--text2:rgba(255,255,255,0.60);--text3:rgba(255,255,255,0.35);--font-head:'Rajdhani',sans-serif;--font-mono:'JetBrains Mono',monospace}
body{background:var(--bg0);color:var(--text);font-family:var(--font-head);font-size:15px;min-height:100vh}
input,select,textarea{font-family:var(--font-mono);font-size:13px;background:var(--bg3);color:var(--text);border:1px solid var(--line2);border-radius:3px;padding:3px 6px;outline:none}
input:focus,select:focus{border-color:var(--teal)}input[type=date]{color-scheme:dark}input[type=number]{width:70px}
input[disabled],select[disabled],button[disabled],input[type=checkbox][disabled]{opacity:0.55;cursor:not-allowed}
button{font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:1px;cursor:pointer;border:1px solid var(--line2);background:var(--bg3);color:var(--text2);border-radius:4px;padding:6px 14px;transition:all 0.15s}
button:hover:not([disabled]){background:var(--bg4);color:var(--text);border-color:var(--line3)}
button.primary{background:rgba(0,212,170,0.15);color:var(--teal);border-color:rgba(0,212,170,0.4)}
button.danger{background:rgba(255,77,85,0.15);color:var(--red);border-color:rgba(255,77,85,0.3)}
button.warn{background:rgba(255,184,48,0.15);color:var(--amber);border-color:rgba(255,184,48,0.3)}
button.big{padding:10px 22px;font-size:14px}
.app{display:flex;flex-direction:column;min-height:100vh}
.sticky-header{position:sticky;top:0;z-index:100}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background:var(--bg1);border-bottom:1px solid var(--line2)}
.topbar-left{display:flex;align-items:center;gap:20px}
.logo-main{font-size:26px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--sg-red)}
.logo-sub{font-size:10px;letter-spacing:3px;color:var(--text2);text-transform:uppercase;font-family:var(--font-mono)}
.topbar-event{display:flex;align-items:center;gap:14px}
.cur-evt{display:flex;flex-direction:column;align-items:flex-end}
.cur-evt-label{font-size:9px;letter-spacing:2px;color:var(--text3);text-transform:uppercase;font-family:var(--font-mono)}
.cur-evt-name{font-size:14px;font-weight:600;color:var(--text);letter-spacing:1px}
.status-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border-radius:4px;font-family:var(--font-mono);border:1px solid}
.status-pill.scheduled{background:rgba(255,255,255,0.05);color:var(--text2);border-color:var(--line2)}
.status-pill.open{background:rgba(255,184,48,0.15);color:var(--amber);border-color:rgba(255,184,48,0.4)}
.status-pill.submitted{background:rgba(74,158,255,0.15);color:var(--blue);border-color:rgba(74,158,255,0.4)}
.status-pill.completed{background:rgba(76,222,128,0.15);color:var(--green);border-color:rgba(76,222,128,0.4)}
.status-pill.no-new-event{background:rgba(167,139,250,0.12);color:var(--purple);border-color:rgba(167,139,250,0.35)}
.logo-block{display:flex;flex-direction:column}
.version-tag{font-size:16px;font-weight:700;color:var(--teal);font-family:var(--font-mono);background:rgba(0,212,170,0.10);padding:6px 14px;border-radius:5px;border:1px solid rgba(0,212,170,0.35);letter-spacing:1.5px}
.nav{display:flex;gap:2px;padding:0 24px;background:var(--bg1);border-bottom:2px solid var(--line2);overflow-x:auto}
.nav-tab{font-size:12px;font-family:var(--font-head);letter-spacing:1.5px;font-weight:700;text-transform:uppercase;padding:9px 14px;cursor:pointer;color:rgba(255,255,255,0.75);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:all 0.15s}
.nav-tab:hover{color:var(--text)}.nav-tab.active{color:var(--teal);border-bottom-color:var(--teal)}
.nav-tab.disabled{color:var(--text3);cursor:not-allowed}
.nav-tab.disabled:hover{color:var(--text3)}
.content{padding:20px 24px;flex:1}.panel{display:none}.panel.active{display:block}
table{width:auto;border-collapse:collapse;min-width:400px}th,td{text-align:center}
th{font-family:var(--font-mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.65);padding:9px 12px;background:var(--bg2);border-bottom:1px solid var(--line2);white-space:nowrap;cursor:pointer;user-select:none}
td{padding:7px 12px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle;white-space:nowrap}
tr:hover td{background:var(--bg2)}td.left,th.left{text-align:left}
tr.team-row td{background:rgba(76,222,128,0.10) !important}
tr.team-row:hover td{background:rgba(76,222,128,0.15) !important}
tr.expandable{cursor:pointer}
tr.expandable:hover td{background:var(--bg3)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line2);border-radius:6px;margin-bottom:16px}
.panel-header{margin-bottom:18px}.panel-title{font-size:28px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.panel-accent{color:var(--accent)}
.panel-desc{font-size:13px;color:rgba(255,255,255,0.75);line-height:1.7;margin-top:8px;font-family:var(--font-mono);background:var(--bg2);border-left:3px solid var(--accent);padding:10px 14px;border-radius:0 4px 4px 0}
.pos{color:var(--green)}.neg{color:var(--red)}.mono{font-family:var(--font-mono)}
.pill{display:inline-flex;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:3px;font-family:var(--font-mono)}
.pill-green{background:rgba(76,222,128,0.15);color:var(--green);border:1px solid rgba(76,222,128,0.3)}
.pill-red{background:rgba(255,77,85,0.15);color:var(--red);border:1px solid rgba(255,77,85,0.3)}
.pill-amber{background:rgba(255,184,48,0.15);color:var(--amber);border:1px solid rgba(255,184,48,0.3)}
.pill-teal{background:rgba(0,212,170,0.15);color:var(--teal);border:1px solid rgba(0,212,170,0.3)}
.pill-forced{background:rgba(255,77,85,0.2);color:var(--red);border:1px solid rgba(255,77,85,0.5);padding:3px 8px}
.bcard-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}
.bcard{background:var(--bg2);border:1px solid var(--line2);border-radius:5px;padding:12px 16px}
.bcard-label{font-size:9px;letter-spacing:3px;color:var(--text3);text-transform:uppercase;font-family:var(--font-mono)}
.bcard-val{font-size:22px;font-weight:700;margin-top:4px;font-family:var(--font-mono)}
.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.toolbar label{font-size:10px;font-family:var(--font-mono);color:var(--text3);letter-spacing:1px;text-transform:uppercase}
.section-head{display:flex;align-items:center;gap:10px;margin:16px 0 10px}
.section-label{font-size:10px;font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--text3)}
.section-line{flex:1;height:1px;background:var(--line2)}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:1000;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:var(--bg2);border:1px solid var(--line2);border-radius:8px;padding:24px;min-width:320px;max-width:700px;max-height:80vh;overflow-y:auto}
.modal h3{font-size:16px;font-weight:700;margin-bottom:12px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
.alert{padding:10px 14px;border-radius:4px;font-size:12px;font-family:var(--font-mono);margin-bottom:10px}
.alert-warn{background:rgba(255,184,48,0.1);border:1px solid rgba(255,184,48,0.3);color:var(--amber)}
.alert-danger{background:rgba(255,77,85,0.1);border:1px solid rgba(255,77,85,0.3);color:var(--red)}
.alert-ok{background:rgba(76,222,128,0.1);border:1px solid rgba(76,222,128,0.3);color:var(--green)}
.alert-info{background:rgba(74,158,255,0.1);border:1px solid rgba(74,158,255,0.3);color:var(--blue)}
.drop-zone{border:2px dashed var(--line2);border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all 0.2s;margin-bottom:12px}
.drop-zone:hover,.drop-zone.dragover{border-color:var(--teal);background:rgba(0,212,170,0.04)}
.drop-zone input[type=file]{display:none}
.drop-zone .drop-label{font-size:13px;color:var(--text2);font-weight:600}
.drop-zone .drop-hint{font-size:10px;color:var(--text3);margin-top:4px;font-family:var(--font-mono)}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.team-card{background:var(--bg2);border:1px solid var(--line2);border-radius:6px;padding:14px;position:relative}
.team-card.removed{opacity:0.55;border-color:var(--red);background:rgba(255,77,85,0.04)}
.team-card.removed::after{content:'REMOVED';position:absolute;top:8px;right:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--red);font-weight:700}
.team-card .player-name{font-size:16px;font-weight:700;margin-bottom:4px}
.team-card .player-meta{font-size:11px;color:var(--text2);font-family:var(--font-mono);margin-bottom:8px}
.team-card .remove-row{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--text2);margin-bottom:8px}
.team-card .remove-row input[type=checkbox]{accent-color:var(--red);width:16px;height:16px}
.pill-gold{background:rgba(240,192,64,0.20);color:var(--gold);border:1px solid rgba(240,192,64,0.45)}
.pill.pill-green{background:rgba(76,222,128,0.18);color:var(--green);border:1px solid rgba(76,222,128,0.4)}
.pill.pill-red{background:rgba(255,77,85,0.18);color:var(--red);border:1px solid rgba(255,77,85,0.4)}
/* v0.6.0 Panel A — World Rankings collapsible sections */
.wr-snap-section{background:var(--bg2);border:1px solid var(--line2);border-radius:6px;margin-bottom:8px;overflow:hidden}
.wr-snap-header{padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;background:var(--bg2);user-select:none}
.wr-snap-header:hover{background:var(--bg3)}
.wr-snap-section.open .wr-snap-header{border-bottom:1px solid var(--line2);background:var(--bg3)}
.wr-chevron{color:var(--text3);font-size:11px;width:14px;display:inline-block}
.wr-meta{margin-left:auto;font-size:11px;color:var(--text3)}
.wr-snap-body{padding:8px 14px 14px}
.wr-tbl tr.band-1 td{background:rgba(240,192,64,0.07)}
.wr-tbl tr.band-2 td{background:rgba(255,184,48,0.06)}
.wr-tbl tr.band-3 td{background:rgba(0,212,170,0.06)}
.wr-tbl tr.band-4 td{background:rgba(74,158,255,0.06)}
.wr-tbl tr.band-5 td{background:rgba(167,139,250,0.06)}
.wr-tbl tr.band-1.team-row td,.wr-tbl tr.band-2.team-row td,.wr-tbl tr.band-3.team-row td,.wr-tbl tr.band-4.team-row td,.wr-tbl tr.band-5.team-row td,.wr-tbl tr.band-6.team-row td{background:rgba(76,222,128,0.18) !important;border-left:3px solid var(--green)}
/* v0.6.0 Panel B Event Results — tabs */
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--line2);overflow-x:auto;padding-bottom:0}
.tab{padding:8px 14px;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--text2);background:var(--bg2);border:1px solid var(--line2);border-bottom:none;border-radius:4px 4px 0 0;display:flex;flex-direction:column;align-items:flex-start;min-width:120px;white-space:nowrap}
.tab:hover{color:var(--text);background:var(--bg3)}
.tab.active{color:var(--teal);background:var(--bg3);border-bottom:3px solid var(--teal)}
.tab-name{font-weight:600;text-transform:uppercase}
.tab-season{font-size:10px;color:var(--text3)}
.event-info{padding:10px 14px;background:var(--bg2);border:1px solid var(--line2);border-left:3px solid var(--accent);border-radius:0 4px 4px 0;margin:10px 0;font-family:var(--font-mono);font-size:12px}
.res-tbl th{cursor:pointer;user-select:none}.res-tbl th:hover{background:var(--bg3)}
/* v0.6.0 Panel C My Teams */
.mt-section{background:var(--bg2);border:1px solid var(--line2);border-radius:6px;margin-bottom:8px;overflow:hidden}
.mt-header{padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;background:var(--bg2)}
.mt-header:hover{background:var(--bg3)}
.mt-section.open .mt-header{border-bottom:1px solid var(--line2);background:var(--bg3)}
.mt-meta{margin-left:auto;font-size:11px;color:var(--text3)}
.mt-body{padding:8px 14px 14px}
.mt-tbl{min-width:auto;width:100%;max-width:600px}
.mt-tbl td{text-align:left;padding:6px 12px}
.mt-tbl th{text-align:left;padding:8px 12px}
.mt-reps{margin-top:14px;padding:10px 14px;background:var(--bg3);border:1px solid var(--line);border-radius:4px}
.mt-reps-label{font-size:10px;letter-spacing:1.5px;color:var(--text3);text-transform:uppercase;font-family:var(--font-mono);margin-bottom:6px}
.mt-rep{font-family:var(--font-mono);font-size:12px;margin-bottom:4px}
/* v0.6.0 Team Selection Finalize side-by-side */
.finalize-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.finalize-head{font-size:11px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;font-family:var(--font-mono);margin-bottom:6px}
.finalize-tbl{width:100%;min-width:0}
.finalize-tbl td{text-align:left;padding:6px 10px}
.finalize-tbl th{text-align:left;padding:8px 10px}
.val-tick{color:var(--green);font-weight:700;text-align:center}
.val-cross{color:var(--red);font-weight:700;text-align:center}
@media (max-width:780px){.finalize-grid{grid-template-columns:1fr}}
.filter-input{font-size:12px;padding:4px 8px;min-width:160px}
.debug-pre{background:var(--bg3);border:1px solid var(--line2);border-radius:4px;padding:12px;font-family:var(--font-mono);font-size:11px;color:var(--text2);max-height:400px;overflow:auto;white-space:pre-wrap;word-break:break-all}
.evt-badge{display:inline-flex;font-size:10px;font-family:var(--font-mono);padding:1px 6px;border-radius:3px}
.evt-badge.sg{background:rgba(232,35,42,0.15);color:var(--sg-red);border:1px solid rgba(232,35,42,0.3)}
.evt-badge.reg{background:rgba(74,158,255,0.08);color:var(--blue);border:1px solid rgba(74,158,255,0.2)}
.nr-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:12px}
.nr-row .nr-name{color:var(--amber);min-width:170px}
.settings-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center;font-family:var(--font-mono);font-size:12px;max-width:500px}
.settings-grid label{color:var(--text2);text-align:right}
/* Accordion */
.acc-list{display:flex;flex-direction:column;gap:8px}
.acc-step{background:var(--bg2);border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.acc-step.disabled{opacity:0.45}
.acc-step.disabled .acc-summary{cursor:not-allowed}
.acc-step.completed{border-color:rgba(76,222,128,0.25)}
.acc-summary{padding:12px 16px;background:var(--bg2);cursor:pointer;display:flex;align-items:center;gap:12px;list-style:none;user-select:none}
.acc-summary::-webkit-details-marker{display:none}
.acc-step[open] .acc-summary{background:var(--bg3);border-bottom:1px solid var(--line2)}
.acc-num{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;color:var(--text3);background:var(--bg4);padding:3px 8px;border-radius:3px;text-transform:uppercase;flex-shrink:0}
.acc-step.completed .acc-num{background:rgba(76,222,128,0.2);color:var(--green)}
.acc-title{font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text);flex-shrink:0}
.acc-hint{flex:1;font-size:11px;color:var(--text3);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-tick{margin-left:auto;font-size:14px;color:var(--green);flex-shrink:0}
.acc-body{padding:16px}
/* Event banner above accordion */
.evt-banner{background:var(--bg2);border:1px solid var(--line2);border-left:4px solid var(--teal);border-radius:5px;padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-family:var(--font-mono);font-size:12px}
.evt-banner .evt-banner-left{display:flex;align-items:center;gap:14px}
.evt-banner.locked{border-left-color:var(--purple);opacity:0.85}
.evt-banner.frozen{border-left-color:var(--green)}
/* Step status counter */
.step-counter{display:flex;gap:14px;background:var(--bg3);border:1px solid var(--line2);border-radius:4px;padding:8px 14px;font-family:var(--font-mono);font-size:11px;margin-bottom:12px}
.step-counter .sc-item{color:var(--text2)}
.step-counter .sc-item strong{color:var(--text);margin-left:6px}
.step-counter .sc-warn{color:var(--amber)}
/* Validation block */
.validation-block{background:var(--bg3);border:1px solid var(--line2);border-radius:5px;padding:12px 16px;margin-bottom:14px}
.validation-row{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;padding:4px 0}
.val-tick{color:var(--green);font-weight:700;width:18px}
.val-cross{color:var(--red);font-weight:700;width:18px}
/* Replacement sub-block */
.rep-block{background:var(--bg2);border:1px solid var(--line2);border-radius:6px;padding:14px;margin-bottom:14px}
.rep-block.chosen{border-color:rgba(76,222,128,0.35)}
.rep-block-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rep-block-head .rep-type-pill{font-family:var(--font-mono);font-size:9px;letter-spacing:1.5px;padding:2px 8px;border-radius:3px}
.rep-block-head .rep-type-pill.forced{background:rgba(255,77,85,0.15);color:var(--red);border:1px solid rgba(255,77,85,0.3)}
.rep-block-head .rep-type-pill.discretionary{background:rgba(255,184,48,0.15);color:var(--amber);border:1px solid rgba(255,184,48,0.3)}
.chosen-row td{background:rgba(76,222,128,0.10) !important;font-weight:600}
/* Past event expand */
.past-evt-detail{background:var(--bg2);border:1px solid var(--line2);border-radius:5px;padding:14px;margin:6px 0 14px}

/* v0.6.1 Replacements candidate cards (grid replaces legacy column table) */
.cand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:10px;margin-top:8px}
.cand-card{padding:12px 14px}
.cand-card.chosen-card{border-color:var(--green);background:rgba(76,222,128,0.06)}

/* ══════════════════════════════════════════════════════════════
   SECTION: v1.0.0 — F1 row-based Panel A, metric card, status chain,
   step polish, Panel C grid, Admin tabs, graded-flag tones.
   ══════════════════════════════════════════════════════════════ */
/* Panel A — F1 row-based table */
.wr-toggle-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.wr-toggle-lbl{font-size:9px;letter-spacing:2px;color:var(--text3);font-family:var(--font-mono);text-transform:uppercase}
.wr-tg-pill{font-family:var(--font-mono);font-size:10px;padding:3px 9px;border-radius:4px;border:1px solid var(--line2);color:var(--teal);background:rgba(0,212,170,0.08);cursor:pointer;user-select:none}
.wr-tg-pill.off{color:var(--text3);background:transparent;text-decoration:line-through}
.wr-meta-line{font-family:var(--font-mono);font-size:11px;color:var(--text3);margin-bottom:8px}
.wr-rowtbl-wrap{max-height:74vh;overflow:auto}
.wr-rowtbl{width:auto;min-width:0;border-collapse:separate;border-spacing:0}
.wr-rowtbl th,.wr-rowtbl td{border-bottom:1px solid var(--line);white-space:nowrap}
.wr-rowtbl thead th{position:sticky;top:0;z-index:3;background:var(--bg2)}
.wr-name-col{position:sticky;left:0;text-align:left;background:var(--bg1);z-index:2;min-width:170px}
.wr-rowtbl thead th.wr-name-col{z-index:4}
.wr-snap-th{cursor:pointer;min-width:62px}
.wr-snap-th:hover{background:var(--bg3)}
.wr-snap-th.wr-sorted{color:var(--teal);background:var(--bg3)}
.wr-th-main{font-weight:700;min-height:14px}
.wr-th-main .wr-sort-arrow{margin-left:4px}
.wr-th-sub{font-size:8px;color:var(--text3);font-weight:400;text-transform:none;letter-spacing:0;min-height:10px}
.wr-sort-arrow{display:inline-block;min-width:10px;text-align:center;font-size:10px;color:var(--accent)}
.wr-rank-cell{font-family:var(--font-mono);font-size:12px;text-align:center;padding:2px 4px;white-space:nowrap}
.wr-rank-num{font-weight:600;display:inline-block;min-width:2.5ch;text-align:right}
.wr-delta-slot{display:inline-block;min-width:3.5ch;text-align:left;font-size:10px;margin-left:3px}
.wr-delta.pos{color:var(--green)}
.wr-delta.neg{color:var(--red)}
.wr-ytd-th{border-right:2px solid rgba(255,255,255,0.15)}
.wr-ytd-cell{border-right:2px solid rgba(255,255,255,0.15);font-weight:600}
.wr-ytd-off{background:rgba(255,255,255,0.02);color:var(--text3);cursor:default !important}
.wr-ytd-off:hover{background:rgba(255,255,255,0.02) !important}
.wr-rowtbl td.band-1{background:rgba(240,192,64,0.10)}
.wr-rowtbl td.band-2{background:rgba(255,184,48,0.08)}
.wr-rowtbl td.band-3{background:rgba(0,212,170,0.07)}
.wr-rowtbl td.band-4{background:rgba(74,158,255,0.07)}
.wr-rowtbl td.band-5{background:rgba(167,139,250,0.07)}
.wr-rowtbl tr:hover td{background:var(--bg3)}
.wr-rowtbl tr.team-row td{background:rgba(76,222,128,0.13)!important}
.wr-rowtbl tr.team-row td.wr-name-col{border-left:3px solid var(--green);color:var(--green);font-weight:600}
/* Shared metric card */
.mc-deltas{margin-top:10px}
.mc-sec-lbl{font-size:9px;letter-spacing:2px;color:var(--text3);text-transform:uppercase;font-family:var(--font-mono);margin-bottom:4px}
.mc-box-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.mc-box{background:var(--bg3);border:1px solid var(--line);border-radius:3px;padding:3px 2px;text-align:center;font-family:var(--font-mono)}
.mc-box-lbl{font-size:8px;color:var(--text3);letter-spacing:0.5px}
.mc-box-val{font-size:12px;font-weight:600;color:var(--text2)}
.mc-na .mc-box-val{color:var(--text3)}
.mc-green{background:rgba(76,222,128,0.12);border-color:rgba(76,222,128,0.3)}
.mc-green .mc-box-val{color:var(--green)}
.mc-red{background:rgba(255,77,85,0.12);border-color:rgba(255,77,85,0.3)}
.mc-red .mc-box-val{color:var(--red)}
.mc-grid{margin-top:8px;display:flex;flex-direction:column;gap:3px}
.mc-grid-row{display:grid;grid-template-columns:46px repeat(6,1fr);gap:3px;align-items:stretch}
.mc-grid-yr{font-family:var(--font-mono);font-size:10px;color:var(--text3);text-align:right;padding-right:4px;align-self:center}
.mc-cell{background:var(--bg3);border:1px solid var(--line);border-radius:3px;padding:3px 2px;text-align:center;font-size:11px;min-height:22px;display:flex;align-items:center;justify-content:center}
.mc-grid-head .mc-cell{background:transparent;border:none;font-size:8px;color:var(--text3);font-family:var(--font-mono);letter-spacing:1px}
.mc-cell.mc-cur{outline:1px solid var(--teal);background:rgba(0,212,170,0.06)}
.mc-grid-head .mc-cell.mc-cur{outline:none;color:var(--teal);font-weight:700}
.mc-dnp{color:var(--text3)}
/* F1 status pill chain */
.status-chain{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.chain-label{font-size:10px;letter-spacing:2px;color:var(--text3);font-family:var(--font-mono);text-transform:uppercase}
.chain-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.chain-pill{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;border-radius:4px;border:1px solid var(--line2);color:var(--text3);background:transparent}
.chain-arrow{color:var(--text3);font-size:11px}
.chain-pill.chain-on.no-new-event{background:rgba(167,139,250,0.15);color:var(--purple);border-color:var(--purple)}
.chain-pill.chain-on.scheduled{background:rgba(255,255,255,0.10);color:var(--text);border-color:var(--line3)}
.chain-pill.chain-on.open{background:rgba(255,184,48,0.18);color:var(--amber);border-color:var(--amber)}
.chain-pill.chain-on.submitted{background:rgba(74,158,255,0.18);color:var(--blue);border-color:var(--blue)}
.chain-pill.chain-on.completed{background:rgba(76,222,128,0.18);color:var(--green);border-color:var(--green)}
/* Step polish — pill rows (D/E/F accordions) */
.acc-step{border-radius:8px}
.acc-summary{padding:15px 18px;min-height:56px}
.acc-title{font-size:16px}
.acc-step[open]{border-left:3px solid var(--accent)}
.acc-step.completed[open]{border-left-color:var(--green)}
/* Panel C — 3x2 grid */
.mt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.mt-card{background:var(--bg2);border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.mt-card.open .mt-header{border-bottom:1px solid var(--line2);background:var(--bg3)}
@media(max-width:900px){.mt-grid{grid-template-columns:1fr}}
/* Admin tabs */
.admin-tabs{display:flex;gap:2px;border-bottom:2px solid var(--line2);margin-bottom:16px;flex-wrap:wrap}
.admin-tab{padding:8px 16px;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text2);border-bottom:3px solid transparent;margin-bottom:-2px}
.admin-tab:hover{color:var(--text)}
.admin-tab.active{color:var(--teal);border-bottom-color:var(--teal)}
/* Candidate sort + graded-flag tones */
.cand-sort{display:flex;align-items:center;gap:6px;margin:8px 0}
.cand-sort-lbl{font-size:9px;letter-spacing:2px;color:var(--text3);font-family:var(--font-mono)}
.cand-sort button{padding:3px 10px;font-size:11px}
.team-card.flag-red{border-color:rgba(255,77,85,0.5);box-shadow:inset 3px 0 0 var(--red)}
.team-card.flag-amber{border-color:rgba(255,184,48,0.45);box-shadow:inset 3px 0 0 var(--amber)}
.team-card.flag-forced{border-color:rgba(255,77,85,0.6);box-shadow:inset 3px 0 0 var(--red)}
.card-flag{position:absolute;top:8px;right:8px}
.flag-reason{font-size:10px;color:var(--amber);font-family:var(--font-mono);margin:2px 0 6px}
/* v1.0.1 — Step 2 collapsible lock-in replacement blocks */
.rep-block-head{cursor:pointer}
.rep-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.rep-actions button{padding:5px 12px;font-size:11px}
.rep-block-body{margin-top:10px}
.rep-block.locked{border-color:rgba(76,222,128,0.4);background:rgba(76,222,128,0.04)}
.rep-progress{font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;color:var(--text2);margin-bottom:10px;text-transform:uppercase}
.rep-chosen{color:var(--green);font-family:var(--font-mono);font-size:12px}
.rep-pending{color:var(--text3);font-family:var(--font-mono);font-size:11px;font-style:italic}
.rep-wr{color:var(--text3);font-family:var(--font-mono);font-size:11px}
.rep-lockbadge{color:var(--green);font-family:var(--font-mono);font-size:11px;font-weight:700}
/* v1.0.1 — Panel B results matrix columns */
.res-evcol{min-width:78px;cursor:default}
.res-evcol:hover{background:var(--bg2)}
.res-cell{text-align:center;font-family:var(--font-mono);font-size:12px}
.res-matrix tr.team-row td{background:rgba(76,222,128,0.13)!important}
.res-matrix tr.team-row td.wr-name-col{border-left:3px solid var(--green);color:var(--green)}
/* v1.0.3 — consistent result chips */
.pill-neutral{background:rgba(255,255,255,0.06);color:var(--text2);border:1px solid var(--line2)}
.pill-grey{background:rgba(255,255,255,0.04);color:var(--text3);border:1px solid var(--line)}
/* v1.0.3 — Panel C season summary card (spans both grid columns) */
.mt-summary{grid-column:1 / -1;background:var(--bg2);border:1px solid var(--line2);border-radius:6px;padding:14px;margin-top:4px}
.mt-summary-head{font-size:12px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;font-family:var(--font-mono);margin-bottom:10px}
.mt-summary-tbl{width:100%;min-width:0}
.mt-summary-tbl th,.mt-summary-tbl td{padding:6px 10px;font-family:var(--font-mono);font-size:12px}
.mt-summary-tbl td.left,.mt-summary-tbl th.left{text-align:left}
.mt-summary-note{font-size:10px;color:var(--text3);font-family:var(--font-mono);margin-top:8px}
/* v1.0.3 — Panel E Step 3 changes summary */
.finalize-changes{background:var(--bg3);border:1px solid var(--line2);border-radius:5px;padding:10px 14px;margin-bottom:12px}
.chg-row{font-family:var(--font-mono);font-size:12px;display:flex;align-items:center;gap:8px;padding:3px 0}
.chg-arrow{color:var(--text3)}

/* v1.0.4 — Panel C summary: grey background for cells where player was NOT on my team */
.mt-summary-tbl td.mt-off{background:rgba(255,255,255,0.03);color:var(--text3);text-align:center}
.mt-summary-tbl td.mt-current{color:var(--green);font-weight:600}
.mt-summary-tbl td.mt-delta-num{font-weight:700}
.mt-summary-tbl td.mt-delta-num.pos{color:var(--green)}
.mt-summary-tbl td.mt-delta-num.neg{color:var(--red)}
