/* ===================== v62 ============================================ */
/* the fundamentals header boxes hold one size whatever the subject */
#fmoKpis > div{width:224px;min-width:224px;max-width:224px;box-sizing:border-box;overflow:hidden}
#fmoKpis .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fmoKpis .k,#fmoKpis .s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* the product picker lost its third line and its group fine print */
.product-entry-copy small{display:none!important}
.workspace-group-head span{display:none!important}
.product-picker-head > span{display:none!important}

/* ---- dashboard v62: masthead answer, then four questions ---------------- */
.db-mast{border:1px solid var(--line);border-left:3px solid var(--brand);background:var(--panel);
  padding:20px 22px 22px;margin-bottom:8px;border-radius:3px}
.db-mq{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.db-mq .k{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--brandLt);font-weight:600}
.db-mq h2{margin:0;font-size:23px;font-weight:600;letter-spacing:-.015em}
.db-sec:first-child{border-top:1px solid var(--line2);padding-top:26px}
.db-mast + .db-sec{border-top:0;padding-top:18px}
/* the five largest channels, stated in the six-slot convention */
.db-rank.slots .db-rh,.db-rank.slots .db-rr{grid-template-columns:22px minmax(0,1fr) 62px;gap:12px;
  align-items:center}
.db-rank.slots .db-rr{padding:6px 0}
.db-rank.slots .slotwrap{min-width:0}
.db-rank.slots .slotwrap{overflow:hidden}
.db-rank.slots .slotwrap .cn{margin:0;gap:2px}
.db-rank.slots .slotwrap .cn-s{padding:6px 15px;flex:1 1 0}
.db-rank.slots .slotwrap .cn-s.wide{flex:1.6 1 0}
.db-rank.slots .val.big{font-size:14px;font-weight:600;color:var(--ink)}
.db-rank.act .db-rh,.db-rank.act .db-rr{grid-template-columns:22px minmax(0,1.5fr) 46px 60px 46px minmax(190px,1fr)}
.db-two.narrow-left{grid-template-columns:minmax(280px,.62fr) minmax(0,2fr)}
@media (max-width:1180px){ .db-two.narrow-left{grid-template-columns:1fr} }

/* ---- v63: materiality channel rows, reduced to the four things that matter -- */
.mc-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;line-height:1.35}
.mc-line b{font-size:11.5px;font-weight:600}
.mc-line i{font-style:normal;color:var(--line2);font-size:10px}
.mc-line u{text-decoration:none;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--bad);
  margin-left:-2px}
.mc-line .pr{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap}

/* ---- v63: slim valuation-risk masthead ------------------------------- */
.db-mast.slim{padding:16px 20px 18px}
.db-mnums{display:grid;grid-template-columns:minmax(180px,auto) minmax(0,1fr);gap:26px;align-items:center}
.db-mbig .v{font-size:40px;font-weight:600;line-height:1;letter-spacing:-.025em}
.db-mbig .l{font-size:12px;font-weight:600;margin-top:6px;color:var(--txt)}
.db-msmall{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 22px}
.db-msmall > div{border-left:1px solid var(--line);padding-left:14px}
.db-msmall b{display:block;font-size:16px;font-weight:600;line-height:1.2}
.db-msmall span{display:block;font-size:10.5px;color:var(--faint);line-height:1.5;margin-top:3px}
.db-urg{font-style:normal;font-family:var(--mono);font-size:7.5px;letter-spacing:.9px;text-transform:uppercase;
  color:var(--warn);border:1px solid var(--warn);border-radius:2px;padding:1px 4px;margin-right:6px}
@media (max-width:900px){ .db-mnums{grid-template-columns:1fr} }
.iv-prov{font-size:10.5px;color:var(--muted);line-height:1.6;margin:2px 0 10px;padding:8px 11px;
  border-left:2px solid var(--brand);background:var(--panel2);border-radius:0 2px 2px 0}
.iv-prov b{color:var(--txt)}
.iv-prov .dd{margin-left:6px;color:var(--brandLt)}

/* ---- v63: shape test — readable type, neutral heat, centred ------------ */
.stg-mxwrap{max-width:1080px;margin:0 auto;overflow-x:auto}
.stg-mxwrap .stg-mx{min-width:640px}
.stg-mx .cl{color:var(--ink2);font-weight:500}
.stg-mx .cl.win{color:var(--brandInk);font-weight:700;box-shadow:inset 0 0 0 1px var(--brandLt)}
.stg-mx .hd{color:var(--ink2)}
.stg-mx .hd.win{color:var(--brandInk);font-weight:700}
.stg-mx .nm{color:var(--txt)}

/* ---- v64: the two columns of "how does it decompose" share one height --- */
.db-two.narrow-left{align-items:stretch}
/* the hazard list fills and distributes over the height the diagram sets */
.db-col-fill{display:flex;flex-direction:column;min-width:0}
.db-col-fill .db-bars.share{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-evenly}
.db-col-fill .db-bars.share .db-br{flex:0 0 auto}
.db-col-fill .db-note{margin-top:auto}
/* the diagram is centred in its own column, vertically as well as across */
.db-col-mid{display:flex;flex-direction:column;min-width:0}
.db-col-mid .db-chart{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}

/* ---- v65: shape test — the numbers are the content, so they read first -- */
.stg-mx .cl{color:var(--ink);font-weight:600;letter-spacing:.2px}
.stg-mx .cl.win{color:var(--ink);font-weight:700;box-shadow:inset 0 0 0 1px var(--brand)}
.stg-mx .hd.tv{color:var(--ink2)}
.stg-mx .hd.tv.win{color:var(--brandInk);font-weight:700}

