/* Dayman — M9 design system (docs/work-orders/M9-product-experience.md §1.1).
   Dark charcoal/navy surfaces, restrained electric blue and teal, amber and red only for
   risk and urgency. System fonts only; no remote assets. Colour never carries a state
   alone: every state also has words. */

:root {
  /* surfaces */
  --bg: #0a0f17;
  --bg-shell: #0c121c;
  --panel: #111925;
  --panel-raised: #16202e;
  --panel-sunken: #0d141e;
  --line: #1e2a3a;
  --line-strong: #2a3a50;
  /* text */
  --text: #e8eef6;
  --text-dim: #a3b3c6;
  --text-faint: #7d8fa5;
  /* accents */
  --blue: #4b93ff;
  --blue-strong: #2f7bf5;
  --blue-soft: rgba(75, 147, 255, 0.14);
  --teal: #34d4b8;
  --teal-soft: rgba(52, 212, 184, 0.13);
  --amber: #f3b443;
  --amber-soft: rgba(243, 180, 67, 0.14);
  --red: #ff6b6b;
  --red-soft: rgba(255, 107, 107, 0.13);
  --muted-soft: rgba(163, 179, 198, 0.12);
  --focus: #1f5fd6;
  --focus-halo: #cfe0ff;
  /* type */
  --font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --font-display: "DIN Condensed", "Bahnschrift", "Roboto Condensed", "Arial Narrow", sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  /* shape and rhythm */
  --radius: 6px;
  --radius-sm: 4px;
  --gap: 1rem;
  --sidebar: 15rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--bg); }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 0.9375rem/1.5 var(--font-ui);
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--blue); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { color: #8dbbff; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; box-shadow: 0 0 0 2px var(--focus-halo); border-radius: 2px; }
main:focus { outline: none; box-shadow: none; }
h1, h2, h3 { margin: 0 0 0.5rem; line-height: 1.2; font-weight: 650; }
h1 { font-size: 1.85rem; letter-spacing: -0.01em; }
h2 { font-size: 1.05rem; }
h3 { font-size: 0.95rem; }
p { margin: 0 0 0.75rem; max-width: 72ch; }
ul, ol { margin: 0 0 0.75rem; padding-left: 1.2rem; }
li { margin-bottom: 0.25rem; }
strong, b { font-weight: 650; }
small { font-size: 0.8em; }
.icon { width: 1em; height: 1em; flex: none; vertical-align: -0.125em; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.muted { color: var(--text-faint); }
.nowrap { white-space: nowrap; }
.num { text-align: right; font-variant-numeric: tabular-nums; }

.skip-link { position: absolute; left: 1rem; top: -3rem; z-index: 10; background: var(--text); color: var(--bg); padding: 0.5rem 0.75rem; border-radius: var(--radius-sm); }
.skip-link:focus { top: 0.5rem; }

/* ---- bands and scenario switcher ---------------------------------------------- */
.band-row { background: var(--panel-sunken); border-bottom: 1px solid var(--line); }
.synthetic-band { max-width: none; margin: 0; padding: 0.35rem 1rem; font-size: 0.8rem; color: var(--text-dim); }
.band-showcase { color: var(--text); background: repeating-linear-gradient(135deg, rgba(243, 180, 67, 0.09) 0 12px, transparent 12px 24px); }
.band-showcase strong { color: var(--amber); letter-spacing: 0.02em; }
.band-clock { color: var(--text); white-space: nowrap; }
.band-live { color: var(--text); background: var(--teal-soft); }
.band-live strong { color: var(--teal); letter-spacing: 0.02em; }

.scenario-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; padding: 0.55rem 1rem; background: linear-gradient(90deg, rgba(75, 147, 255, 0.08), transparent 60%), var(--bg-shell); border-bottom: 1px solid var(--line); }
.scenario-label { display: inline-flex; gap: 0.4rem; align-items: center; color: var(--text-dim); font-size: 0.8rem; font-weight: 600; }
.scenario-options { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.scenario-chip { font: inherit; font-size: 0.8rem; color: var(--text-dim); background: var(--panel); border: 1px solid var(--line-strong); border-radius: 999px; padding: 0.25rem 0.7rem; cursor: pointer; }
.scenario-chip:hover { color: var(--text); border-color: var(--blue); }
.scenario-chip[aria-pressed="true"] { color: #fff; background: var(--blue-strong); border-color: var(--blue-strong); }
.scenario-summary { margin: 0; flex: 1 1 18rem; font-size: 0.8rem; color: var(--text-faint); }
.scenario-group { align-self: center; flex: none; font-size: 0.72rem; font-weight: 650; color: var(--text-faint); padding: 0 0.15rem 0 0.6rem; border-left: 1px solid var(--line-strong); }

/* ---- shell ---------------------------------------------------------------------- */
.shell { min-height: 100vh; }
.masthead { display: flex; align-items: center; gap: 1rem; padding: 0.85rem 1rem; }
.wordmark { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--text); text-decoration: none; font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; letter-spacing: 0.03em; line-height: 1; }
.wordmark .mark { width: 1.5rem; height: 1.5rem; color: var(--blue); }
.primary-nav { display: flex; flex-direction: column; gap: 0.15rem; }
.primary-nav a { display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0.65rem; border-radius: var(--radius-sm); color: var(--text-dim); text-decoration: none; font-weight: 550; }
.primary-nav a .icon { width: 1.1rem; height: 1.1rem; }
.primary-nav a:hover { color: var(--text); background: var(--panel-raised); }
.primary-nav a[aria-current="page"] { color: #fff; background: var(--blue-soft); box-shadow: inset 3px 0 0 var(--blue); }
.nav-group { margin: 1rem 0.65rem 0.35rem; font-size: 0.72rem; font-weight: 650; color: var(--text-faint); }
.account { margin-top: 1.25rem; padding: 0.75rem 0.65rem 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 0.5rem; }
.account-name { font-size: 0.8rem; color: var(--text-faint); }
.account form { margin: 0; }
main { padding: 1.25rem 1rem 3rem; }

@media (min-width: 61rem) {
  .shell-app { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); }
  .shell-app .masthead { position: sticky; top: 0; align-self: start; height: 100vh; flex-direction: column; align-items: stretch; gap: 1.25rem; padding: 1.25rem 0.85rem; background: var(--bg-shell); border-right: 1px solid var(--line); overflow-y: auto; }
  .shell-app main { padding: 1.5rem 2rem 4rem; min-width: 0; }
}
@media (max-width: 60.99rem) {
  .shell-app .masthead { flex-direction: column; align-items: stretch; gap: 0.6rem; padding: 0.7rem 0.75rem 0.5rem; background: var(--bg-shell); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; }
  .shell-app .primary-nav { flex-direction: row; align-items: center; gap: 0.25rem; overflow-x: auto; scrollbar-width: none; margin: 0 -0.75rem; padding: 0 0.75rem 0.15rem; }
  .shell-app .primary-nav::-webkit-scrollbar { display: none; }
  .shell-app .primary-nav a { flex: none; padding: 0.4rem 0.6rem; font-size: 0.85rem; white-space: nowrap; }
  .shell-app .primary-nav a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--blue); }
  .nav-group { display: none; }
  .account { flex: none; flex-direction: row; align-items: center; margin: 0 0 0 0.5rem; padding: 0 0 0 0.75rem; border-top: 0; border-left: 1px solid var(--line); }
  .account-name { white-space: nowrap; }
}
.shell:not(.shell-app) main { max-width: 34rem; margin: 2rem auto; }

/* ---- buttons, chips, pills -------------------------------------------------- */
.button-primary { font: inherit; font-weight: 600; color: #fff; background: var(--blue-strong); border: 1px solid var(--blue-strong); border-radius: var(--radius-sm); padding: 0.5rem 1rem; cursor: pointer; }
.button-primary:hover { background: var(--blue); }
.button-quiet { font: inherit; font-size: 0.85rem; color: var(--text-dim); background: transparent; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0.35rem 0.7rem; cursor: pointer; }
.button-quiet:hover { color: var(--text); border-color: var(--text-faint); }
.chip { font: inherit; font-size: 0.8rem; color: var(--text-dim); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: 999px; padding: 0.2rem 0.65rem; cursor: pointer; }
.chip span { color: var(--text-faint); margin-left: 0.2rem; }
.chip[aria-pressed="true"] { color: #fff; border-color: var(--blue); background: var(--blue-soft); }
.pill { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.72rem; font-weight: 650; line-height: 1; padding: 0.3rem 0.55rem; border-radius: 999px; white-space: nowrap; border: 1px solid transparent; }
.pill::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: currentColor; }
.tone-action.pill, .pill.tone-action { color: #9cc4ff; background: var(--blue-soft); border-color: rgba(75, 147, 255, 0.35); }
.pill.tone-ok { color: var(--teal); background: var(--teal-soft); border-color: rgba(52, 212, 184, 0.3); }
.pill.tone-warn { color: var(--amber); background: var(--amber-soft); border-color: rgba(243, 180, 67, 0.32); }
.pill.tone-risk { color: var(--red); background: var(--red-soft); border-color: rgba(255, 107, 107, 0.32); }
.pill.tone-muted { color: var(--text-dim); background: var(--muted-soft); border-color: var(--line-strong); }
.delta { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.delta-gain { color: var(--teal); }
.delta-flat { color: var(--text-dim); }

/* ---- page head and panels ---------------------------------------------------- */
.page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.25rem; }
.kicker { margin: 0 0 0.2rem; font-size: 0.78rem; font-weight: 650; color: var(--blue); }
.page-title h1 { font-family: var(--font-display); font-size: 2.6rem; font-weight: 700; letter-spacing: 0.01em; margin: 0; line-height: 1; }
.dateline { margin: 0.35rem 0 0; color: var(--text-dim); }
.lede { color: var(--text-dim); }
.stat-strip { display: flex; flex-wrap: wrap; gap: 0; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); overflow: hidden; }
.stat { padding: 0.6rem 1rem; border-right: 1px solid var(--line); min-width: 7.5rem; }
.stat:last-child { border-right: 0; }
.stat dt { font-size: 0.72rem; color: var(--text-faint); font-weight: 600; }
.stat dd { margin: 0.1rem 0 0; font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; line-height: 1.05; }
.stat-action dd { color: #9cc4ff; }
.stat-warn dd { color: var(--amber); }
.stat-wide { min-width: 12rem; }
.stat-time small { font-size: 0.6em; color: var(--text-dim); }
.stat-sub { display: block; font-family: var(--font-ui); font-size: 0.75rem; font-weight: 500; color: var(--text-dim); }

.panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; min-width: 0; }
.panel-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.25rem 1rem; margin-bottom: 0.75rem; }
.panel-head h2 { margin: 0; font-size: 0.98rem; }
.panel-sub { flex-basis: 100%; margin: 0; font-size: 0.78rem; color: var(--text-faint); }
.panel-link { font-size: 0.8rem; font-weight: 600; text-decoration: none; }
.panel-note { margin: 0.75rem 0 0; font-size: 0.78rem; color: var(--text-faint); }
.empty { color: var(--text-faint); font-size: 0.875rem; margin: 0; }
.notice-inline { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.75rem 0.85rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line-strong); margin-bottom: 0.75rem; }
.notice-inline p { margin: 0; }
.notice-inline.tone-warn { border-color: rgba(243, 180, 67, 0.4); }
.notice-inline.tone-warn .icon { color: var(--amber); }
.notice-inline.tone-risk { border-color: rgba(255, 107, 107, 0.4); }
.notice-inline.tone-risk .icon { color: var(--red); }

/* ---- command center grid ------------------------------------------------------ */
.cc-grid { display: grid; gap: var(--gap); align-items: start; grid-template-columns: minmax(0, 1fr); grid-template-areas: "actions" "leagues" "timeline" "risk" "opps" "changes" "recent"; margin-bottom: 1.5rem; }
.cc-leagues { grid-area: leagues; }
.cc-actions { grid-area: actions; }
.cc-timeline { grid-area: timeline; }
.cc-opps { grid-area: opps; }
.cc-risk { grid-area: risk; }
.cc-changes { grid-area: changes; }
.cc-recent { grid-area: recent; }
@media (min-width: 48rem) {
  .cc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "leagues leagues" "actions actions" "timeline risk" "opps changes" "recent recent"; }
}
@media (min-width: 80rem) {
  .cc-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-areas:
    "leagues leagues leagues leagues leagues leagues leagues leagues leagues leagues leagues leagues"
    "actions actions actions actions actions actions actions actions timeline timeline timeline timeline"
    "opps opps opps opps risk risk risk risk changes changes changes changes"
    "recent recent recent recent recent recent recent recent recent recent recent recent"; }
}

