:root {
  --bg-base:#0D100F; --bg-panel:#151A18; --bg-card:#1D2320; --border:#303A35;
  --text-main:#F1F4F2; --text-muted:#A0AAA5; --accent:#36B99A; --accent-bg:rgba(54,185,154,0.16);
  --good:#43CF8E; --good-bg:rgba(67,207,142,0.14); --warn:#E9B95F; --warn-bg:rgba(233,185,95,0.14);
  --bad:#EE796F; --bad-bg:rgba(238,121,111,0.14);
}
* { box-sizing:border-box; margin:0; padding:0; }
body {
  background:var(--bg-base); color:var(--text-main);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif;
  padding:16px; min-height:100vh; display:flex; flex-direction:column; gap:12px;
}
input, select, button { font-family:inherit; font-size:13px; font-weight:600; border-radius:8px; outline:none; }
input, select { min-height:36px; background:var(--bg-card); color:var(--text-main); border:1px solid var(--border); padding:7px 12px; }
input:focus, select:focus { border-color:var(--accent); background:#252C29; }
button { min-height:36px; background:var(--accent); color:#08120F; border:none; padding:8px 16px; font-weight:700; cursor:pointer; transition:background-color 0.15s ease, transform 0.15s ease; }
button:hover { background:#4CC9A9; }
button:active { transform:translateY(1px); }
#shareBtn, #clearTradeBtn, #resetBracketBtn { color:var(--text-main); }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.top-nav {
  background:var(--bg-panel); border:1px solid var(--border);
  border-radius:12px; padding:14px 18px; display:flex; flex-direction:column; gap:14px;
}
.top-brand-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.title-label { font-size:17px; font-weight:800; }
.status-pill { font-size:12px; font-weight:600; color:var(--text-muted); background:var(--bg-card); border:1px solid var(--border); padding:4px 12px; border-radius:8px; }
.data-freshness { color:var(--text-muted); font-size:10px; white-space:nowrap; }
.data-freshness.has-errors { color:var(--warn); }
.header-status-group { display:flex; align-items:center; gap:8px; min-width:0; }
.header-status-group #statusLabel { max-width:min(48vw,560px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.share-button { min-height:32px; padding:6px 10px; background:transparent; color:var(--text-muted); border:1px solid var(--border); font-size:11px; white-space:nowrap; }
.share-button:hover { color:var(--text-main); background:var(--bg-card); }
.data-health { position:relative; flex-shrink:0; }
.data-health summary { cursor:pointer; color:var(--text-muted); font-size:10px; white-space:nowrap; }
.data-health[open] { position:relative; }
.data-health[open] .data-freshness { position:absolute; z-index:5; top:24px; right:0; min-width:240px; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); white-space:normal; line-height:1.5; }
.workspace-controls { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:22px; align-items:start; }
.control-section { min-width:0; padding-top:10px; border-top:1px solid var(--border); }
.control-section-heading { margin-bottom:8px; color:var(--text-muted); font-size:9px; font-weight:800; letter-spacing:.08em; }
.league-section > summary { cursor:pointer; list-style:none; }
.league-section > summary::-webkit-details-marker { display:none; }
.league-section[open] > summary { margin-bottom:8px; }
.connection-fields, .league-fields { display:flex; align-items:end; gap:9px; min-width:0; }
.control-field { display:flex; flex:1 1 0; flex-direction:column; gap:5px; min-width:0; color:var(--text-muted); font-size:10px; font-weight:700; }
.control-field select, .control-field input { width:100%; min-width:0; }
.provider-field { flex:1 1 175px; }
.account-field { flex:1.2 1 210px; }
.week-field { flex:0 1 100px; }
.connect-button { flex:0 0 auto; min-height:36px; }
.provider-help { margin-top:7px; color:var(--text-muted); font-size:10px; line-height:1.4; }
.provider-help[hidden] { display:none; }
.yahoo-import-label { position:relative; display:inline-flex; align-items:center; min-height:36px; padding:7px 12px; border:1px solid var(--accent); border-radius:8px; background:var(--accent-bg); color:#8DE5CD; cursor:pointer; font-size:11px !important; }
.yahoo-import-label[hidden] { display:none; }
.yahoo-import-label input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.yahoo-import-label:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.monetization-area { display:flex; flex-wrap:wrap; align-items:stretch; gap:10px; margin-top:4px; }
.monetization-area[hidden], .monetization-unit[hidden], .monetization-disclosure[hidden] { display:none; }
.monetization-unit { min-width:0; padding:10px 12px; background:var(--bg-panel); border:1px solid var(--border); border-radius:8px; }
.sponsor-unit { display:flex; align-items:center; gap:12px; flex:1 1 280px; }
.sponsor-unit img { width:52px; height:52px; object-fit:contain; border-radius:6px; }
.sponsor-unit > div { display:flex; flex-direction:column; gap:4px; }
.monetization-label { color:var(--text-muted); font-size:9px; font-weight:800; text-transform:uppercase; }
.sponsor-unit strong, .affiliate-unit strong { color:var(--text-main); font-size:12px; }
.sponsor-unit p, .affiliate-unit p { color:var(--text-muted); font-size:11px; }
.monetization-link { color:var(--accent); font-size:11px; font-weight:700; text-decoration:none; }
.monetization-link:hover { text-decoration:underline; }
.affiliate-unit { display:flex; flex-direction:column; gap:7px; flex:1 1 240px; }
.affiliate-offers { display:flex; flex-wrap:wrap; gap:8px 14px; }
.affiliate-offer { display:flex; align-items:center; gap:6px; }
.adsense-unit { display:flex; align-items:center; justify-content:center; flex:1 1 320px; min-height:90px; }
.adsense-unit ins { display:block; width:100%; min-width:280px; min-height:90px; }
.monetization-disclosure { flex-basis:100%; color:var(--text-muted); font-size:9px; }

.body-layout { display:flex; gap:14px; flex:1; min-height:0; }
.sidebar {
  width:238px; background:linear-gradient(160deg,#1C211F,var(--bg-panel)); border:1px solid rgba(255,255,255,0.07);
  border-radius:20px; padding:20px 10px 14px; display:flex; flex-direction:column; gap:16px; flex-shrink:0;
  align-self:flex-start; position:sticky; top:16px; max-height:calc(100vh - 32px); overflow-y:auto;
}
.sidebar-heading { padding:0 12px; display:flex; flex-direction:column; gap:5px; }
.sidebar-heading > span { font-size:20px; font-weight:700; letter-spacing:-0.6px; }
.sidebar-heading small, .sidebar-caption { color:var(--text-muted); font-size:11px; font-weight:400; }
.sidebar-groups { display:flex; flex-direction:column; gap:5px; }
.nav-group { border-radius:13px; min-width:0; }
.nav-group > summary { display:flex; align-items:center; gap:11px; min-height:48px; padding:10px 12px; border-radius:12px; cursor:pointer; list-style:none; color:var(--text-main); font-size:14px; font-weight:600; }
.nav-group > summary::-webkit-details-marker { display:none; }
.nav-group > summary:hover { background:rgba(255,255,255,0.045); }
.nav-group.has-current > summary { color:var(--accent); }
.nav-icon { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.nav-group > summary > span:not(.nav-chevron) { min-width:0; flex:1; }
.nav-chevron { width:7px; height:7px; border-right:1.5px solid var(--text-muted); border-top:1.5px solid var(--text-muted); transform:rotate(45deg); transition:transform 0.18s ease; margin-right:3px; }
.nav-group[open] .nav-chevron { transform:rotate(135deg); }
.nav-current { display:block; font-size:10px; font-weight:400; color:var(--text-muted); margin-top:4px; }
.nav-current:empty, .nav-group[open] .nav-current { display:none; }
.nav-group-items { display:flex; flex-direction:column; gap:3px; padding:3px 4px 9px 30px; }
.nav-btn { min-height:44px; background:transparent; color:var(--text-muted); text-align:left; padding:10px; border-radius:10px; font-size:13px; font-weight:500; border:none; cursor:pointer; line-height:1.4; }
.nav-btn:hover { background:rgba(255,255,255,0.055); color:var(--text-main); }
.nav-btn.active { background:var(--accent-bg); color:var(--text-main); box-shadow:inset 3px 0 var(--accent); font-weight:600; }
.nav-direct { display:flex; align-items:center; gap:11px; min-height:48px; padding:12px; font-size:14px; color:var(--text-main); }
.sidebar-groups > .nav-direct:not(:first-child) { margin-top:8px; }
.skip-to-tool { position:fixed; z-index:20; top:8px; left:16px; padding:12px 16px; border-radius:8px; background:var(--text-main); color:var(--bg-base); transform:translateY(-160%); text-decoration:none; font-size:13px; font-weight:600; }
.skip-to-tool:focus { transform:translateY(0); }
.sidebar-caption { padding:0 12px; line-height:1.5; }
.mobile-nav-label, .mobile-nav-select { display:none; }
.tool-intro { display:flex; flex-direction:column; gap:4px; }
.tool-intro h2 { font-size:20px; letter-spacing:-0.35px; }
.tool-intro p, .tool-intro-copy { max-width:860px; color:var(--text-muted); font-size:12px; line-height:1.55; }
.tool-intro-copy { margin-top:-4px; }
.analytics-header + .tool-intro-copy { margin-top:-6px; }
.workspace-banner { padding:12px 16px; border:1px solid var(--border); border-radius:12px; background:var(--accent-bg); color:var(--text-main); font-size:12px; line-height:1.5; margin-bottom:16px; }
.workspace-banner[hidden] { display:none; }
@media (prefers-reduced-motion:reduce) { .nav-chevron { transition:none; } }

.content-stack {
  flex:1; background:var(--bg-panel); border:1px solid var(--border);
  border-radius:12px; padding:18px; overflow-y:auto; min-width:0;
}
.tab-page { display:none; flex-direction:column; gap:12px; }
.tab-page.active { display:flex; }
#tab-draft.active { max-height:calc(100vh - 190px); min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:6px; }

.card-banner { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; padding:14px 16px; display:flex; flex-direction:column; gap:8px; }
.banner-inner { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.badge { display:inline-block; padding:5px 10px; border-radius:6px; font-size:11px; font-weight:700; white-space:nowrap; }
.badge-green { background:var(--good-bg); color:var(--good); }
.badge-blue { background:var(--accent-bg); color:var(--accent); }
.badge-yellow { background:var(--warn-bg); color:var(--warn); }
.badge-red { background:var(--bad-bg); color:var(--bad); }
.badge-purple { background:rgba(191,90,242,0.16); color:#BF5AF2; }

.sup-bar { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; padding:10px 16px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.sup-title { font-size:11px; font-weight:800; color:var(--text-muted); width:155px; }
.sup-item { font-size:12px; font-weight:700; flex:1; min-width:190px; }

.grade-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.grade-card { background:#1A201D; border:1px solid var(--border); border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; gap:5px; cursor:pointer; transition:0.15s; }
.grade-card:hover { border-color:var(--accent); transform:translateY(-1px); }
.grade-card.priority-need { border:1.5px solid var(--bad); background:rgba(255,69,58,0.06); }
.grade-card.surplus-unit { border:1.5px solid var(--good); background:rgba(48,209,88,0.06); }
.grade-pill { font-size:15px; font-weight:900; padding:2px 9px; border-radius:6px; }

.sec-hdr { font-size:11px; font-weight:800; margin-top:4px; }
.table-wrap { border:1px solid var(--border); border-radius:8px; background:var(--bg-card); overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { background:#252C29; color:#B5C0BA; font-weight:700; font-size:11px; padding:10px; border-bottom:1px solid var(--border); text-align:center; white-space:nowrap; }
td { padding:8px 10px; border-bottom:1px solid #2A322E; text-align:center; vertical-align:middle; }
tr:last-child td { border-bottom:none; }
tr.table-row-hover:hover td { background:rgba(255,255,255,0.045); }
.player-cell { display:flex; align-items:center; gap:12px; text-align:left; min-width:220px; }
.avatar { width:38px; height:38px; border-radius:50%; background:#232834; object-fit:cover; flex-shrink:0; border:1px solid rgba(255,255,255,0.12); }
.team-logo-sm { width:18px; height:18px; border-radius:50%; vertical-align:middle; margin-right:5px; object-fit:contain; background:rgba(255,255,255,0.06); padding:1px; }
.pos-pill { display:inline-block; width:44px; height:22px; line-height:22px; border-radius:6px; font-weight:800; font-size:10px; text-align:center; flex-shrink:0; }
canvas.chart-canvas { width:100%; height:300px; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; display:block; }

.seg-bar-container { background:var(--bg-card); border:1px solid var(--border); border-radius:10px; padding:4px; display:inline-flex; gap:4px; flex-wrap:wrap; }
.seg-btn, .sos-mode-btn { background:transparent; color:var(--text-muted); padding:8px 16px; border-radius:7px; font-size:12px; font-weight:600; border:none; cursor:pointer; }
.seg-btn:hover, .sos-mode-btn:hover { color:var(--text-main); background:rgba(255,255,255,0.06); }
.seg-btn.active, .sos-mode-btn.active { background:var(--accent); color:#FFF; font-weight:800; }
.trade-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.scroll-list { max-height:420px; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding-right:4px; }
.p-card { background:#1A201D; border:1px solid var(--border); border-radius:8px; padding:8px 12px; display:flex; align-items:center; gap:12px; cursor:pointer; user-select:none; }
.p-card:hover { border-color:#58675F; background:#252C29; }
.p-card.selected { background:var(--accent-bg); border:1.5px solid var(--accent); }

.trade-asset-stack { display:flex; flex-direction:column; gap:6px; min-width:255px; }
.trade-asset-item { display:flex; align-items:center; gap:10px; background:#1A201D; border:1px solid var(--border); border-radius:8px; padding:6px 10px; text-align:left; }
.pkg-chip { display:flex; align-items:center; justify-content:space-between; gap:10px; background:#1A201D; border:1px solid var(--border); border-radius:8px; padding:6px 10px; }
.btn-builder-action { background:var(--accent-bg); color:#8DE5CD; border:1px solid var(--accent); padding:7px 12px; border-radius:8px; font-size:11px; font-weight:800; cursor:pointer; white-space:nowrap; }
.btn-builder-action:hover { background:var(--accent); color:#FFF; }

.sos-mini-pill { display:inline-block; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:800; }
.sos-mini-elite { background:rgba(48,209,88,0.20); color:#30D158; border:1px solid rgba(48,209,88,0.45); }
.sos-mini-avg   { background:rgba(10,132,255,0.15); color:#64D2FF; }
.sos-mini-tough { background:rgba(255,69,58,0.18); color:#FF453A; }

.sos-cell { border-radius:8px; padding:7px 10px; min-width:125px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; }
.sos-smash { background:rgba(48,209,88,0.22); border:1px solid rgba(48,209,88,0.55); color:#30D158; }
.sos-good  { background:rgba(48,209,88,0.10); border:1px solid rgba(48,209,88,0.28); color:#86EFAC; }
.sos-mid   { background:rgba(142,150,170,0.10); border:1px solid rgba(142,150,170,0.24); color:#F2F4F8; }
.sos-tough { background:rgba(255,214,10,0.14); border:1px solid rgba(255,214,10,0.35); color:#FFD60A; }
.sos-avoid { background:rgba(255,69,58,0.22); border:1px solid rgba(255,69,58,0.55); color:#FF453A; }
.sos-bye   { background:#12141C; border:1px dashed #3A4256; color:#8E96AA; }
.dome-tag  { font-size:9px; font-weight:800; padding:1px 5px; border-radius:4px; background:rgba(100,210,255,0.16); color:#64D2FF; margin-left:3px; }

.bracket-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; align-items:stretch; }
.bracket-grid.two-col { grid-template-columns:1fr 1fr; }
.bracket-col { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; padding:14px; display:flex; flex-direction:column; gap:12px; }
.bracket-col-hdr { display:flex; justify-content:space-between; align-items:center; padding-bottom:8px; border-bottom:1px solid var(--border); }
.bracket-match-card { background:#171D1A; border:1px solid var(--border); border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; gap:8px; }
.bracket-match-hdr { display:flex; justify-content:space-between; align-items:center; font-size:11px; font-weight:800; color:var(--text-muted); }
.bracket-slot { background:#1D2320; border:1px solid var(--border); border-radius:8px; padding:8px 10px; display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; user-select:none; transition:0.15s; }
.bracket-slot:hover { border-color:var(--accent); background:#252C29; }
.bracket-slot.winner { border:1.5px solid var(--good); background:rgba(48,209,88,0.11); }
.bracket-slot.bye-slot { cursor:default; border:1px dashed rgba(10,132,255,0.45); background:rgba(10,132,255,0.08); }
.seed-pill { display:inline-flex; align-items:center; justify-content:center; width:26px; height:24px; border-radius:6px; font-size:11px; font-weight:900; background:#232834; color:var(--text-main); flex-shrink:0; }
.seed-pill.top-seed { background:var(--accent-bg); color:#64D2FF; border:1px solid rgba(10,132,255,0.4); }
.champ-callout { background:linear-gradient(135deg,rgba(48,209,88,0.18),rgba(10,132,255,0.16)); border:1.5px solid var(--good); border-radius:10px; padding:12px 14px; text-align:center; }

.opt-row { display:grid; grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr); gap:10px; align-items:center; padding:8px; border-radius:8px; min-height:88px; }
.opt-row.warn { background:#281D10; border:1.5px solid var(--warn); }
.opt-row.sev { background:#2A1215; border:1.5px solid var(--bad); }
.optimizer-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
#optHeader { font-size:15px; font-weight:800; }
.optimizer-heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
#optimizerLockStatus { color:var(--warn); font-size:10px; }
#optLiveStatus { color:var(--text-muted); font-size:10px; }
#optSubAlert { color:var(--warn); font-size:11px; font-weight:700; }
.optimizer-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 8px; font-size:12px; font-weight:800; }
.optimizer-totals span { overflow-wrap:anywhere; }
.opt-player-card { display:flex; align-items:center; gap:9px; min-width:0; min-height:70px; padding:8px 10px; background:var(--bg-card); border:1px solid var(--border); border-radius:6px; }
.opt-player-card.optimal { border-color:rgba(67,207,142,0.35); }
.opt-player-details { display:flex; flex:1; flex-direction:column; gap:4px; min-width:0; }
.opt-player-details b { overflow:hidden; color:var(--text-main); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.opt-player-details > span { color:var(--text-muted); font-size:10px; }
.optimizer-kickoff-status { color:var(--text-muted); font-size:9px; }
.optimizer-kickoff-status.upcoming { color:var(--accent); }
.optimizer-kickoff-status.live { color:var(--good); font-weight:800; }
.optimizer-kickoff-status.locked, .optimizer-kickoff-status.final { color:var(--bad); font-weight:800; }
.opt-score-stack { display:flex; flex:0 0 auto; flex-direction:column; align-items:flex-end; gap:4px; white-space:nowrap; }
.opt-score-stack strong { color:var(--text-main); font-size:11px; font-variant-numeric:tabular-nums; }
.opt-player-card.optimal .opt-score-stack strong { color:var(--good); }
.opt-actual-score { color:var(--accent); font-size:10px; font-variant-numeric:tabular-nums; }
.opt-actual-score small { color:var(--text-muted); font-size:8px; }
.opt-actual-score.unavailable { color:var(--text-muted); }
.opt-slot-result { padding:7px 5px; border:1px solid var(--border); border-radius:6px; color:var(--text-muted); font-size:10px; font-weight:800; line-height:1.45; text-align:center; }
.opt-slot-result.optimal { color:var(--good); }
.opt-slot-result.suboptimal { border-color:var(--warn); color:var(--warn); }
.opt-slot-result.severe { border-color:var(--bad); background:var(--bad-bg); color:var(--text-main); }

.draft-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.draft-heading h2 { font-size:22px; line-height:1.2; }
.draft-eyebrow { margin-bottom:5px; color:var(--accent); font-size:10px; font-weight:800; }
.draft-settings { display:grid; grid-template-columns:repeat(4,minmax(135px,1fr)); gap:12px; align-items:end; padding:14px; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; }
.draft-settings label { display:flex; flex-direction:column; gap:6px; color:var(--text-muted); font-size:11px; font-weight:700; }
.draft-settings input, .draft-settings select { width:100%; min-width:0; }
.draft-setting-extra[hidden] { display:none; }
.draft-setting-actions { display:flex; grid-column:span 2; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.draft-adp-upload { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 12px; border:1px solid var(--accent); border-radius:8px; background:var(--accent-bg); color:#8DE5CD !important; cursor:pointer; }
.draft-adp-upload input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.draft-adp-upload:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.draft-notice { min-height:18px; color:var(--text-muted); font-size:12px; }
.draft-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--border); border-radius:8px; background:var(--border); }
.draft-summary { position:sticky; top:0; z-index:4; box-shadow:0 8px 18px rgba(0,0,0,0.22); }
.draft-summary > div { display:flex; flex-direction:column; gap:5px; padding:12px 14px; background:var(--bg-card); }
.draft-summary span, .draft-subtitle { color:var(--text-muted); font-size:11px; font-weight:600; }
.draft-summary strong { font-size:14px; }
.draft-workspace { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:12px; align-items:start; min-width:0; }
.draft-board-panel, .draft-roster-panel { min-width:0; padding:14px; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; }
.draft-board-panel-full { width:100%; padding:12px 14px; }
.draft-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.draft-panel-heading h3 { font-size:14px; }
.draft-panel-heading > div { display:flex; flex-direction:column; gap:3px; }
.draft-filters { display:flex; gap:8px; }
.draft-filters input { width:190px; }
.draft-filters select { width:140px; }
.draft-table-wrap { max-height:680px; }
.draft-pick-history { display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.draft-history-wrap { max-height:360px; overflow:auto; border:1px solid var(--border); border-radius:7px; background:var(--bg-panel); }
.draft-history-wrap.is-expanded { max-height:min(72vh,780px); }
.draft-grid { display:grid; grid-auto-rows:minmax(74px,auto); width:max-content; min-width:100%; }
.draft-grid-cell { display:flex; flex-direction:column; justify-content:center; gap:5px; min-width:138px; padding:7px 9px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.draft-grid-header { position:sticky; top:0; z-index:4; min-height:38px; background:#252C29; color:#B5C0BA; font-size:10px; font-weight:800; }
.draft-grid-round { position:sticky; left:0; z-index:3; min-width:58px; justify-content:center; background:#202723; color:var(--text-muted); font-size:10px; font-weight:800; }
.draft-grid-header.draft-grid-round { z-index:5; }
.draft-grid-pick { background:rgba(255,255,255,0.025); }
.draft-grid-pick.is-user { background:var(--accent-bg); box-shadow:inset 0 0 0 1px var(--accent); }
.draft-grid-pick.is-current { background:rgba(233,185,95,0.12); box-shadow:inset 0 0 0 1px var(--warn); }
.draft-grid-pick.is-taken { background:rgba(54,185,154,0.07); }
.draft-grid-player { display:flex; align-items:center; gap:6px; min-width:0; }
.draft-grid-player img { width:25px; height:25px; flex:0 0 25px; border-radius:50%; object-fit:cover; background:var(--bg-card); }
.draft-grid-player strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.draft-grid-meta { color:var(--text-muted); font-size:9px; }
.draft-grid-open { color:#6F7973; font-size:10px; }
.draft-board-table { min-width:730px; }
.draft-board-table th { position:sticky; top:0; z-index:1; }
.draft-board-table td { white-space:nowrap; }
.draft-board-table .draft-name { text-align:left; font-weight:700; }
.draft-player-cell { display:flex; align-items:center; gap:8px; min-width:0; }
.draft-player-cell img { width:30px; height:30px; flex:0 0 30px; border-radius:50%; object-fit:cover; background:var(--bg-panel); border:1px solid var(--border); }
.draft-player-cell span { overflow:hidden; text-overflow:ellipsis; }
.draft-rank { color:var(--text-muted); }
.draft-pick-btn { min-height:30px; padding:5px 10px; font-size:11px; }
.draft-roster-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:12px; }
.draft-roster-counts > div { display:flex; justify-content:space-between; padding:7px 8px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; color:var(--text-muted); font-size:11px; }
.draft-roster-counts strong { color:var(--text-main); }
.draft-keeper-section { display:flex; flex-direction:column; gap:9px; margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.draft-keeper-section > label, .draft-keeper-fields label { display:flex; flex-direction:column; gap:5px; color:var(--text-muted); font-size:10px; font-weight:700; }
.draft-keeper-fields { display:grid; grid-template-columns:1.2fr 0.8fr 0.8fr; gap:7px; }
.draft-keeper-section select, .draft-keeper-section input { width:100%; min-width:0; }
.draft-remove-keeper { min-height:28px; align-self:flex-start; padding:4px 8px; background:transparent; color:var(--bad); border:1px solid var(--border); font-size:10px; }
.draft-adp-source { color:var(--text-muted); font-size:9px; }
.draft-user-picks { display:flex; flex-direction:column; gap:6px; }
.draft-picked-player { display:flex; flex-direction:column; gap:3px; padding:9px 10px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.draft-picked-player strong { font-size:12px; }
.draft-picked-player .draft-player-cell img { width:28px; height:28px; flex-basis:28px; }
.draft-picked-player > span:last-child { color:var(--text-muted); font-size:11px; }
.draft-picked-round { color:var(--accent); font-size:10px; font-weight:800; }
.draft-empty { padding:22px 12px; color:var(--text-muted); text-align:center; }
.draft-pick-history { display:flex; flex-direction:column; gap:6px; margin:12px 0; }
.faab-planner { display:flex; flex-direction:column; gap:12px; padding:14px; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; }
.waiver-needs-panel { display:flex; flex-direction:column; gap:12px; padding:14px; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; }
.waiver-needs-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.waiver-needs-heading h3 { font-size:13px; }
.waiver-needs-heading > div { display:flex; flex-direction:column; gap:4px; }
.waiver-need-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:7px; }
.waiver-need-item { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:9px 10px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.waiver-need-item.urgent { border-left:3px solid var(--bad); }
.waiver-need-item > div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.waiver-need-item strong { font-size:11px; }
.waiver-need-item span, .waiver-need-item b { color:var(--text-muted); font-size:9px; }
.waiver-needs-clear { display:flex; flex-direction:column; gap:4px; padding:10px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.waiver-needs-clear strong { font-size:11px; }
.waiver-needs-clear span { color:var(--text-muted); font-size:10px; }
.waiver-need-targets { display:flex; flex-direction:column; gap:6px; }
.waiver-fit-item { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 10px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.waiver-fit-item > div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.waiver-fit-item strong { font-size:11px; }
.waiver-fit-item span { color:var(--text-muted); font-size:9px; }
.waiver-fit-label { color:var(--accent) !important; font-weight:800; text-transform:uppercase; }
.waiver-fit-cell { color:var(--accent); font-size:10px; font-weight:800; white-space:nowrap; }
.faab-settings { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:end; }
.faab-settings > label { display:flex; flex-direction:column; gap:6px; color:var(--text-muted); font-size:11px; font-weight:700; }
.faab-settings label > span { display:flex; align-items:center; gap:7px; }
.faab-settings input, .faab-settings select { width:100%; min-width:0; }
.faab-settings label > span input { max-width:160px; }
.faab-settings label > span b { color:var(--text-muted); }
.faab-budget-summary { color:var(--accent); font-size:12px; font-weight:800; text-align:right; }
.faab-claims-heading { display:flex; align-items:center; gap:10px; padding-top:10px; border-top:1px solid var(--border); }
.faab-claims-heading h3 { font-size:12px; }
.faab-claims { display:flex; flex-direction:column; gap:6px; }
.faab-claim-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(145px,0.9fr) 110px minmax(170px,auto); gap:9px; align-items:center; padding:9px 10px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.faab-claim-row > div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.faab-claim-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.faab-claim-row span, .faab-claim-row label, .faab-claim-outcome { color:var(--text-muted); font-size:10px; }
.faab-claim-row label { display:flex; align-items:center; gap:4px; white-space:nowrap; }
.faab-claim-row input { width:64px; min-height:30px; padding:4px 6px; }
.faab-claim-row select { width:100%; min-width:0; min-height:30px; padding:4px 7px; font-size:10px; }
.faab-claim-actions { display:flex; flex-wrap:wrap; gap:5px; }
.faab-claim-actions button { min-height:30px; padding:5px 8px; font-size:10px; }
.faab-claim-disclosure { color:var(--text-muted); font-size:10px; }
.faab-queue-btn { min-width:82px; }
.portfolio-panel { display:flex; flex-direction:column; gap:12px; padding:14px; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; }
.portfolio-roster-selectors { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; }
.portfolio-roster-selectors label { display:flex; flex-direction:column; gap:5px; color:var(--text-muted); font-size:10px; font-weight:700; }
.portfolio-roster-selectors select { min-width:0; }
.history-controls, .weekly-report-actions, .pickem-controls { display:flex; align-items:end; flex-wrap:wrap; gap:8px; }
.history-controls label, .pickem-controls label { display:flex; flex-direction:column; gap:5px; color:var(--text-muted); font-size:10px; font-weight:700; }
.history-controls select { min-width:140px; }
.pickem-controls label { flex:1 1 200px; }
.weekly-report-content { display:flex; flex-direction:column; gap:8px; padding:12px; border-left:3px solid var(--accent); background:var(--bg-panel); border-radius:0 6px 6px 0; }
.weekly-report-content h4 { font-size:14px; }
.weekly-report-content p, .weekly-report-content li { color:var(--text-muted); font-size:12px; line-height:1.5; }
.weekly-report-content ul { display:flex; flex-direction:column; gap:4px; padding-left:18px; }
.pickem-status { color:var(--text-muted); font-size:11px; }
.pickem-history { display:flex; flex-wrap:wrap; gap:6px; }
.pickem-result { padding:6px 8px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; color:var(--text-muted); font-size:10px; }
.portfolio-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--border); border-radius:6px; background:var(--border); }
.portfolio-summary > div { display:flex; flex-direction:column; gap:4px; padding:10px 12px; background:var(--bg-panel); }
.portfolio-summary span { color:var(--text-muted); font-size:10px; }
.portfolio-summary strong { font-size:14px; }
.portfolio-table { min-width:640px; }
.portfolio-table td:first-child { text-align:left; }
.tendency-position { color:var(--accent); font-weight:700; }
.analytics-value-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--border); border-radius:8px; background:var(--border); }
.analytics-summary-item { display:flex; flex-direction:column; gap:5px; min-width:0; padding:11px 13px; background:var(--bg-card); }
.analytics-summary-item span { color:var(--text-muted); font-size:10px; }
.analytics-summary-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-main); font-size:12px; }
.analytics-insight { display:flex; align-items:flex-start; gap:12px; padding:10px 12px; background:rgba(233,185,95,0.08); border-left:3px solid var(--warn); border-radius:0 6px 6px 0; }
.analytics-insight-label { flex:0 0 auto; color:var(--warn); font-size:9px; font-weight:800; }
.analytics-insight p { color:var(--text-muted); font-size:11px; line-height:1.5; }
.analytics-legend { color:var(--text-muted); font-size:10px; }
.analytics-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.analytics-heading { font-size:15px; font-weight:800; }
.analytics-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; }
.analytics-controls .analytics-field { display:flex; align-items:center; gap:6px; color:var(--text-muted); font-size:12px; }
.analytics-controls .analytics-field[for="analyticsSortKey"] { color:var(--good); font-weight:800; }
.analytics-controls #analyticsPos { width:auto; min-width:175px; }
.analytics-controls #analyticsGraphSelect { width:auto; min-width:360px; }
.analytics-controls #analyticsSortKey { width:auto; min-width:190px; border-color:rgba(48,209,88,0.5); }
.analytics-chart-card { padding:16px; }
.analytics-chart { width:100%; height:380px; background:var(--bg-card); border-radius:10px; display:block; }
.analytics-chart-help { color:var(--text-muted); font-size:10px; line-height:1.4; }
.portfolio-player-picker { display:flex; flex-direction:column; gap:6px; max-width:420px; color:var(--text-muted); font-size:11px; font-weight:700; }
.portfolio-player-picker select { min-width:0; }
.portfolio-claim-plan { display:flex; flex-direction:column; gap:10px; }
.portfolio-claim-group { padding-top:9px; border-top:1px solid var(--border); }
.portfolio-claim-group:first-child { padding-top:0; border-top:0; }
.portfolio-claim-group-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:6px; }
.portfolio-claim-group-heading strong { font-size:11px; }
.portfolio-claim-group-heading span { color:var(--text-muted); font-size:10px; }
.portfolio-claim-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(125px,0.7fr) auto; align-items:center; gap:10px; padding:8px 0; border-top:1px solid rgba(255,255,255,0.06); }
.portfolio-claim-row > div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.portfolio-claim-row strong { font-size:11px; }
.portfolio-claim-row small, .portfolio-claim-drop { color:var(--text-muted); font-size:9px; line-height:1.4; }
.portfolio-claim-row button { min-height:30px; padding:5px 8px; font-size:10px; white-space:nowrap; }
.recommendation-table { min-width:760px; }
.recommendation-table td:nth-child(2) { text-align:left; }
.recommendation-action { display:flex; flex-direction:column; gap:3px; }
.recommendation-action strong { color:var(--text-main); font-size:12px; }
.recommendation-action span { color:var(--text-muted); font-size:10px; }
.recommendation-priority { font-size:10px; font-weight:800; text-transform:uppercase; }
.recommendation-priority.urgent { color:var(--bad); }
.recommendation-priority.high { color:var(--warn); }
.recommendation-priority.normal { color:var(--accent); }
.gm-inbox-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--border); border-radius:7px; background:var(--border); }
.gm-inbox-summary > div { display:flex; flex-direction:column; gap:5px; min-width:0; padding:12px 14px; background:var(--bg-card); }
.gm-inbox-summary span { color:var(--text-muted); font-size:10px; }
.gm-inbox-summary strong { overflow-wrap:anywhere; font-size:14px; }
.gm-briefing { padding:18px; border:1px solid var(--accent); border-radius:10px; background:var(--accent-bg); display:flex; flex-direction:column; gap:9px; }
.gm-briefing h3 { font-size:19px; line-height:1.35; overflow-wrap:anywhere; }
.gm-briefing p { font-size:12px; line-height:1.6; }
.gm-briefing .gm-briefing-source { color:var(--text-muted); font-size:11px; }
.comparison-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.comparison-controls label { display:flex; flex-direction:column; gap:7px; min-width:0; color:var(--text-muted); font-size:12px; }
.comparison-controls input, .comparison-controls select { width:100%; min-width:0; }
.comparison-controls #comparePoolMeta { grid-column:1 / -1; }
.comparison-note { color:var(--text-muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
#compareResults { display:flex; flex-direction:column; gap:14px; }
#teamGradeResults { display:flex; flex-direction:column; gap:14px; }
#leagueRecordsResults { display:flex; flex-direction:column; gap:14px; }
#recordsQuestion { width:100%; min-width:0; margin:10px 0; }
.rivalry-panel { min-width:0; padding:16px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card); display:flex; flex-direction:column; gap:12px; }
.rivalry-panel h3 { font-size:20px; }
.rivalry-legend { display:flex; flex-wrap:wrap; gap:6px; font-size:10px; }
.rivalry-legend span { padding:6px 9px; border-radius:5px; }
.rivalry-scroll { max-width:100%; max-height:650px; overflow:auto; border:1px solid var(--border); border-radius:8px; }
.rivalry-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.rivalry-heatmap { width:100%; border-collapse:separate; border-spacing:3px; }
.rivalry-heatmap caption { padding:10px; text-align:left; color:var(--text-muted); font-size:11px; }
.rivalry-heatmap th, .rivalry-heatmap td { min-width:112px; max-width:170px; padding:14px 10px; border:0; border-radius:5px; text-align:center; white-space:normal; overflow-wrap:anywhere; }
.rivalry-heatmap thead th { position:sticky; top:0; z-index:2; background:var(--bg-panel); color:var(--text-main); font-size:11px; }
.rivalry-heatmap th:first-child { position:sticky; left:0; z-index:1; min-width:135px; background:var(--bg-panel); color:var(--text-main); text-align:left; font-size:11px; }
.rivalry-heatmap thead th:first-child { z-index:3; }
.rivalry-heatmap td strong { display:block; font-size:17px; font-variant-numeric:tabular-nums; }
.rivalry-heatmap td small { display:block; margin-top:5px; font-size:10px; }
.rivalry-heatmap tbody tr:hover { background:transparent; }
.rivalry-strong-win { background:#235943; color:#e4ffef; }
.rivalry-win { background:#293f38; color:#ddf7e9; }
.rivalry-even { background:#373c49; color:#eef0f8; }
.rivalry-loss { background:#503c30; color:#fff0df; }
.rivalry-strong-loss { background:#71402c; color:#fff0df; }
.rivalry-heatmap .rivalry-self { background:var(--bg-panel); color:var(--text-muted); }
.rivalry-heatmap .rivalry-unplayed { background:transparent; color:var(--text-muted); font-size:10px; border:1px dashed var(--border); }
.rivalry-details { min-width:0; padding:14px; border:1px solid var(--border); border-radius:8px; }
.rivalry-details summary { cursor:pointer; font-size:12px; font-weight:700; color:var(--accent); }
.rivalry-details[open] summary { margin-bottom:12px; }
.team-grade-letter { color:var(--accent); font-size:42px; font-weight:800; }
.team-grade-priorities { padding-left:20px; font-size:12px; line-height:1.8; }
.comparison-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.comparison-card { min-width:0; padding:16px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); }
.comparison-card h3 { margin:6px 0; overflow-wrap:anywhere; }
.decision-data-status { margin:0 0 14px; padding:10px 12px; border:1px solid var(--border); border-radius:8px; color:var(--text-muted); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.decision-data-status.has-errors, #faabPlanStatus.has-errors { color:var(--warn); }
#gmChecklist, #optimizerChecklist { margin-bottom:16px; }
.decision-checklist { list-style:none; margin:10px 0; padding:0; display:grid; gap:10px; }
.decision-checklist li, .trade-impact-grid > div { min-width:0; display:grid; gap:4px; font-size:12px; overflow-wrap:anywhere; }
.decision-checklist span { color:var(--text-muted); font-size:11px; }
.decision-checklist a { color:var(--accent); }
.trade-impact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:16px; }
.trade-impact-grid span { color:var(--text-muted); }
.weekly-matchups { margin-bottom:18px; }
#startSitAdvice { margin:12px 0; }
#startSitAdvice .comparison-cards { margin-top:12px; }
.faab-claim-actions { flex-wrap:wrap; }
.comparison-table { min-width:480px; }
.comparison-table th:first-child, .comparison-table td:first-child { text-align:left; }
.comparison-edge { color:var(--accent); font-weight:700; }
.gm-inbox-filter-label { display:flex; align-items:center; gap:7px; color:var(--text-muted); font-size:10px; font-weight:700; white-space:nowrap; }
.gm-inbox-filter-label select { min-width:155px; min-height:32px; padding:5px 9px; font-size:11px; }
.gm-inbox-list, .portfolio-pressure-list { display:flex; flex-direction:column; gap:8px; }
.gm-outcome-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--border); border-radius:6px; background:var(--border); }
.gm-outcome-summary > div { display:flex; flex-direction:column; gap:4px; min-width:0; padding:10px 12px; background:var(--bg-panel); }
.gm-outcome-summary span { color:var(--text-muted); font-size:10px; }
.gm-outcome-summary strong { font-size:13px; overflow-wrap:anywhere; }
.gm-outcome-table { min-width:820px; }
.gm-outcome-table td:nth-child(2) { text-align:left; }
.gm-outcome-advice { min-width:220px; }
.gm-outcome-advice small { display:block; margin-top:3px; color:var(--text-muted); font-size:9px; }
.gm-action-card { display:flex; flex-direction:column; gap:9px; min-width:0; padding:12px; background:var(--bg-panel); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:6px; }
.gm-action-card.urgent { border-left-color:var(--bad); }
.gm-action-card.high { border-left-color:var(--warn); }
.gm-action-card h3 { font-size:13px; line-height:1.4; }
.gm-action-card p, .portfolio-pressure-item small { color:var(--text-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.gm-action-card p { padding-left:9px; border-left:2px solid var(--border); }
.gm-action-topline, .gm-action-controls { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.gm-action-value { margin-left:auto; color:var(--text-main); font-size:11px; font-weight:700; }
.gm-confidence { padding:3px 6px; border:1px solid var(--border); border-radius:5px; color:var(--text-muted); font-size:9px; }
.gm-action-controls button { min-height:30px; padding:6px 9px; font-size:10px; }
.gm-action-state { color:var(--good); font-size:10px; font-weight:800; }
#tab-inbox { gap:14px; }
#tab-inbox #gmBriefing { padding:14px 16px; border-color:var(--border); border-left:3px solid var(--accent); background:var(--bg-card); gap:6px; }
#tab-inbox #gmBriefing h3 { font-size:17px; }
#tab-inbox.is-empty { gap:12px; }
#tab-inbox.is-empty .draft-heading { margin-bottom:2px; }
#tab-inbox.is-empty #gmBriefing { max-width:760px; padding:14px 0; border:0; background:transparent; }
#tab-inbox.is-empty #gmBriefing h3 { font-size:20px; }
#tab-inbox.is-empty #gmBriefing p { color:var(--text-muted); }
#tab-inbox.is-empty .gm-queue { max-width:760px; padding:0; border:0; background:transparent; }
#tab-inbox.is-empty .gm-queue .draft-panel-heading { padding-top:8px; border-top:1px solid var(--border); }
#tab-inbox.is-empty .gm-inbox-filter-label, #tab-inbox.is-empty > .gm-secondary { display:none; }
#tab-inbox.is-empty .gm-queue .draft-empty { padding:0; text-align:left; }
#tab-inbox .gm-inbox-summary > div { padding:9px 12px; }
#tab-inbox .gm-inbox-summary strong { font-size:12px; }
.gm-queue { gap:14px; }
.gm-queue .draft-panel-heading { flex-wrap:wrap; gap:12px; }
.gm-queue .gm-inbox-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#tab-inbox .gm-action-card { padding:14px; gap:10px; background:var(--bg-card); border-left-width:3px; }
#tab-inbox .gm-action-card h3 { font-size:14px; line-height:1.45; }
#tab-inbox .gm-action-card .gm-action-controls:empty { display:none; }
#tab-inbox .gm-action-card > .gm-action-controls { margin-top:auto; }
#tab-inbox .gm-action-card > .gm-action-controls button { min-height:34px; }
.gm-action-details { border-top:1px solid var(--border); padding-top:9px; }
.gm-action-details summary { cursor:pointer; font-size:10px; color:var(--text-muted); }
.gm-action-details[open] { display:flex; flex-direction:column; gap:10px; }
.gm-action-details p { margin:10px 0; }
.gm-action-details .gm-action-controls { margin-top:10px; }
.schedule-weeks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.schedule-week { display:flex; flex-direction:column; gap:7px; padding:12px; border:1px solid var(--border); border-radius:8px; min-width:0; }
.schedule-week span, .schedule-week small { color:var(--text-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.schedule-week strong { font-size:13px; overflow-wrap:anywhere; }
.schedule-week.has-gap { border-color:var(--warn); }
#gmSchedule[hidden], #gmInboxSummary[hidden] { display:none; }
#inboxRecap .league-newsletter-content { padding:0; border:0; background:transparent; color:var(--text-main); }
#inboxRecap .newsletter-brief { padding:12px 0; border:0; }
#inboxRecap .newsletter-brief li { font-size:13px; line-height:1.6; margin-bottom:8px; }
#inboxRecap .gm-secondary { margin-top:12px; }
@media (max-width:1100px) {
  .gm-queue .gm-inbox-list { grid-template-columns:minmax(0,1fr); }
  .schedule-weeks { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
  .schedule-weeks { grid-template-columns:minmax(0,1fr); }
}
.gm-secondary { min-width:0; border:1px solid var(--border); border-radius:8px; padding:12px 14px; background:var(--bg-card); }
.gm-secondary > summary { cursor:pointer; font-size:12px; font-weight:700; }
.gm-secondary > summary span { color:var(--text-muted); font-weight:400; margin-left:6px; }
.gm-secondary[open] > summary { margin-bottom:14px; }
.planner-controls { display:flex; flex-wrap:wrap; align-items:end; gap:14px; }
.planner-controls label { display:flex; flex-direction:column; gap:7px; flex:1 1 200px; min-width:0; }
.planner-controls select, .planner-controls input[type="search"] { width:100%; min-width:0; }
.planner-controls label:has(input[type="checkbox"]) { flex-direction:row; align-items:center; }
.planner-matrix th small { display:block; font-weight:400; color:var(--text-muted); margin-top:5px; }
.planner-matrix td { min-width:135px; }
.planner-bye, .planner-out { background:rgba(255,69,58,0.12); color:var(--bad); }
.planner-unknown { background:rgba(255,214,10,0.08); color:var(--warn); }
.planner-game { background:rgba(48,209,88,0.08); color:var(--good); }
.gm-secondary > .draft-subtitle { display:block; margin-bottom:12px; }
#gmShowMoreBtn { align-self:center; min-height:36px; }
.portfolio-pressure-item { display:grid; grid-template-columns:max-content minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 10px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.portfolio-pressure-item > div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.portfolio-pressure-item button { min-height:30px; padding:6px 9px; font-size:10px; }
.portfolio-pressure-summary { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:center; gap:5px 12px; padding:10px 12px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.portfolio-pressure-summary strong { color:var(--warn); font-size:12px; }
.portfolio-pressure-summary span { color:var(--text-main); font-size:11px; }
.portfolio-pressure-summary small { grid-column:1 / -1; color:var(--text-muted); font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
.newsletter-controls-panel { display:grid; grid-template-columns:minmax(160px,1fr) minmax(180px,1fr); align-items:end; gap:10px; }
.newsletter-controls-panel label { display:flex; flex-direction:column; gap:5px; color:var(--text-muted); font-size:10px; font-weight:700; }
.newsletter-controls-panel #newsletterArchiveMeta, .newsletter-controls-panel .weekly-report-actions, .newsletter-controls-panel #newsletterStatus { grid-column:1 / -1; }
.newsletter-league-badge { color:var(--accent); font-size:11px; font-weight:800; }
.league-newsletter-content { width:100%; max-width:1000px; margin:0 auto; padding:8px 2px 22px; }
.newsletter-masthead { display:flex; justify-content:space-between; align-items:end; gap:16px; min-width:0; padding:18px 0 20px; border-bottom:2px solid var(--accent); }
.newsletter-masthead > div { min-width:0; }
.newsletter-masthead span { color:var(--accent); font-size:9px; font-weight:800; }
.newsletter-masthead h1 { margin-top:6px; font-family:Georgia,serif; font-size:30px; line-height:1.15; overflow-wrap:anywhere; }
.newsletter-masthead time { min-width:0; color:var(--text-muted); font-size:10px; text-align:right; overflow-wrap:anywhere; }
.newsletter-brief { display:grid; grid-template-columns:170px minmax(0,1fr); gap:18px; padding:20px 0; border-bottom:1px solid var(--border); }
.newsletter-brief h3, .newsletter-section h3 { color:var(--accent); font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.newsletter-brief ul { display:flex; flex-direction:column; gap:7px; padding-left:17px; }
.newsletter-brief li { color:var(--text-main); font-size:12px; line-height:1.55; }
.newsletter-section { padding:18px 0; border-bottom:1px solid var(--border); }
.newsletter-section h3 { margin-bottom:10px; color:var(--text-muted); }
.newsletter-games, .newsletter-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; list-style:none; }
.newsletter-games li { display:flex; flex-direction:column; gap:5px; padding:10px; border:1px solid var(--border); border-radius:6px; background:var(--bg-card); }
.newsletter-games li > div { display:flex; justify-content:space-between; gap:8px; font-size:11px; }
.newsletter-games li > div strong { min-width:0; overflow-wrap:anywhere; }
.newsletter-games li > div span { color:var(--accent); font-variant-numeric:tabular-nums; font-weight:800; }
.newsletter-games small, .newsletter-actions small { color:var(--text-muted); font-size:10px; line-height:1.45; }
.newsletter-standings { min-width:420px; }
.newsletter-standings td:nth-child(2) { text-align:left; }
.newsletter-actions li { display:flex; align-items:flex-start; gap:10px; padding:9px 0; border-bottom:1px solid var(--border); }
.newsletter-actions li > div { display:flex; flex-direction:column; gap:4px; }
.newsletter-actions strong { font-size:11px; }
.newsletter-action-type { flex:0 0 82px; color:var(--accent); font-size:9px; font-weight:800; text-transform:uppercase; }
.newsletter-empty { grid-column:1 / -1; color:var(--text-muted); font-size:11px; }
.newsletter-footer { padding-top:15px; color:var(--text-muted); font-size:10px; }
.alert-controls { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.alert-controls select { min-width:220px; flex:1 1 220px; }
.player-alert-feed, .player-watchlist { display:flex; flex-direction:column; gap:6px; }
.player-alert-item, .player-watch-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; background:var(--bg-panel); border:1px solid var(--border); border-radius:6px; }
.player-alert-item > div, .player-watch-item > div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.player-alert-item strong, .player-watch-item strong { font-size:12px; }
.player-alert-item span, .player-watch-item span { color:var(--text-muted); font-size:10px; }
.player-alert-item.urgent { border-left:3px solid var(--bad); }
.player-alert-item.high { border-left:3px solid var(--warn); }
.player-alert-remove { min-height:28px; padding:4px 8px; background:transparent; color:var(--text-muted); border:1px solid var(--border); font-size:10px; }
button:disabled { cursor:not-allowed; opacity:0.45; }

@media (max-width:1024px) { .grade-grid { grid-template-columns:repeat(2,1fr); } .bracket-grid, .bracket-grid.two-col { grid-template-columns:1fr; } }
@media (max-width:960px) {
  .body-layout { flex-direction:column; }
  .sidebar { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; padding:10px 14px; border-radius:16px; position:sticky; top:8px; z-index:6; max-height:none; overflow:visible; }
  .sidebar-heading, .sidebar-groups, .sidebar-caption { display:none; }
  .mobile-nav-label { display:block; color:var(--text-muted); font-size:11px; font-weight:600; }
  .mobile-nav-select { display:block; width:100%; min-width:0; min-height:44px; border-radius:12px; }
  .workspace-controls { grid-template-columns:1fr; gap:10px; }
  .trade-grid, .opt-row { grid-template-columns:1fr; height:auto; }
  .draft-workspace { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:620px) {
  body { padding:10px; gap:10px; }
  .optimizer-heading { align-items:flex-start; flex-direction:column; }
  .optimizer-heading-actions { justify-content:flex-start; }
  .optimizer-totals { grid-template-columns:1fr; }
  .top-nav { padding:11px; gap:10px; }
  .top-brand-row { align-items:flex-start; flex-direction:column; gap:7px; }
  .title-label { font-size:15px; }
  .header-status-group { width:100%; flex-wrap:wrap; }
  .header-status-group #statusLabel { max-width:none; flex:1 1 100%; line-height:1.35; padding:7px 9px; white-space:normal; }
  .share-button { margin-left:auto; }
  .workspace-controls { grid-template-columns:minmax(0,1fr); gap:10px; }
  .connection-fields { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .connection-fields .provider-field, .connection-fields .account-field { grid-column:1 / -1; }
  .connection-fields .connect-button { grid-column:2; justify-self:end; }
  .connection-fields .yahoo-import-label { grid-column:1 / -1; }
  .league-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 82px; gap:8px; }
  .control-field { font-size:9px; }
  .control-field select, .control-field input { padding:7px 8px; font-size:11px; }
  .provider-help { font-size:9px; }
  .body-layout { gap:10px; }
  .sidebar { grid-template-columns:44px minmax(0,1fr); border-radius:14px; padding:8px 12px; gap:8px; }
  .mobile-nav-label { display:block; color:var(--text-muted); font-size:9px; font-weight:800; }
  .mobile-nav-select { display:block; width:100%; min-width:0; }
  .sidebar .nav-group { display:none; }
  .content-stack { padding:12px; border-radius:8px; }
  .card-banner { padding:12px; }
  .banner-inner { gap:8px; }
  .sup-title { width:auto; flex-basis:100%; }
  .sup-item { min-width:100%; }
  .grade-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .draft-settings { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:10px; }
  .draft-setting-actions { grid-column:1 / -1; justify-content:stretch; }
  .draft-setting-actions button { flex:1 1 140px; }
  .draft-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .draft-workspace { grid-template-columns:minmax(0,1fr); }
  .draft-panel-heading { align-items:flex-start; flex-direction:column; }
  .draft-filters { width:100%; }
  .draft-filters input { flex:1; min-width:0; }
  .draft-filters select { width:110px; }
  #draftSort { flex:1 1 100%; width:100%; }
  .draft-board-panel, .draft-roster-panel { padding:10px; }
  #tab-draft.active { max-height:calc(100vh - 340px); }
  .draft-adp-upload { flex:1 1 140px; }
  .draft-history-wrap { max-height:320px; }
  .draft-history-wrap.is-expanded { max-height:68vh; }
  .draft-keeper-fields { grid-template-columns:1fr 1fr; }
  .draft-keeper-fields label:first-child { grid-column:1 / -1; }
  .faab-planner { padding:10px; }
  .waiver-needs-panel { padding:10px; }
  .waiver-needs-heading { align-items:flex-start; flex-direction:column; }
  .waiver-need-list { grid-template-columns:1fr; }
  .waiver-fit-item { align-items:flex-start; flex-direction:column; }
  .faab-settings { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .faab-budget-summary { grid-column:1 / -1; text-align:left; }
  .faab-claim-row { grid-template-columns:minmax(0,1fr) auto; }
  .faab-claim-row > div:first-child { grid-column:1 / -1; }
  .faab-claim-row label { grid-column:1; }
  .faab-claim-row .faab-claim-actions { grid-column:1 / -1; }
  .portfolio-panel { padding:10px; }
  .history-controls button, .weekly-report-actions button, .pickem-controls button { flex:1 1 140px; }
  .weekly-report-actions { align-items:stretch; }
  .portfolio-summary { grid-template-columns:1fr; }
  .gm-inbox-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gm-queue .gm-inbox-list { grid-template-columns:minmax(0,1fr); }
  .comparison-controls, .comparison-cards { grid-template-columns:minmax(0,1fr); }
  .rivalry-panel { padding:10px; }
  .rivalry-heatmap th, .rivalry-heatmap td { min-width:94px; padding:12px 8px; }
  .rivalry-heatmap th:first-child { min-width:110px; max-width:120px; }
  .gm-outcome-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-pressure-item { grid-template-columns:minmax(0,1fr) auto; }
  .portfolio-pressure-item .recommendation-priority { grid-column:1 / -1; }
  .portfolio-pressure-summary { grid-template-columns:1fr; }
  .portfolio-pressure-summary small { grid-column:auto; }
  .portfolio-claim-group-heading { align-items:flex-start; flex-direction:column; }
  .portfolio-claim-row { grid-template-columns:minmax(0,1fr) auto; }
  .portfolio-claim-drop { grid-column:1 / -1; }
  .gm-action-value { margin-left:0; }
  .newsletter-controls-panel { grid-template-columns:1fr; }
  .newsletter-controls-panel #newsletterArchiveMeta, .newsletter-controls-panel .weekly-report-actions, .newsletter-controls-panel #newsletterStatus { grid-column:auto; }
  .newsletter-masthead { align-items:flex-start; flex-direction:column; }
  .newsletter-masthead h1 { font-size:24px; }
  .newsletter-masthead time { text-align:left; }
  .newsletter-brief { grid-template-columns:1fr; gap:8px; }
  .newsletter-games, .newsletter-actions { grid-template-columns:1fr; }
  .analytics-value-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-insight { flex-direction:column; gap:5px; }
  .analytics-controls { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .analytics-controls .analytics-field { align-items:stretch; flex-direction:column; gap:4px; min-width:0; }
  .analytics-controls select { width:100% !important; min-width:0 !important; }
  .analytics-chart-card { padding:10px; }
  .analytics-chart { height:320px; }
  .alert-controls select { flex-basis:100%; }
  .alert-controls button { flex:1 1 150px; }
  .header-status-group { justify-content:space-between; }
  .monetization-area { gap:7px; }
  .adsense-unit { flex-basis:100%; padding:8px; }
  #statusLabel { flex:1 1 55%; }
  #dataFreshnessLabel { flex:1 1 auto; white-space:normal; }
  #retryDataBtn { flex:0 0 auto; }
  .table-wrap { max-width:100%; }
  #tab-matchup > div:first-child { align-items:stretch !important; }
  #tab-matchup > div:first-child > div:last-child { width:100%; flex-wrap:wrap; }
  #tab-matchup select { flex:1 1 110px; min-width:0 !important; }
  #tab-matchup > div:nth-child(2) { grid-template-columns:minmax(0,1fr) !important; gap:8px !important; }
  .trade-grid, .bracket-grid, .bracket-grid.two-col { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:960px) and (orientation:landscape) and (max-height:500px) {
  body { padding:7px; gap:7px; }
  .top-nav { padding:8px 10px; gap:8px; }
  .title-label { font-size:14px; }
  .top-brand-row { align-items:center; flex-direction:row; gap:6px; }
  .header-status-group { width:auto; flex:1 1 auto; justify-content:flex-end; gap:6px; }
  .header-status-group #statusLabel { max-width:42vw; flex:0 1 auto; }
  .data-health { display:none; }
  .status-pill { max-width:42vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .workspace-controls { grid-template-columns:1.1fr 1fr; gap:12px; }
  .connection-fields, .league-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .connection-fields .provider-field, .connection-fields .account-field { grid-column:auto; }
  .connection-fields .connect-button { grid-column:2; justify-self:start; }
  .league-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .week-field { grid-column:2; max-width:none; }
  .control-field { gap:3px; font-size:9px; }
  .control-field select, .control-field input, .connection-fields button { min-height:30px; padding:4px 7px; font-size:10px; }
  .share-button { min-height:30px; padding:4px 7px; font-size:10px; }
  .provider-help { display:none; }
  .body-layout { flex-direction:row; align-items:stretch; gap:7px; }
  .sidebar { width:132px; display:grid; grid-template-columns:1fr; align-content:start; gap:4px; padding:7px; border-radius:10px; }
  .mobile-nav-label { font-size:9px; }
  .mobile-nav-select { min-height:36px; padding:5px 7px; font-size:11px; }
  .content-stack { min-height:calc(100vh - 120px); padding:10px; }
  .analytics-header { align-items:flex-start; flex-direction:column; gap:7px; }
  .analytics-heading { font-size:13px; }
  .analytics-controls { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 8px; }
  .analytics-controls .analytics-field { align-items:stretch; flex-direction:column; gap:3px; min-width:0; font-size:10px; }
  .analytics-controls select { width:100% !important; min-width:0 !important; min-height:34px; padding:5px 7px; font-size:11px; }
  .analytics-controls button { min-height:34px; padding:6px 9px; font-size:11px; }
  .analytics-chart-card { padding:10px; }
  .analytics-chart { height:290px; }
  .analytics-value-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

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