/* ---- v66: the subject choice sits on the table it governs -------------- */
.fmo-h3{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fmo-title{display:flex;align-items:baseline;gap:10px;min-width:0}
.fmo-title b{font-size:16px;font-weight:600;letter-spacing:-.01em}
.fmo-title .chain{font-size:10.5px;letter-spacing:.2px;text-transform:none;
  color:var(--faint);white-space:nowrap}
.fmo-h3 #fmoSubjWrap{margin:0}
.fmo-h3 #fmoSubjWrap .k{display:none}
.fmo-card{border-top:2px solid var(--line2)}
.fmo-card.sub-revenue{border-top-color:var(--ob1,#1F8F86)}
.fmo-card.sub-costs{border-top-color:var(--ob2,#C29A4A)}
.fmo-card.sub-assets{border-top-color:var(--ob3,#7FA3D1)}
.fmo-card.sub-all{border-top-color:var(--brand)}
/* the left rail already says where you are — the in-page back buttons only
   pushed the first section below the fold */
body.nav-on .scr > .backbar{display:none!important}

/* ---- v67: shape-test legend ------------------------------------------- */
.stg-mxkey{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.stg-mxkey .kk{font-family:var(--mono);font-size:7.5px;letter-spacing:.9px;text-transform:uppercase;
  color:var(--faint)}
.stg-mxkey .ramp{display:flex;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.stg-mxkey .ramp i{font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--ink);
  padding:3px 9px;border-right:1px solid var(--line);background-color:var(--panel)}
.stg-mxkey .ramp i:last-child{border-right:0}
.stg-mxkey .kt{font-size:10.5px;color:var(--faint);line-height:1.55;flex:1 1 260px;min-width:0}
.stg-mxkey .kt b{color:var(--ink2);font-family:var(--mono);font-size:10px}

/* ---- v67: dashboard takeaways, recommendations, headline strips -------- */
.db-takes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line)}
.db-take{background:var(--panel);padding:15px 17px 16px;border-top:2px solid transparent}
.db-take.best{border-top-color:var(--ok)}
.db-take.mid{border-top-color:var(--line2)}
.db-take.worst{border-top-color:var(--bad)}
.db-take{cursor:default;display:block}
.db-take.best,.db-take.worst{cursor:pointer}
.db-take.best:hover,.db-take.worst:hover{background:var(--panel2)}
.db-take .kk{font-family:var(--mono);font-size:7.5px;letter-spacing:1px;text-transform:uppercase;
  color:var(--faint)}
.db-take .vv{font-size:26px;font-weight:600;line-height:1.05;letter-spacing:-.02em;margin-top:7px}
.db-take .hh{font-size:12.5px;font-weight:600;margin-top:8px;line-height:1.35}
.db-take .ss{font-size:10.5px;color:var(--faint);line-height:1.55;margin-top:5px}
.db-strip{display:flex;gap:2px;margin-top:12px}
.db-strip .seg{font-family:var(--mono);font-size:9px;letter-spacing:.6px;text-transform:uppercase;
  padding:6px 9px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--panel)}
.db-strip .seg.ok{background:var(--ok)}
.db-strip .seg.mid{background:var(--line2);color:var(--ink2)}
.db-strip .seg.bad{background:var(--bad)}
.db-rec{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:2px}
.db-rr2{display:grid;grid-template-columns:24px minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:center;
  padding:11px 13px;border-bottom:1px solid var(--line);cursor:pointer;border-left:3px solid transparent}
.db-rr2:last-child{border-bottom:0}
.db-rr2:hover{background:var(--panel2);border-left-color:var(--brand)}
.db-rr2 .no{font-family:var(--mono);font-size:12px;color:var(--brandLt);font-weight:600}
.db-rr2 .nm b{font-size:13px;display:block;line-height:1.3}
.db-rr2 .nm small{font-size:9.5px;color:var(--faint);display:block;margin-top:3px;font-family:var(--mono)}
.db-rr2 .mm{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.db-rr2 .pp{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--wall)}
.db-rr2 .cc{font-family:var(--mono);font-size:11px;color:var(--ink2)}
.db-rr2 .rr{font-size:9.5px;line-height:1.35;flex:0 1 190px;text-align:right}
.db-mini{display:inline-block;width:60px;height:6px;background:var(--panel2);border:1px solid var(--line);
  border-radius:2px;position:relative;vertical-align:middle}
.db-mini i{position:absolute;left:0;top:0;height:4px;border-radius:2px;display:block}
.db-inline{color:var(--brandLt);cursor:pointer;font-weight:600}
.db-inline:hover{text-decoration:underline}

/* ---- v68: fundamentals — one card, two panels at one scale ------------- */
.fm7-grid{display:grid;grid-template-columns:minmax(0,560fr) minmax(0,640fr);gap:16px;
  align-items:start;margin-top:6px}
@media (max-width:1100px){ .fm7-grid{grid-template-columns:1fr} }
.fm7-panel{border:1px solid var(--line);border-radius:2px;padding:10px 10px 6px;position:relative;min-width:0}
.fm7-panel .ph{font-size:8.5px;letter-spacing:.7px;text-transform:uppercase;
  color:var(--faint);margin:2px 0 8px 2px}
.fm7-vw{position:absolute;top:9px;right:10px;display:flex;border:1px solid var(--line);
  border-radius:2px;overflow:hidden;z-index:2}
.fm7-vw .tab{border:0;border-right:1px solid var(--line);border-radius:0;margin:0;
  font-size:10px;padding:3px 10px}
.fm7-vw .tab:last-child{border-right:0}
/* ---- v68: dashboard masthead header sits OUTSIDE its box --------------- */
.db-mast.slim{border:0;box-shadow:none;background:transparent;padding:0;border-radius:0}
.db-mast.slim .db-mq{margin-bottom:12px}
.db-mast.slim .db-body{border:1px solid var(--line);border-left:3px solid var(--brand);
  background:var(--panel);padding:16px 20px 18px;border-radius:0 3px 3px 0}

.wacc-big{font-size:24px;font-weight:600;margin:2px 0 4px}
.wacc-bar{display:flex;height:13px;border:1px solid var(--line);background:var(--panel2);margin:2px 0 4px}
.wacc-bar i{display:block;height:100%}
.wacc-leg{display:flex;gap:16px;font-size:9.5px;color:var(--muted);margin-bottom:8px}
.wacc-leg i{display:inline-block;width:10px;height:8px;margin-right:4px;vertical-align:baseline}
.wacc-src{font-style:normal;font-size:8.5px;color:var(--faint);margin-left:6px}
.wacc-sens{font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:8px;padding-top:8px;line-height:1.5}
.wacc-sens b{color:var(--txt)}
.db0-rows{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.db0-row{display:flex;align-items:center;gap:10px}
.db0-tag{font-size:9px;color:var(--faint);flex:0 0 72px}
.eng-top{display:flex;gap:16px;align-items:flex-start;margin-bottom:6px}
.eng-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--line)}
.eng-row.fixed .eng-fx{font-size:10.5px;font-weight:500;text-align:right}
.eng-row.ov .eng-l b{color:var(--txt)}
.eng-l{flex:1;min-width:0}
.eng-l b{display:block;font-size:10.5px;font-weight:500}
.eng-l em{display:block;font-style:normal;font-size:8.5px;color:var(--faint)}
.eng-in{width:84px;text-align:right;background:transparent;border:1px solid transparent;border-radius:2px;color:var(--txt);font:inherit;font-size:11.5px;padding:3px 7px;-moz-appearance:textfield}
.eng-in::-webkit-outer-spin-button,.eng-in::-webkit-inner-spin-button{opacity:1}
.eng-in:hover{border-color:var(--line2);background:var(--panel)}
.eng-in:focus{outline:none;border-color:var(--brand);background:var(--panel)}
select.eng-in{width:auto;min-width:120px}
.eng-u{font-size:9px;color:var(--faint);width:24px}
.eng-ov{font-style:normal;font-size:7px;letter-spacing:.7px;color:var(--warn);border:1px solid var(--warn);padding:1px 5px;border-radius:2px;text-transform:uppercase;vertical-align:1px;margin-left:5px}
.eng-foot{display:flex;justify-content:space-between;align-items:center;padding:8px 0 2px}
.eng-reset{font-size:9.5px;color:var(--brand);cursor:pointer;text-decoration:underline;text-decoration-style:dashed}
.eng-count{font-size:9px;color:var(--faint)}
.db-bars.share .nm{white-space:normal;line-height:1.15}
.db-bars.share .pc{display:inline-flex;align-items:center;justify-content:flex-end;white-space:nowrap}
.db-bars.share .pc .cat{flex:0 0 52px;width:52px;text-align:center;margin-left:7px}
.stg-radar{display:flex;justify-content:center;margin:0 0 12px}
.stg-radleg{display:flex;gap:18px;justify-content:center;font-size:10px;color:var(--muted);margin:-2px 0 12px}
.stg-radleg i{display:inline-block;width:13px;height:3px;vertical-align:middle;margin-right:5px}
.dcnseg{display:inline-flex;border:1px solid var(--line2);margin-left:auto}
.dcnseg b{padding:3px 11px;cursor:pointer;font-weight:400;font-size:10px;color:var(--faint)}
.dcnseg b.on{background:var(--brand);color:#fff}
.dcn-sim-out{display:flex;gap:22px;flex-wrap:wrap;margin:8px 0 4px}
.dcn-sim-out>div b{display:block;font-size:16px}
.dcn-sim-out>div span{display:block;font-size:9px;color:var(--faint);text-transform:uppercase;letter-spacing:.5px}
.dcn-sim-bar input[type=range]{width:100%;accent-color:var(--brand)}
#ivEngineBody .iv-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
#ivEngineCard .iv-card{max-width:none}
.dcn-sim-list{margin:6px 0 2px;border-top:1px solid var(--line)}
.dcn-sim-row{display:grid;grid-template-columns:20px minmax(0,1.6fr) 74px 64px 64px 52px 52px;gap:9px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line);font-size:10.5px;cursor:pointer}
.dcn-sim-row.off{opacity:.38}
.dcn-sim-row .cb{width:13px;height:13px;border:1px solid var(--line2);border-radius:2px;display:inline-block;position:relative}
.dcn-sim-row:not(.off) .cb{background:var(--brand);border-color:var(--brand)}
.dcn-sim-row:not(.off) .cb:after{content:'';position:absolute;left:3.5px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(40deg)}
.dcn-sim-row b{font-weight:500}
.dcn-sim-row .tnum{text-align:right}
.dcn-sim-hd{display:grid;grid-template-columns:20px minmax(0,1.6fr) 74px 64px 64px 52px 52px;gap:9px;font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:var(--faint);padding:6px 0 3px}
.iv-top-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:14px;align-items:stretch;margin-bottom:14px}
.iv-top-grid>.card{margin:0!important;min-width:0}
#ivEngineCard .matrix-kv{padding:3px 0}
#ivEngineCard .eng-row{padding:4px 0}
@media(max-width:1180px){.iv-top-grid{grid-template-columns:1fr}}
.db-bars.share .pc .cat{flex:0 0 48px;width:48px}
.iv-left-stack{display:flex;flex-direction:column;gap:14px;min-width:0}
#secLanding .landing-live{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:2px 16px;align-items:center}
#secLanding .landing-live-row{grid-column:1}
#secLanding .landing-live-read{grid-column:2;grid-row:1/span 2;align-self:center;border-left:1px solid var(--line);padding-left:14px}
#secLanding .landing-live-read b{display:block;font-size:22px}
#secLanding .landing-live-read span{display:block;font-size:9px;line-height:1.45;color:var(--faint)}
.iv-left-stack>.card{margin:0!important}
#secLanding>h3 .timing-prototype,#secLanding>h3 #landingStatus{display:none}
#intrinsicBridge{display:none}
#secLanding{padding-top:12px}
.iv-left-stack .cvra-driver-grid{display:flex;flex-direction:column;gap:12px}
#secPaths .cvra-driver-card{max-width:none!important;width:100%;background:transparent!important;
  display:flex!important;flex-direction:column;gap:6px;height:auto!important;padding:10px 14px;
  grid-template-rows:none!important;grid-template-columns:none!important}
#secPaths .driver-card-head{display:flex;justify-content:space-between;align-items:baseline}
#secPaths .driver-dial-top{display:flex;align-items:center;gap:14px;height:auto}
#secPaths .driver-dial-top>svg{width:84px;height:auto;flex:0 0 84px}
#secPaths .driver-chart-wrap{max-width:none;aspect-ratio:340/168;height:auto;width:100%}
#secPaths .driver-chart-wrap svg{width:100%;height:100%}
#secPaths .cvra-legend{font-size:8px;padding-top:2px;display:flex;gap:10px;flex-wrap:wrap}
#secPaths .driver-read{display:flex;justify-content:space-between;align-items:center;gap:10px}
#secPaths .driver-actions{display:none}
.iv-top-grid{align-items:start}
.wacc-big em{font-style:normal;font-size:10px;letter-spacing:1.2px;color:var(--faint);margin-right:9px;vertical-align:5px}
.cvra-landing-top{display:grid;grid-template-columns:minmax(0,1fr) 176px;gap:18px;align-items:center}
.iv-fsmenu{border-left:1px solid var(--line);padding-left:16px;display:flex;flex-direction:column;gap:7px}
.fsm-t{font-size:8.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--faint);margin-bottom:2px}
.fsm-i{font-size:11px;color:var(--brand);cursor:pointer;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px}
.fsm-i:hover{color:var(--txt)}
.db-bars.share{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;height:100%;box-sizing:border-box}
.db-bars.share .db-br:last-child{border-bottom:none}
.db-two{align-items:stretch}
.mcw-hd{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-bottom:12px}
.mcw-hd h1{margin:0}
.mcw-kpis{margin:0;display:flex;gap:10px}
.mcw-kpis>div{background:var(--panel);border:1px solid var(--line);padding:7px 14px;min-width:130px}
#secPaths .bench-toggle-row{display:none}
#secLanding .landing-live{grid-template-columns:auto minmax(0,1fr)}
#secLanding .landing-live-read{align-self:start;padding-top:4px}
#secLanding .landing-live-read b{font-size:30px}
#secLanding .landing-live-read span{font-size:11px;color:var(--muted)}
.iv-top2{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:14px;align-items:stretch;margin-bottom:14px}
.iv-top2>.card{margin:0!important;min-width:0}
#secLanding .iv-fsmenu{flex-direction:row;border-left:none;padding:2px 0 10px;gap:18px;align-items:center}
#secLanding .iv-fsmenu .fsm-t{margin:0}
@media(max-width:1180px){.iv-top2{grid-template-columns:1fr}}
#mktFanState{display:inline-block;min-width:225px;text-align:right}
#fanCard .section-meta{flex-wrap:nowrap}
.pp-r{display:grid;grid-template-columns:150px minmax(0,1fr) 64px 58px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.pp-r:last-child{border-bottom:none}
.pp-nm b{display:block;font-size:11px}
.pp-nm span{display:block;font-size:8.5px;color:var(--faint)}
.pp-track{height:20px;background:var(--panel2);border:1px solid var(--line);position:relative}
.pp-track i{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;padding-left:8px;font-size:9.5px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.pp-track u{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--txt);text-decoration:none}
.pp-g{font-size:11px;font-weight:600;text-align:right}
.pp-p{font-size:9.5px;color:var(--faint);text-align:right}
.pp-hd{display:grid;grid-template-columns:150px minmax(0,1fr) 64px 58px;gap:12px;font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:var(--faint);padding:4px 0}
.pp-tiles{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.pp-tile{background:var(--panel);border:1px solid var(--line);padding:9px 14px;min-width:150px}
.pp-tile span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--faint)}
.pp-tile b{font-size:17px}
.pp-tile em{display:block;font-style:normal;font-size:9px;color:var(--muted)}
.pp-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:6px}
.pp-fm-r{display:grid;grid-template-columns:96px minmax(0,1fr) 52px;gap:9px;align-items:center;padding:4px 0}
.pp-fm-r .bar{height:11px;background:var(--panel2);border:1px solid var(--line)}
.pp-fm-r .bar i{display:block;height:100%}
.pp-heat{border-collapse:collapse;width:100%}
.pp-heat th{font-size:8px;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);padding:3px 5px;text-align:center}
.pp-heat td{padding:2px}
.pp-heat td i{display:block;height:20px;background:var(--neg)}
.pp-prob{margin-top:10px;font-size:10.5px;color:var(--muted)}
.pp-prob b{color:var(--txt)}
.iv-fsrow{display:flex;justify-content:flex-end;margin:0 0 8px}
.iv-fsrow .iv-fsmenu{flex-direction:row;border-left:none;padding:0;gap:18px;align-items:center}
#secLanding .landing-live{display:flex;flex-direction:column;gap:8px}
#secLanding .landing-live-read{order:-1;border-left:none;border:1px solid var(--line);background:var(--panel2);padding:10px 16px;display:flex;align-items:baseline;gap:16px}
#secLanding .landing-live-read b{font-size:30px;white-space:nowrap}
#secLanding .landing-live-read span{font-size:11px;color:var(--muted);white-space:normal;line-height:1.5}
.iv-top2>.card{padding:15px 17px}
.pp-read{font-size:10.5px;color:var(--muted);margin:2px 0 10px;line-height:1.5}
.pp-read b{color:var(--txt);font-weight:500}
.pp-hd{grid-template-columns:170px minmax(0,1fr) 200px 52px}
.pp-r{grid-template-columns:170px minmax(0,1fr) 200px 52px;cursor:pointer}
.pp-r.sel{background:var(--panel2);outline:1px solid var(--line2)}
.ppg{display:flex;align-items:center;gap:8px}
.ppg s{flex:1;height:13px;background:var(--panel2);border:1px solid var(--line);text-decoration:none;position:relative;overflow:hidden}
.ppg s.n i{position:absolute;right:0;top:0;bottom:0;display:block}
.ppg s.p i{position:absolute;left:0;top:0;bottom:0;display:block}
.ppg b{font-size:10.5px;min-width:44px;text-align:right}
.pp-struct{border:1px solid var(--line);background:var(--panel2);padding:10px 14px;margin:12px 0 4px}
.pp-chain{display:flex;gap:9px;align-items:center;font-size:11px;margin:6px 0}
.pp-chain em{color:var(--faint);font-style:normal}
.pp-chain span,.pp-chain b{background:var(--panel);border:1px solid var(--line);padding:3px 10px}
.pp-chain b{font-weight:600;border-color:var(--line2)}
.pp-chain .hzp{border-left:3px solid var(--neg)}
.pp-chain-read{font-size:10.5px;color:var(--muted);line-height:1.55}
.pp-ctl{display:flex;align-items:center;gap:7px;margin:2px 0 12px;flex-wrap:wrap}
.pp-ck{font-size:8.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--faint)}
.pp-chip{font-weight:400;font-size:10px;border:1px solid var(--line2);padding:3px 11px;cursor:pointer;color:var(--muted)}
.pp-chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.pp-ex{margin-left:auto;font-size:9.5px;color:var(--warn)}
.pp-ex u{cursor:pointer}
.pp-marks{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.pp-mk{background:var(--panel);border:1px solid var(--line);padding:9px 13px;min-width:150px;flex:1}
.pp-mk.wide{flex:2.2;min-width:260px}
.pp-mk.fmk{border-color:var(--brand)}
.pp-mk span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--faint);margin-bottom:4px}
.pp-mk .big{font-size:18px}
.pp-mk em{display:block;font-style:normal;font-size:9px;color:var(--muted);margin-top:2px}
.pp-fbar{display:flex;height:22px;border:1px solid var(--line)}
.pp-fbar i{display:flex;align-items:center;justify-content:center;font-size:8.5px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);overflow:hidden;white-space:nowrap}
.pp-updn .u,.pp-updn .d{display:flex;align-items:center;gap:7px;margin:2px 0}
.pp-updn i{display:block;height:9px}
.pp-updn .u i{background:#1F8F86}
.pp-updn .d i{background:var(--neg)}
.pp-updn b{font-size:10.5px}
.pp-mx-hd{display:grid;grid-template-columns:64px 90px repeat(5,minmax(0,1fr)) 64px 26px;gap:8px;font-size:8.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);padding:4px 0;border-bottom:1px solid var(--line2)}
.pp-mx-hd .f{cursor:pointer;text-align:center}
.pp-mx-hd .f.on{color:var(--brand);font-weight:700}
.pp-mx-hd .g,.pp-mx-hd .w{text-align:center}
.pp-mr{display:grid;grid-template-columns:64px 90px repeat(5,minmax(0,1fr)) 64px 26px;gap:8px;align-items:stretch;height:38px;border-bottom:1px solid var(--line);cursor:pointer}
.pp-mr.sel{background:var(--panel2);outline:1px solid var(--line2)}
.pp-mr.off{opacity:.28}
.pp-mr .tk{align-self:center;font-size:11px;font-weight:600}
.pp-mr .wt{align-self:center;display:flex;align-items:center;gap:6px}
.pp-mr .wt i{display:block;height:4px;background:var(--line2);max-width:56px}
.pp-mr .wt b{font-size:9px;color:var(--faint);font-weight:400}
.pp-mr .fc{position:relative;display:block}
.pp-mr .fc i{position:absolute;bottom:4px;left:18%;right:18%;display:block;opacity:.75}
.pp-mr .fc.on i{opacity:1;outline:1px solid var(--txt)}
.pp-mr .gp{position:relative;display:block}
.pp-mr .gp s{position:absolute;left:10%;right:10%;top:50%;height:1px;background:var(--line2)}
.pp-mr .gp i{position:absolute;left:32%;right:32%;display:block}
.pp-mr .ex{align-self:center;text-align:center;color:var(--faint);font-size:12px}
.pp-mr .ex:hover{color:var(--warn)}
.cvra-landing-top{display:block!important}
#secLanding .landing-live{display:flex!important;flex-direction:column;justify-content:space-evenly;align-items:center;gap:0;height:calc(100% - 8px);min-height:300px}
#secLanding .landing-live-read{width:100%;max-width:560px;box-sizing:border-box}
#secLanding .landing-live-row{display:flex;align-items:center;gap:14px;justify-content:center;width:100%}
#secLanding .landing-live-row .cvlab{flex:0 0 96px}
/* v99 · landing ranges: read on the left, the two ranges filling the right — one evenly filled tile */
#secLanding{display:flex;flex-direction:column}
#secLanding .cvra-landing-top{flex:1;display:flex!important;flex-direction:column;min-height:0}
#secLanding .landing-live{flex:1;display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);grid-template-rows:1fr 1fr;gap:10px 22px;align-items:stretch;justify-items:stretch;height:auto;min-height:0;margin-top:6px}
#secLanding .landing-live-row svg{width:100%!important;max-width:none!important;height:auto;max-height:100%}
#secLanding .landing-live-read{align-self:stretch!important;grid-row:1/span 2!important}
#secLanding .landing-live-read{grid-column:1;grid-row:1/span 2;order:0;max-width:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:18px 20px;margin:0}
#secLanding .landing-live-read b{font-size:40px;line-height:1}
#secLanding .landing-live-read span{font-size:11.5px;color:var(--muted);line-height:1.5}
#secLanding .landing-live-row{grid-column:2;display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);background:var(--panel);padding:10px 16px;min-height:0;width:auto}
#secLanding .landing-live-row svg{width:100%;height:auto;display:block}
@media(max-width:900px){#secLanding .landing-live{grid-template-columns:1fr}#secLanding .landing-live-read{grid-column:1;grid-row:auto}#secLanding .landing-live-row{grid-column:1}}
.iv-fsrow{justify-content:flex-end}
.iv-fsrow .iv-fsmenu{flex:0 0 auto;display:flex;gap:16px}
.iv-fsrow .fsm-i{white-space:nowrap}
.pp-stances{display:flex;gap:8px;margin:2px 0 4px}
.pp-st{flex:1;border:1px solid var(--line);padding:6px 10px;text-align:center;cursor:pointer;background:var(--panel2)}
.pp-st b{display:block;font-size:16px}
.pp-st span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--faint)}
.pp-st.dom{border-color:var(--brand)}
.pp-st.dom b{color:var(--brand)}
.pp-st.open{outline:1px solid var(--line2)}
.pp-mk .pp-fbar{height:18px}
.hzseg.on{outline:2px solid var(--txt)}
.pp-hzmap{border:1px solid var(--line);background:var(--panel2);padding:10px 14px;margin:12px 0 2px}
.pp-hz-tiles{display:flex;gap:20px;margin:6px 0 8px}
.pp-hz-tiles b{font-size:17px;display:block}
.pp-hz-tiles span{font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--faint)}
.pp-comp-hz{margin-top:9px}
.pp-chan-li{font-size:10.5px;margin:3px 0}
.pp-chan-li em{font-style:normal;color:var(--faint);font-size:9px;margin-left:8px}
.navfloat{position:fixed;left:14px;bottom:14px;z-index:60;display:flex;align-items:center;gap:10px;
 background:var(--panel);border:1px solid var(--line2);padding:7px 13px;font-size:10.5px;color:var(--muted);
 box-shadow:0 2px 10px rgba(0,0,0,.08)}
