
:root{color-scheme:dark;--bg-base:#08090a;--glass-bg:rgba(255,255,255,.04);--glass-border:rgba(255,255,255,.08);--fg-1:rgba(255,255,255,.96);--fg-2:rgba(255,255,255,.68);--fg-3:rgba(255,255,255,.48);--accent:#2ec4b6;--background:#08090a;--foreground:#f5f5f5}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(1000px 600px at 15% -10%,rgba(46,196,182,.12),transparent 60%),radial-gradient(800px 500px at 90% 0%,rgba(183,211,54,.06),transparent 60%),var(--bg-base);color:var(--fg-1);font-family:Inter,system-ui,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;font-size:.875rem;color:inherit}button{cursor:pointer;border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:6px;padding:9px 13px;transition:background .15s,border-color .15s}button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,tr:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select{height:37px;background:#141718;border:1px solid rgba(255,255,255,.13);border-radius:6px;padding:7px 10px;min-width:0;width:100%}input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin:0;flex-shrink:0}select option{background:#191b1e;color:#fafafa}h1,h2,p{margin:0}h1{font-size:1.8rem;font-weight:600;letter-spacing:-.035em}h2{font-size:1rem;font-weight:600}p{color:var(--fg-2);line-height:1.6}small{display:block;color:var(--fg-3);font-size:.75rem;line-height:1.5}.site-shell{max-width:1600px;margin:auto}.topbar{height:60px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 24px;background:rgba(8,9,10,.82);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:.94rem}.brand img{width:22px;height:30px;object-fit:contain}.divider{height:21px;width:1px;background:var(--glass-border);margin:0 5px}.scenario{font-size:.8rem;color:var(--fg-2)}.scenario span{color:var(--fg-3)}.nav-actions{display:flex;align-items:center;gap:10px}.accent{color:#061c19;background:var(--accent);border-color:var(--accent);font-weight:600}.accent:hover{background:#40d9cb}.connection-button{border:0;display:flex;align-items:center;gap:7px;background:none}.dot{width:6px;height:6px;background:#f5b14a;border-radius:50%}.dot.green{background:#3ecf8e}.badge{display:inline-flex;align-items:center;border-radius:20px;white-space:nowrap;font-size:.75rem;padding:5px 9px;line-height:1.25;background:color-mix(in srgb,currentColor 12%,transparent);color:var(--accent)}.teal{color:#2ec4b6}.pink{color:#ff4d8f}.blue{color:#4ea6ff}.green{color:#8fc74a}.purple{color:#c98ff5}.sage{color:#8fbf9e}.muted{color:#a3a5aa}.red,.red-text{color:#f06b6f}.amber{color:#f5b14a}.teal-text{color:var(--accent)}main{padding:26px 24px 22px;display:grid;gap:18px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:3px}.eyebrow{font-size:.69rem;letter-spacing:.16em;font-weight:600;color:var(--accent);margin-bottom:8px}.page-heading h1{margin-bottom:7px}.page-heading p:not(.eyebrow){font-size:.8rem;color:var(--fg-3)}.snapshot{text-align:right;color:var(--fg-2);font-size:.875rem}.meta-divider{margin:0 8px;color:#44484c}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden}.settings summary{display:flex;align-items:center;gap:16px;padding:14px 17px;cursor:pointer;font-size:.875rem;list-style:none}.settings summary span{color:var(--fg-3);font-size:.8rem}.settings summary .chevron{margin-left:auto}.settings-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px 14px;padding:3px 17px 17px}.settings-grid label{display:grid;gap:7px;color:var(--fg-2);font-size:.8rem}.check{display:flex!important;align-items:center;gap:7px;font-size:.8rem;color:var(--fg-2);white-space:nowrap}.setting-check{align-self:end;height:37px}.reset{align-self:end;height:37px}.settings-note{grid-column:span 2;align-self:end;font-size:.75rem;color:var(--fg-3)}.buckets{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.bucket{padding:14px;text-align:left;min-height:112px;position:relative}.bucket.active{border-color:rgba(46,196,182,.6);background:rgba(46,196,182,.09);box-shadow:inset 0 2px 0 var(--accent)}.bucket>span{display:block;font-size:.75rem;min-height:28px}.bucket strong{font-variant-numeric:tabular-nums;font-size:1.65rem;color:var(--fg-1);font-weight:600;display:block;margin:3px 0 6px;letter-spacing:-.03em}.bucket small{font-size:.7rem}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:17px;border-bottom:1px solid var(--glass-border)}.card-heading p{font-size:.75rem;color:var(--fg-3);margin-top:5px}.asset-picker{display:flex;gap:8px;max-width:580px;flex:1;justify-content:flex-end}.asset-picker input{max-width:160px}.asset-picker select{max-width:330px}.assessment-picker{display:flex;align-items:center;gap:14px;padding:12px 17px 0}.assessment-picker label{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--fg-3);flex:1;max-width:700px}.assessment-picker select{width:100%;font-size:.8rem}.chart-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 17px 9px}.segments{display:flex;align-items:center;border:1px solid var(--glass-border);border-radius:6px;overflow:hidden}.segments button{border:0;border-radius:0;font-size:.75rem;background:none;padding:8px 12px;white-space:nowrap}.segments button[aria-pressed=true]{background:rgba(46,196,182,.13);color:var(--accent)}.legend{display:flex;gap:15px;flex-wrap:wrap;margin-left:auto}.legend label{font-size:.75rem}.legend label>span{width:14px;height:2px}.chart-reset{font-size:.75rem;padding:7px 10px}.chart-note{display:flex;justify-content:space-between;gap:12px;font-size:.7rem;color:var(--fg-3);padding:0 18px 4px;flex-wrap:wrap}.chart-container{position:relative;padding:0 10px}.chart-container svg{width:100%;display:block;touch-action:none;cursor:crosshair}.chart-container text{font-family:ui-monospace,Consolas,monospace;font-size:12px;fill:#9b9da5}.chart-tooltip{position:absolute;right:40px;top:30px;pointer-events:none;background:#0b0e12ed;border:1px solid #4c5054;border-radius:8px;padding:10px 14px;display:grid;gap:6px;font-size:.75rem;box-shadow:0 8px 24px #0008}.chart-caption{display:flex;justify-content:space-between;gap:10px;padding:0 17px 15px;font-size:.72rem;color:var(--fg-3);flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px;gap:12px}.metrics>div{background:#ffffff03;border:1px solid var(--glass-border);border-radius:8px;padding:14px}.metrics span{font-size:.75rem;color:var(--fg-2);display:block}.metrics strong{font-size:1.3rem;font-weight:600;display:block;margin:12px 0 7px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.metrics i{font-style:normal;color:var(--fg-3);margin:0 3px}.metrics small{font-size:.7rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.8rem;text-align:left}th{font-size:.66rem;letter-spacing:.065em;text-transform:uppercase;font-weight:500;color:var(--fg-3);padding:12px;background:#ffffff02;white-space:nowrap}td{padding:12px;vertical-align:middle;border-top:1px solid var(--glass-border);color:var(--fg-2);line-height:1.5}td small{font-size:.7rem;margin-top:3px}tbody tr:hover{background:#ffffff04}tr.selected{background:rgba(46,196,182,.055)}tr.selected td:first-child{box-shadow:inset 2px 0 var(--accent)}tr[tabindex]{cursor:pointer}.asset-cell{font-weight:500;color:var(--fg-1);min-width:140px}.numeric{font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace;white-space:nowrap;font-size:.75rem}.feasibility{max-width:200px;min-width:135px;font-size:.73rem}.footnote{font-size:.73rem;color:var(--fg-3);padding:14px 17px;border-top:1px solid var(--glass-border)}.count{font-size:.75rem;font-weight:400;color:var(--fg-3);margin-left:7px}.table-search{max-width:330px;font-size:.8rem}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;color:var(--fg-3);font-size:.75rem;border-top:1px solid var(--glass-border)}.pagination div{display:flex;gap:8px}.pagination button{font-size:.75rem;padding:7px 12px}.gate-content{padding:16px}.gate-content>p{font-size:.8rem}.gate-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--glass-border);font-size:.8rem}.gate-row strong{font-weight:500}.gate-row small{margin-top:5px}.gate-content table{margin-top:0}.empty{padding:28px;text-align:center;color:var(--fg-3)}footer{display:flex;justify-content:space-between;color:var(--fg-3);font-size:.7rem;padding:6px 0}.connection-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.connection-panel p{font-size:.8rem;margin:8px 0}.connection-panel .wide{grid-column:1/-1}.error,.notice{padding:14px 17px;border:1px solid #e5484d50;border-radius:8px;background:#e5484d10;color:#ff9799;font-size:.875rem}.notice{border-color:#2ec4b640;background:#2ec4b608;color:#94ded7;display:flex;justify-content:space-between;align-items:center}.loading{text-align:center;padding:65px 20px}.loading p{font-size:.875rem;margin-top:10px}.spinner{display:inline-block;width:26px;height:26px;border:2px solid #2ec4b62a;border-top-color:#2ec4b6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1550px){main{padding:32px}.topbar{padding:0 32px}.bucket{padding:16px}.chart-container svg{max-height:370px}.metrics strong{font-size:1.55rem}}
@media(max-width:1150px){.scenario{display:none}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-note{grid-column:span 2}.buckets{grid-template-columns:repeat(4,minmax(0,1fr))}.bucket{min-height:100px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.legend{margin-left:0}.nav-actions button{font-size:.75rem}.settings summary>span:not(.chevron){display:none}}
@media(max-width:700px){main{padding:18px 12px;gap:14px}.topbar{padding:10px 12px;height:auto;flex-wrap:wrap;gap:10px}.brand{font-size:.85rem}.nav-actions{margin-left:auto}.nav-actions .accent{max-width:135px;padding:7px;font-size:.68rem}.nav-actions .connection-button{display:none}.page-heading{align-items:flex-start}.snapshot{display:none}h1{font-size:1.5rem}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 13px 14px}.buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.bucket:first-child{grid-column:1/-1;min-height:85px;display:grid;grid-template-columns:1fr auto}.bucket:first-child strong{grid-row:1/3;grid-column:2}.bucket{min-height:100px}.card-heading{padding:14px;gap:12px}.asset-picker{width:100%;max-width:none;flex-basis:100%;justify-content:stretch}.asset-picker input{max-width:35%}.asset-picker select{max-width:none}.assessment-picker{flex-wrap:wrap}.assessment-picker label{flex-basis:100%}.assessment-picker label>select{max-width:75%}.chart-toolbar{padding:12px;gap:8px}.legend{gap:9px}.chart-note span:last-child{display:none}.chart-container{overflow:auto}.chart-container svg{min-width:650px}.metrics{margin:12px;gap:8px}.metrics>div{padding:11px}.metrics strong{font-size:1.05rem}.metrics small{font-size:.68rem}.table-search{max-width:none}.gate-row{align-items:flex-start}.connection-panel{grid-template-columns:1fr}.connection-panel .wide{grid-column:auto}footer{gap:12px;flex-wrap:wrap}.badge{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Expanded chart details and asset-scoped planning views. */
.buckets{grid-template-columns:repeat(8,minmax(0,1fr))}.bucket{padding:12px}.review-summary{padding:13px 17px}.review-summary summary{cursor:pointer;font-size:.83rem;color:#e6c78d}.review-summary p{font-size:.83rem;margin:12px 0}.review-summary>div{display:flex;gap:22px;flex-wrap:wrap;font-size:.85rem;margin:12px 0}.review-summary small{font-size:.78rem}.chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;padding:10px 17px 16px;align-items:start}.chart-container{padding:0;min-width:0}.chart-container svg{max-height:none;min-height:360px;width:100%;cursor:crosshair}.chart-side{display:grid;gap:12px;min-width:0}.curve-readout,.task-readout{background:#0c1013;border:1px solid #394348;border-radius:8px;padding:16px;font-size:.875rem}.curve-readout{max-height:360px;overflow:auto}.task-readout{max-height:430px;overflow:auto}.readout-heading{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #ffffff12;margin-bottom:12px}.readout-heading>span{color:var(--fg-3);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.readout-heading strong{font-variant-numeric:tabular-nums;font-size:1rem}.readout-value{display:flex;justify-content:space-between;gap:15px;line-height:1.7;margin:7px 0}.readout-value b{font-variant-numeric:tabular-nums;white-space:nowrap}.readout-assessment{padding:5px 0 10px}.readout-assessment>strong{font-size:.8rem;line-height:1.5;display:block}.curve-readout>small{font-size:.76rem;margin-top:10px}.task-readout p{font-size:.85rem}.task-readout h3{font-size:.94rem;margin:8px 0;line-height:1.5;font-weight:550}.task-detail{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #ffffff12}.task-detail:last-child{margin-bottom:0;padding-bottom:0;border:0}.task-detail>span{font-size:.8rem}.task-readout dl{margin:8px 0}.task-readout dt{color:var(--fg-3);font-size:.73rem;margin-top:10px}.task-readout dd{margin:3px 0;font-size:.81rem;overflow-wrap:anywhere;white-space:pre-line;line-height:1.5}.tar-label{fill:#d4c882!important;font-size:12px!important}.tar-window{cursor:help}.tar-schedule{border-top:1px solid var(--glass-border);padding:14px 17px;font-size:.82rem}.tar-schedule summary{cursor:pointer;color:#d4c882}.tar-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:14px}.tar-list button{text-align:left;display:grid;gap:6px;padding:12px}.tar-list strong{font-size:.85rem}.tar-list span{font-size:.8rem;font-variant-numeric:tabular-nums}.tar-list small{font-size:.72rem}.assessment-legend{display:flex;gap:7px;flex-wrap:wrap;padding:4px 17px 12px}.assessment-legend button{font-size:.78rem;display:flex;align-items:center;gap:7px}.assessment-legend button[aria-pressed=false]{opacity:.45}.assessment-legend button>span{width:9px;height:9px;border-radius:50%;flex-shrink:0}.chart-note{font-size:.76rem}.chart-caption{font-size:.76rem}.rankings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.rankings-grid>div{min-width:0;padding:16px;border-right:1px solid var(--glass-border)}.rankings-grid>div:last-child{border:0}.rankings-grid h3{font-size:.95rem;margin:0 0 6px}.rankings-grid>div>p{font-size:.78rem;min-height:45px;margin-bottom:10px}.ranking-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:9px;width:100%;text-align:left;border:0;border-top:1px solid var(--glass-border);border-radius:0;background:none;padding:13px 0}.rank-number{color:var(--fg-3);font-size:.8rem}.ranking-row strong{font-size:.81rem;font-weight:500;display:block;line-height:1.5}.ranking-row b{font-size:.84rem;font-weight:550;text-align:right;white-space:nowrap}.ranking-row small{font-size:.72rem;margin-top:3px}.cost-export{white-space:nowrap}.metrics small{font-size:.75rem}.card-heading p{font-size:.8rem}.chart-container [role=button]:focus{outline:none;stroke:#fff;stroke-opacity:.45}
@media(max-width:1200px){.buckets{grid-template-columns:repeat(4,minmax(0,1fr))}.chart-layout{grid-template-columns:minmax(0,1fr) 265px}.chart-container svg{min-height:320px}.scenario{display:none}.topbar{gap:8px}.nav-actions{gap:6px}.nav-actions button{font-size:.75rem}.nav-actions .badge{display:none}}
@media(max-width:950px){.chart-layout{grid-template-columns:1fr}.chart-side{grid-template-columns:1fr 1fr}.chart-container svg{min-height:0}.rankings-grid{grid-template-columns:1fr}.rankings-grid>div{border:0;border-bottom:1px solid var(--glass-border)}.ranking-row{grid-template-columns:22px minmax(0,1fr) auto}.rankings-grid>div>p{min-height:0}.brand .divider{display:none}}
@media(max-width:700px){.chart-layout{padding:8px}.chart-side{grid-template-columns:1fr}.chart-container svg{min-width:650px}.chart-container{overflow:auto}.curve-readout,.task-readout{max-height:300px}.buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.bucket:first-child{grid-column:auto;display:block}.topbar{position:static}.nav-actions{width:100%;justify-content:space-between}.nav-actions .accent{max-width:none}.cost-export{font-size:.72rem!important}.assessment-legend{max-height:150px;overflow:auto}.tar-list{grid-template-columns:1fr}.chart-note{padding:0 12px}.chart-caption{padding:0 12px 12px}}
.chart-container svg{min-height:0;min-width:640px}.chart-container{overflow:auto}.chart-container text{font-size:13px}.tar-label{font-size:12px!important}.chart-container [role=button]:focus{stroke:#fff;stroke-width:2;fill:#ffffff15}
.task-date-select{display:grid;gap:6px;font-size:.75rem;color:var(--fg-3);margin-bottom:14px}.task-date-select select{font-size:.8rem}
@media(min-width:701px){.chart-container svg{min-width:560px}}

/* ---- Card strips: top movers and review holds share the bucket tile theming ---- */
.bucket,.kpi-card{color:var(--fg-2);box-shadow:inset 0 2px 0 color-mix(in srgb,var(--tone,#2ec4b6) 70%,transparent);text-align:left}
.bucket.teal,.kpi-card.teal{--tone:#2ec4b6}.bucket.pink,.kpi-card.pink{--tone:#ff4d8f}.bucket.blue,.kpi-card.blue{--tone:#4ea6ff}.bucket.green,.kpi-card.green{--tone:#8fc74a}.bucket.amber,.kpi-card.amber{--tone:#f5b14a}.bucket.purple,.kpi-card.purple{--tone:#c98ff5}.bucket.sage,.kpi-card.sage{--tone:#8fbf9e}.bucket.muted,.kpi-card.muted{--tone:#a3a5aa}.bucket.red,.kpi-card.red{--tone:#f06b6f}
.bucket>span,.kpi-label{color:var(--tone,#2ec4b6)}
.bucket.active,.kpi-card.active{border-color:color-mix(in srgb,var(--tone) 60%,transparent);background:color-mix(in srgb,var(--tone) 10%,transparent);box-shadow:inset 0 3px 0 var(--tone)}
.bucket small.amber,.kpi-card small.amber{color:#f5b14a}.bucket small.red-text,.kpi-card small.red-text{color:#f06b6f}
.card-strip>summary{display:flex;align-items:center;gap:16px;padding:14px 17px;cursor:pointer;font-size:.875rem;list-style:none}
.card-strip>summary::-webkit-details-marker{display:none}
.card-strip>summary span{color:var(--fg-3);font-size:.8rem}.card-strip>summary .chevron{margin-left:auto;transition:transform .15s}
.card-strip:not([open])>summary .chevron{transform:rotate(-90deg)}
.strip-group{padding:4px 17px 16px}.strip-group+.strip-group{border-top:1px solid var(--glass-border);padding-top:14px}
.strip-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.strip-head h3{font-size:.88rem;margin:0;font-weight:600}.strip-head p{font-size:.76rem;color:var(--fg-3)}
.card-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}@media(max-width:1400px){.card-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card-row.holds{padding:4px 17px 17px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.kpi-card{display:grid;align-content:start;gap:3px;padding:13px 14px;min-height:122px;border-radius:10px}
.kpi-label{display:flex;gap:7px;font-size:.75rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.kpi-label b{color:var(--fg-3);font-weight:500}
.kpi-card strong{font-variant-numeric:tabular-nums;font-size:1.45rem;color:var(--fg-1);font-weight:600;letter-spacing:-.03em;margin:2px 0 3px;display:flex;align-items:baseline;gap:6px}
.kpi-card strong small{font-size:.72rem;letter-spacing:0;font-weight:400}
.kpi-card small{font-size:.7rem;overflow-wrap:anywhere}
.empty.small{padding:10px;text-align:left}
/* chart toolbar sits under the plot */
.chart-toolbar.below{border-top:1px solid var(--glass-border);padding:12px 17px;margin-top:2px}
.reason-line{padding:10px 17px 0;font-size:.8rem;color:var(--fg-2);max-width:1100px}
.assessment-picker{flex-wrap:wrap}
/* assessments table */
.table-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex:1}
.table-filters select{width:auto;max-width:180px;font-size:.8rem}.table-filters .table-search{max-width:260px}
td.why{min-width:260px;max-width:420px;font-size:.75rem;line-height:1.5}td.why small{display:inline-block;margin:4px 6px 0 0;padding:1px 7px;border-radius:10px;background:color-mix(in srgb,currentColor 12%,transparent)}
.error{display:flex;justify-content:space-between;align-items:center;gap:12px}.error button,.notice button{border:0;background:none;font-size:1.1rem;padding:2px 8px}
/* visit plan and links */
.visit-plan{padding:4px 17px 16px}.panel-note{font-size:.76rem;color:var(--fg-3);margin:6px 0 10px;line-height:1.7}
.dot-key{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 10px;background:currentColor;vertical-align:middle}.dot-key.tri{border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.dot-key.dia{border-radius:0;transform:rotate(45deg)}.dot-key.bar{width:3px;border-radius:0}
.links-panel{padding:4px 17px 16px}
.links-table th{white-space:normal;vertical-align:bottom;min-width:92px}.links-table th .badge{white-space:normal;text-align:left;line-height:1.3}
.links-table td{padding:8px 10px}.links-table .mono{font-family:ui-monospace,Consolas,monospace;font-size:.72rem;color:var(--fg-1);min-width:220px;overflow-wrap:anywhere}
.links-table td.lk{text-align:center}.links-table td.lk.sample input{accent-color:#2ec4b6}.links-table td.lk.edited{box-shadow:inset 0 0 0 1px #f5b14a66}
.links-table tr.prop-row{background:#f5b14a07}.links-table tr.user-row{background:#8fc74a07}.links-table input[type=date]{height:30px;width:140px}
.links-add{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;font-size:.8rem;color:var(--fg-2)}.links-add select{width:auto;max-width:280px}.links-add input[type=date]{width:150px}
@media(max-width:1200px){.buckets{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:700px){.buckets{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card-row{grid-template-columns:repeat(2,minmax(0,1fr))}.table-filters{justify-content:stretch}.table-filters select,.table-filters .table-search{max-width:none;flex:1 1 45%}}
/* ---- full width, chart details under the plot, task lanes ---- */
.site-shell{max-width:none}
main{padding-left:clamp(12px,1.6vw,32px);padding-right:clamp(12px,1.6vw,32px)}
.chart-container{padding:4px 17px 0;overflow:visible}
.chart-container svg{min-width:0;max-height:none;width:100%}
.chart-container .lane-label{font-size:11px;fill:#8f949b;font-family:Inter,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.chart-container .cursor-label{font-size:11.5px;fill:#fff}
.task-mark{cursor:pointer}.task-mark:hover{stroke:#fff}
.chart-details{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);gap:12px;padding:10px 17px 16px;align-items:start}
.chart-details .curve-readout,.chart-details .task-readout{max-height:none}
.readout-value b small{display:inline;margin-left:8px;font-weight:400}
.readout-sub{display:block;color:var(--fg-3);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;margin:14px 0 4px;padding-top:12px;border-top:1px solid #ffffff12}
.readout-note{font-size:.78rem;color:var(--fg-3);margin-top:8px}
.breach-list .readout-value{align-items:flex-start}.breach-list b{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.date-chip{font-size:.72rem;padding:2px 7px;border-radius:10px;font-variant-numeric:tabular-nums}
.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 18px}
.task-grid .task-detail{border-bottom:0;margin:0;padding:0 0 8px}
@media(max-width:950px){.chart-details{grid-template-columns:1fr}}

.chart-container svg{height:480px;display:block}

.card-row{grid-template-columns:repeat(10,minmax(0,1fr))}@media(max-width:1700px){.card-row{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:900px){.card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- task details: same height as the cursor panel, content fills the width ---- */
.chart-details{align-items:stretch}
.chart-details .task-readout{position:relative;min-height:340px;display:block}
.task-readout .task-body{position:absolute;left:16px;right:8px;top:62px;bottom:14px;overflow:auto;padding-right:8px}
.task-body .task-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px 22px}
.task-body dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:6px 0}
.task-body dt{margin:0!important;padding-top:1px}.task-body dd{margin:0!important}
.task-body .task-detail{border:1px solid #ffffff10;border-radius:8px;padding:10px 12px!important;background:#ffffff03}
.task-body h3{margin:4px 0 6px!important}
/* ---- V1 options ---- */
.advanced-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;padding:4px 17px 17px}
.advanced-grid h3{font-size:.9rem;margin:6px 0 10px}.subhead{display:flex;justify-content:space-between;align-items:center}
.advanced-grid td select{height:32px;font-size:.78rem}
.defaults-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 12px;margin-bottom:16px}
.defaults-grid label{display:grid;gap:6px;font-size:.78rem;color:var(--fg-2)}
.def-map summary{cursor:pointer;font-size:.8rem;color:var(--fg-2)}.def-map .table-wrap{max-height:320px}
.check-passed{padding:0 17px 14px}
th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--fg-1)}
.row-toggle{border:0;background:none;padding:2px 6px;font-size:.85rem;color:var(--fg-3)}
.drawer-row>td{background:#0c1013;padding:14px 18px}
.drawer p{font-size:.8rem;margin:0 0 8px}.drawer .mono{font-family:ui-monospace,Consolas,monospace;font-size:.76rem}
.drawer-checks{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.drawer-checks .badge{white-space:normal;text-align:left}
.drawer-tables{display:grid;grid-template-columns:1fr;gap:14px}.drawer h4{font-size:.8rem;margin:8px 0 6px;color:var(--fg-2)}
.drawer table{font-size:.74rem}.drawer td,.drawer th{padding:6px 8px}.muted-row{opacity:.6}
.links-actions{display:flex;justify-content:flex-end;padding:0 17px}
.reset.accent{color:#061c19}
@media(max-width:1100px){.advanced-grid{grid-template-columns:1fr}}

.icon-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.icon-btn{font-size:.78rem;padding:6px 9px;min-width:34px}
.chart-container svg.overview{height:44px;margin-top:4px;cursor:grab}
.lvc-expanded{position:fixed;inset:0;z-index:50;background:#08090a;overflow:auto;padding:14px 10px}
.lvc-expanded .chart-container svg:not(.overview){height:calc(100vh - 420px);min-height:420px}

/* ---- three dedicated detail cards under the chart ---- */
.chart-details{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}
.detail-card{background:#0c1013;border:1px solid #394348;border-radius:10px;padding:16px;font-size:.875rem;min-width:0}
.measure-card{max-height:none}
.task-card{position:relative;min-height:340px}
.task-card .task-body{position:absolute;left:16px;right:8px;top:62px;bottom:14px;overflow:auto;padding-right:8px}
.task-item+.task-item{border-top:1px solid #ffffff14;margin-top:12px;padding-top:12px}
.task-item h3{font-size:.95rem;margin:4px 0 8px;font-weight:550}
.task-item .task-status{font-size:.78rem}
.task-item dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:0}
.task-item dt{color:var(--fg-3);font-size:.74rem}.task-item dd{margin:0;font-size:.8rem;white-space:pre-line;overflow-wrap:anywhere}
.task-item .evidence{font-size:.76rem;color:var(--fg-3);margin-top:8px}
.task-card .blank{color:var(--fg-3);font-size:.82rem}
.chart-container .limit-above{fill:#f5b14a!important;font-size:12px}
@media(max-width:1200px){.chart-details{grid-template-columns:1fr 1fr}.measure-card{grid-column:1/-1}}
@media(max-width:760px){.chart-details{grid-template-columns:1fr}}

/* ---- top contributors ---- */
.contrib-filters{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:end;padding:2px 17px 12px}
.contrib-filters label{display:grid;gap:5px;font-size:.74rem;color:var(--fg-3)}
.contrib-filters label.check{display:flex!important;align-self:center}
.contrib-filters select,.contrib-filters input:not([type=checkbox]){width:auto;min-width:150px;height:34px;font-size:.8rem}
.crumbs{display:flex;align-items:center;gap:6px;padding:0 17px 10px;flex-wrap:wrap;font-size:.8rem;color:var(--fg-3)}
.crumbs button{font-size:.78rem;padding:5px 10px}.crumbs button[aria-pressed=true]{border-color:#2ec4b680;color:var(--accent)}
.share-bar{display:block;height:4px;border-radius:2px;background:#ffffff10;margin-top:6px;overflow:hidden}.share-bar i{display:block;height:100%;background:var(--tone,#2ec4b6);opacity:.8}

/* ---- Model scenario control ---- */
.scenario-control{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.1fr) minmax(280px,1.4fr);gap:18px;padding:16px 20px;margin-bottom:16px;align-items:start}
.scenario-control .scenario-now{display:flex;flex-direction:column;gap:4px}
.scenario-control .scenario-now strong{font-size:1.15rem}.scenario-control .scenario-now strong small{font-weight:400;color:var(--fg-3)}
.scenario-control small{color:var(--fg-3);font-size:.78rem}
.scenario-control .scenario-pick{display:flex;flex-direction:column;gap:6px}
.scenario-control .scenario-pick label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--fg-3)}
.scenario-control .scenario-pick input{font-variant-numeric:tabular-nums}
.scenario-control .scenario-actions{display:flex;gap:8px;flex-wrap:wrap}
.scenario-control .scenario-status ol{margin:6px 0;padding-left:18px;font-size:.8rem;display:grid;gap:2px}
.scenario-control .snapshot-list{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px;font-size:.8rem}
.scenario-control .snapshot-list small{display:block}
.scenario-control code{font-size:.75rem}
@media(max-width:1100px){.scenario-control{grid-template-columns:1fr}}

/* ---- Task pool heatmap ---- */
.pool-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:4px 17px 10px}
.pool-note{color:var(--fg-3);font-size:.78rem}
.pool-wrap{padding:0 17px 16px;position:relative}
.pool-grid{display:grid;gap:2px;overflow-x:auto;font-size:.78rem}
.pool-corner,.pool-col{color:var(--fg-3);font-size:.7rem;padding:6px 4px;display:flex;align-items:flex-end;line-height:1.2}
.pool-col{justify-content:center;text-align:center}
.pool-col.total,.pool-row.total strong{color:var(--fg-2)}
.pool-row{display:flex;flex-direction:column;justify-content:center;padding:6px 8px 6px 0}
.pool-row small{color:var(--fg-3);font-size:.7rem}
.pool-cell{min-height:52px;border:1px solid transparent;border-radius:4px;background:rgba(255,255,255,.025);color:var(--fg-1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px;cursor:pointer;font:inherit}
.pool-cell b{font-variant-numeric:tabular-nums;font-weight:600}
.pool-cell small{font-size:.64rem;opacity:.85}
.pool-cell.empty{cursor:default;background:transparent;border:1px dashed rgba(255,255,255,.05)}
.pool-cell.preferred{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.pool-cell.blocked{background:repeating-linear-gradient(135deg,rgba(245,177,74,.22) 0 6px,rgba(245,177,74,.06) 6px 12px);color:var(--fg-1)}
.pool-cell.active{outline:2px solid #fff;outline-offset:1px}
.pool-cell:not(.empty):hover{border-color:rgba(255,255,255,.6)}
.pool-total{display:flex;align-items:center;justify-content:center;color:var(--fg-2);font-variant-numeric:tabular-nums}
.pool-legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;color:var(--fg-3);font-size:.72rem}
.pool-legend i{display:inline-block;width:18px;height:12px;border-radius:2px}
.pool-legend .sep{width:12px}
.pool-legend .legend-preferred{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);background:rgba(255,255,255,.03)}
.pool-legend .legend-blocked{background:repeating-linear-gradient(135deg,rgba(245,177,74,.45) 0 3px,rgba(245,177,74,.1) 3px 6px)}
.pool-tooltip{position:fixed;z-index:50;pointer-events:none;background:#16171a;border:1px solid var(--glass-border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;font-size:.76rem;color:var(--fg-2);max-width:290px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.pool-tooltip strong{color:var(--fg-1)}.pool-tooltip em{color:var(--fg-1);font-style:normal}.pool-tooltip small{color:var(--fg-3)}
.pool-detail{margin-top:14px;border-top:1px solid var(--glass-border);padding-top:12px}
.pool-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0}
.pool-facts div{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.03);border-radius:6px;padding:8px 10px}
.pool-facts span,.pool-facts small{color:var(--fg-3);font-size:.72rem}.pool-facts strong{font-size:1.05rem;font-variant-numeric:tabular-nums}
.pool-defs{display:grid;gap:4px;max-height:260px;overflow:auto}
.pool-defs div{display:grid;grid-template-columns:minmax(200px,2fr) 3fr 60px;gap:8px;align-items:center;font-size:.76rem}
.pool-defs i{height:8px;border-radius:0 4px 4px 0;background:var(--accent)}
.pool-defs b{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}
@media(max-width:900px){.pool-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- Advanced task defaults ---- */
.adv{padding:4px 17px 18px}
.adv-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.adv-tabs button{display:inline-flex;align-items:center;gap:6px}
.adv-count{background:var(--accent);color:#06110f;border-radius:9px;font-size:.66rem;padding:0 6px;font-weight:600}
.adv-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.adv-filter input[type=search]{min-width:240px}
.adv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.adv-card{border:1px solid var(--glass-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.02)}
.adv-card.changed,.adv-row.changed,.adv-rule.changed{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:inset 3px 0 0 var(--accent)}
.adv-card-head{display:flex;align-items:baseline;gap:8px}.adv-card-head span{color:var(--fg-3);font-size:.72rem;margin-right:auto}
.adv-field{display:flex;flex-direction:column;gap:4px}.adv-field>span{color:var(--fg-3);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}
.segments.small button{font-size:.74rem;padding:5px 9px;flex:1}
.adv-explain{margin:0;color:var(--fg-2);font-size:.76rem;line-height:1.35}
.adv-chips{display:flex;flex-wrap:wrap;gap:4px}
.adv-chips span{font-size:.7rem;padding:2px 7px;border-radius:10px;background:rgba(255,255,255,.06);color:var(--fg-2);font-variant-numeric:tabular-nums}
.adv-chips.warn span{background:rgba(245,177,74,.12);color:#f5b14a}
button.link{background:none;border:0;padding:0;color:var(--accent);font-size:.74rem;cursor:pointer}
.adv-rows,.adv-rules{display:grid;gap:8px}
.adv-row,.adv-rule{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(260px,1fr) 60px;gap:14px;align-items:center;border:1px solid var(--glass-border);border-radius:8px;padding:10px 12px;background:rgba(255,255,255,.02)}
.adv-rule{grid-template-columns:minmax(260px,1.4fr) minmax(260px,1fr)}
.adv-row small,.adv-rule small{display:block;color:var(--fg-3);font-size:.74rem;margin-top:2px;line-height:1.35}
.adv-row label{display:flex;flex-direction:column;gap:4px;font-size:.7rem;color:var(--fg-3)}
.adv-row .adv-chips{margin-top:4px}
.adv-number{display:flex;align-items:center;gap:8px}.adv-number input{width:110px}.adv-number span{color:var(--fg-2);font-size:.76rem}.adv-number small{margin:0}
.adv-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;max-height:460px;overflow:auto}
.adv-map-group{border:1px solid var(--glass-border);border-radius:8px;padding:10px 12px}
.adv-map-group strong small{color:var(--fg-3);font-weight:400}
.adv-map-group ul{margin:6px 0 0;padding-left:16px;font-size:.74rem;color:var(--fg-2);display:grid;gap:2px}
@media(max-width:900px){.adv-row,.adv-rule{grid-template-columns:1fr}}

.pool-row .pool-rule{color:var(--fg-3);font-size:.66rem;line-height:1.25;margin-top:2px}
.pool-cell.editing{cursor:pointer}
.pool-cell.editing.empty{border-style:dashed;border-color:rgba(255,255,255,.14)}
.pool-cell.editing.empty.blocked{border:1px solid transparent}
.pool-edit-note{margin:0 17px 10px}

.scenario-control .draft-list summary{cursor:pointer;color:var(--fg-2);font-size:.8rem}
.scenario-control .draft-list ul{list-style:none;margin:6px 0 0;padding:0;max-height:220px;overflow:auto;display:grid;gap:4px;font-size:.76rem}
.scenario-control .draft-list li small{display:block}

/* ---- Search ---- */
mark{background:color-mix(in srgb,var(--accent) 35%,transparent);color:inherit;border-radius:2px;padding:0 1px}
.search-open{display:inline-flex;align-items:center;gap:8px;color:var(--fg-2);min-width:180px;justify-content:flex-start}
.search-open kbd{margin-left:auto}
kbd{font:500 .68rem/1 Inter,system-ui,sans-serif;border:1px solid var(--glass-border);border-bottom-width:2px;border-radius:4px;padding:2px 5px;color:var(--fg-2);background:rgba(255,255,255,.04)}
.search-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px}
.search-palette{width:min(760px,100%);max-height:76vh;display:flex;flex-direction:column;background:#131416;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.search-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--glass-border)}
.search-input span{color:var(--fg-3);font-size:1.1rem}
.search-input input{flex:1;background:transparent;border:0;outline:0;font-size:1rem;color:var(--fg-1);padding:4px 0}
.search-results{overflow:auto;padding:6px}
.search-group{display:block;color:var(--fg-3);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:10px 8px 4px}
.search-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:6px;padding:8px;color:var(--fg-1);cursor:pointer}
.search-item[data-active=true]{background:rgba(255,255,255,.07)}
.search-kind{width:18px;text-align:center;color:var(--accent)}
.search-text{display:flex;flex-direction:column;min-width:0;flex:1}
.search-text strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-text small{color:var(--fg-3);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-badge{font-size:.68rem;color:var(--fg-2);border:1px solid var(--glass-border);border-radius:10px;padding:2px 8px;white-space:nowrap}
.search-item.table strong{color:var(--accent)}
.search-empty{padding:6px 8px 12px}
.search-chip{background:rgba(255,255,255,.05);border:1px solid var(--glass-border);border-radius:12px;padding:3px 10px;margin:2px 4px 2px 0;color:var(--fg-2);font-size:.76rem;cursor:pointer}
.search-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px;margin-bottom:8px}
.search-fields button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:transparent;border:1px solid transparent;border-radius:6px;padding:5px 8px;text-align:left;cursor:pointer;color:var(--fg-1)}
.search-fields button:hover{border-color:var(--glass-border);background:rgba(255,255,255,.03)}
.search-fields small{color:var(--fg-3);font-size:.7rem}
.search-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--glass-border);color:var(--fg-3);font-size:.72rem}
.search-foot kbd{margin:0 2px}
.table-search-wrap{position:relative;display:inline-flex;align-items:center;gap:4px}
.table-search-wrap .table-search{min-width:300px}
.search-help-btn{width:24px;height:24px;border-radius:12px;padding:0;font-size:.75rem}
.search-help{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:min(520px,80vw);background:#16171a;border:1px solid var(--glass-border);border-radius:8px;padding:10px 12px;font-size:.76rem;color:var(--fg-2);line-height:1.8;box-shadow:0 8px 24px rgba(0,0,0,.45)}

/* ---- Light mode. The dark theme above is the default; this block redefines the palette and the places where a dark
   colour was written directly, so both themes stay legible. Switched by data-theme on <html>, from the top bar. ---- */
:root[data-theme=light]{color-scheme:light;--bg-base:#f4f6f8;--glass-bg:#ffffff;--glass-border:rgba(15,23,32,.13);--fg-1:rgba(15,23,32,.96);--fg-2:rgba(15,23,32,.72);--fg-3:rgba(15,23,32,.52);--accent:#0d8a80;--background:#f4f6f8;--foreground:#0f1720}
[data-theme=light] body{background:radial-gradient(1000px 600px at 15% -10%,rgba(13,138,128,.10),transparent 60%),radial-gradient(800px 500px at 90% 0%,rgba(143,199,74,.08),transparent 60%),var(--bg-base)}
[data-theme=light] .topbar{background:rgba(255,255,255,.88)}
[data-theme=light] .glass{box-shadow:0 1px 2px rgba(15,23,32,.06)}
[data-theme=light] button:hover{background:rgba(15,23,32,.06);border-color:rgba(15,23,32,.22)}
[data-theme=light] input,[data-theme=light] select{background:#fff;border-color:rgba(15,23,32,.18);color:var(--fg-1)}
[data-theme=light] select option{background:#fff;color:#0f1720}
[data-theme=light] .accent{color:#f6fffe}
[data-theme=light] .accent:hover{background:#0aa093}
[data-theme=light] th{background:rgba(15,23,32,.035);color:var(--fg-3)}
[data-theme=light] tbody tr:hover{background:rgba(15,23,32,.04)}
[data-theme=light] tr.selected{background:rgba(13,138,128,.08)}
[data-theme=light] .metrics>div{background:rgba(15,23,32,.02)}
[data-theme=light] .chart-container text{fill:#5b636e}
[data-theme=light] .chart-tooltip{background:#fffffff2;border-color:#cbd2d9;box-shadow:0 8px 24px rgba(15,23,32,.16)}
[data-theme=light] .curve-readout,[data-theme=light] .task-readout{background:#fff;border-color:#dde2e8}
[data-theme=light] .readout-heading,[data-theme=light] .task-detail{border-color:rgba(15,23,32,.1)}
[data-theme=light] .meta-divider{color:#b3b9c0}
[data-theme=light] .review-summary summary,[data-theme=light] .tar-schedule summary{color:#8a6410}
[data-theme=light] .tar-label{fill:#8a6410!important}
[data-theme=light] .chart-container [role=button]:focus{stroke:#0f1720;fill:rgba(15,23,32,.08)}
[data-theme=light] .notice{color:#0b6c63;background:rgba(13,138,128,.07);border-color:rgba(13,138,128,.35)}
[data-theme=light] .error{color:#a3231f;background:rgba(197,48,48,.06);border-color:rgba(197,48,48,.35)}
[data-theme=light] .spinner{border-color:rgba(13,138,128,.2);border-top-color:#0d8a80}
/* status colours: the dark theme's are too light on white */
[data-theme=light] .teal,[data-theme=light] .teal-text{color:#0d8a80}
[data-theme=light] .pink{color:#c2185b}
[data-theme=light] .blue{color:#1266c7}
[data-theme=light] .green{color:#4c7a16}
[data-theme=light] .purple{color:#7b3fb5}
[data-theme=light] .sage{color:#4b7a5c}
[data-theme=light] .muted{color:#63696f}
[data-theme=light] .red,[data-theme=light] .red-text{color:#c0392b}
[data-theme=light] .amber{color:#9a6700}
[data-theme=light] .dot{background:#c98a10}
[data-theme=light] .dot.green{background:#2e9e6b}
[data-theme=light] .bucket.teal,[data-theme=light] .kpi-card.teal{--tone:#0d8a80}
[data-theme=light] .bucket.pink,[data-theme=light] .kpi-card.pink{--tone:#c2185b}
[data-theme=light] .bucket.blue,[data-theme=light] .kpi-card.blue{--tone:#1266c7}
[data-theme=light] .bucket.green,[data-theme=light] .kpi-card.green{--tone:#4c7a16}
[data-theme=light] .bucket.amber,[data-theme=light] .kpi-card.amber{--tone:#9a6700}
[data-theme=light] .bucket.purple,[data-theme=light] .kpi-card.purple{--tone:#7b3fb5}
[data-theme=light] .bucket.sage,[data-theme=light] .kpi-card.sage{--tone:#4b7a5c}
[data-theme=light] .bucket.muted,[data-theme=light] .kpi-card.muted{--tone:#63696f}
[data-theme=light] .bucket.red,[data-theme=light] .kpi-card.red{--tone:#c0392b}
[data-theme=light] .bucket small.amber,[data-theme=light] .kpi-card small.amber{color:#9a6700}
[data-theme=light] .bucket small.red-text,[data-theme=light] .kpi-card small.red-text{color:#c0392b}
[data-theme=light] .segments button[aria-pressed=true]{background:rgba(13,138,128,.12);color:#0d8a80}
.theme-toggle{display:flex;align-items:center;gap:6px;font-size:.78rem;padding:8px 11px}

/* ---- Chart chrome as variables. The plot background, grid, cursor and marker halos are drawn as SVG
   attributes inside lvc-chart.tsx, so a CSS rule cannot reach them: they read these instead. ---- */
:root{--chart-plot:#141517;--chart-lane:#ffffff05;--chart-grid:#2e2e33;--chart-today:#d2d2d6;--chart-fit:#ffffff;--chart-halo:#0b0d0f;--chart-cursor:#ffffff;--chart-chip:#0b0d0fe0;--chart-chip-border:#ffffff30;--chart-chip-fg:#ffffff;--chart-axis:#9b9da5;--chart-lane-label:#8f949b;--panel-solid:#0c1013;--panel-solid-border:#394348;--overlay-solid:#16171a;--hairline:#ffffff12;--inset:#ffffff03}
:root[data-theme=light]{--chart-plot:#fbfcfd;--chart-lane:rgba(15,23,32,.04);--chart-grid:#e1e6ea;--chart-today:#5b636e;--chart-fit:#39414b;--chart-halo:#ffffff;--chart-cursor:#0f1720;--chart-chip:#ffffffee;--chart-chip-border:rgba(15,23,32,.22);--chart-chip-fg:#0f1720;--chart-axis:#5b636e;--chart-lane-label:#6c757f;--panel-solid:#ffffff;--panel-solid-border:#dde2e8;--overlay-solid:#ffffff;--hairline:rgba(15,23,32,.1);--inset:rgba(15,23,32,.02)}
.chart-container text{fill:var(--chart-axis)}
.chart-container .lane-label{fill:var(--chart-lane-label)}
.chart-container .cursor-label{fill:var(--chart-chip-fg)}
.task-mark:hover{stroke:var(--chart-cursor)}
.chart-container [role=button]:focus{stroke:var(--chart-cursor)}

/* ---- Light mode, second pass: panels and overlays that were written as dark hex values ---- */
.detail-card{background:var(--panel-solid);border-color:var(--panel-solid-border)}
.curve-readout,.task-readout{background:var(--panel-solid);border-color:var(--panel-solid-border)}
.drawer-row>td{background:var(--panel-solid)}
.readout-heading,.task-detail,.readout-sub{border-color:var(--hairline)}
.task-item+.task-item{border-top-color:var(--hairline)}
.task-body .task-detail{border-color:var(--hairline);background:var(--inset)}
.pool-tooltip,.search-help{background:var(--overlay-solid)}
.search-palette{background:var(--overlay-solid)}
[data-theme=light] .lvc-expanded{background:var(--bg-base)}
[data-theme=light] .metrics>div,[data-theme=light] .adv-card,[data-theme=light] .adv-row,[data-theme=light] .adv-rule,[data-theme=light] .pool-facts div{background:var(--inset)}
[data-theme=light] .pool-cell{background:rgba(15,23,32,.035)}
[data-theme=light] .pool-cell.empty{background:transparent;border-color:rgba(15,23,32,.07)}
[data-theme=light] .pool-cell.preferred{box-shadow:inset 0 0 0 1.5px rgba(15,23,32,.45)}
[data-theme=light] .pool-cell.active{outline-color:#0f1720}
[data-theme=light] .pool-cell:not(.empty):hover{border-color:rgba(15,23,32,.45)}
[data-theme=light] .pool-legend .legend-preferred{box-shadow:inset 0 0 0 1.5px rgba(15,23,32,.45);background:rgba(15,23,32,.03)}
[data-theme=light] .share-bar{background:rgba(15,23,32,.09)}
[data-theme=light] .adv-chips span{background:rgba(15,23,32,.06)}
[data-theme=light] kbd,[data-theme=light] .search-chip,[data-theme=light] .search-fields button:hover{background:rgba(15,23,32,.04)}
[data-theme=light] .search-item[data-active=true]{background:rgba(15,23,32,.06)}
[data-theme=light] .search-backdrop{background:rgba(15,23,32,.35)}
[data-theme=light] .search-palette,[data-theme=light] .pool-tooltip,[data-theme=light] .search-help{box-shadow:0 14px 40px rgba(15,23,32,.18)}
[data-theme=light] th{background:rgba(15,23,32,.035)}
[data-theme=light] .links-table td.lk.edited{box-shadow:inset 0 0 0 1px #c9891066}

/* ---- Top-bar menus: checks / Model data, and settings ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.header-scenario{display:flex;align-items:center;min-width:0}
.header-scenario select{height:32px;font-size:.8rem;max-width:280px;width:auto;background:transparent;border-color:transparent;color:var(--fg-2)}
.header-scenario select:hover{border-color:var(--glass-border)}
.header-menu{position:relative;display:flex}
.header-menu-button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.header-menu-button .chevron{font-size:.7rem;color:var(--fg-3);transition:transform .15s}
.header-menu-button.open{border-color:var(--accent);color:var(--fg-1)}
.header-menu-button.open .chevron{transform:rotate(180deg)}
.menu-badge{border-radius:9px;font-size:.66rem;font-weight:600;padding:1px 6px;background:color-mix(in srgb,currentColor 16%,transparent)}
.menu-badge.red{color:#f06b6f}
[data-theme=light] .menu-badge.red{color:#c0392b}
.header-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(420px,92vw);max-height:min(74vh,720px);overflow:auto;background:var(--overlay-solid);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 18px 44px rgba(0,0,0,.45)}
.header-panel.wide{width:min(940px,94vw)}
[data-theme=light] .header-panel{box-shadow:0 18px 44px rgba(15,23,32,.18)}
.panel-head{display:flex;flex-direction:column;gap:3px;padding:13px 16px;border-bottom:1px solid var(--glass-border)}
.panel-head strong{font-size:.9rem}.panel-head span{font-size:.76rem;color:var(--fg-3);line-height:1.5}
.panel-foot{padding:10px 16px;border-top:1px solid var(--glass-border)}
.menu-groups{padding:6px 8px 10px}
.menu-group+.menu-group{margin-top:6px;padding-top:6px;border-top:1px solid var(--glass-border)}
.menu-group-head{padding:9px 8px 5px}
.menu-group-head strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-2)}
.menu-group-head small{font-size:.71rem;margin-top:2px}
.menu-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:0;border-radius:6px;background:none;padding:7px 8px;font-size:.8rem;color:var(--fg-1)}
.menu-row:hover{background:color-mix(in srgb,var(--fg-1) 7%,transparent);border-color:transparent}
.menu-row.on{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.menu-row-label{flex:1;min-width:0;line-height:1.35}
.menu-row b{font-variant-numeric:tabular-nums;font-weight:600;font-size:.82rem}
.menu-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:currentColor}
.menu-dot.red{color:#f06b6f}.menu-dot.amber{color:#f5b14a}.menu-dot.blue{color:#4ea6ff}.menu-dot.teal{color:#2ec4b6}.menu-dot.pink{color:#ff4d8f}.menu-dot.purple{color:#c98ff5}.menu-dot.green{color:#8fc74a}.menu-dot.sage{color:#8fbf9e}.menu-dot.muted{color:#a3a5aa}
[data-theme=light] .menu-dot.red{color:#c0392b}[data-theme=light] .menu-dot.amber{color:#9a6700}[data-theme=light] .menu-dot.blue{color:#1266c7}[data-theme=light] .menu-dot.teal{color:#0d8a80}[data-theme=light] .menu-dot.pink{color:#c2185b}[data-theme=light] .menu-dot.purple{color:#7b3fb5}[data-theme=light] .menu-dot.green{color:#4c7a16}[data-theme=light] .menu-dot.sage{color:#4b7a5c}[data-theme=light] .menu-dot.muted{color:#63696f}
/* the settings panel hosts the planning grid and the scenario controls */
.header-panel .settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:14px 16px}
.header-panel .scenario-control{grid-template-columns:1fr;border:0;border-radius:0;margin:0;background:none;padding:14px 16px}
@media(max-width:1200px){.header-panel.wide{width:min(700px,94vw)}.header-panel .settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.header-panel,.header-panel.wide{width:min(94vw,520px);right:auto;left:0}.header-panel .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-scenario{display:none}}
/* ---- Task pool heatmap: theme-aware ramp ----
   The cells mix the accent into --heat-base, the surface of the current theme, so the scale reads
   dark -> bright on black and pale -> deep on white. A cell past the midpoint carries data-strong
   and takes the contrasting text colour for that theme. ---- */
:root{--heat-base:#111214;--heat-fg-strong:#06110f;--heat-scale:1}
:root[data-theme=light]{--heat-base:#ffffff;--heat-fg-strong:var(--fg-1);--heat-scale:.62}
.pool-cell.shaded,.pool-legend i.shaded{background:color-mix(in oklab,var(--accent) calc(var(--heat-pct) * var(--heat-scale) * 1%),var(--heat-base))}
.pool-cell[data-strong="1"]{color:var(--heat-fg-strong)}
[data-theme=light] .pool-legend i{border:1px solid rgba(15,23,32,.12)}

/* ---- Task links, task pool and advanced defaults now sit inside the LVC card ---- */
.lvc-panels{border-top:1px solid var(--glass-border);margin-top:4px}
.lvc-panels>.card-strip{background:none;border:0;border-radius:0}
.lvc-panels>.card-strip+.card-strip{border-top:1px solid var(--glass-border)}
.lvc-panels>.card-strip>summary{padding:12px 17px}
.lvc-panels>.card-strip[open]>summary{border-bottom:1px solid var(--glass-border)}

/* a plain wheel scrolls the page; the chart only claims horizontal drag on touch */
.chart-container svg{touch-action:pan-y}

/* ---- Risk at each TAR: collapsible column group on the assessments table ---- */
.tar-col{background:color-mix(in srgb,var(--accent) 5%,transparent)}
th.tar-col{white-space:nowrap;vertical-align:bottom}
th.tar-col small{font-size:.63rem;margin-top:3px;text-transform:none;letter-spacing:0}
.tar-first{border-left:1px solid var(--glass-border)}
.col-toggle{border:0;background:none;padding:0 6px 0 0;font-size:.72rem;color:var(--fg-3);vertical-align:baseline}
.col-toggle:hover{background:none;color:var(--accent)}
th.tar-col .count{margin-left:4px}
/* the gate tabs move into the body now that the section is a collapsible panel */
.gate-tabs{display:inline-flex;margin-bottom:14px}

/* ---- Final Optimized: optimized-plan banner ---- */
.optimized-banner{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:12px 16px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-left:3px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,var(--glass-bg));font-size:.85rem}
.optimized-banner strong{color:var(--accent)}.optimized-banner span{color:var(--fg-2)}

body{font-family:Arial,sans-serif;background:var(--bg-base)}[data-theme=dark]{--bg-base:#000} .site-shell{max-width:none}.demo-disclosure{padding:10px 14px;border:1px solid var(--glass-border);font-size:12px;color:var(--fg-2)} .topbar{position:static;flex-wrap:wrap;height:auto;padding-block:12px}.nav-actions{flex-wrap:wrap}.buckets{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}/* Portfolio theme: neutral controls, color reserved for chart series and status. */
:root{--accent:#a6b5bf} :root[data-theme=light]{--accent:#425a6b}
.accent{background:#dce2e7;border-color:#dce2e7;color:#111820}.accent:hover{background:#f1f4f6}
[data-theme=light] .accent{background:#263a48;border-color:#263a48;color:#fff}[data-theme=light] .accent:hover{background:#344c5e}
.eyebrow{color:var(--fg-2)}