/* league tiles */
.league-tiles { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); }
.league-tiles-wide { grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); margin-bottom: 1rem; }
.league-tile { position: relative; display: flex; flex-direction: column; gap: 0.6rem; padding: 0.9rem; background: var(--panel-raised); border: 1px solid var(--line); border-radius: var(--radius); border-top: 3px solid var(--line-strong); }
.league-tile.tone-action { border-top-color: var(--blue); }
.league-tile.tone-ok { border-top-color: var(--teal); }
.league-tile.tone-warn { border-top-color: var(--amber); }
.league-tile.tone-risk { border-top-color: var(--red); }
.tile-head { display: flex; gap: 0.65rem; align-items: center; }
.tile-head h3 { margin: 0; font-size: 1rem; }
.tile-head h3 a { color: var(--text); text-decoration: none; }
.tile-head h3 a:hover { color: #9cc4ff; text-decoration: underline; }
.tile-team { margin: 0; font-size: 0.8rem; color: var(--text-faint); }
.tile-monogram { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; flex: none; border-radius: var(--radius-sm); background: linear-gradient(140deg, #23344d, #142033); border: 1px solid var(--line-strong); font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: #cfe0ff; text-transform: uppercase; }
.tile-monogram-lg { width: 3.2rem; height: 3.2rem; font-size: 1.6rem; }
.tile-status { display: flex; align-items: center; gap: 0.5rem; margin: 0; }
.tile-week { font-size: 0.75rem; color: var(--text-faint); }
.tile-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 0.75rem; margin: 0; }
.tile-facts dt { font-size: 0.7rem; color: var(--text-faint); }
.tile-facts dd { margin: 0; font-size: 0.83rem; font-weight: 550; }
.tile-meter { margin-top: auto; }
.tile-totals { display: flex; justify-content: space-between; margin: 0.3rem 0 0; font-size: 0.8rem; color: var(--text-dim); }
.tile-note { margin: auto 0 0; font-size: 0.8rem; color: var(--text-dim); }
.tile-open { font-size: 0.8rem; font-weight: 600; text-decoration: none; }

/* meters (real totals only) */
.meter { display: block; }
.meter-track { position: relative; display: block; height: 0.5rem; border-radius: 999px; background: linear-gradient(90deg, rgba(52, 212, 184, 0.28), rgba(52, 212, 184, 0.45)); overflow: hidden; }
.meter-current { display: block; height: 100%; background: linear-gradient(90deg, #2a62c9, var(--blue)); border-radius: 999px; }
.meter-best { display: block; height: 100%; background: linear-gradient(90deg, #1f9c87, var(--teal)); border-radius: 999px; }

/* action center */
.action-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.action { margin: 0; padding: 0.8rem 0.9rem; background: var(--panel-raised); border: 1px solid var(--line); border-left: 3px solid var(--line-strong); border-radius: var(--radius-sm); }
.action.tone-action { border-left-color: var(--blue); }
.action.tone-warn { border-left-color: var(--amber); }
.action.tone-risk { border-left-color: var(--red); }
.action.tone-ok { border-left-color: var(--teal); }
.action-top { display: flex; flex-wrap: wrap; gap: 0.35rem 0.75rem; align-items: center; font-size: 0.8rem; }
.action-league { font-weight: 600; color: var(--text); text-decoration: none; }
.action-league:hover { text-decoration: underline; }
.action-deadline { margin-left: auto; display: inline-flex; gap: 0.35rem; align-items: center; color: var(--text-dim); }
.tier-0 .action-deadline b { color: var(--amber); }
.action-title { margin: 0.45rem 0 0.4rem; font-size: 0.95rem; }
.action-total, .action-why { margin: 0.35rem 0; font-size: 0.85rem; color: var(--text-dim); }
.action-total .icon { color: var(--text-faint); }
.action-open { display: inline-flex; gap: 0.3rem; align-items: center; font-size: 0.8rem; font-weight: 600; text-decoration: none; }
.action-meta { margin: 0.4rem 0 0; font-size: 0.75rem; color: var(--text-faint); }

.swaps { list-style: none; margin: 0.25rem 0; padding: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.swap { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) auto minmax(0, 1fr) auto; gap: 0.5rem; align-items: center; margin: 0; padding: 0.45rem 0.55rem; background: var(--panel-sunken); border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 0.83rem; }
.swap-slot { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--text-dim); }
.swap-out { color: var(--text-dim); text-decoration: line-through; text-decoration-color: rgba(255, 107, 107, 0.6); }
.swap-in { color: var(--text); }
.swap-out b, .swap-in b { font-weight: 650; margin-left: 0.2rem; text-decoration: none; display: inline-block; }
.swap-tag { display: inline-block; margin-right: 0.35rem; font-size: 0.65rem; font-weight: 700; padding: 0.05rem 0.3rem; border-radius: 3px; text-decoration: none; }
.swap-out .swap-tag { color: var(--red); background: var(--red-soft); }
.swap-in .swap-tag { color: var(--teal); background: var(--teal-soft); }
.swap-arrow { color: var(--text-faint); }
.swap-why { grid-column: 2 / -1; font-size: 0.76rem; color: var(--text-faint); }
.swaps-compact .swap { grid-template-columns: 3.4rem minmax(0, 1fr) auto; }
.swaps-compact .swap-why { grid-column: auto; font-size: 0.8rem; color: var(--text-dim); }
@media (max-width: 40rem) {
  .swap { grid-template-columns: 3rem minmax(0, 1fr) auto; }
  .swap-arrow { display: none; }
  .swap-in { grid-column: 2; }
  .swap-out { grid-column: 2; }
  .swap .delta { grid-column: 3; grid-row: 1; }
}

/* timeline */
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline-day { margin: 0.75rem 0 0.35rem; font-size: 0.72rem; font-weight: 700; color: var(--text-faint); }
.timeline-day:first-child { margin-top: 0; }
.event { position: relative; display: grid; grid-template-columns: 4.6rem 0.75rem minmax(0, 1fr); gap: 0.5rem; align-items: start; margin: 0; padding: 0.3rem 0; }
.event-time { font-size: 0.8rem; font-weight: 650; color: var(--text); text-align: right; }
.event-dot { width: 0.6rem; height: 0.6rem; margin-top: 0.35rem; border-radius: 50%; border: 2px solid var(--text-faint); }
.event-deadline .event-dot { border-color: var(--amber); background: var(--amber); }
.event-lock .event-dot { border-color: var(--blue); }
.event-kickoff .event-dot { border-color: var(--text-faint); border-style: dashed; }
.event-unknown .event-dot { border-color: var(--red); }
.event-title, .event-detail { margin: 0; font-size: 0.83rem; }
.event-detail { color: var(--text-faint); font-size: 0.78rem; }
.event-kind { display: inline-block; font-size: 0.66rem; font-weight: 700; color: var(--text-faint); margin-right: 0.3rem; padding: 0.05rem 0.3rem; border: 1px solid var(--line-strong); border-radius: 3px; }
.event-deadline .event-kind { color: var(--amber); border-color: rgba(243, 180, 67, 0.4); }
.event-lock .event-kind { color: #9cc4ff; border-color: rgba(75, 147, 255, 0.4); }

/* opportunities */
.opp-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.85rem; }
.opp { margin: 0; }
.opp-head { display: flex; justify-content: space-between; margin-bottom: 0.3rem; font-size: 0.85rem; font-weight: 600; }
.opp-head a { color: var(--text); text-decoration: none; }
.opp-figures { display: flex; flex-wrap: wrap; gap: 0.25rem 0.9rem; margin: 0.3rem 0 0.1rem; font-size: 0.76rem; color: var(--text-faint); }
.opp-figures b { color: var(--text); }
.opp-open { font-size: 0.76rem; font-weight: 600; text-decoration: none; }

/* risks */
.risk-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.45rem; }
.risk { display: flex; gap: 0.6rem; margin: 0; padding: 0.55rem 0.65rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); }
.risk .icon { margin-top: 0.2rem; width: 1.05rem; height: 1.05rem; }
.risk.tone-risk { border-color: rgba(255, 107, 107, 0.35); }
.risk.tone-risk .icon { color: var(--red); }
.risk.tone-warn .icon { color: var(--amber); }
.risk.tone-info .icon { color: var(--text-faint); }
.risk p { margin: 0; }
.risk-head { font-size: 0.72rem; color: var(--text-faint); }
.risk-kind { font-weight: 700; color: var(--text-dim); margin-right: 0.35rem; }
.risk.tone-risk .risk-kind { color: var(--red); }
.risk.tone-warn .risk-kind { color: var(--amber); }
.risk-subject { font-size: 0.85rem; font-weight: 600; }
.risk-detail { font-size: 0.78rem; color: var(--text-dim); }

/* recent changes and decisions */
.change-list, .recent-list, .history-list { list-style: none; margin: 0; padding: 0; }
.change { margin: 0; padding: 0.5rem 0 0.5rem 0.75rem; border-left: 2px solid var(--line-strong); }
.change + .change { margin-top: 0.25rem; }
.change.tone-action { border-left-color: var(--blue); }
.change.tone-risk { border-left-color: var(--red); }
.change.tone-warn { border-left-color: var(--amber); }
.change.tone-ok { border-left-color: var(--teal); }
.change-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 0.15rem; font-size: 0.72rem; color: var(--text-faint); }
.change-kind { font-weight: 700; color: var(--text-dim); }
.change-text { margin: 0; font-size: 0.83rem; }
.change-text a { color: var(--text); text-decoration-color: var(--line-strong); }
.recent-list { display: grid; gap: 0.35rem; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }
.recent-list li { margin: 0; }
.recent-list a { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; padding: 0.5rem 0.65rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); color: var(--text); text-decoration: none; font-size: 0.8rem; }
.recent-list a:hover { border-color: var(--line-strong); }
.recent-league { font-weight: 600; }
.recent-time { color: var(--text-faint); margin-left: auto; white-space: nowrap; }

/* ---- the full board of cards ------------------------------------------------- */
.board { margin-top: 0.5rem; }
.board-title { font-size: 1.05rem; }
.board > section { margin-top: 1rem; }
.board > section > h2 { font-size: 0.82rem; font-weight: 700; color: var(--text-dim); padding-bottom: 0.4rem; border-bottom: 1px solid var(--line); }
.rundown { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); }
.rundown > li { margin: 0; }
.card { display: grid; grid-template-columns: 6.4rem minmax(0, 1fr); height: 100%; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.card-body { padding: 0.8rem 0.9rem; min-width: 0; }
.card-title { margin: 0.15rem 0 0.4rem; font-size: 0.98rem; }
.card-title a { color: var(--text); text-decoration: none; }
.card-title a:hover { color: #9cc4ff; text-decoration: underline; }
.where { margin: 0; font-size: 0.75rem; color: var(--text-faint); }
.where .league { font-weight: 650; color: var(--text-dim); }
.where .team::before { content: "/"; margin: 0 0.35rem; color: var(--line-strong); }

.lock { padding: 0.8rem 0.6rem; background: var(--panel-sunken); border-right: 1px solid var(--line); text-align: center; }
.lock p { margin: 0; max-width: none; }
.lock-time { font-family: var(--font-display); font-size: 1.45rem; font-weight: 700; line-height: 1.05; color: var(--text); }
.lock-zone { display: block; font-family: var(--font-ui); font-size: 0.7rem; font-weight: 600; color: var(--text-faint); text-decoration: none; }
.lock-note { margin-top: 0.3rem !important; font-size: 0.7rem; color: var(--text-dim); }
.lock-unknown { font-family: var(--font-ui); font-size: 0.85rem; font-weight: 650; color: var(--text-dim); }
.lock-large { border-right: 0; border-radius: var(--radius); border: 1px solid var(--line); min-width: 8rem; }
.lock-large .lock-time { font-size: 2.2rem; }
.state-current .lock { box-shadow: inset 0 3px 0 var(--blue); }
.state-current .lock-time { color: #9cc4ff; }
.state-stale .lock, .state-incomplete .lock, .state-blocked .lock { box-shadow: inset 0 3px 0 var(--amber); }
.state-withheld .lock, .state-invalid .lock, .state-disconnected .lock, .state-retention_expired .lock { box-shadow: inset 0 3px 0 var(--red); }
.state-no_change .lock { box-shadow: inset 0 3px 0 var(--teal); }
.state-expired .lock-time, .state-superseded .lock-time, .state-purged .lock-time { color: var(--text-faint); }

.state { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: baseline; margin: 0 0 0.5rem; }
.badge { display: inline-block; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.5rem; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); color: var(--text-dim); background: var(--muted-soft); white-space: nowrap; }
.badge-current { color: #cfe0ff; background: var(--blue-strong); border-color: var(--blue-strong); }
.badge-no_change { color: var(--teal); background: var(--teal-soft); border-color: rgba(52, 212, 184, 0.4); }
.badge-stale, .badge-incomplete, .badge-blocked { color: var(--amber); background: var(--amber-soft); border-color: rgba(243, 180, 67, 0.4); }
.badge-invalid, .badge-withheld, .badge-disconnected, .badge-retention_expired { color: var(--red); background: var(--red-soft); border-color: rgba(255, 107, 107, 0.4); }
.badge-expired, .badge-superseded, .badge-purged { color: var(--text-dim); }
.state-reason { font-size: 0.8rem; color: var(--text-dim); }
.advice { margin: 0.35rem 0 0.6rem; font-size: 0.88rem; }
.advice-unverified { color: var(--amber); }
.advice-history, .advice-none { color: var(--text-dim); }
.act { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.75rem; margin: 0.4rem 0 0.6rem; }
.act-note { margin: 0; font-size: 0.75rem; color: var(--text-faint); flex: 1 1 14rem; }
.copy-status { margin: 0; font-size: 0.78rem; color: var(--teal); flex-basis: 100%; }
.copy-status:empty { display: none; }
.facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: 0.35rem 0.85rem; margin: 0.5rem 0 0; }
.facts div { min-width: 0; }
.facts dt { font-size: 0.68rem; color: var(--text-faint); }
.facts dd { margin: 0; font-size: 0.8rem; color: var(--text-dim); overflow-wrap: anywhere; }
@media (max-width: 30rem) {
  .card { grid-template-columns: 1fr; }
  .card .lock { display: flex; gap: 0.6rem; align-items: baseline; justify-content: flex-start; border-right: 0; border-bottom: 1px solid var(--line); text-align: left; padding: 0.55rem 0.9rem; }
  .card .lock-time { font-size: 1.2rem; }
  .card .lock-zone { display: inline; margin-left: 0.25rem; }
  .card .lock-note { margin-top: 0 !important; }
}

/* ---- tables --------------------------------------------------------------- */
.table-wrap { overflow-x: auto; max-width: 100%; }
table { width: 100%; border-collapse: collapse; font-size: 0.83rem; }
th, td { padding: 0.45rem 0.55rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
thead th { font-size: 0.7rem; font-weight: 700; color: var(--text-faint); border-bottom-color: var(--line-strong); white-space: nowrap; }
tbody tr:hover > * { background: rgba(75, 147, 255, 0.04); }
.lineup tbody th { font-family: var(--font-display); font-size: 0.95rem; color: var(--text-dim); }
.lineup-changed td:nth-child(4), .lineup-changed td:nth-child(5) { color: var(--teal); font-weight: 650; }
.lineup-changed > * { background: rgba(52, 212, 184, 0.05); }
.lineup tfoot th, .lineup tfoot td { font-weight: 700; border-bottom: 0; border-top: 1px solid var(--line-strong); }
.lineup-locked { display: inline-block; margin-left: 0.3rem; font-family: var(--font-ui); font-size: 0.65rem; font-weight: 700; color: var(--text-faint); border: 1px solid var(--line-strong); border-radius: 3px; padding: 0 0.25rem; }
.lineup-note { font-size: 0.78rem; color: var(--text-faint); }
.evidence-old td:last-child, .evidence-future td:last-child, .evidence-unknown td:last-child, .evidence-unreadable td:last-child { color: var(--amber); font-weight: 600; }
.roster-reserve th, .roster-reserve td { color: var(--text-faint); }
.roster-facts { font-size: 0.83rem; color: var(--text-dim); }

/* ---- league workspace -------------------------------------------------------- */
.league-switch { display: flex; gap: 0.35rem; overflow-x: auto; margin: -0.25rem 0 1rem; padding-bottom: 0.25rem; }
.league-switch a { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--text-dim); text-decoration: none; font-size: 0.82rem; font-weight: 600; white-space: nowrap; background: var(--panel); }
.league-switch a[aria-current="page"] { color: #fff; border-color: var(--blue); background: var(--blue-soft); }
.switch-dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--text-faint); }
.switch-dot.tone-action { background: var(--blue); }
.switch-dot.tone-ok { background: var(--teal); }
.switch-dot.tone-warn { background: var(--amber); }
.switch-dot.tone-risk { background: var(--red); }
.league-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; padding: 1.1rem 1.2rem; margin-bottom: var(--gap); border-radius: var(--radius); border: 1px solid var(--line); background: radial-gradient(120% 140% at 0% 0%, rgba(75, 147, 255, 0.13), transparent 55%), var(--panel); }
.league-head.tone-warn { background: radial-gradient(120% 140% at 0% 0%, rgba(243, 180, 67, 0.1), transparent 55%), var(--panel); }
.league-head.tone-risk { background: radial-gradient(120% 140% at 0% 0%, rgba(255, 107, 107, 0.1), transparent 55%), var(--panel); }
.league-head.tone-ok { background: radial-gradient(120% 140% at 0% 0%, rgba(52, 212, 184, 0.1), transparent 55%), var(--panel); }
.league-id { display: flex; gap: 0.9rem; align-items: center; }
.league-id h1 { font-family: var(--font-display); font-size: 2.3rem; margin: 0; line-height: 1; }
.league-team { margin: 0.25rem 0 0; color: var(--text-dim); }
.league-facts { display: grid; grid-template-columns: repeat(3, minmax(8.5rem, auto)); gap: 0.5rem 1.4rem; margin: 0; align-self: center; }
.league-facts dt { font-size: 0.7rem; color: var(--text-faint); }
.league-facts dd { margin: 0.1rem 0 0; font-size: 0.85rem; font-weight: 550; }
@media (max-width: 40rem) { .league-facts { grid-template-columns: 1fr 1fr; } }
.ws-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); grid-template-areas: "compare" "side" "roster" "history"; }
.ws-compare { grid-area: compare; }
.ws-side { grid-area: side; display: flex; flex-direction: column; gap: var(--gap); min-width: 0; }
.ws-roster { grid-area: roster; }
.ws-history { grid-area: history; }
@media (min-width: 80rem) {
  .ws-grid { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); grid-template-areas: "compare side" "roster side" "history history"; align-items: start; }
}
.compare-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-bottom: 0.85rem; }
.total-block { padding: 0.6rem 0.75rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); }
.total-label { margin: 0; font-size: 0.7rem; color: var(--text-faint); font-weight: 600; }
.total-value { margin: 0; font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; line-height: 1.1; }
.total-best { border-color: rgba(52, 212, 184, 0.35); }
.total-best .total-value { color: var(--teal); }
.compare-cols { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; margin-bottom: 0.75rem; }
.compare-row { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr) 3.6rem 1.6rem minmax(0, 1fr) 3.6rem; gap: 0.4rem; align-items: center; padding: 0.42rem 0.6rem; border-bottom: 1px solid var(--line); font-size: 0.84rem; }
.compare-single .compare-row { grid-template-columns: 4.2rem minmax(0, 1fr) 3.6rem; }
.compare-row:last-child { border-bottom: 0; }
.compare-header { font-size: 0.68rem; font-weight: 700; color: var(--text-faint); background: var(--panel-sunken); }
.compare-slot { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--text-dim); display: inline-flex; gap: 0.25rem; align-items: center; }
.compare-slot .icon { width: 0.85rem; height: 0.85rem; color: var(--text-faint); }
.compare-player { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compare-arrow { color: var(--teal); text-align: center; }
.compare-row.is-changed { background: linear-gradient(90deg, rgba(255, 107, 107, 0.06), rgba(52, 212, 184, 0.08)); }
.compare-row.is-changed > span:nth-child(2), .compare-row.is-changed > span:nth-child(3) { color: var(--text-dim); text-decoration: line-through; text-decoration-color: rgba(255, 107, 107, 0.55); }
.compare-row.is-changed > span:nth-child(5), .compare-row.is-changed > span:nth-child(6) { color: var(--teal); font-weight: 650; }
.compare-row.is-fixed { background: rgba(163, 179, 198, 0.04); }
@media (max-width: 40rem) {
  .compare-row { grid-template-columns: 3.2rem minmax(0, 1fr) 3rem; }
  .compare-row > span:nth-child(4) { display: none; }
  .compare-row > span:nth-child(5) { grid-column: 2; font-size: 0.8rem; }
  .compare-row > span:nth-child(6) { grid-column: 3; font-size: 0.8rem; }
  .compare-row:not(.is-changed) > span:nth-child(5), .compare-row:not(.is-changed) > span:nth-child(6) { display: none; }
  .compare-header > span:nth-child(5), .compare-header > span:nth-child(6) { display: none; }
}
.roster-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.6rem; }
.filter-group { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.roster-count { margin: 0; font-size: 0.75rem; color: var(--text-faint); }
.squad-table th, .squad-table td { vertical-align: middle; }
.squad-table .sort, .wv-table .sort { font: inherit; font-size: inherit; font-weight: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.squad-table .sort:hover, .wv-table .sort:hover { color: var(--text); }
th[aria-sort="ascending"] .sort::after { content: " ▲"; }
th[aria-sort="descending"] .sort::after { content: " ▼"; }
.slot-tag { display: inline-block; min-width: 2.8rem; text-align: center; font-family: var(--font-display); font-size: 0.95rem; font-weight: 700; padding: 0.1rem 0.3rem; border-radius: 3px; background: var(--blue-soft); color: #cfe0ff; }
.slot-bench { background: var(--muted-soft); color: var(--text-dim); }
.slot-reserve { background: transparent; border: 1px dashed var(--line-strong); color: var(--text-faint); }
.squad-player { font-weight: 600; }
.move-note { display: block; font-size: 0.7rem; font-weight: 600; color: var(--teal); }
.move-out { color: var(--red); }
.squad-reserve > * { color: var(--text-faint); }
.status { display: inline-block; font-size: 0.72rem; font-weight: 650; padding: 0.1rem 0.4rem; border-radius: 3px; border: 1px solid var(--line-strong); color: var(--text-dim); white-space: nowrap; }
.status-available { color: var(--teal); border-color: rgba(52, 212, 184, 0.3); }
.status-questionable, .status-doubtful, .status-conflicting, .status-unknown { color: var(--amber); border-color: rgba(243, 180, 67, 0.4); }
.status-out, .status-inactive, .status-bye { color: var(--red); border-color: rgba(255, 107, 107, 0.4); }
.lock-tag { display: inline-flex; gap: 0.25rem; align-items: center; font-size: 0.75rem; color: var(--text-dim); }
.inspect { font: inherit; font-size: 0.75rem; color: var(--blue); background: none; border: 1px solid var(--line-strong); border-radius: 3px; padding: 0.15rem 0.45rem; cursor: pointer; }
.inspect[aria-expanded="true"] { color: #fff; background: var(--blue-soft); border-color: var(--blue); }
.player-detail td { background: var(--panel-sunken); }
.detail-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0.5rem 1rem; margin: 0.25rem 0; }
.detail-facts dt { font-size: 0.68rem; color: var(--text-faint); }
.detail-facts dd { margin: 0; font-size: 0.82rem; }
@media (max-width: 40rem) { .hide-sm { display: none; } }
@media (max-width: 64rem) { .hide-md { display: none; } }
.history-item { margin: 0; }
.history-item a { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.75rem; padding: 0.5rem 0.4rem; border-bottom: 1px solid var(--line); color: var(--text); text-decoration: none; font-size: 0.84rem; }
.history-item a:hover { background: rgba(75, 147, 255, 0.05); }
.history-item.is-current a { box-shadow: inset 3px 0 0 var(--blue); }
.history-time { width: 11.5rem; color: var(--text-faint); font-size: 0.78rem; }
.history-title { flex: 1 1 12rem; }
.history-flag { font-size: 0.68rem; font-weight: 700; color: var(--blue); }

/* ---- decisions history page ---------------------------------------------------- */
.history-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem 1rem; margin-bottom: var(--gap); }
.filter-field { display: flex; flex-direction: column; gap: 0.25rem; }
.filter-field label { font-size: 0.72rem; font-weight: 600; color: var(--text-faint); }
select, input[type="text"], input[type="password"], textarea { font: inherit; color: var(--text); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0.45rem 0.6rem; }
.filter-count { margin: 0 0 0 auto; font-size: 0.8rem; color: var(--text-faint); }
.table-panel { padding: 0.25rem 0.5rem; }
.row-sub { display: block; font-size: 0.75rem; color: var(--text-faint); }

/* ---- decision detail ----------------------------------------------------------- */
.crumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-bottom: 0.85rem; font-size: 0.82rem; color: var(--text-faint); }
.crumbs a { text-decoration: none; font-weight: 600; }
.back { margin: 0 0 0.75rem; }
.detail-head { display: flex; flex-wrap: wrap; gap: 1rem 1.25rem; align-items: stretch; margin-bottom: var(--gap); }
.detail-title { flex: 1 1 22rem; min-width: 0; }
.detail-head h1 { font-family: var(--font-display); font-size: 2.3rem; margin: 0.15rem 0 0.4rem; line-height: 1.05; }
.decision-hero { margin-bottom: var(--gap); padding: 1rem 1.1rem; border-radius: var(--radius); border: 1px solid rgba(75, 147, 255, 0.35); background: radial-gradient(100% 120% at 100% 0%, rgba(52, 212, 184, 0.09), transparent 50%), radial-gradient(100% 120% at 0% 0%, rgba(75, 147, 255, 0.12), transparent 55%), var(--panel); }
.decision-hero h2 { font-size: 0.85rem; color: var(--blue); }
.hero-swaps { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.hero-swap { padding: 0.75rem; border-radius: var(--radius-sm); background: rgba(10, 15, 23, 0.55); border: 1px solid var(--line); }
.hero-slot { margin: 0 0 0.4rem; font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; color: var(--text-dim); }
.hero-pair { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.6rem; align-items: stretch; }
.hero-player { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.55rem 0.65rem; border-radius: var(--radius-sm); }
.hero-out { background: var(--red-soft); border: 1px solid rgba(255, 107, 107, 0.3); }
.hero-in { background: var(--teal-soft); border: 1px solid rgba(52, 212, 184, 0.35); }
.hero-tag { font-size: 0.66rem; font-weight: 700; color: var(--text-faint); }
.hero-out .hero-tag { color: var(--red); }
.hero-in .hero-tag { color: var(--teal); }
.hero-name { font-weight: 650; font-size: 0.9rem; }
.hero-pts { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; line-height: 1; }
.hero-arrow { align-self: center; width: 1.4rem; height: 1.4rem; color: var(--text-faint); }
.hero-why { margin: 0.55rem 0 0; font-size: 0.82rem; color: var(--text-dim); }
.hero-totals { display: grid; gap: 0.45rem; margin-top: 0.9rem; }
.hero-total { display: grid; grid-template-columns: 7rem minmax(0, 1fr) 4rem; gap: 0.75rem; align-items: center; font-size: 0.8rem; color: var(--text-dim); }
.hero-total .total-value { font-size: 1.3rem; text-align: right; color: var(--text); }
.hero-total-best .total-value { color: var(--teal); }
.hero-net { margin: 0.2rem 0 0; font-size: 0.85rem; }
@media (max-width: 40rem) {
  .hero-pair { grid-template-columns: 1fr; }
  .hero-arrow { transform: rotate(90deg); justify-self: center; }
  .hero-total { grid-template-columns: 5.5rem minmax(0, 1fr) 3.5rem; gap: 0.5rem; }
}
.detail-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 72rem) { .detail-grid { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); align-items: start; } }
.detail-main > section, .detail-aside > section { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; margin-bottom: var(--gap); }
.detail-main ul, .detail-aside ul { padding-left: 1.1rem; }
.reason-list li { margin-bottom: 0.4rem; color: var(--text-dim); }
.reason-list strong { color: var(--text); }
.concern-list { list-style: none; padding: 0 !important; }
.concern-list li { margin-bottom: 0.45rem; }
.pinned-list { list-style: none; padding: 0 !important; margin: 0; }
.pinned-list li { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 0.1rem 0.6rem; padding: 0.45rem 0; border-bottom: 1px solid var(--line); font-size: 0.8rem; margin: 0; }
.pinned-cat { font-weight: 650; grid-row: span 3; }
.pinned-ref { font-family: var(--font-mono); font-size: 0.76rem; }
.pinned-time { color: var(--text-faint); font-size: 0.74rem; }
.pinned-hash { font-family: var(--font-mono); font-size: 0.7rem; color: var(--text-faint); }
.rules-table th { font-family: var(--font-display); font-size: 0.95rem; color: var(--text-dim); }