.navfloat span[role=button]{cursor:pointer}
.navfloat span[role=button]:hover{color:var(--brand)}
.navfloat .sep{width:1px;height:12px;background:var(--line2)}
body.nav-on .navfloat{left:74px}
#scr-thesis{--mono:ui-monospace,'Cascadia Mono','Roboto Mono',Consolas,monospace;--ink:var(--txt)}
.th-step{margin:2px 0 14px}
.th-step h4{font-size:8.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--faint);margin:0 0 6px;font-weight:600}
.th-stances{max-width:640px}
.th-st.dom{background:var(--panel)}
.th-hd{display:grid;grid-template-columns:24px minmax(0,1.5fr) 64px 96px minmax(120px,1fr) 70px;gap:10px;font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:var(--faint);padding:4px 0;border-bottom:1px solid var(--line2)}
.th-r{display:grid;grid-template-columns:24px minmax(0,1.5fr) 64px 96px minmax(120px,1fr) 70px;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line);font-size:11px}
.th-r em{font-style:normal;color:var(--faint);font-size:9.5px}
.th-r.fail{opacity:.45}
.th-r .tnum{font-family:var(--mono);font-size:10.5px;text-align:right}
.th-fit{display:flex;align-items:center;gap:7px}
.th-fit i{display:block;height:6px;background:var(--brand);flex:0 1 auto;min-width:2px}
.th-fit b{font-size:10px;font-family:var(--mono)}
.th-ok{font-size:8.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);text-align:right}
.th-r:not(.fail) .th-ok{color:var(--brand)}

