/* U17 · tabbed dashboard views, verdict-first card, plain progress, inline errors. */
/* one panel at a time */
.u17-tabs .app-shell main.wrap[data-u17-active] > [data-u17]{display:none!important}
.u17-tabs .app-shell main.wrap[data-u17-active="offer"] > [data-u17="offer"]:not([hidden]),
.u17-tabs .app-shell main.wrap[data-u17-active="verdict"] > [data-u17="verdict"]:not([hidden]),
.u17-tabs .app-shell main.wrap[data-u17-active="evidence"] > [data-u17="evidence"]:not([hidden]),
.u17-tabs .app-shell main.wrap[data-u17-active="workspace"] > [data-u17="workspace"]:not([hidden]),
.u17-tabs .app-shell main.wrap[data-u17-active="ledger"] > [data-u17="ledger"]:not([hidden]){display:block!important}
.u17-tabs .app-shell main.wrap[data-u17-active="offer"] > .u16-preview[data-u17]:not([hidden]){display:block!important}
/* panels other than Offer use the full width */
.u17-tabs .app-shell main.wrap:not([data-u17-active="offer"]) > [data-u17]{grid-column:1/-1!important;grid-row:auto!important;position:static!important}
.u17-tabs .app-shell main.wrap > .u17-head,.u17-tabs .app-shell main.wrap > .u17-next{grid-column:1/-1!important}
/* when the recorded preview is gone, the form takes the full width */
.u17-tabs .app-shell main.wrap.u17-ran > #tool{grid-column:1/-1!important}
.u17-tabs .app-shell main.wrap.u17-ran > .u16-preview{display:none!important}
.u17-tabs .app-shell main.wrap.u17-ran .form-row:first-child{grid-template-columns:repeat(4,minmax(0,1fr))!important}
/* tab bar */
.flow-step[role=tab]{cursor:pointer;user-select:none;outline-offset:2px}
.flow-step[role=tab]:hover{background:oklch(15% .008 95)}
.flow-step[aria-selected=true]{background:oklch(19% .012 90)!important;box-shadow:inset 0 0 0 1px oklch(84% 0.19 80.46 / .45)}
.flow-step[aria-selected=true] .flow-title{color:oklch(97% 0 0)}
.flow-step[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.flow-step:focus-visible{outline:2px solid var(--g)}
.u17-hint{min-height:0;margin:-8px 0 8px;font-size:13px;color:oklch(84% 0.19 80.46)}
.u17-hint:empty{display:none}
.u17-head{margin:8px 0 16px}
.u17-head p,.u17-head h2{margin:0}
.u17-kicker{font-size:12.5px;color:oklch(66% 0 0)}
.u17-title{font-size:22px;font-weight:500;color:oklch(96% 0 0);margin:2px 0!important}
.u17-purpose{font-size:14.5px;color:oklch(74% 0 0)}
.u17-next{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0 8px}
.u17-next-btn{min-height:48px;padding:0 24px;border-radius:999px;border:1px solid oklch(84% 0.19 80.46 / .6);background:transparent;color:oklch(92% 0.06 85);font:inherit;font-weight:500;cursor:pointer}
.u17-next-btn:hover{background:oklch(84% 0.19 80.46 / .1)}
.u17-next-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.u17-next-hint{font-size:13px;color:oklch(70% 0 0)}
/* one primary run button: the sidebar shows status, not a second Run */
.sidebar-head .sidebar-run,.sidebar-head .nav-cta{display:none!important}
/* optional details below Run */
.u17-optional{margin-top:20px;padding-top:12px;border-top:1px solid var(--hl)}
.u17-optional>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;min-height:44px;align-content:center;font-size:14px;font-weight:500;color:oklch(90% 0 0)}
.u17-optional>summary::-webkit-details-marker{display:none}
.u17-optional>summary::before{content:"+";color:var(--g);width:14px}
.u17-optional[open]>summary::before{content:"−"}
.u17-optional>summary span{font-size:12.5px;font-weight:400;color:oklch(66% 0 0)}
.app-shell .u17-optional .form-row--opt{margin-top:12px!important;padding-top:0!important;border-top:0!important}
@media (min-width:821px){.app-shell #offerForm>.u17-optional{order:3}}
@media (max-width:820px){.app-shell #offerForm>.u17-optional{order:2}}
/* inline field errors */
.u17-err{display:block;font-size:13px;color:oklch(78% 0.14 35);margin-top:4px}
.app-shell .field input[aria-invalid=true]{border-color:oklch(65% 0.17 35)!important;box-shadow:0 0 0 3px oklch(65% 0.17 35 / .2)!important}
/* plain progress + technical log */
#status .leg-human{font-size:16px;color:oklch(94% 0 0);margin:8px 0}
#status .tech-log{margin-top:8px;font-size:13px}
#status .tech-log summary{cursor:pointer;color:oklch(72% 0 0);min-height:36px;display:flex;align-items:center}
#status .tech-log .leg-progress{max-height:220px;overflow:auto}
.u17-done{color:oklch(80% 0.12 150)!important}
/* verdict card: the number first */
.u17-tabs .app-shell main.wrap[data-u17-active="verdict"] > #verdict.sheet:not([hidden]){display:flex!important;flex-direction:column}
.app-shell #verdict>*{order:5}
.app-shell #verdict>.eyebrow{order:0}
.app-shell #verdict>.sheet-head{order:1}
.app-shell #verdict>div:has(> #beTickets){order:2;margin:8px 0 4px}
.app-shell #verdict>.u16-rule{order:3}
.app-shell #verdict>#signChecklist{order:4}
.app-shell #verdict .verdict-number{font-size:clamp(72px,9vw,120px)!important}
.app-shell #verdict>#headlinerImage{order:1;display:flex;align-items:center;gap:10px;margin:0 0 8px}
.app-shell #verdict>#headlinerImage[hidden]{display:none!important}
.app-shell #verdict>#headlinerImage img{display:block!important;visibility:visible!important;opacity:1!important;width:64px!important;max-width:64px!important;height:64px!important;object-fit:cover;border-radius:12px;flex:none}
.app-shell #verdict>#headlinerImage figcaption{font-size:12px;color:oklch(66% 0 0)}
.app-shell #verdict>#headlinerImage:not(.u17-img-ok){display:none!important}
/* sources: one clean line, receipt pill aligned */
.source-tag{display:inline-flex!important;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:oklch(68% 0 0);line-height:1.4;margin-left:6px}
.source-tag-chip{display:inline-flex!important;align-items:center;min-height:24px!important;padding:0 10px!important;font-size:12px!important;border-radius:999px!important;vertical-align:middle;margin:0!important}
.u17-sources{display:block;font-size:12.5px;color:oklch(68% 0 0);margin-top:6px}
/* 390: sticky segmented bar */
@media (max-width:820px){
 .flow-steps[role=tablist]{position:sticky;top:0;z-index:20;background:oklch(9% .006 95 / .95)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin-left:-4px!important;margin-right:-4px!important}
 .u17-tabs .app-shell main.wrap.u17-ran .form-row:first-child{grid-template-columns:minmax(0,1fr)!important}
}

/* ---------- U18 ---------- */
/* sidebar follows the active tab */
#appNav .nav-item.u17-current{background:oklch(17% .012 90);box-shadow:inset 2px 0 0 oklch(84% 0.19 80.46);border-radius:10px}
#appNav .nav-item.u17-current a{color:oklch(97% 0 0)!important}
#appNav .nav-item.u17-current .nav-state{color:oklch(84% 0.19 80.46)}
#appNav .nav-item:not(.u17-current){background:transparent!important;box-shadow:none!important}
/* panels never hide under sticky chrome */
.u17-tabs .app-shell main.wrap > *{scroll-margin-top:24px}
/* checklist: every Source note sits under its line, muted, same rhythm */
.app-shell #signChecklist li{margin-bottom:12px}
.app-shell #signChecklist li .source-tag{display:flex!important;margin:3px 0 0!important;font-size:12px;color:oklch(64% 0 0)}
/* Evidence leads with the real evidence */
.u17-tabs .app-shell main.wrap[data-u17-active="evidence"] > .evrow.evrow[data-u17]{display:none!important}
.u17-tabs main.wrap[data-u17-active="evidence"] #evidence figure.fig,
.u17-tabs main.wrap[data-u17-active="evidence"] #receiptSection figure.fig,
.u17-tabs main.wrap[data-u17-active="evidence"] #depth figure.fig{display:none!important}
.u17-tabs main.wrap[data-u17-active="evidence"] #evidence{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.u17-tabs main.wrap[data-u17-active="evidence"] #evidence > :not(details){grid-column:1/-1}
.u17-tabs main.wrap[data-u17-active="evidence"] #evidence > details{margin:0!important;padding:16px 18px!important;border:1px solid var(--hl,oklch(30% 0 0))!important;border-radius:14px;background:oklch(13% .006 95)!important}
.u17-tabs main.wrap[data-u17-active="evidence"] #evidence > details > summary{font-weight:500;color:oklch(95% 0 0);margin-bottom:8px;list-style:none;cursor:pointer}
.u17-tabs main.wrap[data-u17-active="evidence"] #evidence > details > summary::-webkit-details-marker{display:none}
.u18-empty{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:oklch(18% .01 60 / .6);color:oklch(80% 0.05 70);font-size:13.5px}
.u17-tabs main.wrap[data-u17-active="evidence"] #receiptList > *{border:1px solid var(--hl,oklch(30% 0 0));border-radius:12px;padding:12px 14px;margin-bottom:10px;background:oklch(13% .006 95)}
@media (max-width:820px){
 .u17-tabs main.wrap[data-u17-active="evidence"] #evidence{grid-template-columns:minmax(0,1fr)}
 /* menu row + full-width tab row underneath */
 body:has(.u17-tabs), html.u17-tabs body{--u18-bar:64px}
 html.u17-tabs body::before{content:"";position:fixed;inset:0 0 auto 0;height:var(--u18-bar);background:oklch(9% .006 95 / .96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:80;border-bottom:1px solid oklch(100% 0 0 / .06)}
 .flow-steps[role=tablist]{top:var(--u18-bar)!important;padding:4px!important;margin-left:0!important;margin-right:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;z-index:79}
 .flow-steps[role=tablist] .flow-step{min-width:0;padding:8px 2px!important}
 .flow-steps[role=tablist] .flow-title{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .u17-tabs .app-shell main.wrap > *{scroll-margin-top:150px}
 .u17-tabs .app-shell main.wrap{padding-top:76px}
}
/* U18 · only the selected tab is lit; sidebar link has no extra pill */
.flow-steps[role=tablist] .flow-step:not([aria-selected=true]){background:transparent!important;box-shadow:none!important}
.flow-steps[role=tablist] .flow-step:not([aria-selected=true]) .flow-num{color:oklch(60% 0 0)!important}
#appNav .nav-item a[aria-current],#appNav .nav-item a{background:none!important;box-shadow:none!important}
.u17-tabs main.wrap[data-u17-active="evidence"] #evidence > details,.u17-tabs main.wrap[data-u17-active="evidence"] #receiptList > *{overflow-wrap:anywhere;min-width:0}
/* ---------- U19 ---------- */
.u17-tabs .app-shell main.wrap .eyebrow.u19-num{display:none!important}
.u17-tabs .app-shell main.wrap > .u19-open .disc-toggle{display:none!important}
.u17-tabs .app-shell main.wrap > .u19-open .disc-body{display:block!important}
.u17-tabs .app-shell main.wrap > .u19-open h2{font-size:18px}
/* photo credit: the caption under the photo goes, the credit sits by the name */
.app-shell #verdict>#headlinerImage figcaption{display:none!important}
.u19-credit{color:oklch(62% 0 0);font-size:12px}
/* workspace actions */
.u19-wsbar{margin:4px 0 20px;padding:16px 18px;border:1px solid var(--hl,oklch(30% 0 0));border-radius:14px;background:oklch(13% .006 95)}
.u19-ws-state{margin:0 0 12px;color:oklch(80% 0.12 150);font-size:14px}
.u19-ws-actions{display:flex;flex-wrap:wrap;gap:10px}
.u19-act{min-height:46px;padding:0 20px;border-radius:999px;border:1px solid oklch(84% 0.19 80.46 / .55);background:transparent;color:oklch(94% 0.03 85);font:inherit;font-weight:500;cursor:pointer}
.u19-act:hover{background:oklch(84% 0.19 80.46 / .1)}
.u19-act--primary{background:oklch(84% 0.19 80.46);color:oklch(15% 0 0);border-color:transparent}
.u19-act--primary:hover{background:oklch(88% 0.17 82)}
.u19-ws-empty p{margin:0 0 12px;color:oklch(86% 0 0)}
.u19-ws-isempty .ws-grid,.u19-ws-isempty #wsActions,.u19-ws-isempty #wsHeader{display:none}
.ws-example{margin-top:8px!important;font-size:12.5px!important;color:oklch(64% 0 0)!important}
.ws-example-k{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;border:1px solid oklch(100% 0 0 / .14);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:oklch(76% 0 0)}
/* readable evidence */
.u19-hint{font-size:12.5px;color:oklch(64% 0 0);margin:0 0 10px}
.u19-sub{margin:10px 0 4px;font-size:12.5px;color:oklch(74% 0 0);text-transform:uppercase;letter-spacing:.05em}
.u19-score{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13.5px;margin:4px 0}
.u19-score-k{color:oklch(90% 0 0)}
.u19-bar{height:6px;border-radius:99px;background:oklch(22% 0 0);overflow:hidden}
.u19-bar i{display:block;height:100%;border-radius:99px}
.u19-bar i.pos{background:oklch(84% 0.19 80.46)}
.u19-bar i.neg{background:oklch(60% 0.08 250)}
.u19-score-v{color:oklch(74% 0 0);font-size:12.5px;white-space:nowrap}
.u19-id{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:oklch(55% 0 0);margin-top:2px;overflow-wrap:anywhere}
.u19-tags{list-style:none;padding:0;margin:0}
.u19-tags li{padding:8px 0;border-bottom:1px solid oklch(100% 0 0 / .06)}
.u19-tags strong{display:block;font-weight:500;color:oklch(94% 0 0)}
.u19-meta{display:block;font-size:12.5px;color:oklch(70% 0 0);text-transform:capitalize}
.leg-retry{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;font-size:11.5px;background:oklch(30% 0.06 80 / .5);color:oklch(88% 0.1 85)}
@media (max-width:820px){.u19-score{grid-template-columns:84px minmax(0,1fr)}.u19-score-v{grid-column:2}.u19-act{flex:1 1 100%}}
/* U19b · 390: wide tables scroll inside their card, long ids wrap */
#trialTally table,#ledger table{min-width:640px}
#trialTally .disc-body,#ledger .disc-body,#trialTally [id$="-body"],#ledger [id$="-body"]{overflow-x:auto;-webkit-overflow-scrolling:touch}
#disc-workspace-body{overflow-wrap:anywhere}
@media (max-width:820px){#trialTally .disc-body::before,#ledger .disc-body::before{content:"Swipe the table sideways to see every column →";display:block;font-size:12px;color:oklch(64% 0 0);margin-bottom:6px}}
@media (max-width:820px){#trialTally table,#ledger table{min-width:980px}#trialTally td,#trialTally th,#ledger td,#ledger th{min-width:120px}}
/* U20 · ledger trial cards */
.u20-tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 18px}
.u20-tally div{border:1px solid oklch(100% 0 0 / .1);border-radius:12px;padding:12px 14px}
.u20-tally b{display:block;font-size:22px;font-weight:600;color:oklch(94% 0 0)}
.u20-tally span{font-size:12.5px;color:oklch(70% 0 0)}
.u20-trials{display:grid;gap:16px}
.u20-trial{border:1px solid oklch(100% 0 0 / .1);border-radius:16px;padding:18px;background:oklch(100% 0 0 / .02)}
.u20-trial-h{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin-bottom:14px}
.u20-trial-n{font:500 11px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:oklch(64% 0 0)}
.u20-trial-h strong{font-size:17px;font-weight:600;color:oklch(96% 0 0)}
.u20-trial-m{font-size:13px;color:oklch(72% 0 0)}
.u20-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.u20-pick{border:1px solid oklch(100% 0 0 / .08);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.u20-pick--graph{border-color:oklch(80% .12 85 / .45)}
.u20-pick-k{margin:0;font:500 11px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:oklch(66% 0 0)}
.u20-pick-v{margin:0;font-size:15px;font-weight:500;color:oklch(94% 0 0);overflow-wrap:anywhere}
.u20-badge{align-self:flex-start;font-size:11.5px;padding:3px 9px;border-radius:999px;border:1px solid}
.u20-badge--same{color:oklch(82% .14 150);border-color:oklch(82% .14 150 / .45)}
.u20-badge--diff{color:oklch(80% .13 60);border-color:oklch(80% .13 60 / .45)}
.u20-badge--declined{color:oklch(76% 0 0);border-color:oklch(76% 0 0 / .4)}
.u20-badge--ref{color:oklch(84% .12 85);border-color:oklch(84% .12 85 / .45)}
.u20-why summary{cursor:pointer;font-size:12.5px;color:oklch(78% 0 0)}
.u20-why p{font-size:13px;line-height:1.5;color:oklch(78% 0 0);margin:6px 0 0}
.u20-miss{margin:14px 0 12px;font-size:13.5px;color:oklch(80% 0 0)}
.u20-miss span{font:500 11px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:oklch(64% 0 0);margin-right:6px}
#trialTally .disc-body::before{content:none!important}
#trialTally table{min-width:0}
@media (max-width:820px){.u20-picks{grid-template-columns:1fr}.u20-tally{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* U20 · sources checked */
.u20-checks-sum{font-size:14px;margin:6px 0 10px}
.u20-checks-sub{font:500 11px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:oklch(64% 0 0);margin:16px 0 6px}
.u20-checks{list-style:none;margin:0;padding:0}
.u20-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 0;border-bottom:1px solid oklch(100% 0 0 / .06)}
.u20-check-l{font-size:14px;color:oklch(92% 0 0)}
.u20-check-m{grid-column:1;font:12px ui-monospace,monospace;color:oklch(62% 0 0)}
.u20-check-d{grid-column:1/-1;font-size:12.5px;color:oklch(70% 0 0);overflow-wrap:anywhere}
.u20-pill{grid-row:1/span 2;grid-column:2;font-size:11.5px;padding:3px 10px;border-radius:999px;border:1px solid;white-space:nowrap}
.u20-pill--ok{color:oklch(82% .14 150);border-color:oklch(82% .14 150 / .45)}
.u20-pill--retry{color:oklch(84% .12 85);border-color:oklch(84% .12 85 / .45)}
.u20-pill--none{color:oklch(74% 0 0);border-color:oklch(74% 0 0 / .4)}
.u20-pill--partial{color:oklch(80% .13 60);border-color:oklch(80% .13 60 / .45)}
.u20-pill--err{color:oklch(72% .17 25);border-color:oklch(72% .17 25 / .5)}
/* U20 · tags */
.u20-tag-grp{margin:10px 0}
.u20-tag-k{margin:0 0 2px;font:500 11px/1.4 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:oklch(70% 0 0)}
.u20-tag-k span{color:oklch(56% 0 0)}
.u20-tag-other summary{cursor:pointer;font-size:13px;color:oklch(78% 0 0);margin-top:8px}
/* U20 · workspace summary card */
#wsHeader .ws-season-ledger{font-weight:400;font-size:13px;color:oklch(68% 0 0)}
.u20-ws-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:10px 0;border:1px solid oklch(100% 0 0 / .1);border-radius:14px;overflow:hidden;background:oklch(100% 0 0 / .08)}
.u20-ws-kv div{background:oklch(17% 0 0);padding:12px 14px;min-width:0}
.u20-ws-kv dt{font:500 11px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:oklch(64% 0 0);margin-bottom:6px}
.u20-ws-kv dd{margin:0;font-size:15px;font-weight:500;color:oklch(94% 0 0);overflow-wrap:anywhere}
.u20-ws-kv .ws-settle-line{font-weight:500}
.u20-ws-id{font-size:12px;color:oklch(76% 0 0);word-break:break-all}
.u20-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.u20-why:not([open])>p{display:none!important}
.u20-why[open]>p{display:block!important;max-height:none!important;opacity:1!important;clip-path:none!important;overflow:visible!important}
.u20-why{border:0!important;padding:0!important;margin:0!important;background:none!important}
.u20-picks .u20-pick .u20-why summary{padding:4px 0!important}
.u20-ws-kv div:last-child{grid-column:1/-1}
.u20-why summary::after{content:" ›";color:oklch(60% 0 0)}
.u20-why[open] summary::after{content:" ⌄"}
#evidence #legSummary{display:none}
.u20-tag-other:not([open])>*:not(summary){display:none!important}
.u20-tag-other{border:0!important;padding:0!important;background:none!important}
.u20-tag-other summary::after{content:" ›";color:oklch(60% 0 0)}.u20-tag-other[open] summary::after{content:" ⌄"}
