/* A continuous engineering workbench across result, decision and setup views. */
body.study-active .analysis-workbench:not(.hidden) { display:flex; flex-direction:column; gap:10px; overflow:hidden; }
.analysis-workbench [hidden] { display:none!important; }
body.study-active :is(#view-outputs,#view-decisions,#view-setup).analysis-workbench>.pagehead { flex:none; min-height:34px; margin:0; padding:0 2px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:0; }
.analysis-workbench>.pagehead .stepbadge,.analysis-workbench>.pagehead .ph-txt>p { display:none; }
body.study-active :is(#view-outputs,#view-decisions,#view-setup).analysis-workbench>.pagehead .ph-txt h2 { display:flex; align-items:center; gap:8px; margin:0; font:550 15px var(--sans); letter-spacing:-.1px; color:#c3d5df; }
body.study-active :is(#view-outputs,#view-decisions,#view-setup).analysis-workbench>.pagehead .ph-txt { flex:1; min-width:0; }
.analysis-workbench>.pagehead .infobtn { width:22px; height:22px; min-height:22px; padding:0; font-size:10px; }
.analysis-workbench>.pagehead .ph-act { display:flex; align-items:center; flex:none; flex-wrap:nowrap; width:auto; gap:10px; margin:0; min-width:0; }
.analysis-workbench>.pagehead .ph-act>.go { min-height:28px; padding:5px 11px; font-size:10px; border-radius:8px; }
.analysis-workbench>.pagehead #res-chips { color:#6f8d9f; font:9px var(--sans); }
.analysis-workbench>.viewwrap { display:flex; flex-direction:column; gap:10px; flex:1; min-height:0; margin:0; padding:0; overflow:hidden; }
.analysis-workbench>[data-edmsg]:empty,.analysis-workbench>.viewwrap>.row2:empty { display:none; }
.analysis-section-caption { display:none!important; }
.analysis-tabs { flex:none; display:flex; align-items:center; gap:4px; min-width:0; min-height:40px; padding:4px; border:1px solid #101619; border-radius:12px; background:linear-gradient(180deg,#171c20,#242c31); box-shadow:inset 0 2px 4px #0008,0 1px #d3e5ee16; }
.analysis-tabs>button { position:relative; display:flex; align-items:center; justify-content:center; flex:1; min-width:0; min-height:30px; padding:6px 12px; border:1px solid transparent; border-radius:8px; background:none; color:#819cab; font:500 11px/1.25 var(--sans); white-space:nowrap; }
.analysis-tabs>button:hover { color:#c9e3f1; background:#50657318; }
.analysis-tabs>button[aria-selected=true] { color:var(--pra-selected-fg); border-color:var(--pra-selected-rim); background:var(--pra-selected-bg); box-shadow:var(--pra-selected-shadow); }
.analysis-tabs>button.has-results::after { content:''; width:3px; height:3px; border-radius:50%; background:#7eb39e; position:absolute; bottom:3px; }
.analysis-workbench .analysis-pane { flex:1; min-height:0; min-width:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#5a748466 transparent; }
.analysis-workbench .analysis-pane:focus { outline:none; }
.analysis-record { position:relative; font:10px var(--sans); color:#8aa7b9; }
.analysis-record>summary { cursor:pointer; list-style:none; padding:7px 10px; border:1px solid #9bb8c024; border-radius:8px; background:#273239; }
.analysis-record>summary::before { display:none; }
.analysis-record[open]>#res-sub { position:absolute; top:calc(100% + 7px); right:0; z-index:60; width:340px; max-width:calc(100vw - 32px); padding:14px; border:1px solid #111a20; border-radius:11px; background:linear-gradient(#354048,#27323a); box-shadow:inset 0 1px #dfedf219,0 7px 15px #0008; line-height:1.8; overflow-wrap:anywhere; }
.analysis-workbench .card { min-width:0; margin:0; padding:15px; border:1px solid #10171c!important; border-radius:14px; background:linear-gradient(145deg,#30383e,#262f35)!important; box-shadow:inset 0 1px #dceaf020,0 3px 5px #0006,0 10px 22px #0003!important; }
.analysis-workbench .card-head { margin:0 0 12px; padding:0!important; align-items:flex-start; gap:14px; }
.analysis-workbench .card h3 { margin:0; font:550 13px/1.4 var(--sans); color:#c1d6e2; letter-spacing:0; }
.analysis-workbench .card h4 { color:#8ba6b5; font:550 10px/1.5 var(--sans); letter-spacing:.02em; }
.analysis-workbench .card-note { color:#849ead; font:10px/1.65 var(--sans); max-width:100ch; }
.analysis-workbench .hint,.analysis-workbench .muted { color:#7f99aa; font-size:10px; line-height:1.6; }
.analysis-workbench :is(.ebtn,.go.ghost,.dl) { min-height:27px; padding:5px 9px; border:1px solid #9bb6c62b; border-radius:7px; color:#a8c8da; background:linear-gradient(#37454e,#293841); font:10px/1.5 var(--sans); text-decoration:none; box-shadow:inset 0 1px #e0f1f512,0 1px 2px #0004; }
.analysis-workbench .go:not(.ghost) { min-height:32px; padding:7px 14px; border:1px solid #9dc9e034; border-radius:9px; background:linear-gradient(155deg,#567589,#344f61); color:#d9effc; box-shadow:inset 0 1px #e4f6ff20,0 2px 4px #0007; font:550 11px var(--sans); }
.analysis-workbench :is(button,a,summary):focus-visible { outline:none; box-shadow:var(--study-focus),0 1px #c9e6f222; }
.analysis-workbench :is(button,a):hover { filter:brightness(1.06); }
.analysis-workbench .analysis-context-note { flex:none; margin:0 0 12px; padding:10px 13px; border-left:2px solid #6b8b9f55; border-radius:0 8px 8px 0; background:#17212766; color:#8faab9; font:10px/1.65 var(--sans); }
.analysis-workbench .analysis-empty { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:10px; min-height:190px; padding:28px; border:1px solid #11191e; border-radius:14px; background:radial-gradient(ellipse at 35% 25%,#3f4c542b,transparent 70%),#202a30; box-shadow:inset 0 2px 6px #0006; }
.analysis-empty>strong { color:#bdd4e3; font:550 16px var(--sans); }
.analysis-empty>p { max-width:66ch; margin:0; color:#839dab; font:11px/1.8 var(--sans); }
.analysis-workbench>.empty { margin:auto 0; border:1px solid #10191e; background:#222c32; padding:30px; }
.analysis-workbench .empty h3 { color:#bcd2df; font-size:16px; }
.analysis-workbench .empty p { max-width:62ch; color:#829cab; font-size:11px; line-height:1.8; }
.analysis-workbench .empty-art { display:none; }
.analysis-workbench .warnbar,.analysis-workbench .stale-note { flex:none; margin:0; padding:9px 12px; border-radius:9px; font:10px/1.6 var(--sans); }
.analysis-workbench .kpis { display:flex; flex-wrap:wrap; flex:none; gap:0; padding:10px 0; margin:0; border-bottom:1px solid #b7d0e119; }
.analysis-workbench .kpi { flex:1; min-width:100px; padding:0 15px; border:0; border-left:1px solid #b7d0e119; border-radius:0; background:none; box-shadow:none; }
.analysis-workbench .kpi:first-child { border-left:0; padding-left:2px; }
.analysis-workbench .k-lab { color:#90aab9; font:9px/1.4 var(--sans); }
.analysis-workbench .k-val { margin:6px 0 4px; color:#c0d9e8; font:500 23px/1.15 var(--sans); letter-spacing:-.5px; }
.analysis-workbench .kpi.tight .k-val { font-size:13px; letter-spacing:0; padding-top:4px; overflow-wrap:anywhere; }
.analysis-workbench .kpi.risk .k-val { color:#dfa0a0; }
.analysis-workbench .kpi.good .k-val { color:#99c2ae; }
.analysis-workbench .k-sub { font:9px/1.6 var(--sans); color:#718d9f; }
.analysis-workbench .tag.file { color:#6f8b9b; border-color:#94b3c21c; background:#17242c44; font-size:8px; max-width:42%; overflow-wrap:anywhere; }
.analysis-workbench .filehdr { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 12px; padding:0; border:0; background:none; font-size:10px; }
.analysis-workbench .mini-facts { gap:7px 16px; margin:10px 0; padding:0; border:0; background:none; }
.analysis-workbench .fact { font-size:10px; color:#7e9bac; }
.analysis-workbench .fact b { color:#bdd5e3; }
.analysis-workbench .chartbox { padding:10px; border:1px solid #111c23; border-radius:10px; background:radial-gradient(ellipse at 35% 20%,#35424c24,transparent 70%),#1e292f; box-shadow:inset 0 2px 5px #0005,0 1px #c6dce90a; }
.analysis-workbench .chartbox.sm { height:200px; }
.analysis-workbench table { width:100%; border-collapse:collapse; font:10px/1.55 var(--sans); }
.analysis-workbench :is(.tblwrap,#imp,#cstable,#topology,#costtable,#monquant,#pareto-body,#econ-body,#mit-table) { overflow:auto; min-width:0; scrollbar-width:thin; scrollbar-color:#56728466 transparent; }
.analysis-workbench th { padding:9px 10px; color:#8ca8b9; font:500 9px/1.5 var(--sans); text-transform:none; letter-spacing:0; background:#1d2a32; border-color:#93b0c015; }
.analysis-workbench td { padding:8px 10px; color:#b2cbd9; border-color:#93b0c00f; }
.analysis-workbench tbody tr { background:#28343c55; }
.analysis-workbench tbody tr:hover { background:#48637429; }
.analysis-workbench :is(tr.mit-sel,tr.asset-selected) { background:var(--pra-selected-bg)!important;  color:var(--pra-selected-fg); box-shadow:var(--pra-selected-shadow);}
.analysis-workbench :is(tr.mit-sel,tr.asset-selected) .pra-row-face { background:var(--pra-selected-bg); color:var(--pra-selected-fg); box-shadow:var(--pra-selected-row-shadow); }
.analysis-workbench .fold { border-color:#98b5c025; padding:10px 0 0; }
.analysis-workbench .fold>summary,.analysis-workbench .note-fold>summary { color:#91afc1; font-size:11px; }
.analysis-workbench .pager { display:flex; justify-content:space-between; gap:8px; margin-top:10px; }
.analysis-workbench .analysis-shared-budget { display:grid; grid-template-columns:auto 100px auto; align-items:center; gap:7px; margin:0; padding:3px 8px; border:1px solid #111c23; border-radius:10px; background:var(--study-well); box-shadow:inset 0 2px 4px #0006,0 1px #cfdfeb16; }
.analysis-workbench .analysis-shared-budget>label { margin:0; font-size:9px; white-space:nowrap; }
.analysis-workbench .analysis-shared-budget>input { min-height:26px; width:100px; padding:4px 7px; background:none; border:0; box-shadow:none; font-size:11px; }
.analysis-workbench .analysis-shared-budget>.fld-echo { color:#6d94aa; font-size:9px; margin:0; }
.analysis-workbench .grid2 { gap:12px; }

/* Results: one drawing, with its linked investigation tools in the same frame. */
#analysis-results-risk { overflow:hidden; display:flex; }
body.study-active #view-outputs .analysis-risk-card { position:relative; display:flex; flex:1; min-width:0; min-height:0; flex-direction:column; padding:0; overflow:hidden; }
.analysis-workbench .card.analysis-risk-card>.card-head { flex:none; min-height:48px; padding:10px 13px!important; margin:0; align-items:center; border-bottom:1px solid #101a20; background:var(--study-cap); box-shadow:inset 0 1px #dceaf020,0 2px 4px #0004; }
.analysis-risk-card>.card-head .card-note { display:none; }
.analysis-risk-card .dg-tools { gap:8px; margin:0; }
.analysis-risk-card .dg-tools>label { margin:0; font-size:9px; }
.analysis-risk-card #impmetric { min-height:27px; max-width:180px; padding:4px 25px 4px 8px; font-size:10px; }
.analysis-risk-card .sheet-chk { display:flex; align-items:center; gap:5px; padding:0; border:0; background:none; min-height:27px; color:#91aebf; font-size:10px; }
.analysis-risk-card .hero-grid { flex:1; display:grid; grid-template-columns:minmax(0,1fr) 355px; grid-template-rows:minmax(0,1fr); align-items:stretch; gap:0; padding:0; min-height:0; }
.analysis-risk-card .dg-frame { position:relative; height:100%; min-height:0; padding:0; border:0; border-radius:0; background:radial-gradient(#8aabba1e .7px,transparent .9px) 0 0/19px 19px,radial-gradient(ellipse at 40% 30%,#394b5533,transparent 75%),#18232a; box-shadow:inset 0 3px 7px #0006; }
.analysis-risk-card #res-svg { display:block; width:100%; height:calc(100% - 44px); min-height:0; background:none; border-radius:0; }
.analysis-risk-card .dg-scale { position:absolute; left:18px; bottom:12px; right:18px; padding:0; color:#7897aa; font-size:9px; }
.analysis-risk-card .dg-note { max-width:70%; margin:10px; font-size:11px; }
.analysis-risk-side { display:flex; flex-direction:column; min-height:0; min-width:0; border-left:1px solid #10191f; background:linear-gradient(145deg,#303a41,#26323a); }
.analysis-risk-side>.analysis-tabs { margin:10px 10px 0; min-height:34px; border-radius:9px; gap:2px; padding:3px; }
.analysis-risk-side>.analysis-tabs>button { font-size:10px; min-height:27px; padding:5px 6px; border-radius:6px; }
.analysis-risk-side .analysis-pane { padding:11px; }
.analysis-risk-side .hero-side { max-height:none; min-height:0; padding:0; border:0; background:none; overflow:visible; }
.analysis-risk-side .hero-side>h4 { margin:0 0 6px; font-size:10px; }
.analysis-risk-side .side-note { margin:0 0 12px; color:#7996a9; font:9px/1.65 var(--sans); }
.analysis-risk-side .detail { margin:0 0 13px; padding:12px; border:1px solid #0d1b24; border-radius:10px; background:#1c2a33; box-shadow:inset 0 2px 4px #0006,0 1px #c7e5f014; }
.analysis-risk-side .detail h5 { margin:0 0 7px; color:#b8deef; font:550 12px var(--sans); overflow-wrap:anywhere; }
.analysis-risk-side .d-sub,.analysis-risk-side .drow { font-size:10px; }
.analysis-risk-side #res-top { display:flex; flex-direction:column; gap:3px; padding:var(--pra-lift-gutter); }
.analysis-risk-side .rank { position:relative; padding:0; border:0; border-radius:8px; background:#0caaff; text-align:left; color:#aac7d8; font-size:10px; box-shadow:none; }
.analysis-risk-side .rank>.pra-lift-face { display:block; padding:8px 9px; border:1px solid #94b7c51b; border-radius:7px; background:linear-gradient(145deg,#33414a,#2a3740); transform:translate(0,0); transition:transform 170ms ease-out,box-shadow 250ms ease-out; }
.analysis-risk-side .rank:not(.on):hover>.pra-lift-face { transform:translate(-1px,-1.5px); box-shadow:1px 2px 4px #05151d88; transition-duration:100ms; }
.analysis-risk-side .rank.on>.pra-lift-face { background:var(--pra-selected-bg); border-color:var(--pra-selected-rim);  color:var(--pra-selected-fg); box-shadow:var(--pra-selected-shadow);}
.analysis-risk-side .rank-top { gap:6px; }
.analysis-risk-side .rank-top .rn { font-size:10px; }
.analysis-risk-side .rk { font-size:9px; color:#6f94a9; }
.analysis-risk-side .rank-top .rv { font:10px var(--mono); color:#a9d4e8; }
.analysis-risk-side .rbar { height:2px; margin-top:6px; background:#15242c; }
body.study-active .analysis-risk-side .card { padding:0; border:0!important; background:none!important; box-shadow:none!important; }
.analysis-risk-side .card-head { flex-wrap:wrap; }
.analysis-risk-side .card-head .tag.file { display:none; }
.analysis-risk-side .card-note { font-size:9px; }
.analysis-investigation-head { position:sticky; top:-11px; z-index:8; padding:10px 0 1px; margin:-10px 0 10px; background:#2b3841; box-shadow:0 5px 7px #19252c66; }
.analysis-explanation>summary { margin:5px 0 0; color:#799aac; cursor:pointer; font:9px var(--sans); }
.analysis-explanation .card-note { margin:7px 0; font-size:9px; line-height:1.7; }
.analysis-risk-side .chartbox { height:210px; padding:7px; }
.analysis-risk-side .chartbox.sm { height:130px; }
.analysis-risk-side #csfilter,.analysis-risk-side #senscomp { width:100%; max-width:none!important; margin:0; min-height:29px; }
.analysis-risk-side #cscount { width:100%; font-size:9px; }
.analysis-risk-side .csm { font-size:9px; padding:2px 4px; margin:1px; }
.analysis-risk-side .cs-row td { padding:7px 4px; }
.analysis-risk-side .filehdr>label { margin-left:0!important; }
.analysis-risk-side #cstable { max-height:none; }
.analysis-loading { position:absolute; inset:50px 0 0; display:grid; place-items:center; z-index:50; color:#9ebed1; background:#1d2b33e8; font:12px var(--sans); }
#analysis-results-measures { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:12px; align-items:start; }
#analysis-results-measures .chartbox { height:220px; }
#analysis-results-cost>.card { min-height:100%; }
#analysis-results-cost .row2 { gap:12px; }
#analysis-results-cost .chartbox { height:260px; }
#res-network>.subtitle { margin:0 0 10px; font-size:10px; }
#res-network>.subtitle .n { display:none; }
#res-network .kpis { margin:0 0 15px; padding:12px 0; }
#res-network .net-row { grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr); gap:22px; }
#res-network .net-rank button { padding:9px 10px; border-radius:7px; border-color:#9ebdd21a; background:#22313a; color:#a9c8d9; }
#res-network .net-rank button b { font-size:11px; }
#res-network .net-rank button span { font-size:9px; }

/* Replacement: assumptions sit beside the option evidence, with the two cost
   models and the single-asset sandbox kept explicitly distinct. */
#analysis-replacement-optimizer { display:grid; grid-template-columns:270px minmax(0,1fr); gap:12px; overflow:hidden; }
.analysis-assumptions { min-width:0; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#5a748466 transparent; }
.analysis-assumptions>.card { min-height:100%; }
.analysis-assumptions .mit-inputs { display:flex; flex-wrap:wrap; gap:11px; padding:0; }
.analysis-assumptions .mit-fld { flex:1 1 42%; min-width:0; }
.analysis-assumptions .mit-fld.go-fld { flex-basis:100%; }
.analysis-assumptions .mit-fld>label { display:block; margin:0 0 5px; }
.analysis-assumptions .mit-fld>input { width:100%; }
.analysis-assumptions .go-fld>button { width:100%; }
.analysis-assumptions .fld-echo { font-size:9px; }
.analysis-assumptions #mit-assume { font-size:10px; }
.analysis-options { min-height:0; min-width:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#5a748466 transparent; }
.analysis-options>#roi-body { display:flex; flex-direction:column; gap:11px; padding:0; }
.analysis-options>#roi-body.hidden { display:none; }
.analysis-options #roi-empty { min-height:100%; display:flex; flex-direction:column; justify-content:center; padding:30px; border:1px solid #111c22; border-radius:14px; background:radial-gradient(ellipse at 35% 25%,#3f4c542b,transparent 70%),#202a30; }
.analysis-options .grid2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.analysis-options .grid2>.card:last-child { grid-column:1/-1; }
.analysis-options .chartbox { height:205px; }
.analysis-options #roi-kpis { margin-bottom:0; }
.analysis-options .k-val { font-size:20px; }
.analysis-options #roi-basis { margin:0 0 5px; }
.analysis-basis { padding:0 0 3px; }
.analysis-basis>summary { padding:6px 0; color:#87a9bf; font:10px var(--sans); cursor:pointer; }
.analysis-basis[open] #roi-basis { padding:8px 11px; border-left:2px solid #6b8b9f55; background:#17212766; }
.analysis-options #roi-hero { margin-top:0; }
#analysis-replacement-policies { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); gap:12px; overflow:hidden; }
#analysis-replacement-policies:not(.has-policy-data) { grid-template-columns:minmax(0,1fr); }
.analysis-policy-scene>.analysis-empty { min-height:100%; }
.analysis-policy-main { min-height:0; min-width:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#5a748466 transparent; }
.analysis-policy-main>.card { margin:0 0 12px; }
.analysis-policy-scene { min-height:0; min-width:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#5a748466 transparent; }
.analysis-policy-scene #roi-hero .hero-grid,.analysis-options #roi-hero .hero-grid { display:flex; flex-direction:column; align-items:stretch; gap:8px; padding:0; }
body.study-active #roi-hero>.card-head { padding:0!important; }
body.study-active #roi-hero .dg-frame { width:100%; }
body.study-active .analysis-policy-scene #roi-hero #roi-svg,body.study-active .analysis-options #roi-hero #roi-svg { height:230px; }
body.study-active .analysis-policy-scene #roi-hero .hero-side,body.study-active .analysis-options #roi-hero .hero-side { width:100%; max-height:none; border:0; padding:0; }
.analysis-policy-evidence { margin-top:12px; }
.analysis-policy-evidence>summary { padding:10px 12px; margin:0 0 9px; border:1px solid #91afc127; border-radius:9px; background:#263740; color:#9cbdd0; font:11px var(--sans); cursor:pointer; }
.analysis-policy-count { display:block; margin-top:5px; color:#7697aa; font:9px/1.5 var(--sans); }
#analysis-replacement-policies #frontiercanvas { min-height:0; }
.analysis-workbench #roi-hero .hero-grid { grid-template-columns:minmax(0,1fr) minmax(230px,.55fr); }
.analysis-workbench #roi-hero #roi-svg { height:300px; background:radial-gradient(#8aabba1e .7px,transparent .9px) 0 0/19px 19px,#1b2730; border-radius:10px; }
.analysis-workbench #roi-hero .hero-side { max-height:340px; padding:0 0 0 12px; background:none; border-color:#819dad1a; }
.analysis-workbench #roi-hero .detail { padding:12px; border:1px solid #10202a; background:#1c2a33; border-radius:10px; }
.analysis-workbench #roi-hero .detail h5 { color:#bedbea; font-size:12px; }
.analysis-affected-home { display:none; }
#analysis-replacement-asset #slot-decisions { display:grid; grid-template-columns:minmax(250px,.65fr) minmax(0,1fr); gap:12px; align-items:start; }
#analysis-replacement-asset #slot-decisions>[data-panel] { margin:0; padding:16px; border-color:#10191e; background:linear-gradient(145deg,#303a41,#26323a); box-shadow:var(--study-rim),0 3px 5px #0005; }
#analysis-replacement-asset #slot-decisions>[data-panel]>h3 { font:550 11px var(--sans); text-transform:none; letter-spacing:0; margin:0 0 14px; color:#9dbdce; }
#analysis-replacement-asset :is(#ed-inspector,#ed-whatif) :is(input,select) { width:100%; }

/* Scenario: the loaded model, restoration assumptions and stage selection form
   one run configuration; source changes have their own deliberate workspace. */
.analysis-model-context { display:grid; grid-template-columns:180px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; gap:4px 12px; margin:0 0 12px; padding:13px 16px; border:1px solid #11191e; border-radius:13px; background:linear-gradient(145deg,#303b42,#253139); box-shadow:var(--study-rim),0 3px 5px #0005; }
.analysis-context-label { color:#7695a8; font:9px var(--sans); text-transform:uppercase; letter-spacing:.1em; margin:0 0 6px; }
.analysis-model-context>#sub-src { grid-column:1; display:block; color:#b5d3e4; font:500 11px/1.6 var(--sans); }
.analysis-model-checks { display:contents; }
.analysis-model-checks>summary { display:none; }
.analysis-model-context #sub-facts { grid-column:2; grid-row:1/3; display:flex; flex-wrap:wrap; gap:0; margin:0; padding:0; border:0; }
.analysis-model-context .statcard { flex:1; min-width:0; margin:0; padding:0 12px; border:0; border-left:1px solid #89aabb1c; border-radius:0; background:none; box-shadow:none; }
.analysis-model-context .statcard:first-child { padding-left:0; border-left:0; }
.analysis-model-context .statcard .k { color:#87a4b5; font-size:9px; }
.analysis-model-context .statcard .v { color:#bad6e6; font-size:18px; margin:5px 0; }
.analysis-model-context .statcard .s { font-size:9px; color:#6d8a9c; }
.analysis-model-context .trend { font-size:8px; padding:2px 5px; margin-top:5px; }
.analysis-setup-grid { display:grid; grid-template-columns:minmax(270px,1fr) minmax(290px,1.15fr); gap:12px; align-items:start; }
.analysis-run-settings { display:flex; flex-direction:column; gap:12px; min-width:0; }
.analysis-setup-grid .fldrow { gap:12px; }
.analysis-setup-grid .fld { margin-bottom:9px; }
.analysis-setup-grid .fld>label,.analysis-setup-grid .fldrow .fld>label { display:block; margin:0 0 6px; }
.analysis-workbench #stages { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.analysis-workbench #stages>label { display:flex; align-items:center; gap:8px; margin:0; min-height:38px; padding:8px 10px; border:1px solid #101e27; border-radius:9px; background:#1d2b34; color:#90b2c7; font-size:10px; box-shadow:inset 0 1px 3px #0004; }
.analysis-workbench #stages>label:has(input:checked) { color:var(--pra-selected-fg); border-color:var(--pra-selected-rim); background:var(--pra-selected-bg);  box-shadow:var(--pra-selected-shadow);}
.analysis-workbench .vtabs { display:flex; flex-wrap:wrap; gap:4px; padding:4px; margin:0 0 15px; border:1px solid #101a21; border-radius:11px; background:var(--study-well); }
.analysis-workbench .vtabs>button { flex:1 1 150px; padding:9px 11px; border:1px solid transparent; border-radius:8px; background:none; color:#7c9aaf; font:10px/1.5 var(--sans); }
.analysis-workbench .vtabs>button.active { color:var(--pra-selected-fg); border-color:var(--pra-selected-rim); background:var(--pra-selected-bg); box-shadow:var(--pra-selected-shadow); }
#analysis-scenario-source>#review { margin-top:12px; }
.analysis-workbench input[type=file] { width:100%; padding:7px; }
.analysis-workbench input[type=file]::file-selector-button { margin:0 10px 0 0; padding:6px 10px; border:1px solid #8eafc02a; border-radius:6px; background:linear-gradient(#435967,#2d4555); color:#c0dcea; font:10px var(--sans); cursor:pointer; }
.analysis-workbench .prefix-echo { padding:10px 12px; border-radius:9px; background:#19272f; color:#8ebdd7; font-size:12px; }

@media(max-width:1100px) {
  .analysis-risk-card .hero-grid { grid-template-columns:minmax(0,1fr) 320px; }
  #analysis-replacement-optimizer { grid-template-columns:235px minmax(0,1fr); }
  #analysis-replacement-policies { grid-template-columns:minmax(0,1fr) minmax(285px,.75fr); }
  .analysis-workbench .kpi { padding-inline:10px; }
  .analysis-workbench .k-val { font-size:20px; }
  .analysis-risk-card>.card-head { flex-wrap:wrap; }
  .analysis-model-context .statcard { min-width:28%; margin:6px 0; }
  .analysis-model-context { display:block; }
  .analysis-model-context #sub-facts { margin-top:10px; padding-top:8px; border-top:1px solid #89aabb1c; }
}
@media(max-width:800px) {
  .analysis-workbench>.pagehead #res-chips { display:none; }
  .analysis-record>summary { padding:5px 7px; font-size:9px; }
  .analysis-tabs>button { font-size:10px; padding:6px; }
  .analysis-workbench .kpis { padding-top:3px; }
  .analysis-workbench .k-sub { font-size:8px; }
  .analysis-workbench .kpi { min-width:100px; }
  .analysis-risk-card .hero-grid { grid-template-columns:minmax(0,1fr) 290px; }
  .analysis-risk-card .dg-tools { flex-wrap:wrap; }
  #analysis-results-measures,#res-network .net-row { grid-template-columns:1fr; }
  #analysis-replacement-optimizer { grid-template-columns:1fr; overflow:auto; }
  #analysis-replacement-policies { display:flex; flex-direction:column; overflow:auto; }
  .analysis-policy-main,.analysis-policy-scene { overflow:visible; }
  .analysis-assumptions { overflow:visible; }
  .analysis-assumptions .mit-fld,.analysis-assumptions .mit-fld:first-child { flex:1 1 27%; }
  .analysis-assumptions .mit-fld.go-fld { flex:0 1 27%; }
  .analysis-options { overflow:visible; }
  .analysis-options>#roi-empty { min-height:220px; }
  #analysis-replacement-asset #slot-decisions { grid-template-columns:1fr; }
  .analysis-setup-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  body.study-active :is(#view-outputs,#view-setup).analysis-workbench>.pagehead { flex-wrap:nowrap; }
  body.study-active #view-decisions.analysis-workbench>.pagehead .ph-txt { flex-basis:100%; }
  .analysis-model-checks { display:block; margin-top:10px; }
  .analysis-model-checks>summary { display:flex; padding:8px 10px; border:1px solid #8fa9bb28; border-radius:8px; background:#1c2a33; color:#89afc7; font:10px var(--sans); cursor:pointer; }
  .analysis-record[open]>#res-sub { position:fixed; top:calc(var(--study-head-h) + 48px); left:12px; right:12px; width:auto; max-width:none; }
  .analysis-workbench>.pagehead { min-height:27px; }
  body.study-active #view-decisions.analysis-workbench>.pagehead { flex-wrap:wrap; gap:7px; }
  #view-decisions.analysis-workbench>.pagehead .ph-act { flex:1; justify-content:space-between; }
  .analysis-workbench .analysis-shared-budget { grid-template-columns:auto 95px; }
  .analysis-workbench .analysis-shared-budget>.fld-echo { grid-column:1/-1; font-size:8px; }
  .analysis-workbench>.pagehead h2 { font-size:13px; }
  .analysis-workbench>.pagehead .ph-act>.go { padding:4px 8px; font-size:9px; }
  .analysis-tabs { gap:1px; padding:3px; min-height:36px; }
  .analysis-tabs>button { white-space:normal; font-size:9px; padding:5px 4px; min-height:28px; }
  .analysis-workbench .kpi { min-width:42%; margin:6px 0; }
  .analysis-workbench .kpi:nth-child(odd) { border-left:0; padding-left:2px; }
  .analysis-workbench .k-val { font-size:18px; }
  .analysis-workbench .k-sub { font-size:9px; }
  #analysis-results-risk { overflow:auto; min-height:250px; }
  body.study-active #view-outputs .analysis-risk-card { overflow:visible; flex:none; width:100%; }
  .analysis-risk-card .hero-grid { grid-template-columns:1fr; grid-template-rows:270px minmax(250px,auto); }
  .analysis-risk-card .dg-frame { min-height:270px; }
  .analysis-risk-side { border-left:0; border-top:1px solid #10191f; }
  .analysis-risk-side .analysis-pane { max-height:440px; }
  .analysis-risk-card .dg-tools>label:first-child { display:none; }
  .analysis-risk-card #impmetric { max-width:150px; font-size:9px; }
  .analysis-risk-card>.card-head { padding:9px 10px!important; gap:8px; }
  .analysis-risk-card>.card-head h3 { font-size:11px; }
  .analysis-workbench .card { padding:12px; }
  .analysis-workbench .card-head { flex-wrap:wrap; }
  .analysis-workbench .tag.file { max-width:100%; }
  #analysis-results-cost .row2,.analysis-options .grid2,.analysis-workbench #roi-hero .hero-grid { grid-template-columns:1fr; }
  .analysis-workbench #roi-hero .hero-side { padding:12px 0 0; }
  .analysis-assumptions .mit-fld,.analysis-assumptions .mit-fld:first-child { flex-basis:40%; }
  .analysis-assumptions .mit-fld.go-fld { flex-basis:40%; }
  .analysis-model-context { padding:12px; }
  .analysis-model-context .statcard { min-width:42%; padding:0 8px; }
  .analysis-model-context .statcard:nth-child(odd) { padding-left:0; border-left:0; }
  .analysis-workbench #stages { grid-template-columns:1fr; }
  .analysis-workbench .vtabs>button { flex-basis:42%; }
}
@media(prefers-reduced-motion:reduce) { .analysis-risk-side .rank>.pra-lift-face { transition:none; transform:none!important; } }

/* Results lead with the answer. Finished-run diagnostics are available on demand. */
#analysis-results-risk { flex-direction:column; gap:16px; }
.analysis-outcomes { display:flex; align-items:flex-start; gap:28px; flex:none; padding:6px 2px 2px; }
.analysis-outcomes #summary { flex:1; min-width:0; margin:0; padding:0; border:0; gap:30px; }
.analysis-outcomes #summary>.kpi { flex:1; min-width:0; margin:0; padding:0 0 0 28px; border-left:1px solid #b7d0e11c; }
.analysis-outcomes #summary>.kpi:first-child { padding-left:0; border:0; }
.analysis-outcomes #summary .k-lab { color:#9fb8c7; font-size:11px; }
.analysis-outcomes #summary .k-val { margin:8px 0 6px; color:#d3e6f1; font-size:34px; font-weight:500; line-height:1.1; letter-spacing:-.8px; }
.analysis-outcomes #summary .kpi.risk .k-val { color:#d8a9a9; }
.analysis-outcomes #summary .k-sub { max-width:48ch; color:#7f9dad; font-size:10px; line-height:1.6; }
.analysis-outcomes>.analysis-record { margin-top:3px; flex:none; }
.analysis-run-warning { flex:none; }
.analysis-run-warning #runerr { margin:0; padding:10px 13px; border:1px solid #c3ab7626; border-left:2px solid #bba77b88; border-radius:8px; color:#b8b19c; background:linear-gradient(145deg,#383b35,#2c3435); font:11px/1.7 var(--sans); }
.analysis-popover { display:none; }
.analysis-record[open]>.analysis-popover { display:block; z-index:1550; padding:18px; border:1px solid #10191f; border-radius:14px; color:#9fb9c9; background:linear-gradient(145deg,#333e46,#242f37); box-shadow:inset 0 1px #dfedf21c,0 8px 20px #0009,0 25px 50px #0005; overscroll-behavior:contain; scrollbar-width:thin; }
.analysis-popover-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:14px; }
.analysis-popover-head>strong { color:#c9dce7; font:550 13px var(--sans); }
.analysis-popover-head>button { display:grid; place-items:center; width:25px; height:25px; min-height:25px; padding:0; border:1px solid #8eadbe20; border-radius:7px; background:#1d2a33; color:#96b5c8; font:17px var(--sans); cursor:pointer; }
.analysis-popover #res-sub { position:static; width:auto; max-width:none; margin:0 0 14px; padding:0; background:none; border:0; box-shadow:none; font:11px/1.8 var(--sans); overflow-wrap:anywhere; }
body.study-active #runstrip.analysis-run-record:not(.hidden):not(.offstage) { position:static; display:flex; flex-direction:column; align-items:stretch; gap:16px; width:100%; max-height:none; min-height:0; margin:0; padding:14px 0 0; border:0; border-top:1px solid #a6c5d322; border-radius:0; background:none; box-shadow:none; overflow:visible; font:11px var(--sans); }
#runstrip.analysis-run-record #pill { align-self:flex-start; background:none; border:0; padding:0; box-shadow:none; font-size:11px; letter-spacing:.04em; }
#runstrip.analysis-run-record .grow { display:none; }
#runstrip.analysis-run-record #stagesbox { display:grid; grid-template-columns:1fr 1fr; justify-content:stretch; gap:14px 18px; width:100%; }
#runstrip.analysis-run-record .stage { display:flex; flex-wrap:wrap; align-items:center; align-content:flex-start; justify-content:flex-start; height:auto; gap:5px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
#runstrip.analysis-run-record .sname { color:#b6cdda; font-size:11px; }
#runstrip.analysis-run-record .sdetail { display:block; flex-basis:100%; margin-left:13px; color:#7f9eaf; font-size:10px; line-height:1.5; white-space:normal; overflow:visible; text-overflow:clip; max-width:none; overflow-wrap:anywhere; }
#runstrip.analysis-run-record #metrics { display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; padding:18px 0; border-block:1px solid #a6c5d322; }
#runstrip.analysis-run-record .metric { display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:0; border:0; background:none; box-shadow:none; }
#runstrip.analysis-run-record .metric b { color:#c0d9e8; font:500 16px var(--sans); }
#runstrip.analysis-run-record .metric span { color:#829fae; font:10px var(--sans); }
#runstrip.analysis-run-record #runinfo { flex:none; width:100%; max-width:none; text-align:left; font:10px/1.8 var(--sans); color:#819dad; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
#runstrip.analysis-run-record #runinfo code { display:block; white-space:normal; overflow:visible; text-overflow:clip; max-width:none; font-size:10px; }
#runstrip.analysis-run-record .err:empty { display:none; }
.analysis-evidence-cards { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.analysis-evidence-cards>.kpi { min-width:0; padding:0; margin:0; border:0; }
.analysis-evidence-cards>.kpi.tight { grid-column:1/-1; }
.analysis-evidence-cards .k-val,.analysis-evidence-cards .kpi.tight .k-val { margin:7px 0; font-size:22px; padding:0; }
.analysis-evidence-cards .k-lab,.analysis-evidence-cards .k-sub { font-size:10px; line-height:1.7; }
@media(max-width:700px){
  .analysis-outcomes { position:relative; display:block; padding-bottom:36px; }
  .analysis-outcomes #summary { gap:14px; }
  .analysis-outcomes #summary>.kpi { min-width:0; margin:0; padding-left:14px; }
  .analysis-outcomes #summary .k-val { font-size:29px; }
  .analysis-outcomes #summary .k-sub { font-size:9px; }
  .analysis-outcomes>.analysis-record { position:absolute; bottom:0; right:0; }
}
@media(max-height:520px){
  #analysis-results-risk { overflow:auto; min-height:0; }
  body.study-active #view-outputs .analysis-risk-card { flex:none; min-height:320px; }
}