/* v98 · thesis builder: configuration board of equal-rank switches */
.th-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.th-cell{border:1px solid var(--line);background:var(--panel2);padding:8px 10px;min-width:0;display:flex;flex-direction:column;gap:6px}
.th-cell .pp-ck{display:block}
.th-cell em{font-style:normal;font-size:9px;color:var(--faint);line-height:1.4;margin-top:auto}
.th-seg{display:flex;border:1px solid var(--line2);background:var(--panel)}
.th-seg b{flex:1;text-align:center;font-weight:400;font-size:10.5px;padding:5px 4px;cursor:pointer;color:var(--muted);border-right:1px solid var(--line2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-seg b:last-child{border-right:none}
.th-seg b.on{background:var(--brand);color:#fff;font-weight:600}
.th-switch{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.th-switch i{display:block;width:34px;height:18px;border-radius:9px;background:var(--line2);position:relative;transition:background .15s}
.th-switch i:after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:7px;background:#fff;transition:left .15s}
.th-switch.on i{background:var(--brand)}.th-switch.on i:after{left:18px}
.th-switch b{font-size:10.5px;font-weight:400;color:var(--muted)}.th-switch.on b{color:var(--brand);font-weight:600}
@media(max-width:1200px){.th-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.th-board{grid-template-columns:1fr 1fr}}
.th-gate{border:1px solid var(--line);background:var(--panel2);padding:10px 14px 6px}
.th-gate.grad{border-color:var(--brand)}
.th-gate-hd{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.th-gate-state{font-size:9px;letter-spacing:.8px;text-transform:uppercase;font-weight:600;color:var(--warn)}
.th-gate.grad .th-gate-state{color:var(--brand)}
.th-gate-note{font-size:9.5px;color:var(--faint);max-width:620px;line-height:1.45}
.th-test{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:7px 0;border-top:1px solid var(--line);align-items:start}
.th-test-v{font-family:var(--mono);font-size:9px;letter-spacing:.8px;font-weight:600;padding-top:2px}
.th-test.ok .th-test-v{color:var(--brand)}.th-test.no .th-test-v{color:var(--warn)}
.th-test b{display:block;font-size:11px;color:var(--ink);font-weight:600}
.th-test span{display:block;font-size:10.5px;color:var(--muted);line-height:1.5}
.th-test em{display:block;font-style:normal;font-family:var(--mono);font-size:8.5px;color:var(--faint);margin-top:2px;line-height:1.5}
.th-theses{margin-top:6px}
.th-thesis{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}
.th-thesis.conf{background:rgba(31,143,134,.04)}
.th-thesis-t{font-size:10.5px;color:var(--ink);line-height:1.5}
.th-thesis-x{font-size:10px;color:var(--muted);line-height:1.5}
.th-thesis-x b{font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:var(--warn);font-weight:600;margin-right:4px}
.sb-prov{font-family:var(--mono);font-size:9px;color:var(--faint)}
.sb-prov b{font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin-right:4px}
.sb-prov b.reg{color:var(--brand)}.sb-prov b.syn{color:var(--warn)}
.th-rigor{border:1px solid var(--line);background:var(--panel2);padding:10px 14px;font-size:10.5px;color:var(--muted);line-height:1.6}
.th-rigor b{display:block;font-size:8.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.pp-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:22px;align-items:start;margin-top:2px}
@media(max-width:1180px){.pp-cols{grid-template-columns:1fr}}
.pp-zone{font-size:8.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line2);padding-bottom:4px;margin:2px 0 10px}
.pp-side .pp-struct{margin:0 0 12px}
.pp-sidecard{border:1px solid var(--line);background:var(--panel);padding:9px 12px;margin-bottom:10px}
.pp-sidecard svg{max-width:100%;height:auto}
.pp-co b{font-size:15px}
.pp-co span{font-size:10px;color:var(--faint);margin-left:8px}
.pp-co-tiles{gap:16px;margin:8px 0 10px}
.pp-co-tiles b{font-size:16px}
.pp-hztick{display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:baseline}
.pp-fbar{gap:2px;background:var(--panel2)}
.pp-fbar i{min-width:0;flex-shrink:1}
.pp-mk .pp-fbar+em{margin-top:5px;line-height:1.45}
.eng-i{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin-left:6px;
 border:1px solid var(--line2);border-radius:50%;font-size:8.5px;font-style:normal;color:var(--faint);
 cursor:pointer;vertical-align:1px;font-family:var(--mono)}
.eng-i:hover{color:var(--brand);border-color:var(--brand)}
.eng-bl{margin-left:8px;font-size:8.5px;font-family:var(--mono);letter-spacing:.3px;color:var(--brand);
 border:1px dashed var(--brand);padding:1px 6px;cursor:pointer;white-space:nowrap}
.eng-bl:hover{background:var(--brand);color:#fff}
.engpop-scrim{position:fixed;inset:0;background:rgba(20,24,26,.35);z-index:80;display:none}
.engpop-scrim.on{display:block}
.engpop{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,92vw);z-index:81;
 background:var(--panel);border:1px solid var(--line2);box-shadow:0 10px 40px rgba(0,0,0,.22);padding:16px 20px 18px;display:none}
.engpop.on{display:block}
.ep-t{font-size:13px;font-weight:600;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ep-x{cursor:pointer;color:var(--faint);font-size:15px;line-height:1}
.ep-x:hover{color:var(--txt)}
.ep-k{font-size:8.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--faint);margin:9px 0 3px}
.ep-b{font-size:11px;color:var(--muted);line-height:1.55}
.ep-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px}
.ep-chip{font-weight:400;font-size:10px;border:1px solid var(--line2);padding:4px 12px;cursor:pointer;color:var(--muted)}
.ep-chip:hover{border-color:var(--brand);color:var(--brand)}
.ep-chip.base{border-style:dashed;color:var(--brand);border-color:var(--brand)}
.ep-foot{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
/* v89 · hazard list: one ruled grid — line above the first row, one line under
   every row including the last, all rows equal height so the rules distribute
   evenly from the top of the diagram plot to its bottom */
.db-bars.share.even{border-top:1px solid var(--line);border-bottom:none;justify-content:flex-start}
.db-bars.share.even .db-br{flex:1 1 0;min-height:0;padding:0;border-bottom:1px solid var(--line);
 grid-template-columns:100px minmax(60px,1fr) 38px 52px;gap:7px;align-items:center}
.db-bars.share.even .db-br:last-child{border-bottom:1px solid var(--line)}
/* v96 · one rule at the foot: the last row's border is the bottom line; the note below carries no rule of its own */
.db-col-fill .db-bars.share.even+.db-note{border-top:none;padding-top:8px}
.db-bars.share.even .pc{justify-content:flex-start;color:var(--muted)}
.db-bars.share.even .catc{display:flex;justify-content:flex-end}
.db-bars.share.even .catc .cat{flex:0 0 auto;width:auto;margin-left:0;padding:1px 5px}
/* v90 · fundamentals charts speak the house sans, like every other chart;
   CSS wins over the SVG presentation attributes without touching each call site */
.fm7-panel svg text{font-family:'Segoe UI',system-ui,sans-serif;letter-spacing:normal}
#wbCard .workbench-stage{display:block}
#wbCard .dial-stack{display:flex!important;flex-direction:row;gap:14px;flex-wrap:wrap;height:auto!important}
#wbCard .dial-stack>*{flex:1 1 200px}
.pp-cols.v90{grid-template-columns:minmax(0,1fr) minmax(340px,400px)}
/* v93 · Portfolio Management as a dashboard: full width, KPI strip, slots, larger maps */
.dcn-split.pp-full{grid-template-columns:minmax(0,1fr)}
#ppApp{min-width:0}
.review-dock-link{display:block;font:inherit;font-size:10.5px;color:#080808;text-decoration:underline;padding:4px 0}
.pp-kpis{display:flex;gap:10px;margin:0 0 16px;flex-wrap:wrap;align-items:stretch}
.pp-kpis .pp-mk{margin:0;min-width:0;flex:0 0 auto;width:196px;display:flex;flex-direction:column;padding:9px 12px}
.pp-kpis .pp-mk.stmk{width:auto;flex:0 1 460px;min-width:360px}
.pp-kpis .pp-mk .big{font-size:20px}
.pp-kpis .pp-mk em{font-size:8.5px}
.pp-kpis .pp-vud .ax{left:0;right:0}
.pp-kpis .pp-vud .up,.pp-kpis .pp-vud .dn{left:12px;width:14px}
.pp-kpis .pp-vud .dn{background:var(--down)}
.pp-kpis .pp-vud .dn b{color:var(--down)}
.pp-kpis .pp-vud .up b,.pp-kpis .pp-vud .dn b{font-size:10px;left:20px}
.pp-kpis .pp-mk .big small{font-size:12px;color:var(--faint);margin-left:2px}
.pp-kpis .pp-vud{height:70px;margin:18px 0 2px}
.pp-kpis .pp-stances{margin:2px 0 6px}
.pp-kpis .pp-st{padding:4px 8px}.pp-kpis .pp-st b{font-size:15px}
.pp-cols.v93{grid-template-columns:minmax(0,1fr) minmax(330px,380px);gap:24px}
.pp-mx-hd,.pp-mr{grid-template-columns:34px 130px 170px repeat(5,minmax(0,1fr)) 72px 26px}
.pp-mx-hd .sl{text-align:center}
.pp-mr .sl{align-self:center;text-align:center;font-family:var(--mono);font-size:9px;color:var(--faint)}
.pp-mr .tk em{display:block;font-style:normal;font-weight:400;font-size:8.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.pp-mr .wt .trk{display:block;flex:1;height:8px;background:var(--panel2);border:1px solid var(--line);position:relative}
.pp-mr .wt .trk i{position:absolute;left:0;top:0;bottom:0;max-width:none;height:auto;background:var(--brand);opacity:.8}
.pp-mr .wt b{min-width:28px;text-align:right}
.pp-mr .fc i{left:14%;right:14%}
.pp-oppcard{margin-bottom:0}
/* v100 · strip squeezed; channel prevalence under it; matrix after the components */
.pp-kpis.v99.v100 .pp-mk{min-height:92px;padding:8px 12px}
.pp-kpis.v99.v100 .pp-mk>span{margin-bottom:3px}
.pp-kpis.v99.v100 .pp-mk .big{font-size:24px}
.pp-kpis.v99.v100 .pp-mk em{margin-top:3px;font-size:8.5px}
.pp-kpis.v99.v100 .pp-hzseg{margin-top:5px}
.pp-kpis.v99.v100 .pp-vud{height:50px;margin:10px 0 0}
.pp-kpis.v99.v100 .pp-stances{margin:2px 0 5px}.pp-kpis.v99.v100 .pp-st{padding:5px 8px}.pp-kpis.v99.v100 .pp-st b{font-size:16px}
.pp-kpis.v99.v100 .pp-mk.fattr .pp-fbar{height:26px;margin-top:3px}
.pp-hzbars{gap:3px}.pp-hzbars .r .bar{height:8px}
.pp-chanrow{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-bottom:16px}
.pp-chanrow .pp-mk{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:0}
.pp-chanrow .pp-chrow{grid-template-columns:120px minmax(0,1fr) 40px;margin:5px 0}
.pp-chanrow .pp-chrow .bar{height:22px}
.pp-chanrow .pp-chans em{grid-column:1/-1}
.pp-matrow .pp-mk{margin:0}
.pp-matrow .pp-comat table{max-width:none}
.pp-comat-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:22px;align-items:start}
.pp-pairs .pp-ck{display:block;margin:6px 0 4px}
.pp-pair{display:grid;grid-template-columns:110px 34px minmax(0,1fr);gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line)}
.pp-pair b{font-size:11px}.pp-pair i{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:600;text-align:right;color:var(--muted)}
.pp-pair.hot i{color:var(--down)}
.pp-pair em{font-style:normal;font-size:9.5px;color:var(--muted);line-height:1.4}

/* v99 · strip: two deliberate rows of equal tiles, centred content; hazard mix as bars; bottom: matrix first */
.pp-kpis.v99{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;margin-bottom:14px}
.pp-kpis.v99 .pp-mk{grid-column:span 3;width:auto;flex:none;margin:0;min-width:0;padding:12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:128px}
.pp-kpis.v99 .pp-mk>span{font-size:8px;letter-spacing:.7px;margin-bottom:6px}
.pp-kpis.v99 .pp-mk .big{font-size:30px;line-height:1.05}
.pp-kpis.v99 .pp-mk .big small{font-size:12px;color:var(--faint);margin-left:2px}
.pp-kpis.v99 .pp-mk em{font-size:9px;margin-top:5px;line-height:1.4}
.pp-kpis.v99 .pp-hzseg{display:flex;border:1px solid var(--line2);margin-top:8px}
.pp-kpis.v99 .pp-hzseg b{font-size:9px;font-weight:400;padding:2px 9px;cursor:pointer;color:var(--muted);border-right:1px solid var(--line2)}
.pp-kpis.v99 .pp-hzseg b:last-child{border-right:none}.pp-kpis.v99 .pp-hzseg b.on{background:var(--brand);color:#fff;font-weight:600}
.pp-kpis.v99 .pp-vud{height:64px;width:120px;margin:14px 0 2px}
.pp-kpis.v99 .pp-vud .ax{left:0;right:0}.pp-kpis.v99 .pp-vud .up,.pp-kpis.v99 .pp-vud .dn{left:44px;width:16px}
.pp-kpis.v99 .pp-vud .dn{background:var(--down)}.pp-kpis.v99 .pp-vud .dn b{color:var(--down)}
.pp-kpis.v99 .pp-vud .up b,.pp-kpis.v99 .pp-vud .dn b{font-size:10px;left:22px}
.pp-kpis.v99 .pp-mk.stmk,.pp-kpis.v99 .pp-mk.fattr,.pp-kpis.v99 .pp-mk.hzm{grid-column:span 4;align-items:stretch;text-align:left}
.pp-kpis.v99 .pp-mk.stmk>span,.pp-kpis.v99 .pp-mk.fattr>span,.pp-kpis.v99 .pp-mk.hzm>span{text-align:center}
.pp-kpis.v99 .pp-stances{gap:8px;margin:4px 0 8px}
.pp-kpis.v99 .pp-st{padding:8px 8px}.pp-kpis.v99 .pp-st b{font-size:20px}.pp-kpis.v99 .pp-st span{font-size:8px}
.pp-kpis.v99 .pp-mk.stmk em{text-align:center}
.pp-kpis.v99 .pp-mk.fattr .pp-fbar{height:34px;margin-top:6px}
.pp-kpis.v99 .pp-mk.fattr .pp-fbar i{font-size:10px;font-family:var(--mono)}
.pp-kpis.v99 .pp-mk.fattr em{text-align:center;font-size:9.5px}
.pp-hzbars{display:flex;flex-direction:column;gap:5px;margin-top:4px;flex:1;justify-content:center}
.pp-hzbars .r{display:grid;grid-template-columns:64px minmax(0,1fr) 34px;gap:8px;align-items:center;cursor:pointer;font-size:10px}
.pp-hzbars .r span{display:block;text-transform:none;letter-spacing:0;font-size:10px;color:var(--txt);margin:0}
.pp-hzbars .r.on span{color:var(--brand);font-weight:600}
.pp-hzbars .r .bar{height:10px;background:var(--panel2);border:1px solid var(--line)}
.pp-hzbars .r .bar i{display:block;height:100%}
.pp-hzbars .r b{font-family:var(--mono);font-size:9.5px;text-align:right;font-weight:600}
.pp-bottom.v99{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.pp-chrow{display:grid;grid-template-columns:110px minmax(0,1fr) 36px;gap:8px;align-items:center;margin:7px 0}
.pp-chrow .lab{display:block;text-transform:none;letter-spacing:0;font-size:10.5px;color:var(--txt);margin:0}
.pp-chrow .bar{display:flex;height:18px;background:var(--panel2);border:1px solid var(--line);gap:1px}
.pp-chrow .bar i{display:flex;align-items:center;justify-content:center;font-size:8.5px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);overflow:hidden;white-space:nowrap;min-width:0}
.pp-chrow b{font-family:var(--mono);font-size:10px;text-align:right}
.pp-chans em{display:block;font-size:9px;line-height:1.45;margin-top:6px}
.pp-provline{margin-top:8px;font-size:9px}
@media(max-width:1180px){.pp-kpis.v99 .pp-mk{grid-column:span 6}.pp-kpis.v99 .pp-mk.stmk,.pp-kpis.v99 .pp-mk.fattr,.pp-kpis.v99 .pp-mk.hzm{grid-column:span 12}.pp-bottom.v99{grid-template-columns:1fr}}

/* v97 · condensed strip with attribution + hazard mix; book full width; co-realisation matrix */
.pp-kpis.v97{display:grid;grid-template-columns:repeat(4,minmax(118px,1fr)) minmax(236px,1.7fr) minmax(200px,1.7fr) minmax(210px,1.8fr);gap:8px;margin-bottom:14px}
@media(max-width:1640px){.pp-kpis.v97{grid-template-columns:repeat(4,minmax(118px,1fr)) minmax(236px,1.9fr)}.pp-kpis.v97 .pp-mk.fattr{grid-column:1/4}.pp-kpis.v97 .pp-mk.hzm{grid-column:4/6}}
.pp-kpis.v97 .pp-mk{width:auto;flex:none;min-width:0;padding:7px 10px}
.pp-kpis.v97 .pp-mk span{font-size:7.5px;margin-bottom:2px}
.pp-kpis.v97 .pp-mk .big{font-size:19px;line-height:1.1}
.pp-kpis.v97 .pp-mk em{font-size:8px;margin-top:2px;line-height:1.35}
.pp-kpis.v97 .pp-vud{height:52px;margin:12px 0 0}
.pp-kpis.v97 .pp-vud .up,.pp-kpis.v97 .pp-vud .dn{left:10px;width:11px}
.pp-kpis.v97 .pp-vud .up b,.pp-kpis.v97 .pp-vud .dn b{font-size:9px;left:16px}
.pp-kpis.v97 .pp-mk.stmk{width:auto}
.pp-kpis.v97 .pp-stances{gap:5px;margin:2px 0 3px}
.pp-kpis.v97 .pp-st{padding:3px 8px;min-width:64px}.pp-kpis.v97 .pp-st b{font-size:14px}.pp-kpis.v97 .pp-st span{font-size:7.5px}
.pp-kpis.v97 .pp-mk.fattr{min-width:0}
.pp-kpis.v97 .pp-mk.fattr .pp-fbar i{font-size:8.5px;font-family:var(--mono)}
.pp-kpis.v97 .pp-mk.fattr em .pp-hztick{width:7px;height:7px;margin-right:3px}
.pp-kpis.v97 .pp-mk.hzm{min-width:0}
.pp-kpis.v97 .pp-donut .pp-dwrap{gap:10px;margin-top:2px}
.pp-kpis.v97 .pp-donut svg{width:64px;height:64px}
.pp-kpis.v97 .pp-dleg{display:grid;grid-template-columns:1fr 1fr;column-gap:8px}
.pp-kpis.v97 .pp-dleg .dl{font-size:9px;margin:1px 0}
.pp-book{overflow-x:auto;padding-bottom:2px}
.pp-book .pp-mx-hd.v95,.pp-book .pp-mr.v95{min-width:1130px}
.pp-bottom.v97{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr)}
.pp-comat table{border-collapse:separate;border-spacing:2px;margin:4px 0 6px;font-size:9px;width:100%;table-layout:fixed}
.pp-comat tr th:first-child{width:52px}
.pp-comat th{font-size:8px;letter-spacing:.4px;color:var(--faint);font-weight:600;padding:2px 3px;text-align:center}
.pp-comat tr th:first-child{text-align:right}
.pp-comat td{height:30px;text-align:center;font-family:var(--mono);font-size:10px}
.pp-comat td.dg{background:var(--panel2)}
.pp-comat em{display:block;font-size:9px;line-height:1.45}
@media(max-width:1180px){.pp-kpis.v97{grid-template-columns:1fr 1fr}.pp-kpis.v97 .pp-mk.stmk,.pp-kpis.v97 .pp-mk.fattr,.pp-kpis.v97 .pp-mk.hzm{grid-column:1/-1}.pp-bottom.v97{grid-template-columns:1fr}}

/* v95 · component measures, vertical attribution beside the book, mix row at the bottom */
.pp-bookrow{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:18px;align-items:stretch}
.pp-book{min-width:0}
.pp-mx-hd.v95,.pp-mr.v95{grid-template-columns:26px 104px 118px repeat(5,minmax(44px,.7fr)) 84px 96px 110px 70px 124px 74px 22px;gap:6px}
.pp-mx-hd .m{text-align:left}.pp-mx-hd .m.r{text-align:right}
.pp-mr.v95{height:44px}
.pp-mr .fc b{position:absolute;top:2px;left:0;right:0;text-align:center;font-size:8px;color:var(--faint);font-weight:400;font-family:var(--mono)}
.pp-mr .fc i{bottom:4px}
.pp-mr .gp b{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:9px;font-family:var(--mono);font-weight:600}
.pp-mr .gp s{left:8%;right:34%}.pp-mr .gp i{left:22%;right:48%}
.pp-mr .m{align-self:center;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-mr .m em{font-style:normal;color:var(--faint);font-size:9px;margin-left:3px}
.pp-mr .m.r{text-align:right;font-family:var(--mono);font-size:10.5px}
.pp-mr .m.rng{position:relative;overflow:visible;padding-top:12px}
.pp-mr .m.rng s{position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line2)}
.pp-mr .m.rng u{position:absolute;top:5px;height:5px;text-decoration:none;opacity:.8}
.pp-mr .m.rng b{display:block;font-size:9px;font-family:var(--mono);font-weight:400;color:var(--muted);text-align:center}
.pp-attr{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--panel);padding:9px 12px;min-width:0}
.pp-attr .pp-ck{display:block;margin-bottom:8px}
.pp-vbar{flex:1;display:flex;flex-direction:column;gap:2px;min-height:200px;border:1px solid var(--line);background:var(--panel2)}
.pp-vbar i{font-style:normal;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;overflow:hidden;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.pp-vbar i b{font-size:9.5px;font-weight:600}.pp-vbar i em{font-style:normal;font-size:9px;font-family:var(--mono)}
.pp-vleg{margin-top:8px;font-size:9.5px;color:var(--muted);line-height:1.5}
.pp-vleg i{display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:baseline}
.pp-vleg b{float:right;font-family:var(--mono);font-weight:400;color:var(--txt)}
.pp-attr .pp-mk.fmk{margin-top:10px;padding:8px 10px}
.pp-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.pp-bottom .pp-mk{margin:0;min-width:0}
.pp-provcard em{display:block}

@media(max-width:1180px){.pp-bookrow{grid-template-columns:1fr}.pp-vbar{flex-direction:row;min-height:26px}.pp-bottom{grid-template-columns:1fr}}

.pp-mk .pp-fm-r span{display:block;text-transform:none;letter-spacing:0;font-size:10px;color:var(--txt);margin:0}
.pp-oppcard #ppOppMap svg{width:100%;height:auto;min-height:300px}
@media(max-width:1180px){.pp-kpis .pp-mk.stmk{flex-basis:100%}.pp-cols.v93{grid-template-columns:1fr}.pp-map2.v93{grid-template-columns:1fr}}

.pp-side .pp-mk{margin-bottom:10px;min-width:0;flex:none}
.pp-rail{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pp-rail .pp-mk{margin-bottom:0}
.pp-rail .w2{grid-column:1/-1}
.pp-map2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:1100px){.pp-map2{grid-template-columns:1fr}}
.pp-vud{position:relative;height:118px;margin:8px 0 4px}
.pp-vud .ax{position:absolute;left:4px;right:4px;top:50%;height:1px;background:var(--line2)}
.pp-vud .up{position:absolute;bottom:50%;left:20px;width:18px;background:#1F8F86}
.pp-vud .dn{position:absolute;top:50%;left:20px;width:18px;background:var(--neg)}
.pp-vud .up b{position:absolute;top:-15px;left:24px;font-size:10.5px;color:#1F8F86;white-space:nowrap;font-weight:600}
.pp-vud .dn b{position:absolute;bottom:-15px;left:24px;font-size:10.5px;color:var(--neg);white-space:nowrap;font-weight:600}
.pp-donut .pp-dwrap{display:flex;gap:14px;align-items:center;margin-top:6px}
.pp-donut svg{width:112px;height:112px;flex:0 0 auto}
.pp-donut path.on{stroke:var(--txt);stroke-width:2}
.pp-dleg{flex:1;min-width:0}
.pp-dleg .dl{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);padding:2px 0;cursor:pointer}
.pp-dleg .dl i{width:9px;height:9px;display:block;flex:0 0 auto}
.pp-dleg .dl b{margin-left:auto;font-family:var(--mono);font-size:10px}
.pp-dleg .dl.on{color:var(--txt);font-weight:600}
#ppPop .pp-co-tiles{margin:10px 0 4px}
#ppPop{width:min(520px,94vw)}
.th-hd.wide,.th-r.wide{grid-template-columns:22px minmax(0,1.4fr) 56px 62px 48px 34px 46px minmax(96px,1fr) 132px}
.th-r .th-ok{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;margin-top:4px}
.th-pos .pp-ck{display:block}
.th-leg{display:block;font-style:normal;font-size:9px;color:var(--muted);margin:3px 0 2px;line-height:1.45}
.th-brk{color:var(--neg);font-weight:600;text-transform:none;letter-spacing:0}
.th-okk{color:#1F8F86;font-weight:600;text-transform:none;letter-spacing:0}
.th-st span{display:block}