/* ---- feedback, forms, notices ---------------------------------------------------- */
.stack { display: flex; flex-direction: column; gap: 0.5rem; max-width: 30rem; }
.stack label { font-size: 0.82rem; font-weight: 600; color: var(--text-dim); }
.stack input:not([type="radio"]), .stack select, .stack textarea { width: 100%; }
.stack fieldset { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0.5rem 0.75rem; margin: 0; }
.stack legend { font-size: 0.82rem; font-weight: 600; color: var(--text-dim); padding: 0 0.25rem; }
.stack fieldset label { display: inline-flex; gap: 0.35rem; align-items: center; margin-right: 1rem; font-weight: 500; color: var(--text); }
.stack input[type="checkbox"] { width: auto; }
.stack button { align-self: flex-start; margin-top: 0.25rem; }
.feedback-list { padding-left: 1.1rem; }
.feedback-off { color: var(--text-dim); font-size: 0.85rem; }
.form-error { color: var(--red); background: var(--red-soft); border: 1px solid rgba(255, 107, 107, 0.4); border-radius: var(--radius-sm); padding: 0.5rem 0.75rem; }
.form-error p { margin: 0; }
.form-ok { color: var(--teal); }
.notice { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.25rem; max-width: 46rem; }
.notice h1, .notice h2 { font-size: 1.2rem; }
.notice-unavailable { border-left: 3px solid var(--amber); }
.notice-empty { border-left: 3px solid var(--blue); }
.sign-in { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem; }
.sign-in h1 { font-family: var(--font-display); font-size: 2.2rem; }
.withheld { color: var(--text-dim); }

