:root{--font-ui:Calibri, "Segoe UI", system-ui, Roboto, sans-serif;--font-head:Oswald, "Arial Narrow", "Segoe UI", sans-serif;--font-num:ui-monospace, "Cascadia Mono", Consolas, monospace;--fs:12px;--fs-sm:11px;--fs-xs:10px;--row-h:21px;--bg:#fff;--bg-panel:#f7f7f8;--bg-head:#ececee;--bg-sub:#f3f3f4;--bg-hover:#f2f2f3;--bg-sel:#f8e8ea;--line:#d4d4d8;--line-soft:#e6e6ea;--line-strong:#a1a1aa;--ink:#201d1e;--ink-dim:#474946;--ink-faint:#9a9895;--neg:#8b1e3f;--accent:#c41e2d;--accent-soft:#f8e8ea;--warn:#8a5a00;--warn-bg:#fdf4df;--col-month:74px;--col-year:86px;--col-label:210px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior-x:none}.pane-body,.table-scroll,.table-wrap,.chart-panel{overscroll-behavior:contain}body{font:var(--fs) / 1.35 var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.app{flex-direction:column;height:100%;min-height:0;display:flex}.panes{--split:500px;flex:auto;grid-template-areas:"strip-left inputs divider financials strip-right";min-height:0;display:grid}.panes.focus-both{grid-template-columns:0 max(320px, min(var(--split), calc(100% - 326px))) 6px minmax(0, 1fr) 0}.panes.focus-left{grid-template-columns:0 minmax(0,1fr) 0 0 32px}.panes.focus-right{grid-template-columns:32px 0 0 minmax(0,1fr) 0}.panes.focus-none{grid-template-columns:32px 0 0 0 32px;justify-content:start}.pane-strip-cell.left{grid-area:strip-left}.left-pane{grid-area:inputs}.divider-cell{grid-area:divider}.right-pane{grid-area:financials}.pane-strip-cell.right{grid-area:strip-right}.pane-strip-cell{min-width:0;display:flex;overflow:hidden}.panes.focus-left>.divider-cell,.panes.focus-left>.right-pane,.panes.focus-right>.left-pane,.panes.focus-right>.divider-cell,.panes.focus-none>.left-pane,.panes.focus-none>.divider-cell,.panes.focus-none>.right-pane{visibility:hidden;min-width:0;overflow:hidden}.panel-bar{border-bottom:1px solid var(--line-strong);background:var(--bg-head);flex:0 0 36px;align-items:center;gap:8px;min-width:0;height:36px;padding:0 4px 0 12px;display:flex}.panel-title{font:600 15px / 1 var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);flex:none}.panel-subtitle{min-width:0;font:500 15px / 1 var(--font-head);letter-spacing:.03em;color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.panel-subtitle:before{content:"· "}.panel-toggle{width:30px;height:26px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}button.panel-toggle:hover,.panel-strip:hover .panel-toggle{border-color:var(--line-strong);background:var(--bg-hover)}.panel-toggle:focus-visible,.panel-strip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.panel-strip{background:var(--bg-head);min-width:0;color:var(--ink-dim);font:600 15px / 1 var(--font-head);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;flex-direction:column;flex:auto;align-items:center;gap:10px;padding:5px 0 0;display:flex}.panel-strip .panel-toggle{color:var(--ink-dim);margin-left:0}.panel-strip:hover{color:var(--ink)}.pane-strip-cell.left .panel-strip,.side-nav-wrap.folded .panel-strip{border-right:1px solid var(--line-strong)}.pane-strip-cell.right .panel-strip{border-left:1px solid var(--line-strong)}.panes.focus-none .pane-strip-cell.right .panel-strip{border-left:0;border-right:1px solid var(--line-strong)}.panel-strip-name{writing-mode:vertical-rl;white-space:nowrap}.divider-cell{display:flex;position:relative}.divider-cell>.divider{flex:auto}.panel-icon{flex:none;display:block}.left-pane{background:var(--bg-panel);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.pane-body{flex:auto;min-height:0;overflow:hidden auto}.divider{cursor:col-resize;background:linear-gradient(to right, transparent 2px, var(--line) 2px, var(--line) 3px, transparent 3px);touch-action:none;position:relative}.divider:before{content:"";position:absolute;inset:0 -3px}.divider:hover,.divider:focus-visible,.divider.active{background:linear-gradient(to right, transparent 1px, var(--accent) 1px, var(--accent) 5px, transparent 5px);outline:none}body.resizing,body.resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.right-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.header-strip{border-bottom:1px solid var(--line-strong);background:var(--bg-head);flex-wrap:wrap;flex:none;align-items:stretch;gap:0;display:flex}.header-title{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-width:200px;padding:6px 12px;display:flex}.brand{border-right:1px solid var(--line);align-items:center;padding:0 14px 0 12px;display:flex}.brand-logo{width:auto;height:28px;display:block}.header-title label{font:500 var(--fs-xs) / 1.2 var(--font-head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim)}.header-title input{font:13px/1.2 var(--font-ui);width:100%;color:var(--ink);background:0 0;border:1px solid #0000;padding:2px 3px;font-weight:600}.header-title input:hover{border-color:var(--line);background:var(--bg)}.header-title input:focus{border-color:var(--accent);background:var(--bg);outline:none}.kpi{border-right:1px solid var(--line);white-space:nowrap;flex-direction:column;justify-content:center;padding:6px 14px;display:flex}.kpi-label{font:500 var(--fs-xs) / 1.2 var(--font-head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim)}.kpi-value{font:15px/1.2 var(--font-num);font-variant-numeric:tabular-nums;font-weight:600}.kpi-sub{font-size:var(--fs-xs);color:var(--ink-dim);font-family:var(--font-num)}.kpi.neg .kpi-value{color:var(--neg)}.investor-money{border-right:1px solid var(--line);white-space:nowrap;flex-direction:column;justify-content:center;gap:2px;padding:6px 14px;display:flex}.investor-money .btn-row{gap:2px}.kpi{position:relative}.kpi-value.changed{animation:1.8s ease-out flash-cell}.kpi-delta{z-index:5;color:#1e6b33;font:600 var(--fs-xs) / 1.3 var(--font-num);white-space:nowrap;pointer-events:none;background:#f2fbf4;border:1px solid #c3e6cd;border-radius:9px;padding:1px 7px;animation:4s ease-out forwards kpi-delta;position:absolute;top:calc(100% + 3px);right:8px;box-shadow:0 1px 3px #0000001a}.kpi-delta.worse{color:var(--neg);background:#fff6f5;border-color:#f0c9c5}@keyframes kpi-delta{0%{opacity:0;transform:translateY(-3px)}8%{opacity:1;transform:none}85%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.kpi-value.changed,.kpi-delta{animation:none}}.section{border-bottom:1px solid var(--line)}.section-head{background:var(--bg-head);border:0;border-bottom:1px solid var(--line-soft);width:100%;font:500 12px / 1.2 var(--font-head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;display:flex}.section-head:hover{background:var(--bg-hover)}.section-head .caret{width:10px;color:var(--ink-dim);align-items:center;display:inline-flex}.section-head .count{color:var(--ink-dim);font-weight:400;font-family:var(--font-num);text-transform:none;letter-spacing:0;margin-left:auto}.section-body{padding:6px 8px 9px}.field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 10px;display:grid}.settings-groups{flex-direction:column;gap:8px;display:flex}.settings-group{border:1px solid var(--line-soft);border-radius:3px;margin:0;padding:4px 8px 6px}.settings-group legend{font-family:var(--font-head);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim);padding:0 4px}.seed-tag{background:var(--bg-sub);color:var(--ink-faint);font-size:var(--fs-xs);white-space:nowrap;border-radius:8px;padding:0 5px;line-height:15px}.field{min-height:var(--row-h);align-items:center;gap:6px;display:flex}.field>label{font-size:var(--fs-sm);color:var(--ink-dim);white-space:normal;overflow-wrap:anywhere;flex:auto}.field.stack{flex-direction:column;align-items:stretch;gap:1px}.field.stack>label{flex:none}input[type=text],input[type=date],select,textarea{font:var(--fs) / 1.25 var(--font-ui);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:2px;min-width:0;padding:2px 4px}input.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}input.invalid{border-color:var(--neg);background:#fff6f5}.invalid-text{color:var(--neg);font-size:var(--fs-sm);white-space:normal;margin:2px 0;line-height:1.35}.param .invalid-text{white-space:nowrap;margin:0}.num-w-xs{width:42px}.num-w-sm{width:58px}.num-w-md{width:84px}.num-w-lg{width:112px}.suffix{font-size:var(--fs-sm);color:var(--ink-faint);font-family:var(--font-num)}button.btn{font:var(--fs-sm) / 1.2 var(--font-ui);color:var(--ink);background:var(--bg);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:2px;padding:3px 7px}button.btn:hover{background:var(--bg-hover);border-color:var(--line-strong)}button.btn:active{background:var(--bg-sel)}button.btn.icon{color:var(--ink-dim);font-family:var(--font-num);padding:1px 5px;line-height:1.1}button.btn.compact{font-size:var(--fs-xs);color:var(--ink-dim);padding:1px 6px;line-height:1.3}.chevron{vertical-align:-1px;flex:none;transition:transform .12s;display:inline-block}.chevron.open,.chevron.menu{transform:rotate(90deg)}.chevron.menu.open{transform:rotate(-90deg)}.chevron.back{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.chevron{transition:none}}button.btn.danger:hover{color:var(--neg);border-color:var(--neg);background:#fff6f5}button.btn.primary{color:#fff;background:var(--accent);border-color:var(--accent)}button.btn.primary:hover{filter:brightness(.92);background:var(--accent);border-color:var(--accent)}button.btn:disabled{opacity:.5;cursor:default}button.btn.on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent);font-weight:600}.btn-group{display:inline-flex}.btn-group .btn+.btn{margin-left:-1px}.btn-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.spacer{flex:auto}.start-here{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--bg);border-radius:3px;margin:8px;padding:10px 12px}.start-here-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:6px;display:flex}.start-here-head strong{font:500 13px / 1.3 var(--font-head);letter-spacing:.03em;text-transform:uppercase}.start-here-line{color:var(--ink-dim);flex:200px}.start-steps{margin:0;padding:0;list-style:none}.start-steps li{border-top:1px solid var(--line-soft);align-items:center;gap:8px;padding:4px 0;display:flex}.start-step-number{background:var(--bg-head);height:18px;color:var(--ink-dim);font:600 var(--fs-xs) / 18px var(--font-num);text-align:center;border-radius:50%;flex:0 0 18px}.start-steps li.done .start-step-number{color:#1e6b33;background:#f2fbf4}.start-step-text{flex-direction:column;flex:auto;min-width:0;display:flex}.start-step-text span{color:var(--ink-dim);font-size:var(--fs-sm)}.start-steps li.done .start-step-text span{color:#1e6b33}.hint.empty-state{max-width:460px;line-height:1.45}.placement-summary{font-size:var(--fs-sm);color:var(--ink-dim);margin:0 0 5px;line-height:1.4}.summary-line .summary-name{color:var(--ink)}.summary-line.nothing .summary-text{color:var(--warn)}.summary-line.off{color:var(--ink-faint)}.child-detail{font-size:var(--fs-sm);color:var(--ink-dim);margin:0 0 4px;line-height:1.4}.child-detail .child-timing{color:var(--ink)}.child-depreciation.warn{color:var(--warn)}.lease-checks{border-top:1px dashed var(--line-soft);font-size:var(--fs-sm);margin:5px 0 0;padding:4px 0 0;line-height:1.45;list-style:none}.lease-checks li{gap:6px;display:flex}.lease-checks li.ok{color:#1e6b33}.lease-checks li.warn{color:var(--warn)}.lease-checks .check-mark{text-align:center;flex:none;width:12px;font-weight:600}.card-meta.neg{color:var(--neg)}.menu-anchor{display:inline-flex;position:relative}.add-menu{z-index:8;border:1px solid var(--line-strong);background:var(--bg);border-radius:3px;width:max-content;min-width:220px;max-width:330px;max-height:min(420px,70vh);margin-top:2px;padding:3px 0;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 2px 8px #00000024}.add-menu-head{font:600 var(--fs-xs) / 1.3 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);padding:6px 10px 2px}.add-menu-about{letter-spacing:0;text-transform:none;color:var(--ink-faint);font-weight:400;display:block}.add-menu-item{width:100%;font:var(--fs) / 1.35 var(--font-ui);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:3px 10px 3px 18px;display:block}.add-menu-item:hover,.add-menu-item:focus{background:var(--bg-sel);box-shadow:inset 3px 0 0 var(--accent);outline:none}.add-menu-sep{background:var(--line-soft);height:1px;margin:3px 0}.hint{font-size:var(--fs-xs);color:var(--ink-faint);line-height:1.4}.note-badge{font-size:var(--fs-xs);font-family:var(--font-num);color:var(--warn);background:var(--warn-bg);white-space:nowrap;border:1px solid #e8d9a8;border-radius:2px;padding:0 3px}.msg{font-size:var(--fs-sm);border:1px solid;border-radius:2px;margin-top:5px;padding:4px 6px}.msg.error{color:var(--neg);background:#fff6f5;border-color:#f0c9c5}.msg.ok{color:#1e6b33;background:#f2fbf4;border-color:#c3e6cd}.msg.warn{color:var(--warn);background:var(--warn-bg);border-color:#e8d9a8}.msg.other-window-notice{font-size:var(--fs);border-width:0 0 1px;border-radius:0;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:6px 12px;display:flex}.other-window-text{flex:320px;font-weight:600}.list{flex-direction:column;gap:3px;display:flex}.card{border:1px solid var(--line);background:var(--bg);border-radius:2px}.card-head{cursor:pointer;min-height:var(--row-h);align-items:center;gap:5px;padding:3px 5px;display:flex}.card-head:hover{background:var(--bg-hover)}.card.open>.card-head{background:var(--bg-sel);border-bottom:1px solid var(--line)}.card-title{text-overflow:ellipsis;white-space:nowrap;min-width:96px;font-weight:600;overflow:hidden}.card-meta{font-size:var(--fs-xs);color:var(--ink-dim);font-family:var(--font-num);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.card-body{border-top:1px solid var(--line-soft);padding:5px 6px 7px}.port{border:1px solid var(--line-soft);background:var(--bg-panel);border-radius:2px;margin-bottom:4px}.port-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:4px;padding:3px 4px;display:flex}.port-body{flex-direction:column;gap:4px;padding:4px;display:flex}.param-row{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.param{align-items:center;gap:4px;display:flex}.param>span{font-size:var(--fs-sm);color:var(--ink-dim);white-space:nowrap}.milestone-rows{flex-direction:column;gap:3px;display:flex}.grow{flex:auto;min-width:0}.param .derived{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink);padding:0 4px}.inst-table{border-collapse:collapse;width:100%}.inst-table th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:2px 3px;font-weight:600}.inst-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:1px 3px}.inst-table tr:hover td{background:var(--bg-hover)}.inst-table select{width:100%}.tabs{border-bottom:1px solid var(--line-strong);background:var(--bg-head);flex-wrap:wrap;flex:none;align-items:stretch;gap:0;display:flex}.tab{font:500 13px / 1.2 var(--font-head);letter-spacing:.03em;border:0;border-right:1px solid var(--line);color:var(--ink-dim);cursor:pointer;background:0 0;padding:5px 14px}.tab:hover{background:var(--bg-hover);color:var(--ink)}.tab.active{background:var(--bg);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.tab-tools{font-size:var(--fs-sm);color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;padding:0 10px;display:flex}.tab-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.wide-table{position:relative}.wide-table-body{scrollbar-width:none;overflow:auto hidden}.wide-table-body::-webkit-scrollbar{height:0}.wide-table-bar{z-index:3;background:var(--bg-panel);border-top:1px solid var(--line-soft);height:11px;position:sticky;bottom:0;overflow:auto hidden}.wide-table-bar>div{height:1px}.table-scroll{flex:auto;min-height:0;overflow:auto}table.stmt{border-collapse:separate;border-spacing:0;font-size:var(--fs-sm);white-space:nowrap}table.stmt th,table.stmt td{height:var(--row-h);border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:0 6px}table.stmt thead th{background:var(--bg-head);font-weight:600;font-size:var(--fs-xs);color:var(--ink-dim);text-align:right;z-index:2;position:sticky}table.stmt thead tr:first-child th{border-bottom:1px solid var(--line);top:0}table.stmt thead tr:last-child th{top:var(--row-h);border-bottom:1px solid var(--line-strong)}table.stmt.years-only thead tr:last-child th{top:0}table.stmt th.corner{z-index:4;text-align:left;width:var(--col-label);min-width:var(--col-label);border-right:1px solid var(--line-strong);left:0}table.stmt th.grp{text-align:center;border-right:1px solid var(--line);color:var(--ink)}table.stmt th.month{width:var(--col-month);min-width:var(--col-month)}table.stmt th.year,table.stmt td.year{width:var(--col-year);min-width:var(--col-year);background:var(--bg-sub);border-right:1px solid var(--line);font-weight:600}table.stmt th.month .mnum,table.stmt th.year .mnum{color:var(--ink);display:block}table.stmt th.month .mdate,table.stmt th.year .mdate{color:var(--ink-faint);margin-top:-2px;font-size:9px;font-weight:400;line-height:1;display:block}table.stmt tbody th.rowlabel{z-index:1;background:var(--bg);text-align:left;width:var(--col-label);min-width:var(--col-label);border-right:1px solid var(--line-strong);text-overflow:ellipsis;font-weight:400;position:sticky;left:0;overflow:hidden}table.stmt td{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums}table.stmt tbody tr:hover td{background:var(--bg-hover)}table.stmt tbody tr:hover td.year{background:#e4ebf4}table.stmt tbody tr:hover th.rowlabel{background:var(--bg-hover)}table.stmt tr.subtotal th.rowlabel,table.stmt tr.subtotal td{border-top:1px solid var(--line);background:#fbfbfc;font-weight:600}table.stmt tr.total th.rowlabel,table.stmt tr.total td{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#f4f6f9;font-weight:700}table.stmt tr.check th.rowlabel,table.stmt tr.check td{color:var(--ink-faint);border-top:1px dashed var(--line);font-style:italic}table.stmt tr.heading th.rowlabel,table.stmt tr.heading td{font:600 13px / 1.2 var(--font-head);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-head);border-bottom:1px solid var(--line-strong)}table.stmt tr.gap td,table.stmt tr.gap th{background:var(--bg);border-bottom:0;border-right-color:#0000;height:7px}table.stmt .indent1{padding-left:16px}table.stmt td{-webkit-user-select:none;user-select:none;cursor:cell}table.stmt td.sel,table.stmt tbody tr:hover td.sel{background:#dce6f5;box-shadow:inset 0 0 0 1px #8fa9d4}.stmt-status{border-top:1px solid var(--line-strong);background:var(--bg-head);font:400 var(--fs-sm) / 1.3 var(--font-ui);color:var(--ink-dim);flex:none;justify-content:flex-end;gap:20px;padding:5px 14px;display:flex}.stmt-status-copy{min-width:84px;color:var(--ink-faint);text-align:right}.stmt-status strong{font:600 var(--fs-sm) / 1.3 var(--font-num);color:var(--ink)}table.stmt td.neg{color:var(--neg)}table.stmt td.zero{color:var(--ink-faint)}.chart-panel{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.chart-toolbar{border-bottom:1px solid var(--line-soft);background:var(--bg-panel);flex-direction:column;flex:none;gap:4px;padding:6px 10px;display:flex}.chart-toolbar .preset-select{max-width:220px}.chart-toolbar .preset-name{width:200px}.chart-stage{flex:none;height:min(52vh,560px);min-height:280px;margin:6px 10px 0;position:relative;overflow:hidden}.chart-sheet{width:100%;height:100%}.chart-resize{cursor:ns-resize;touch-action:none;border-bottom:2px solid var(--line);background:linear-gradient(var(--line), var(--line)) center 3px / 36px 2px no-repeat;flex:none;height:8px;margin:0 10px 6px}.chart-resize:hover{border-bottom-color:var(--ink-dim)}.chart-stage.preview{border:1px solid var(--line);background:#d9dadf}.chart-stage.preview .chart-sheet{transform-origin:0 0;background:#fff;position:absolute;top:0;left:0;box-shadow:0 1px 8px #201d1e4d}.chart-stage.preview.transparent .chart-sheet{background-color:#fff;background-image:linear-gradient(45deg,#cfd0d4 25%,#0000 25%),linear-gradient(-45deg,#cfd0d4 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#cfd0d4 75%),linear-gradient(-45deg,#0000 75%,#cfd0d4 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.chart-toolbar .times{color:var(--ink-dim)}.chart-hint{flex:none;padding:2px 12px 4px}.chart-panel .msg{flex:none;margin:0 10px 4px}.chart-panel .section{flex:none}.chart-panel .section-body{padding:6px 10px 9px}.chart-series{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.chart-series>.series-picker{flex:240px;max-width:300px}.chart-series>.series-table-wrap{flex:999 300px;min-width:0}.series-picker{border:1px solid var(--line-soft);background:var(--bg);border-radius:2px;max-height:340px;padding:4px 6px;overflow:auto}.series-picker .search-row{margin-bottom:2px}.series-picker .search-row input[type=search]{width:100%}.picker-group .subhead{margin-top:6px}.picker-row{align-items:center;gap:2px;min-height:19px;display:flex}.picker-row.nested{padding-left:18px}.picker-row .expander{cursor:pointer;width:12px;color:var(--ink-dim);background:0 0;border:0;flex:none;padding:0;font-size:9px}.picker-row .no-expander{flex:none;width:12px}.picker-row .param.check span{color:var(--ink)}.series-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.series-table th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:2px 3px;font-weight:600}.series-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;white-space:nowrap;padding:2px 3px}.nudge{gap:3px;display:inline-flex}.series-table tr.missing td{color:var(--ink-faint)}.series-table .series-path{text-overflow:ellipsis;max-width:280px;overflow:hidden}.series-table .series-label{width:140px}.color-input{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:2px;width:28px;height:20px;padding:0}.chart-layout{flex-direction:column;gap:5px;display:flex}.legend-bar{border-top:1px solid var(--line);background:var(--bg-panel);font-size:var(--fs-xs);color:var(--ink-dim);flex-wrap:wrap;flex:none;gap:14px;padding:3px 10px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.section-head-row{background:var(--bg-head);border-bottom:1px solid var(--line-soft);align-items:stretch;display:flex}.section-head-row .section-head{border-bottom:0;flex:auto}.help-btn{border:0;border-left:1px solid var(--line-soft);width:24px;color:var(--ink-dim);font:600 var(--fs-sm) / 1 var(--font-num);cursor:pointer;background:0 0;flex:none}.help-btn:hover,.help-btn.on{background:var(--bg-hover);color:var(--accent)}.help-box{font-size:var(--fs-sm);color:var(--ink);background:var(--bg-sub);border-bottom:1px solid var(--line-soft);padding:6px 10px;line-height:1.45}.help-box p{margin:0 0 4px}.help-box p:last-child{margin-bottom:0}.mono{font-family:var(--font-num)}input[type=month]{font:var(--fs) / 1.25 var(--font-ui);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:2px;width:112px;min-width:0;padding:1px 4px}.month-field{align-items:center;gap:4px;display:inline-flex}.month-picker{gap:0;position:relative}.month-picker .month-text{width:92px;font-family:var(--font-num);padding-right:4px}.month-picker .month-text.invalid{border-color:var(--neg);background:#fff6f5}.month-button{border:1px solid var(--line-strong);background:var(--bg-head);width:24px;height:24px;color:var(--ink-dim);cursor:pointer;border-radius:0 2px 2px 0;justify-content:center;align-items:center;margin-left:-1px;padding:0;display:inline-flex}.month-button:hover,.month-button[aria-expanded=true]{color:var(--ink);background:var(--bg-hover)}.month-picker .suffix{margin-left:4px}.month-popover{z-index:40;border:1px solid var(--line-strong);background:var(--bg-panel);border-radius:4px;flex-direction:column;gap:8px;padding:10px;display:flex;position:fixed;box-shadow:0 8px 24px #0000002e}.month-popover-head{justify-content:space-between;align-items:center;display:flex}.month-popover-year{font:600 18px / 1 var(--font-head);letter-spacing:.03em}.month-step{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:3px;width:36px;height:32px;font-size:20px;line-height:1}.month-years{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.month-year{font:400 var(--fs-xs) / 1 var(--font-num);color:var(--ink-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:4px 0}.month-year.on{border-color:var(--line-strong);color:var(--ink);font-weight:600}.month-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.month-cell{border:1px solid var(--line);background:var(--bg);height:40px;font:500 14px / 1 var(--font-ui);cursor:pointer;border-radius:3px}.month-cell.now{border-color:var(--ink-faint)}.month-cell.on{border-color:var(--accent);background:var(--accent);color:#fff}.month-year:hover,.month-step:hover,.month-cell:hover:not(.on){background:var(--bg-hover)}.month-popover-foot{justify-content:flex-end;display:flex}.value-field{align-items:center;gap:4px;display:inline-flex}.param.check{gap:3px}.param.check input{margin:0}.badge{font-size:var(--fs-xs);font-family:var(--font-num);border:1px solid var(--line);white-space:nowrap;vertical-align:middle;background:var(--bg);color:var(--ink-dim);border-radius:2px;margin-right:5px;padding:0 4px;display:inline-block}.badge.month{color:var(--ink)}.msg.info{color:var(--ink);background:var(--bg);border-color:var(--line-soft)}.subhead{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);font-family:var(--font-head);margin:6px 0 3px;font-weight:500}.table-wrap{overflow-x:auto}.inst-table td.detail{background:var(--bg-panel);padding:3px 3px 5px 18px}.inst-table tr.child td{color:var(--ink-dim);background:#fbfbfc}.inst-table tr.child:hover td{background:var(--bg-hover)}.child-label{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.child-row{border-top:1px dashed var(--line-soft);color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:3px 8px;margin-top:3px;padding:2px 4px;display:flex}.card.placement .card-body{flex-direction:column;gap:3px;display:flex}.child-label .arrow{color:var(--ink-faint)}.toggles{flex-wrap:wrap;align-items:center;gap:2px 10px;display:flex}.season-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:3px 8px;margin-top:4px;display:grid}.burden-ref{border:1px solid var(--line-soft);background:var(--bg);font-size:var(--fs-sm);border-radius:2px;margin-bottom:6px;padding:5px 8px}.burden-ref ul{margin:2px 0 6px;padding-left:16px}.burden-ref strong{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim)}.rows-table{border-collapse:collapse;width:100%}.rows-table th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);text-align:left;white-space:nowrap;padding:1px 3px;font-weight:600}.rows-table td{vertical-align:middle;padding:1px 3px}.trigger{border:1px solid var(--line-soft);background:var(--bg-panel);border-radius:2px;margin-bottom:4px;padding:4px}.pct-sum{font-size:var(--fs-xs);font-family:var(--font-num);color:var(--ink-dim)}.pct-sum.bad{color:var(--neg)}.header-title{min-width:280px}.history-table td{white-space:nowrap}.header-history{align-items:center;gap:4px;padding:0 14px;display:flex}.header-history .btn.icon{padding:3px 7px;font-size:15px;line-height:1}.header-file{font:10px / 1.2 var(--font-num);color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;max-width:360px;margin-top:1px;display:block;overflow:hidden}.dirty-mark{color:var(--warn);font-weight:600}.file-facts{font-size:var(--fs-sm);color:var(--ink);margin-top:6px;line-height:1.45}.file-facts p{margin:0 0 4px}.file-facts p:last-child{margin-bottom:0}.section-head .section-line{text-transform:none;letter-spacing:0;min-width:0;color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;flex:auto;margin-left:6px;font-weight:400;overflow:hidden}.section-head .count{flex:none;margin-left:6px}button.msg.clickable{width:100%;font:inherit;text-align:left;cursor:pointer;display:flex}button.msg.clickable:hover{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.file-status{font-size:var(--fs-sm);color:var(--ink-dim);margin:6px 0 0}@keyframes flash-box{0%{outline:2px solid var(--accent);box-shadow:inset 0 0 0 999px #1a5fb42e}70%{outline:2px solid var(--accent)}to{outline:2px solid #0000;box-shadow:inset 0 0 0 999px #0000}}@keyframes flash-cell{0%{background-color:#1a5fb42e}to{background-color:#0000}}.flash{animation:1.8s ease-out flash-box}tr.flash>td,tr.flash>th{animation:1.8s ease-out flash-cell}.dept-head{border:1px solid var(--line);background:var(--bg-head);width:100%;font:600 var(--fs-sm) / 1.2 var(--font-ui);color:var(--ink);cursor:pointer;text-align:left;border-radius:2px;align-items:center;gap:6px;margin-top:4px;padding:3px 6px;display:flex}.dept-head:hover{background:var(--bg-hover)}.dept-head .count{color:var(--ink-dim);font-weight:400;font-family:var(--font-num);margin-left:auto}.role-row{cursor:pointer;min-height:var(--row-h);grid-template-columns:12px minmax(0,1fr) 36px 72px 44px auto;align-items:center;gap:6px;padding:2px 6px;display:grid}.role-row:hover{background:var(--bg-hover)}.card.open>.role-row{background:var(--bg-sel);border-bottom:1px solid var(--line)}.role-row .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.role-row .num{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;color:var(--ink-dim);font-size:var(--fs-sm)}.role-row .actions{gap:3px;display:flex}.hiring-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.hiring-table th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:2px 3px;font-weight:600}.hiring-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;white-space:nowrap;padding:1px 3px}.hiring-table tr:hover td{background:var(--bg-hover)}.hiring-table tr.dept td{background:var(--bg-head);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);border-top:1px solid var(--line)}.hiring-table tr.subtotal td{background:var(--bg-sub);font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink-dim)}.hiring-table tr.total td{font-family:var(--font-num);font-variant-numeric:tabular-nums;border-top:1px solid var(--line-strong);background:#f4f6f9;font-weight:700}.hiring-table td.num,.hiring-table th.num{text-align:right}.hiring-table .month-field .suffix{display:none}.hiring-table .row-actions{gap:3px;display:inline-flex}.hire-search{width:150px}.labour-tag{border:1px solid var(--line);background:var(--bg-sub);color:var(--ink-dim);font-size:var(--fs-xs);white-space:nowrap;vertical-align:1px;border-radius:8px;padding:0 5px;line-height:15px;display:inline-block}.labour-note{max-width:640px;margin:0 0 6px;line-height:1.4}.row-cash{font-size:var(--fs-sm);color:var(--ink-dim);align-items:center;gap:8px;margin:4px 0 2px;display:flex}.row-cash-spark{flex:none;overflow:visible}.row-cash-spark polyline{fill:none;stroke:var(--ink);stroke-width:1.25px}.row-cash-spark .zero{stroke:var(--line-strong);stroke-dasharray:2 2}.phase-band{background:var(--bg-sub);margin:0 0 6px;position:relative}.phase-band-item{border:0;border-left:3px solid var(--phase);background:color-mix(in srgb, var(--phase) 16%, var(--bg));height:16px;color:var(--ink-dim);font:inherit;font-size:var(--fs-xs);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:0 4px;line-height:16px;position:absolute;overflow:hidden}.phase-band-item:hover,.phase-band-item.on{color:var(--ink);background:color-mix(in srgb, var(--phase) 28%, var(--bg))}.phase-band-item.on{font-weight:600}.phase-band-month{background:var(--accent);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.hiring-table select,.hiring-table input[type=text]{min-width:0}.hiring-table .role-select{width:150px}.hiring-table .cost-centre-select{width:150px;color:var(--ink-dim);margin-top:2px;font-size:.92em;display:block}.hiring-table .note-input{width:110px}.hiring-table .rate-now{text-align:right;min-width:64px;font-family:var(--font-num);display:inline-block}.search-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.search-row input[type=search]{font:var(--fs) / 1.25 var(--font-ui);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:2px;flex:auto;min-width:0;padding:2px 5px}table.stmt .expander{width:12px;color:var(--ink-dim);font:9px / 1 var(--font-num);cursor:pointer;vertical-align:middle;background:0 0;border:0;margin-right:2px;padding:0;display:inline-block}table.stmt .expander:hover{color:var(--accent)}table.stmt .no-expander{width:14px;display:inline-block}table.stmt tr.sub th.rowlabel,table.stmt tr.sub td{color:var(--ink-dim);background:#fbfbfc;border-top:0;font-style:normal}table.stmt tr.sub th.rowlabel{font-size:var(--fs-xs);padding-left:30px}table.stmt tr.sub.indented th.rowlabel{padding-left:42px}table.stmt tr.sub.nested th.rowlabel{padding-left:52px}table.stmt tr.sub.nested.indented th.rowlabel{padding-left:64px}table.stmt .sub-link{color:var(--accent);font:inherit;cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;padding:0;overflow:hidden}table.stmt .sub-link:hover{text-decoration:underline}table.stmt tr.sub:hover td{background:var(--bg-hover)}.section-head-row{position:relative}.section-title{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:1px dotted #0000;padding:0}.section-title:hover,.section-title[aria-expanded=true]{color:var(--accent);border-bottom-color:var(--accent)}.popover{z-index:6;border:1px solid var(--line-strong);background:var(--bg);max-width:360px;font:var(--fs-sm) / 1.45 var(--font-ui);text-transform:none;letter-spacing:0;color:var(--ink);border-radius:3px;margin-top:2px;padding:7px 10px;font-weight:400;position:absolute;top:100%;left:8px;box-shadow:0 2px 8px #00000024}.undo-notice{z-index:20;border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:var(--ink);color:#fff;max-width:min(560px,100vw - 32px);font:var(--fs) / 1.35 var(--font-ui);border-radius:3px;align-items:center;gap:8px;padding:7px 8px 7px 12px;animation:.18s ease-out undo-notice-in;display:flex;position:fixed;bottom:16px;left:16px;box-shadow:0 4px 16px #00000040}.undo-notice-text{overflow-wrap:anywhere;flex:auto;min-width:0}.undo-notice button.btn.link{color:#d8d6d4;background:0 0;border-color:#0000}.undo-notice button.btn.link:hover,.undo-notice button.btn.link:focus-visible{color:#fff;background:#ffffff1f;border-color:#0000}@keyframes undo-notice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.undo-notice{animation:none}}dialog.modal{border:1px solid var(--line-strong);width:min(460px,100vw - 32px);color:var(--ink);background:var(--bg);font:var(--fs) / 1.45 var(--font-ui);border-radius:3px;padding:0;box-shadow:0 10px 32px #00000047}dialog.modal::backdrop{background:#201d1e73}.modal-title{font:500 14px / 1.3 var(--font-head);letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere;margin:0;padding:14px 16px 6px}.modal-body{overflow-wrap:anywhere;padding:0 16px 14px}.modal-body p{margin:0 0 8px}.modal-body p:last-child{margin-bottom:0}.modal-field{font-size:var(--fs-sm);color:var(--ink-dim);flex-direction:column;gap:3px;margin-top:10px;display:flex}.modal-field input{width:100%}.modal-actions{border-top:1px solid var(--line-soft);background:var(--bg-panel);flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:10px 16px;display:flex}.modal-actions button.btn{font-size:var(--fs);padding:5px 12px}.modal-actions button.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.scenario-list{flex-direction:column;gap:2px;margin-bottom:5px;display:flex}.scenario-row{width:100%;min-height:var(--row-h);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:2px;align-items:center;gap:6px;padding:2px 6px;display:flex}.scenario-row:hover{background:var(--bg-hover)}.scenario-row.current{background:var(--bg-sel);border-color:var(--ink-dim);font-weight:600}.scenario-row-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.scenario-row-file{text-overflow:ellipsis;white-space:nowrap;max-width:45%;font:10px / 1.2 var(--font-num);color:var(--ink-faint);flex:none;font-weight:400;overflow:hidden}.conflict-notice{margin:6px 10px 0}.missing-notice{margin:6px}.missing-title{font-weight:600}.missing-item{border-top:1px solid #e8d9a8;margin-top:5px;padding-top:5px}.missing-item .btn-row{margin-top:4px}.missing-rows .sub-link{color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;margin-left:6px;padding:0}.missing-rows .sub-link:hover{text-decoration:underline}.btn.link{color:var(--accent)}.pane-hidden{display:none!important}.annotation-table{margin-bottom:4px}.annotation-table select{max-width:220px}.annotation-table td .param{gap:3px}.chart-layout .msg.info{margin:0 0 4px}.chart-layout .subhead:first-child{margin-top:0}textarea.multiline{resize:none;min-height:var(--row-h);white-space:pre-wrap;line-height:1.25;overflow:hidden}.series-table textarea.multiline{width:100%}.plan-list{flex-direction:column;gap:10px;display:flex}.plan-phase{border:1px solid var(--line);background:var(--bg);border-radius:2px}.plan-phase-head,.plan-objective-head{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;display:flex}.plan-phase-head{background:var(--bg-head);border-bottom:1px solid var(--line)}.plan-objective{border-top:1px solid var(--line-soft);margin-left:14px}.plan-objective:first-of-type{border-top:0}.plan-objective-head{background:var(--bg-panel)}.plan-name{flex:180px;min-width:120px}.plan-empty{margin:2px 0 6px 16px}.plan-items{width:calc(100% - 16px);margin:0 0 6px 16px}.plan-detail td{background:var(--bg-panel);padding-bottom:6px}.plan-detail-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim)}.depends-row{margin-bottom:4px}.owner-field{gap:3px}.owner-text{width:110px}.color-dot{border:1px solid var(--line);background:0 0;border-radius:50%;flex:none;width:18px;height:18px;padding:0}.plan-views{border-bottom:1px solid var(--line);margin:0 0 8px}.plan-filters{flex-wrap:wrap;align-items:center;row-gap:4px}.plan-layout{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.plan-main{flex:520px;min-width:0}.plan-drill{border:1px solid var(--line);background:var(--bg);border-radius:2px;flex:320px;min-width:0;max-width:460px;padding:0 0 8px}.plan-drill-head{background:var(--bg-head);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:4px 6px;display:flex}.plan-drill-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-drill-kind{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border:1px solid var(--line);border-radius:2px;flex:none;padding:0 4px}.plan-drill-facts{font-size:var(--fs-sm);grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 8px 0;display:grid}.plan-drill-facts dt{color:var(--ink-dim);text-transform:lowercase}.plan-drill-facts dd{overflow-wrap:anywhere;margin:0}.plan-drill-notes{font-size:var(--fs-sm);white-space:pre-wrap;margin:8px 8px 0}.plan-drill-title{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);margin:10px 8px 4px}.plan-drill .hint,.plan-drill .param-row{margin:4px 8px}.plan-cost{flex-direction:column;gap:6px;margin:0 8px;display:flex}.plan-cost-row{border-left:2px solid var(--line);font-size:var(--fs-sm);padding-left:6px}.plan-cost-row.missing{border-left-color:var(--neg);color:var(--neg)}.plan-cost-row.all{border-left-color:#0000;border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-top:4px;display:flex}.plan-cost-head{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.plan-cost-head .btn.link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.plan-cost-kind{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint)}.plan-cost-figures{font-family:var(--font-num);white-space:nowrap}.plan-cost-figures .sep{color:var(--ink-faint);margin:0 4px}.plan-items tr.picked>td{background:var(--bg-head)}.row-tools{white-space:nowrap}.plan-timeline{flex-direction:column;gap:6px;min-width:0;display:flex}.plan-timeline-stage{border:1px solid var(--line);background:var(--bg);border-radius:2px;overflow:hidden}.plan-timeline-sheet{width:100%}.plan-key{font-size:var(--fs-sm);color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.plan-key .key-item{align-items:center;gap:5px;display:inline-flex}.key-bar{background:var(--ink-dim);border-radius:2px;width:22px;height:9px}.key-diamond{background:var(--ink-dim);width:10px;height:10px;transform:rotate(45deg)}.key-diamond.gate{border:2px solid var(--ink);background:var(--ink-dim);width:12px;height:12px}.key-diamond.auto{border:1.5px solid var(--ink-dim);background:var(--bg)}.key-today{border-left:1px dashed var(--neg);width:0;height:14px}.key-bar.build{background:#e9a23b4d;border:1px solid #e9a23b}.key-bar.lease{background:#2e6fb7}.fleet-strip{border:1px solid var(--line-soft);background:var(--bg);border-radius:3px;margin:0 0 8px;padding:5px 6px 3px}.fleet-head{font-size:var(--fs-sm);color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:4px;display:flex}.fleet-title{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}.fleet-key{align-items:center;gap:4px;display:inline-flex}.fleet-swatch{border-radius:2px;width:9px;height:9px}.fleet-short-note{color:var(--neg)}.fleet-cells{border-bottom:1px solid var(--line);align-items:stretch;gap:1px;display:flex;position:relative}.fleet-capacity{border-top:1px dashed var(--neg);pointer-events:none;height:0;position:absolute;left:0;right:0}.fleet-seg.build.over{background:var(--neg)}.fleet-cell{border-top:2px solid #0000;flex-direction:column-reverse;flex:1 1 0;min-width:0;display:flex}.fleet-cell:hover{background:var(--bg-hover)}.fleet-cell.short{border-top-color:var(--neg)}.fleet-seg{flex:none}.fleet-seg.deployed,.fleet-swatch.deployed{background:#2e6fb7}.fleet-seg.available,.fleet-swatch.available{background:#9a9895}.fleet-seg.build,.fleet-swatch.build{background:#e9a23b}.fleet-axis{font-family:var(--font-num);font-size:var(--fs-xs);color:var(--ink-faint);justify-content:space-between;display:flex}.action-table .action-when{white-space:nowrap;font-family:var(--font-num)}.action-table tr.overdue .action-when{color:var(--neg);font-weight:600}.overdue-mark{font-family:var(--font-body);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--neg);border:1px solid var(--neg);border-radius:2px;margin-left:6px;padding:0 3px}.review{overscroll-behavior:contain;background:var(--bg-panel);flex:auto;min-height:0;overflow-y:auto}.review-bar{border-bottom:1px solid var(--line-soft);background:var(--bg);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 10px;padding:6px 10px;display:flex}.review-bar>.hint{flex:200px}.review-bar .msg{flex:100%;margin-top:0}.review-tiles{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px;display:grid}.review-tiles .kpi{border:1px solid var(--line);background:var(--bg);white-space:normal;border-radius:3px;padding:8px 12px}.review-tiles .kpi-value{font-size:21px;line-height:1.25}.kpi-compare{color:var(--ink-dim);font-size:var(--fs-sm);margin-top:3px;display:block}.kpi-compare .better{color:#1e6b33}.kpi-compare .worse{color:var(--neg)}.review-compare{padding:8px 10px 0}.review-compare-key{font-size:var(--fs-sm);color:var(--ink-dim);align-items:center;gap:6px;padding:0 10px 6px;display:flex}.review-compare-key .key-line{width:16px;height:2px;margin-left:6px}.review-tiles .kpi-delta{top:6px;right:8px}.review-chart{background:var(--bg);width:100%;height:340px}.review-fleet-chart{height:220px}.modal-check{align-items:center;gap:6px;margin-top:10px;display:flex}.lent-head{font:500 var(--fs-xs) / 1.3 var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin:6px 0 0}.card.placement.lent{background:var(--bg-panel);border-style:dashed}.lent-name{margin-right:2px}.badge.lent-from{color:#1f4f86;font-family:var(--font-ui);background:#eef4fb;border-color:#b9cfe8}.lent-detail{margin:2px 0 0}.card.placement:not(.lent)>.card-body>.param-row:first-child>.grow{flex:140px}.card-actions{flex-wrap:nowrap;gap:3px;margin-left:auto;display:inline-flex}.phase-swatch{border-radius:2px;flex:none;width:9px;height:9px;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.phase-picker select{max-width:150px}.centre-picker select{max-width:160px}.centres-list{flex-direction:column;gap:4px;padding:2px 0;display:flex}.centres-head,.centre-row{grid-template-columns:minmax(120px,1fr) auto auto auto;align-items:center;gap:8px;display:grid}.centres-head{font-size:var(--fs-xs);color:var(--ink-faint)}.centres-head span:last-child{grid-column:3/5}.stream-row{grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:8px;display:grid}.centre-row .centre-name,.stream-row .centre-name{width:100%;min-width:0}.centre-percent{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.centres-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px;display:flex}.centres-total{font:400 var(--fs-sm) / 1.3 var(--font-num);color:var(--ink-dim)}.centres-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:4px 0;display:flex}.centres-empty p{margin:0}.tab-panel>.centres-empty{padding:16px}.phase-totals{border:1px solid var(--line-soft);background:var(--bg);font-size:var(--fs-sm);border-radius:2px;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 6px;padding:4px 8px;display:flex}.phase-totals-head{font:500 var(--fs-xs) / 1.3 var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}.phase-total{align-items:center;gap:5px;display:inline-flex}.phase-total strong{font-family:var(--font-num);font-weight:600}.shell{flex:auto;min-height:0;display:flex}.shell>.panes{flex:auto;min-width:0}.side-nav-wrap{flex:0 0 var(--nav-width,168px);border-right:1px solid var(--line-strong);background:var(--bg-head);flex-direction:column;min-height:0;display:flex;position:relative}.side-nav-wrap.folded{border-right:0;flex-basis:32px}.side-nav{flex-direction:column;flex:auto;gap:6px;min-width:0;padding:8px 0;display:flex;overflow-y:auto}.side-steps{margin:0;padding:0;list-style:none}.side-steps.more{border-bottom:1px solid var(--line);padding-bottom:6px}.side-step{width:100%;color:var(--ink-dim);font:500 13px / 1.2 var(--font-head);letter-spacing:.03em;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px 7px 8px;display:flex}.side-step:hover{background:var(--bg-hover);color:var(--ink)}.side-step:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.side-step.active{background:var(--bg);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.side-num{font:400 var(--fs-xs) / 1 var(--font-num);color:var(--ink-faint);text-align:right;flex:0 0 16px}.side-name{flex:auto;min-width:0}.side-status{font:400 var(--fs-xs) / 1 var(--font-num);color:var(--ink-faint);white-space:nowrap}.side-status.done{color:#1e6b33}.side-edge{z-index:2;cursor:col-resize;touch-action:none;width:6px;position:absolute;top:0;bottom:0;right:-3px}.side-edge:hover,.side-edge:focus-visible,.side-edge.active{background:linear-gradient(to right, transparent 2px, var(--accent) 2px, var(--accent) 4px, transparent 4px);outline:none}.section-head.fixed{cursor:default}.section-head.fixed:hover{background:var(--bg-head)}.back-row{padding:6px 8px 0}.header-file .link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.type-chip,.count-chip,.type-select{--type-ink:var(--warn);--type-bg:var(--warn-bg)}.type-chip.measured,.count-chip.measured,.type-select.measured{--type-ink:#24613a;--type-bg:#e3f1e7}.type-chip.quoted,.count-chip.quoted,.type-select.quoted{--type-ink:#1f4e79;--type-bg:#e4edf6}.type-chip.estimated,.count-chip.estimated,.type-select.estimated{--type-ink:var(--warn);--type-bg:var(--warn-bg)}.type-chip.target,.count-chip.target,.type-select.target{--type-ink:#5a3d87;--type-bg:#eee7f7}.type-chip{background:var(--type-bg);color:var(--type-ink);font-size:var(--fs-xs);white-space:nowrap;border-radius:8px;padding:0 6px;font-weight:600;line-height:15px;display:inline-block}.assumption-fields{align-items:center;gap:4px;display:inline-flex}.assumption-fields .type-select{color:var(--type-ink);background:var(--type-bg);font-weight:600}.assumption-fields .basis-input{width:150px}.assumptions{flex-direction:column;gap:8px;display:flex}.assumptions-title{font-family:var(--font-head);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);margin:8px 0 2px;font-weight:500}.assumption-counts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.count-chip{background:var(--type-bg);color:var(--type-ink);font:inherit;font-size:var(--fs-sm);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:2px 10px}.count-chip.active{border-color:var(--type-ink)}.count-chip .count-num{font-family:var(--font-num);font-weight:700}.assumption-filters{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.assumption-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.assumption-table th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:2px 4px;font-weight:600}.assumption-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:2px 4px}.assumption-table tr:hover td{background:var(--bg-hover)}.assumption-table td.num,.assumption-table th.num{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}.assumption-table td.neg{color:var(--neg)}.assumption-table tr.dept td{background:var(--bg-head);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--line)}.assumption-table tr.subtotal td{background:var(--bg-sub)}.assumption-table tr.total td{border-top:1px solid var(--line-strong);background:#f4f6f9;font-weight:700}.assumption-table tr.plan-only td{color:var(--ink-faint)}.assumption-table .assumption-name{min-width:180px}.assumption-table .row-name.repeated{color:var(--ink-faint)}.assumption-table .unit{color:var(--ink-dim);white-space:nowrap}.assumption-table .basis{color:var(--ink-dim);max-width:260px}.assumption-table.stale{opacity:.55}.settings-group .field{flex-wrap:wrap}.settings-group .field>.assumption-fields{flex:1 0 100%;padding-bottom:3px}.settings-group .field>.assumption-fields .basis-input{flex:auto;width:auto;min-width:0}.checks-strip{font-size:var(--fs-sm);background:#eef6f1;border-left:4px solid #2f7d4f;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:6px 10px;padding:5px 10px;display:flex}.checks-strip.fail{border-left-color:var(--neg);background:#fbeeee}.checks-strip .check.pass{color:#2f7d4f}.checks-strip .check.fail{color:var(--neg);font-weight:600}