/* ---- sources, diagnostics, connections (existing pages, restyled) ---------------- */
.sources, .diagnostics { max-width: 70rem; }
.sources > section, .diagnostics section { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; margin-bottom: var(--gap); }
.source-card { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--line-strong); border-radius: var(--radius); padding: 1rem 1.1rem; margin-bottom: var(--gap); }
.source-card h2 { font-size: 1.05rem; }
.source-card h3 { font-size: 0.85rem; color: var(--text-dim); margin-top: 1rem; }
.sources td:last-child { color: var(--text-dim); }
.verdicts { list-style: none; padding: 0; }
.verdicts li { font-size: 0.85rem; }
.counts { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; }
.counts dt { font-size: 0.7rem; color: var(--text-faint); }
.counts dd { margin: 0; font-weight: 650; }
.connections { margin-bottom: var(--gap); }
.connections .connection { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; margin-bottom: 0.75rem; }

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.lock-large .lock-time.lock-unknown { font-family: var(--font-ui); font-size: 1.05rem; }

/* phone refinements */
.table-wrap { position: relative; }
.swap > * { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 40rem) {
  .scenario-bar { padding: 0.5rem 0.75rem; }
  .scenario-options { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 0.15rem; scrollbar-width: thin; }
  .scenario-chip { white-space: nowrap; }
  .scenario-summary { flex-basis: 100%; }
  .stat-strip { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .stat { border-right: 0; border-bottom: 1px solid var(--line); min-width: 0; }
  .stat:nth-child(odd):not(.stat-wide) { border-right: 1px solid var(--line); }
  .stat-wide { grid-column: 1 / -1; border-bottom: 0; }
  .page-title h1 { font-size: 2.2rem; }
  .action-deadline { margin-left: 0; flex-basis: 100%; }
  main { padding: 1rem 0.75rem 3rem; }
  .panel { padding: 0.85rem 0.8rem; }
}

/* ---- M10 waivers (docs/work-orders/M10-waiver-intelligence.md) -------------------------
   Same tokens and components as M9. Gains are teal, losses red, missing evidence amber;
   every state also has words. */
.wv-section { margin-bottom: var(--gap); }
.wv-tiles { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }
.wv-tile .tile-facts dd { font-size: 0.8rem; }
.wv-budget-bar { position: relative; height: 0.45rem; border-radius: 999px; background: var(--panel-sunken); border: 1px solid var(--line); overflow: hidden; }
.wv-budget-bar > span { display: block; height: 100%; background: linear-gradient(90deg, #1f9c87, var(--teal)); }
.wv-budget-bar-lg { height: 0.8rem; margin: 0.75rem 0; }
.wv-top { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.8rem; }
.wv-top li { margin: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 0.45rem; align-items: baseline; }
.wv-top a { font-weight: 650; }
.wv-pos { display: inline-block; min-width: 2.2rem; text-align: center; font-size: 0.66rem; font-weight: 700; padding: 0.05rem 0.3rem; border-radius: 3px; background: var(--muted-soft); color: var(--text-dim); margin-right: 0.35rem; }
.wv-kind { display: inline-block; font-size: 0.72rem; font-weight: 650; padding: 0.1rem 0.45rem; border-radius: 3px; border: 1px solid var(--line-strong); color: var(--text-dim); white-space: nowrap; }
.wv-kind.tone-action { color: #9cc4ff; border-color: rgba(75, 147, 255, 0.4); background: var(--blue-soft); }
.wv-kind.tone-ok { color: var(--teal); border-color: rgba(52, 212, 184, 0.35); }
.wv-kind.tone-warn { color: var(--amber); border-color: rgba(243, 180, 67, 0.4); }
.wv-kind.tone-risk { color: var(--red); border-color: rgba(255, 107, 107, 0.4); }
.wv-missing { color: var(--amber); font-size: 0.75rem; font-weight: 600; }
.wv-flag { margin: 0.35rem 0; font-size: 0.8rem; color: var(--text-dim); padding: 0.4rem 0.55rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line-strong); }
.wv-flag.tone-risk { border-color: rgba(255, 107, 107, 0.4); }
.wv-flag.tone-warn { border-color: rgba(243, 180, 67, 0.4); }
.wv-flag.tone-ok { border-color: rgba(52, 212, 184, 0.35); }
.wv-need { margin: 0; font-size: 0.78rem; color: var(--text-dim); }
.wv-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 72rem) {
  .wv-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); grid-template-areas: "opps needs" "opps gaps" "demos demos"; align-items: start; }
  .wv-opps { grid-area: opps; } .wv-needs { grid-area: needs; } .wv-gaps { grid-area: gaps; } .wv-demos { grid-area: demos; }
}
.wv-table td, .wv-table th { vertical-align: middle; }
.wv-table tbody th { font-weight: 600; }
.wv-subhead { margin: 0.75rem 0 0.35rem; font-size: 0.8rem; color: var(--text-dim); }
.wv-subhead:first-of-type { margin-top: 0; }
.wv-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.82rem; }
.wv-lines li { margin: 0; }
.wv-week-tag { display: inline-block; min-width: 3.1rem; margin-right: 0.45rem; font-size: 0.7rem; font-weight: 700; color: var(--text-faint); }
.wv-demo-list { margin: 0; padding-left: 1.4rem; display: grid; gap: 0.35rem 1.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); font-size: 0.85rem; }
.wv-demo-list li { margin: 0; }
.wv-head { margin-bottom: 0.75rem; }
.wv-closed { align-items: center; }
.wv-closed > div { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; }
.wv-inline-form { display: inline-flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; margin: 0; }
.wv-inline-form label { font-size: 0.75rem; font-weight: 600; color: var(--text-faint); }
.wv-tabs { display: flex; gap: 0.25rem; overflow-x: auto; margin-bottom: var(--gap); border-bottom: 1px solid var(--line); scrollbar-width: none; }
.wv-tabs a { flex: none; padding: 0.5rem 0.8rem; color: var(--text-dim); text-decoration: none; font-weight: 600; font-size: 0.86rem; border-bottom: 2px solid transparent; white-space: nowrap; }
.wv-tabs a:hover { color: var(--text); }
.wv-tabs a[aria-current="page"] { color: #fff; border-bottom-color: var(--blue); }
.wv-ws { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 80rem) { .wv-ws { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); align-items: start; } }
.wv-side { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; }
.wv-group th { background: var(--panel-sunken); font-size: 0.75rem; }
.wv-week-totals { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; font-size: 0.85rem; }
.wv-week-totals li { margin: 0; }
.wv-week-totals b { font-family: var(--font-display); font-size: 1.2rem; margin-right: 0.25rem; }
.wv-button-link { display: inline-block; text-decoration: none; }
.wv-tools { display: flex; flex-wrap: wrap; gap: 0.6rem 1rem; align-items: flex-end; margin-bottom: 0.75rem; }
.wv-search { display: flex; flex-direction: column; gap: 0.2rem; }
.wv-search label { font-size: 0.72rem; font-weight: 600; color: var(--text-faint); }
input[type="search"] { font: inherit; color: var(--text); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0.4rem 0.6rem; min-width: 14rem; }
.wv-player { font-weight: 600; }
.wv-state { display: inline-block; font-size: 0.72rem; font-weight: 600; color: var(--text-dim); white-space: nowrap; }
.wv-state-waivers { color: #9cc4ff; }
.wv-state-free_agent { color: var(--teal); }
.wv-state-rostered { color: var(--text-faint); }
tr[data-state="rostered"] > * { color: var(--text-faint); }
.wv-f-bye, .wv-f-out { color: var(--red); font-size: 0.75rem; font-weight: 700; }
.wv-f-missing { color: var(--text-faint); }
.wv-f-stale { color: var(--amber); }
.wv-needcell { font-size: 0.75rem; color: var(--text-dim); max-width: 14rem; }
.wv-compare { margin-top: 0.75rem; padding: 0.75rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line-strong); }
.wv-compare h3 { margin: 0; font-size: 0.9rem; }
.wv-compare-box { width: 1rem; height: 1rem; accent-color: var(--blue); }
.wv-cand { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; justify-content: space-between; align-items: flex-end; margin-bottom: var(--gap); }
.wv-cand-name { font-family: var(--font-display); font-size: 2rem; margin: 0; line-height: 1.05; }
.wv-cand-meta { margin: 0.3rem 0 0; color: var(--text-dim); display: flex; flex-wrap: wrap; gap: 0.4rem 0.6rem; align-items: center; }
.wv-cand-weeks { display: flex; flex-wrap: wrap; gap: 0; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); overflow: hidden; }
.wv-cand-weeks > div { padding: 0.45rem 0.8rem; border-right: 1px solid var(--line); }
.wv-cand-weeks > div:last-child { border-right: 0; }
.wv-cand-weeks dt { font-size: 0.68rem; color: var(--text-faint); font-weight: 600; }
.wv-cand-weeks dd { margin: 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.wv-analyzer { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 72rem) {
  .wv-analyzer { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; }
  .wv-verdict { grid-column: 1; } .wv-bid { grid-column: 2; grid-row: 1; }
  .wv-drops, .wv-side-by-side { grid-column: 1 / -1; }
}
.wv-verdict { border-top: 3px solid var(--line-strong); }
.wv-verdict.tone-action { border-top-color: var(--blue); background: radial-gradient(120% 140% at 0% 0%, rgba(75, 147, 255, 0.1), transparent 55%), var(--panel); }
.wv-verdict.tone-ok { border-top-color: var(--teal); }
.wv-verdict.tone-warn { border-top-color: var(--amber); }
.wv-verdict.tone-risk { border-top-color: var(--red); }
.wv-explain { font-size: 0.95rem; max-width: 70ch; }
.wv-week-cards { display: grid; gap: 0.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0.5rem 0; }
.wv-week-card { padding: 0.6rem 0.75rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); min-width: 0; }
.wv-week-card.wv-gain { border-color: rgba(52, 212, 184, 0.45); }
.wv-week-card.wv-missing { border-color: rgba(243, 180, 67, 0.4); }
.wv-week-card p { margin: 0; }
.wv-totals { display: flex; align-items: center; gap: 0.35rem; font-size: 0.85rem; color: var(--text-dim); flex-wrap: wrap; }
.wv-totals b { color: var(--text); font-family: var(--font-display); font-size: 1.15rem; }
.wv-delta { font-family: var(--font-display); font-size: 1.6rem; line-height: 1.1; }
.wv-hypo { margin-top: 0.6rem; padding: 0.55rem 0.7rem; border: 1px dashed var(--line-strong); border-radius: var(--radius-sm); }
.wv-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0.75rem 0 0; }
.wv-bid-field { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.85rem; font-weight: 600; color: var(--text-dim); }
.wv-money { display: inline-flex; align-items: center; gap: 0.15rem; color: var(--text-faint); }
.wv-money input { font: inherit; color: var(--text); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0.35rem 0.45rem; width: 5.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.wv-bid-out { margin: 0.6rem 0; font-size: 0.88rem; color: var(--teal); }
.wv-bid-out.is-problem { color: var(--amber); }
.wv-presets { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; margin: 0.5rem 0; }
.chip-static { cursor: default; }
.wv-selected > * { background: rgba(75, 147, 255, 0.07); }
.wv-selected th a { color: #fff; }
.wv-harmful th a { color: var(--text-dim); }
.wv-d { font-weight: 700; font-variant-numeric: tabular-nums; }
.wv-d-gain { color: var(--teal); }
.wv-d-loss { color: var(--red); }
.wv-d-flat { color: var(--text-dim); font-weight: 500; }
.wv-week-tabs { display: flex; gap: 0.3rem; margin-bottom: 0.6rem; }
.wv-week-tabs [role="tab"] { font: inherit; font-size: 0.82rem; font-weight: 600; color: var(--text-dim); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: 999px; padding: 0.25rem 0.8rem; cursor: pointer; }
.wv-week-tabs [aria-selected="true"] { color: #fff; background: var(--blue-soft); border-color: var(--blue); }
.wv-total-row { background: var(--panel-sunken); font-weight: 700; }
.wv-rosters { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); margin-top: 0.5rem; }
.wv-rosters h3 { font-size: 0.82rem; color: var(--text-dim); }
.wv-roster-list { list-style: none; margin: 0; padding: 0; font-size: 0.82rem; columns: 2 12rem; column-gap: 1rem; }
.wv-roster-list li { margin: 0 0 0.2rem; break-inside: avoid; }
.wv-out { color: var(--text-faint); text-decoration: line-through; text-decoration-color: rgba(255, 107, 107, 0.6); }
.wv-in { color: var(--teal); font-weight: 650; }
.wv-out .swap-tag { color: var(--red); background: var(--red-soft); text-decoration: none; }
.wv-in .swap-tag { color: var(--teal); background: var(--teal-soft); }
.wv-proposal { margin-bottom: var(--gap); }
.wv-proposal-forms { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; }
.wv-proposal-forms select { max-width: 100%; }
.wv-proposal-label { margin: 0.75rem 0 0; font-size: 0.85rem; }
.wv-weeks { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); margin-bottom: var(--gap); }
.wv-week-figures { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); margin-bottom: 0.75rem; }
.wv-week-figures p { margin: 0; }
.wv-short { color: var(--amber); }
.wv-fixed { color: var(--teal); font-weight: 600; }
.wv-arrow-to { color: var(--teal); font-weight: 700; }
.wv-budget-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); margin-bottom: var(--gap); }
@media (min-width: 72rem) { .wv-budget-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); align-items: start; } }
.wv-budget-figures { display: grid; gap: 0.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wv-budget-figures .total-value { font-size: 1.6rem; }
.wv-scen-table td[data-out], .wv-scen-table td[data-total] { font-size: 0.8rem; color: var(--text-dim); max-width: 12rem; }
.wv-ladder { list-style: none; margin: 0 0 0.75rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(4.2rem, 1fr)); gap: 0.35rem; }
.wv-ladder li { margin: 0; padding: 0.45rem; text-align: center; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); font-size: 0.78rem; color: var(--text-faint); }
.wv-ladder li span { display: block; font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--text-dim); }
.wv-ladder .wv-me { border-color: var(--blue); background: var(--blue-soft); color: #cfe0ff; }
.wv-ladder .wv-me span { color: #fff; }
.wv-ladder .wv-me b { display: block; font-size: 0.65rem; font-weight: 600; overflow-wrap: anywhere; }
.wv-outcome-chip { display: inline-block; margin: 0 0.3rem 0.25rem 0; font-size: 0.74rem; padding: 0.1rem 0.4rem; border-radius: 3px; background: var(--panel-sunken); border: 1px solid var(--line); }
.wv-plan-list-form > .button-quiet { margin-top: 0.6rem; }
.wv-plan-compare { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.wv-plan-card { padding: 0.75rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); min-width: 0; }
.wv-plan-card h3 { font-size: 0.95rem; }
.wv-claims-mini { font-size: 0.8rem; color: var(--text-dim); }
.wv-builder-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); margin-bottom: var(--gap); }
@media (min-width: 80rem) { .wv-builder-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; } }
.wv-name-field { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.75rem; max-width: 24rem; }
.wv-name-field label, .wv-claim-fields label { font-size: 0.72rem; font-weight: 600; color: var(--text-faint); }
.wv-claim-rows { list-style: none; margin: 0 0 0.75rem; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.wv-claim-row { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 0.5rem 0.75rem; margin: 0; padding: 0.65rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); }
.wv-claim-new { border-style: dashed; }
.wv-rank { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--blue-soft); color: #cfe0ff; font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; }
.wv-claim-new .wv-rank { background: transparent; border: 1px dashed var(--line-strong); color: var(--text-faint); }
.wv-claim-fields { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.35rem 0.6rem; align-items: center; min-width: 0; }
.wv-claim-fields select { width: 100%; min-width: 0; }
.wv-claim-actions { grid-column: 2; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.wv-claim-actions button[disabled] { opacity: 0.4; cursor: default; }
.wv-plan-total { margin: 0 0 0.6rem; font-size: 0.85rem; color: var(--text-dim); }
.wv-builder-buttons { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.wv-steps { margin: 0 0 0.75rem; padding-left: 1.3rem; font-size: 0.85rem; }
.wv-steps li { margin-bottom: 0.4rem; }
.wv-conflicts { margin-bottom: 0.75rem; }
.wv-noaction > * { background: rgba(163, 179, 198, 0.05); }
.wv-today { margin-bottom: 1.5rem; }
.wv-today-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.wv-today-list li { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.6rem; padding: 0.55rem 0.65rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); font-size: 0.8rem; }
.wv-today-league { font-weight: 700; color: var(--text); text-decoration: none; }
.wv-today-fact { color: var(--text-dim); }
.show-sm { display: none; }
@media (max-width: 40rem) {
  .show-sm { display: inline; }
  .row-sub.show-sm { display: block; }
  .wv-week-cards { grid-template-columns: 1fr; }
  .wv-budget-figures { grid-template-columns: 1fr 1fr; }
  .wv-claim-fields { grid-template-columns: 1fr; }
  .wv-cand-weeks { width: 100%; }
  .wv-cand-weeks > div { flex: 1 1 33%; }
  input[type="search"] { min-width: 0; width: 100%; }
  .wv-search { flex: 1 1 100%; }
}

/* ---- M11 player intelligence (docs/work-orders/M11-player-intelligence.md §6) ---------
   One signature element: the source "signal" (who said it, what they said, coloured bar
   plus words). Everything else reuses the M9 panels, pills and tables. */
.stat-risk dd { color: var(--red); }
.stat dd a { color: inherit; text-decoration: none; }
.stat dd a:hover { color: var(--blue); }
.intel-notice { display: flex; gap: 0.55rem; align-items: flex-start; max-width: none; margin: 0 0 var(--gap); padding: 0.6rem 0.85rem; font-size: 0.82rem; color: var(--text-dim); background: var(--panel-sunken); border: 1px solid var(--line); border-left: 3px solid var(--amber); border-radius: var(--radius-sm); }
.intel-notice .icon { color: var(--amber); margin-top: 0.15rem; }
.intel-meta { font-size: 0.78rem; font-weight: 500; color: var(--text-faint); }
.intel-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); align-items: start; }
.intel-side { display: grid; gap: var(--gap); }
@media (min-width: 72rem) { .intel-grid { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); } }

/* priority developments */
.intel-devs { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.65rem; }
.intel-dev { margin: 0; padding: 0.75rem 0.9rem; background: var(--panel-raised); border: 1px solid var(--line); border-left: 3px solid var(--line-strong); border-radius: var(--radius-sm); }
.intel-dev.tone-risk { border-left-color: var(--red); }
.intel-dev.tone-ok { border-left-color: var(--teal); }
.intel-dev.tone-warn { border-left-color: var(--amber); }
.intel-dev.tone-action { border-left-color: var(--blue); }
.intel-dev-head { display: flex; flex-wrap: wrap; gap: 0.4rem 0.75rem; align-items: center; justify-content: space-between; }
.intel-dev-head h3 { margin: 0; font-size: 1rem; }
.intel-dev-head h3 a { color: var(--text); text-decoration: none; }
.intel-dev-head h3 a:hover { color: var(--blue); }
.intel-chips { display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; align-items: center; margin: 0.45rem 0 0; }
.intel-chip { display: inline-block; font-size: 0.74rem; font-weight: 600; color: var(--text-dim); padding: 0.12rem 0.45rem; border: 1px solid var(--line-strong); border-radius: 3px; background: var(--panel-sunken); white-space: nowrap; }
.intel-official { font-size: 0.74rem; color: var(--text-faint); }
.intel-signals { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.6rem 0 0; padding: 0; }
.intel-signal { display: inline-flex; flex-direction: column; gap: 0.05rem; margin: 0; padding: 0.3rem 0.6rem 0.3rem 0.55rem; border-left: 3px solid var(--line-strong); background: var(--panel-sunken); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; min-width: 9rem; }
.intel-signal.tone-ok { border-left-color: var(--teal); }
.intel-signal.tone-warn { border-left-color: var(--amber); }
.intel-signal.tone-risk { border-left-color: var(--red); }
.intel-signal-source { font-size: 0.72rem; color: var(--text-faint); }
.intel-signal-value { font-size: 0.86rem; font-weight: 650; }
.tone-ok > .intel-signal-value { color: var(--teal); }
.tone-warn > .intel-signal-value { color: var(--amber); }
.tone-risk > .intel-signal-value { color: var(--red); }
.intel-signals-lg .intel-signal { min-width: 12rem; padding: 0.5rem 0.8rem; }
.intel-signals-lg .intel-signal-value { font-size: 1.05rem; }
.intel-counts { display: flex; flex-wrap: wrap; gap: 0.3rem 0.75rem; margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--text-dim); }
.intel-change { color: var(--amber); }
.intel-prompt { display: flex; gap: 0.45rem; align-items: flex-start; margin: 0.5rem 0 0; font-size: 0.84rem; }
.intel-prompt .icon { margin-top: 0.15rem; }
.intel-prompt-lineup { color: #9cc4ff; font-weight: 600; }
.intel-prompt-lineup_unknown { color: var(--amber); font-weight: 600; }
.intel-prompt-related, .intel-prompt-waiver { color: var(--teal); }
.intel-prompt-informational { color: var(--text-faint); }
.intel-foot { margin: 0.45rem 0 0; font-size: 0.75rem; color: var(--text-faint); }
.intel-tag { display: inline-block; font-size: 0.72rem; color: var(--text-dim); padding: 0.05rem 0.4rem; border: 1px dashed var(--line-strong); border-radius: 3px; }
.intel-tag-lock { color: var(--amber); border-color: rgba(243, 180, 67, 0.45); }
.intel-tag-review { color: #9cc4ff; border-style: solid; border-color: rgba(75, 147, 255, 0.45); }

/* side panels */
.intel-versus { padding: 0.55rem 0; border-top: 1px solid var(--line); }
.intel-versus:first-of-type { border-top: 0; padding-top: 0; }
.intel-versus-player { margin: 0 0 0.35rem; font-weight: 650; }
.intel-versus-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 0.4rem; }
.intel-versus-col { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.4rem 0.55rem; background: var(--panel-sunken); border-top: 3px solid var(--line-strong); border-radius: 0 0 var(--radius-sm) var(--radius-sm); }
.intel-versus-col.tone-ok { border-top-color: var(--teal); }
.intel-versus-col.tone-warn { border-top-color: var(--amber); }
.intel-versus-col.tone-risk { border-top-color: var(--red); }
.intel-lines { list-style: none; margin: 0; padding: 0; font-size: 0.85rem; }
.intel-lines li { padding: 0.35rem 0; border-top: 1px solid var(--line); margin: 0; }
.intel-lines li:first-child { border-top: 0; padding-top: 0; }
.intel-league-rows { list-style: none; margin: 0; padding: 0; }
.intel-league-rows li { display: grid; gap: 0.1rem; padding: 0.45rem 0; border-top: 1px solid var(--line); margin: 0; }
.intel-league-rows li:first-child { border-top: 0; padding-top: 0; }
.intel-league-name { font-weight: 650; text-decoration: none; }
.intel-league-counts { font-size: 0.82rem; color: var(--text-dim); }
.intel-gap-count { margin: 0 0 0.4rem; font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; color: var(--amber); }

/* profile */
.intel-profile-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; margin-bottom: 1.1rem; }
.intel-profile-head h1 { font-family: var(--font-display); font-size: 2.4rem; letter-spacing: 0.01em; margin: 0; }
.intel-profile-meta { margin: 0.15rem 0 0.5rem; color: var(--text-dim); font-weight: 600; }
.intel-memberships { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; }
.intel-memberships li { margin: 0; font-size: 0.8rem; padding: 0.25rem 0.55rem; background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); }
.intel-memberships a { font-weight: 650; text-decoration: none; }
.intel-memberships span { color: var(--text-dim); }
.intel-profile-stats .pill { font-family: var(--font-ui); vertical-align: middle; }
.intel-profile-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); align-items: start; }
.intel-profile-main, .intel-profile-side { display: grid; gap: var(--gap); min-width: 0; }
@media (min-width: 72rem) { .intel-profile-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); } }
.intel-official-box { margin-top: 0.85rem; padding: 0.6rem 0.75rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--panel-sunken); }
.intel-official-box p { margin: 0; font-size: 0.86rem; }
.intel-official-title { font-size: 0.72rem !important; font-weight: 650; color: var(--text-faint); margin-bottom: 0.2rem !important; }
.intel-official-note { font-size: 0.74rem !important; color: var(--text-faint); margin-top: 0.3rem !important; }
.intel-compare { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.intel-compare-col { padding: 0.7rem 0.8rem; background: var(--panel-raised); border: 1px solid var(--line); border-top: 4px solid var(--line-strong); border-radius: var(--radius-sm); }
.intel-compare-col.tone-ok { border-top-color: var(--teal); }
.intel-compare-col.tone-warn { border-top-color: var(--amber); }
.intel-compare-col.tone-risk { border-top-color: var(--red); }
.intel-compare-value { margin: 0 0 0.35rem; font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; }
.intel-compare-col.tone-ok .intel-compare-value { color: var(--teal); }
.intel-compare-col.tone-warn .intel-compare-value { color: var(--amber); }
.intel-compare-col.tone-risk .intel-compare-value { color: var(--red); }
.intel-compare-source { margin: 0; font-weight: 650; font-size: 0.88rem; }
.intel-compare-time { margin: 0.25rem 0 0.4rem; font-size: 0.76rem; color: var(--text-faint); }
.intel-excerpt { margin: 0.35rem 0 0; padding: 0.35rem 0.6rem; font-size: 0.84rem; font-style: italic; color: var(--text-dim); border-left: 2px solid var(--line-strong); }
.intel-noexcerpt { margin: 0.35rem 0 0; font-size: 0.76rem; color: var(--text-faint); }
.intel-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.intel-tl { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 0.75rem; margin: 0; padding: 0.65rem 0 0.65rem; border-top: 1px solid var(--line); }
.intel-tl:first-child { border-top: 0; padding-top: 0; }
.intel-tl-time { font-size: 0.8rem; font-weight: 600; color: var(--text-dim); }
.intel-tl-body { border-left: 3px solid var(--line-strong); padding-left: 0.7rem; min-width: 0; }
.intel-tl.tone-ok .intel-tl-body { border-left-color: var(--teal); }
.intel-tl.tone-warn .intel-tl-body { border-left-color: var(--amber); }
.intel-tl.tone-risk .intel-tl-body { border-left-color: var(--red); }
.intel-tl-faded .intel-tl-claim, .intel-tl-faded .intel-excerpt { color: var(--text-faint); text-decoration: line-through; text-decoration-color: var(--text-faint); }
.intel-tl-source { margin: 0; font-weight: 650; font-size: 0.88rem; }
.intel-week { font-size: 0.74rem; color: var(--text-faint); font-weight: 500; }
.intel-tl-claim { margin: 0.15rem 0 0; font-size: 0.9rem; }
.intel-tl-tags { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.4rem 0 0; }
.intel-status { font-size: 0.72rem; font-weight: 650; color: var(--text); padding: 0.05rem 0.4rem; background: var(--muted-soft); border-radius: 3px; }
.intel-context-block { padding: 0.6rem 0; border-top: 1px solid var(--line); }
.intel-context-block:first-of-type { border-top: 0; padding-top: 0; }
.intel-context-block h3 { font-size: 0.76rem; font-weight: 650; color: var(--text-faint); margin: 0 0 0.3rem; }
.intel-context-block p { margin: 0; font-size: 0.86rem; }
.intel-source-list { list-style: none; margin: 0; padding: 0; }
.intel-source-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 0.75rem; align-items: center; padding: 0.4rem 0; border-top: 1px solid var(--line); margin: 0; font-size: 0.86rem; }
.intel-source-list li:first-child { border-top: 0; }
.intel-source-list .pill { grid-column: 2; grid-row: 1 / span 2; }

/* hub */
.intel-search { margin-bottom: var(--gap); }
.intel-search-row { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.intel-search-field { flex: 1 1 16rem; }
.intel-search input[type="search"], .intel-search select { width: 100%; font: inherit; color: var(--text); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0.5rem 0.7rem; }
.intel-search-pos { flex: 0 0 10rem; }
.intel-filters { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.7rem; }
.intel-filters .chip { text-decoration: none; }
.chip-on { color: #fff; border-color: var(--blue); background: var(--blue-soft); }
.intel-player-rows { list-style: none; margin: 0; padding: 0; }
.intel-player-row { display: grid; gap: 0.35rem 0.9rem; grid-template-columns: minmax(10rem, 1.2fr) minmax(0, 1.3fr) minmax(8rem, 0.9fr) minmax(0, 1.3fr) 6.5rem; align-items: center; padding: 0.6rem 0; border-top: 1px solid var(--line); margin: 0; }
.intel-player-row:first-child { border-top: 0; padding-top: 0; }
.intel-pr-name a { font-weight: 650; text-decoration: none; display: block; }
.intel-pr-leagues { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.intel-pr-signal { display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; }
.intel-pr-time { font-size: 0.78rem; color: var(--text-dim); text-align: right; }
.intel-dot { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.74rem; font-weight: 600; color: var(--text-dim); white-space: nowrap; }
.intel-dot::before { content: ""; width: 0.55rem; height: 0.55rem; border-radius: 2px; background: var(--line-strong); }
.intel-dot.tone-ok::before { background: var(--teal); }
.intel-dot.tone-warn::before { background: var(--amber); }
.intel-dot.tone-risk::before { background: var(--red); }
@media (max-width: 56rem) {
  .intel-player-row { grid-template-columns: minmax(0, 1fr) auto; }
  .intel-pr-leagues, .intel-pr-signal { grid-column: 1 / -1; }
  .intel-pr-state { grid-column: 2; grid-row: 1; text-align: right; }
  .intel-pr-time { grid-column: 1 / -1; text-align: left; }
}

/* sources */
.intel-source-group { margin-bottom: var(--gap); }
.intel-source-rows { list-style: none; margin: 0; padding: 0; }
.intel-source-row { display: grid; gap: 0.35rem 1rem; grid-template-columns: minmax(12rem, 1.3fr) minmax(0, 1.6fr) minmax(0, 1fr) 7.5rem; align-items: center; padding: 0.6rem 0; border-top: 1px solid var(--line); margin: 0; }
.intel-source-row:first-child { border-top: 0; padding-top: 0; }
.intel-sr-name a { font-weight: 650; text-decoration: none; }
.intel-sr-state .row-sub { margin-top: 0.2rem; }
.intel-sr-facts { font-size: 0.8rem; color: var(--text-dim); }
.intel-sr-action form { margin: 0; }
.intel-sr-action { justify-self: end; }
@media (max-width: 56rem) {
  .intel-source-row { grid-template-columns: minmax(0, 1fr) auto; }
  .intel-sr-state, .intel-sr-facts { grid-column: 1 / -1; }
  .intel-sr-action { grid-column: 2; grid-row: 1; }
}
@media (max-width: 40rem) {
  .intel-tl { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }
  .intel-profile-head h1 { font-size: 2rem; }
  .intel-signal { min-width: 0; flex: 1 1 100%; }
}
.intel-subhead { margin: 0.2rem 0 0.55rem; font-size: 0.82rem; font-weight: 650; color: var(--text-dim); }
.intel-devs + .intel-subhead { margin-top: 1.1rem; }
.intel-quiet td { vertical-align: top; }
.intel-tl-source .intel-meta, .intel-tl-source .intel-week { margin-left: 0.4rem; }
@media (max-width: 40rem) { .intel-quiet .row-sub .show-sm { display: block; color: var(--text-dim); } }
.intel-today { margin-bottom: var(--gap); }
.intel-today-list { list-style: none; margin: 0; padding: 0; }
.intel-today-list li { display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; align-items: center; padding: 0.45rem 0; border-top: 1px solid var(--line); margin: 0; }
.intel-today-list li:first-child { border-top: 0; padding-top: 0; }
.intel-today-list a { font-weight: 650; }
.intel-today-prompt { flex-basis: 100%; font-size: 0.82rem; }
.intel-mark { display: inline-block; margin-left: 0.35rem; font-size: 0.7rem; font-weight: 650; padding: 0.05rem 0.35rem; border-radius: 3px; border: 1px solid var(--line-strong); color: var(--text-dim); text-decoration: none; white-space: nowrap; vertical-align: 1px; }
.intel-mark.tone-risk { color: var(--red); border-color: rgba(255, 107, 107, 0.45); }
.intel-mark.tone-ok { color: var(--teal); border-color: rgba(52, 212, 184, 0.4); }
.intel-mark.tone-warn { color: var(--amber); border-color: rgba(243, 180, 67, 0.45); }
.intel-mark.tone-action { color: #9cc4ff; border-color: rgba(75, 147, 255, 0.45); }

/* ---- M12 Draft War Room (docs/work-orders/M12-draft-keeper-intelligence.md) ---------------
   Same tokens and components as M9–M11. Each position has one colour, always beside its
   letters; gains are teal, losses red, missing inputs amber. */
:root {
  --pos-qb: #ff8aa0;
  --pos-rb: #34d4b8;
  --pos-wr: #6fa8ff;
  --pos-te: #f3b443;
  --pos-k: #b9a2ff;
  --pos-dst: #9fb0c6;
}
.dr-pos-qb { --pos: var(--pos-qb); } .dr-pos-rb { --pos: var(--pos-rb); } .dr-pos-wr { --pos: var(--pos-wr); }
.dr-pos-te { --pos: var(--pos-te); } .dr-pos-k { --pos: var(--pos-k); } .dr-pos-dst { --pos: var(--pos-dst); }
.dr-pos { display: inline-block; min-width: 2.3rem; margin-right: 0.45rem; padding: 0.08rem 0.3rem; border-radius: 3px; font-size: 0.66rem; font-weight: 750; letter-spacing: 0.02em; text-align: center; color: var(--pos, var(--text-dim)); background: color-mix(in srgb, var(--pos, #fff) 14%, transparent); border: 1px solid color-mix(in srgb, var(--pos, #fff) 38%, transparent); vertical-align: 0.08em; }
.dr-sim-note { display: flex; gap: 0.5rem; align-items: flex-start; margin: 0 0 var(--gap); font-size: 0.78rem; color: var(--text-faint); }
.dr-sim-note .icon { flex: none; margin-top: 0.1rem; color: var(--blue); }
.dr-missing { color: var(--amber); font-weight: 600; }
.dr-missing-box ul { margin: 0.35rem 0 0; }
.dr-tag { display: inline-block; font-size: 0.66rem; font-weight: 700; padding: 0.02rem 0.35rem; border-radius: 3px; border: 1px solid var(--line-strong); color: var(--text-dim); }
.dr-tag-keeper { color: var(--pos-k); border-color: color-mix(in srgb, var(--pos-k) 45%, transparent); }
.dr-subhead { margin: 0.9rem 0 0.4rem; font-size: 0.78rem; font-weight: 700; color: var(--text-dim); }
.dr-ws, .dr-room { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 72rem) { .dr-ws { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; } }
@media (min-width: 80rem) { .dr-room { grid-template-columns: minmax(0, 1.75fr) minmax(20rem, 1fr); align-items: start; } }
.dr-main, .dr-side { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; }
.dr-hub { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.dr-tile h2 { margin: 0; font-size: 1.02rem; }
.dr-tile h2 a { color: inherit; text-decoration: none; }
.dr-tile-mocks { list-style: none; margin: 0.6rem 0 0; padding: 0; font-size: 0.8rem; display: grid; gap: 0.2rem; }
.dr-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.6rem; margin-bottom: 0.75rem; }
.dr-filters input, .dr-filters select, .dr-form input, .dr-form select { font: inherit; font-size: 0.85rem; color: var(--text); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0.35rem 0.5rem; max-width: 100%; }
.dr-table th[scope="row"] { font-weight: 600; }
.dr-table td, .dr-table th { vertical-align: middle; }
.dr-illegal > * { opacity: 0.55; }
.dr-picks { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; }
.dr-picks li { padding: 0.35rem 0.6rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); min-width: 4.4rem; }
.dr-picks b { font-family: var(--font-display); font-size: 1.15rem; }
.dr-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0; padding: 0; }
.dr-chip { display: inline-flex; gap: 0.35rem; align-items: baseline; padding: 0.2rem 0.55rem; border-radius: 999px; border: 1px solid var(--line-strong); background: var(--panel-sunken); font-size: 0.78rem; font-weight: 650; }
.dr-chip span { color: var(--text-faint); font-weight: 500; }
.dr-chip-bench { border-style: dashed; }
.dr-limits { margin-top: 0.75rem; }
.dr-pick-chips { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0; }
/* the clock */
.dr-clock { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem 2rem; padding: 1rem 1.2rem; margin-bottom: var(--gap); border-radius: var(--radius); border: 1px solid var(--line); background: radial-gradient(130% 160% at 0% 0%, rgba(159, 176, 198, 0.1), transparent 55%), var(--panel); }
.dr-clock-you { border-color: rgba(75, 147, 255, 0.55); background: radial-gradient(130% 160% at 0% 0%, rgba(75, 147, 255, 0.22), transparent 60%), var(--panel); box-shadow: 0 0 0 1px rgba(75, 147, 255, 0.15) inset; }
.dr-clock-done { background: radial-gradient(130% 160% at 0% 0%, rgba(52, 212, 184, 0.14), transparent 60%), var(--panel); }
.dr-clock-kicker { margin: 0; font-size: 0.78rem; font-weight: 700; color: var(--blue); }
.dr-clock-you .dr-clock-kicker { color: #9cc4ff; }
.dr-clock-pick { margin: 0.1rem 0 0; font-family: var(--font-display); font-size: 2.3rem; line-height: 1; font-weight: 700; }
.dr-clock-overall { margin-left: 0.6rem; font-family: var(--font-ui); font-size: 0.85rem; font-weight: 600; color: var(--text-faint); }
.dr-clock-team { margin: 0.35rem 0 0; color: var(--text-dim); font-size: 0.86rem; }
.dr-clock-side { min-width: min(100%, 18rem); flex: 1 1 18rem; max-width: 26rem; }
.dr-progress { height: 0.5rem; border-radius: 999px; background: var(--panel-sunken); border: 1px solid var(--line); overflow: hidden; }
.dr-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--blue-strong), var(--teal)); }
.dr-error { margin: 0 0 var(--gap); }
.dr-since { margin: 0 0 var(--gap); }
.dr-since-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 0.4rem; overflow-x: auto; scrollbar-width: thin; padding-bottom: 0.2rem; }
.dr-since-list li { flex: none; padding: 0.4rem 0.6rem; border-radius: var(--radius-sm); background: var(--panel); border: 1px solid var(--line); font-size: 0.8rem; }
.dr-inline { margin: 0; }
.dr-draft-button { color: #fff; border-color: var(--blue); background: var(--blue-soft); font-weight: 650; }
.dr-draft-button:hover { background: var(--blue-strong); }
/* roster planner */
.dr-slots { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.25rem; }
.dr-slot { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; padding: 0.3rem 0.45rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); font-size: 0.82rem; }
.dr-slot-id { font-family: var(--font-display); font-size: 0.95rem; color: var(--text-dim); }
.dr-slot-name { min-width: 0; overflow-wrap: anywhere; }
.dr-slot-name .row-sub { display: inline; margin-left: 0.35rem; }
.dr-slot-open { border-style: dashed; background: transparent; }
.dr-open-text { color: var(--amber); font-size: 0.78rem; }
.dr-total { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin: 0.6rem 0 0; padding-top: 0.5rem; border-top: 1px solid var(--line-strong); font-size: 0.82rem; color: var(--text-dim); }
.dr-total b { font-family: var(--font-display); font-size: 1.5rem; color: var(--text); }
.dr-bench { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.2rem; font-size: 0.8rem; }
.dr-needs { list-style: none; margin: 0.6rem 0 0; padding: 0; display: grid; gap: 0.2rem; font-size: 0.78rem; color: var(--text-dim); }
.dr-needs .tone-warn { color: var(--amber); }
.dr-needs .tone-ok { color: var(--teal); }
/* advice */
.dr-advice { border-color: rgba(75, 147, 255, 0.35); }
.dr-cons { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.55rem; }
.dr-cons li { padding-left: 0.2rem; }
.dr-cons b { font-size: 0.92rem; }
.dr-fit { display: block; margin-top: 0.15rem; font-size: 0.76rem; font-weight: 650; }
.dr-fit-starts { color: var(--teal); }
.dr-fit-depth { color: var(--text-dim); }
.dr-form { display: grid; gap: 0.6rem; }
.dr-fieldset { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0.5rem 0.7rem; margin: 0; display: grid; gap: 0.35rem; }
.dr-fieldset legend { font-size: 0.75rem; font-weight: 700; color: var(--text-faint); padding: 0 0.3rem; }
.dr-radio, .dr-check { font-size: 0.83rem; }
/* draft board */
.dr-board { font-size: 0.72rem; table-layout: fixed; min-width: 62rem; }
.dr-board th, .dr-board td { padding: 0.25rem 0.3rem; border: 1px solid var(--line); }
.dr-board thead th { text-align: center; font-size: 0.7rem; color: var(--text-dim); }
.dr-board tbody th { width: 2.2rem; text-align: center; font-family: var(--font-display); font-size: 0.9rem; color: var(--text-faint); position: sticky; left: 0; background: var(--panel); z-index: 1; }
.dr-board thead th:first-child { width: 2.2rem; position: sticky; left: 0; background: var(--panel); z-index: 2; }
.dr-cell { height: 2.6rem; border-left: 3px solid var(--pos, var(--line)) !important; background: color-mix(in srgb, var(--pos, transparent) 8%, transparent); }
.dr-cell-name { display: block; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text); }
.dr-cell-meta { display: block; color: var(--pos, var(--text-faint)); font-weight: 650; }
.dr-cell-num { color: var(--text-faint); }
.dr-cell-now { font-weight: 700; color: #9cc4ff; }
.dr-board .dr-me { background-color: rgba(75, 147, 255, 0.07); }
.dr-board thead .dr-me { color: #9cc4ff; }
.dr-now { outline: 2px solid var(--blue); outline-offset: -2px; }
/* comparisons */
.dr-compare { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); margin-top: var(--gap); }
@media (min-width: 64rem) { .dr-compare { grid-template-columns: repeat(min(var(--cols, 2), 2), minmax(0, 1fr)); } }
@media (min-width: 96rem) { .dr-compare { grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); } }
.dr-cmp-name { margin: 0.1rem 0 0.6rem; font-size: 1.05rem; }
.dr-cmp-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin: 0 0 0.4rem; }
.dr-cmp-facts div { padding: 0.45rem 0.55rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); }
.dr-cmp-facts dt { font-size: 0.7rem; color: var(--text-faint); font-weight: 600; }
.dr-cmp-facts dd { margin: 0.1rem 0 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.dr-cmp-facts dd .delta { font-family: var(--font-ui); font-size: 0.8rem; }
.dr-taken { margin: 0; padding-left: 1.3rem; display: grid; gap: 0.15rem; font-size: 0.8rem; }
.dr-nextbest { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.25rem; font-size: 0.8rem; }
.delta-loss { color: var(--red); }
.dr-verdict { font-size: 0.95rem; margin: 0 0 0.6rem; }
.dr-review-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 64rem) { .dr-review-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.dr-totals { margin: 0; padding-left: 1.4rem; display: grid; gap: 0.15rem; font-size: 0.8rem; }
.dr-totals li span { display: inline-block; min-width: 11rem; }
.dr-totals li.dr-me { color: #9cc4ff; font-weight: 700; }
.dr-across { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; font-size: 0.82rem; }
.dr-across a { font-weight: 700; }
.dr-across-figs { display: block; }
.dr-player-name { margin: 0.1rem 0 0.2rem; font-size: 1.5rem; }
/* keepers */
.dr-k-ineligible > * { color: var(--text-faint); }
.dr-combo { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; font-size: 0.85rem; }
@media (max-width: 40rem) {
  .dr-clock-pick { font-size: 1.8rem; }
  .dr-cmp-facts { grid-template-columns: 1fr; }
  .dr-totals li span { min-width: 0; margin-right: 0.5rem; }
}
.dr-form > *, .dr-form .filter-field { min-width: 0; }
.dr-form select, .dr-form input:not([type="checkbox"]):not([type="radio"]) { width: 100%; }
.dr-avail-wrap { max-height: 36rem; overflow-y: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.dr-avail-wrap thead th { position: sticky; top: 0; z-index: 1; background: var(--panel-raised); }
@media (max-width: 40rem) { .dr-avail-wrap { max-height: 28rem; } }
.dr-board-panel { margin-top: var(--gap); }
.dr-room-done { grid-template-columns: minmax(0, 1fr) !important; }
.dr-room-done .dr-main:empty, .dr-room-done .dr-main:not(:has(*)) { display: none; }
.dr-room-done .dr-side { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); align-items: start; }
.dr-side p.dr-missing { font-size: 0.82rem; }
.show-sm-inline { display: none; }
@media (max-width: 40rem) {
  .show-sm-inline { display: block; }
  .dr-avail th, .dr-avail td { padding: 0.4rem 0.35rem; }
  .dr-avail .row-sub { font-size: 0.7rem; }
}
.dr-limits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem 1rem; }
.dr-filters .filter-field { min-width: 0; max-width: 100%; }
.dr-filters select { max-width: 100%; }
@media (max-width: 40rem) { .dr-filters .filter-field { flex: 1 1 100%; } .dr-filters select { width: 100%; } }

/* ---- M13 player portraits (docs/work-orders/M13-opportunity-radar.md §2.10) ------- */
.portrait { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none; overflow: hidden; border-radius: var(--radius); background: var(--panel-sunken); border: 1px solid var(--line-strong); color: var(--text-faint); vertical-align: middle; }
.portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.portrait .icon { width: 55%; height: 55%; }
.portrait-sm { width: 32px; height: 32px; border-radius: var(--radius-sm); }
.portrait-md { width: 48px; height: 48px; }
.portrait-lg { width: 96px; height: 96px; }
.portrait-team { color: var(--text-dim); background: var(--muted-soft); }
.portrait-fallback { border-style: dashed; }
.portrait-row { display: flex; align-items: center; gap: 0.6rem; min-width: 0; }
.portrait-row > :last-child { min-width: 0; }

/* ---- M13 Opportunity Radar ------------------------------------------------------- */
.rd-banner { display: flex; gap: 1rem 1.25rem; align-items: flex-start; margin: 0 0 var(--gap); padding: 1.1rem 1.2rem; border-radius: var(--radius); background: linear-gradient(135deg, rgba(47, 123, 245, 0.18), rgba(17, 25, 37, 0.95) 55%); border: 1px solid rgba(75, 147, 255, 0.45); box-shadow: inset 4px 0 0 var(--blue); min-width: 0; }
.rd-banner.tone-warn { background: linear-gradient(135deg, rgba(243, 180, 67, 0.16), rgba(17, 25, 37, 0.95) 55%); border-color: rgba(243, 180, 67, 0.45); box-shadow: inset 4px 0 0 var(--amber); }
.rd-banner-body { min-width: 0; flex: 1; }
.rd-banner h2 { font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; letter-spacing: 0.01em; margin: 0.1rem 0 0.4rem; line-height: 1.05; }
.rd-banner-player { margin: 0 0 0.6rem; }
.rd-banner-player .row-sub { display: inline; }
.rd-banner-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0.5rem 1rem; margin: 0 0 0.6rem; }
.rd-banner-facts dt, .rd-facts dt { font-size: 0.72rem; font-weight: 650; color: var(--text-faint); }
.rd-banner-facts dd, .rd-facts dd { margin: 0.1rem 0 0; font-size: 0.86rem; }
.rd-sub { display: block; font-size: 0.75rem; color: var(--text-faint); margin-top: 0.15rem; }
.rd-next { margin: 0 0 0.6rem; padding: 0.45rem 0.6rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line-strong); font-size: 0.86rem; }
.rd-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.5rem 0; }
.rd-actions a { text-decoration: none; display: inline-flex; align-items: center; }
.rd-note { margin: 0.4rem 0 0; font-size: 0.75rem; color: var(--text-faint); }
.rd-today:empty { display: none; }
.rd-head-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rd-head-links a { text-decoration: none; }
.rd-monitors { margin-bottom: var(--gap); }
.rd-monitor-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.rd-monitor-list li { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; font-size: 0.8rem; color: var(--text-dim); padding: 0.4rem 0; border-top: 1px solid var(--line); }
.rd-monitor-list li:first-child { border-top: 0; }
.rd-monitor-list strong { color: var(--text); min-width: 6.5rem; }
.rd-grid { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); align-items: start; }
.rd-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.rd-card { margin: 0; display: flex; gap: 0.7rem; align-items: flex-start; padding: 0.6rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); min-width: 0; }
.rd-card.tone-action { border-color: rgba(75, 147, 255, 0.45); }
.rd-card.tone-warn { border-color: rgba(243, 180, 67, 0.4); }
.rd-card-body { min-width: 0; flex: 1; }
.rd-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; margin: 0 0 0.25rem; font-size: 0.72rem; color: var(--text-faint); }
.rd-card-name { margin: 0 0 0.2rem; font-size: 0.95rem; }
.rd-card-name .row-sub { display: inline; margin-left: 0.25rem; }
.rd-card-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.6rem; margin: 0; font-size: 0.78rem; color: var(--text-dim); }
.rd-closed { opacity: 0.8; }
.rd-list-compact .rd-card { padding: 0.45rem 0.55rem; }
.rd-card .pill, .rd-banner .pill, .rd-detail .pill, .rd-head-line .pill { white-space: normal; line-height: 1.25; text-align: left; }
.rd-flag { font-size: 0.7rem; font-weight: 650; padding: 0.1rem 0.4rem; border-radius: 3px; border: 1px solid var(--line-strong); color: var(--text-dim); }
.rd-refresh { margin-top: var(--gap); font-size: 0.75rem; }
.rd-back { margin: 0 0 0.75rem; font-size: 0.85rem; }
.rd-head { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; min-width: 0; }
.rd-head h1 { font-family: var(--font-display); font-size: 2.2rem; line-height: 1; margin: 0.1rem 0 0.4rem; }
.rd-head h1 .row-sub { display: inline; font-family: var(--font-ui); font-size: 0.9rem; }
.rd-head-line { margin: 0 0 0.3rem; display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.rd-detail { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); align-items: start; }
.rd-facts { display: grid; gap: 0.55rem; margin: 0; }
.rd-controls { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rd-controls form { margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rd-weeks td, .rd-weeks th { text-align: center; }
.rd-inline { list-style: none; margin: 0.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; font-size: 0.85rem; }
.rd-inline li { margin: 0; }
.rd-faab { margin-top: 0.5rem; }
.rd-field { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.8rem; color: var(--text-dim); max-width: 16rem; }
.rd-field input { font: inherit; color: var(--text); background: var(--panel-sunken); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0.4rem 0.5rem; }
.rd-history { margin: 0; padding-left: 1.1rem; font-size: 0.82rem; color: var(--text-dim); }
.rd-history li { margin-bottom: 0.35rem; }
.rd-notice { margin: 0; padding: 0.6rem; border-radius: var(--radius-sm); background: var(--panel-sunken); border: 1px solid var(--line); min-width: 0; }
.rd-notice-head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.6rem; font-size: 0.82rem; }
.rd-preview { margin: 0.45rem 0; padding: 0.55rem 0.7rem; border-radius: 10px; background: #1b2433; border: 1px solid var(--line-strong); max-width: 30rem; }
.rd-preview-title { margin: 0 0 0.2rem; font-weight: 650; font-size: 0.86rem; }
.rd-preview-body { margin: 0; font-size: 0.8rem; color: var(--text-dim); overflow-wrap: anywhere; }
.rd-events summary { cursor: pointer; font-size: 0.78rem; color: var(--text-dim); }
.rd-events ol { margin: 0.35rem 0 0; font-size: 0.75rem; color: var(--text-faint); }
.rd-form { display: grid; gap: 1rem; max-width: 46rem; }
.rd-form fieldset { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0.75rem 0.9rem; margin: 0; min-width: 0; }
.rd-form legend { font-weight: 650; padding: 0 0.3rem; }
.rd-check { display: flex; gap: 0.5rem; align-items: flex-start; margin: 0.35rem 0; font-size: 0.88rem; }
.rd-row { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0.4rem 0; }
@media (max-width: 40rem) {
  .rd-banner { flex-direction: column; padding: 0.9rem; }
  .rd-banner h2 { font-size: 1.4rem; }
  .rd-head { flex-direction: column; }
  .rd-head h1 { font-size: 1.8rem; }
  .rd-monitor-list strong { min-width: 0; flex-basis: 100%; }
}

/* PILOT-01 seven-input panel (composed results) */
.input-panel-list, .input-status-list { list-style: none; padding: 0 !important; margin: 0; }
.input-panel-list li { display: grid; grid-template-columns: minmax(0, 11rem) auto minmax(0, 1fr); align-items: center; gap: 0.3rem 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--line); margin: 0; }
.input-name { font-weight: 650; }
.input-note { color: var(--text-dim); font-size: 0.82rem; }
.input-status-list li { display: flex; justify-content: space-between; gap: 0.75rem; padding: 0.3rem 0; border-bottom: 1px solid var(--line); font-size: 0.85rem; margin: 0; }
@media (max-width: 640px) {
  .input-panel-list li { grid-template-columns: minmax(0, 1fr) auto; }
  .input-note { grid-column: 1 / -1; }
}

/* PILOT-02A: Connections page and the simulated consent page (test configuration only). */
.connections .panel form { margin-top: 0.75rem; }
.team-choice { display: block; padding: 0.4rem 0; }
.selected-league { border-top: 1px solid var(--line); padding-top: 0.6rem; margin-top: 0.6rem; }
.notice-inline.tone-ok { border-color: rgba(52, 212, 184, 0.4); }
.consent { max-width: 36rem; margin: 2rem auto; padding: 0 1rem; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.consent select { display: block; margin-top: 0.35rem; font: inherit; }
