.brandbar h1{margin:0;font-weight:700}
.scenario-sidebar{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:1080px;margin:0 auto 24px}
.scenario-sidebar h2{font-size:17px;margin:0 0 6px}.scenario-sidebar p{font-size:13px;color:var(--ink-soft)}
.scenario-sidebar .file-button{position:relative;display:block;overflow:hidden}
.scenario-sidebar .file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;max-width:none}
.scenario-sidebar .file-button:focus-within{outline:2px solid var(--signal);outline-offset:3px}
@media screen and (min-width:1400px){body{padding-left:calc((100% - 1324px)/2 + 244px);padding-right:calc((100% - 1324px)/2)}.scenario-sidebar{position:fixed;left:calc((100% - 1324px)/2);top:40px;width:220px;max-height:calc(100vh - 80px);overflow:auto;margin:0}.scenario-sidebar .scenario-actions{flex-direction:column;align-items:stretch}.scenario-sidebar .scenario-actions button{text-align:left}}
@media print{.scenario-sidebar,.scenario-notice{display:none!important}body{padding-left:20px}}
body:not(.drawer-open) .drawer{visibility:hidden}
.drawer-plan-control{display:flex;flex-direction:column;gap:6px;margin:16px 0;font-size:14px;line-height:1.5}
.drawer-plan-control input[type=number]{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit}
.drawer-plan-control:has(input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:center}
#drawerError{padding:12px;background:#fff0ee;color:#8a2116;font-size:14px}
#leadModal:not(.active){visibility:hidden}
.lad .ticks{min-width:0;gap:0}
.planning-panel{border:1px solid var(--line,#d6dde4);padding:20px;margin:20px 0;border-radius:8px}
.planning-panel summary{cursor:pointer;font-weight:600;font-size:16px}
.planning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin:22px 0}
.planning-grid label{font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:6px}
.planning-grid input[type=number]{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line,#cbd5e1);border-radius:6px;background:var(--surface,#fff);color:var(--ink,#16283c);font:inherit}
.planning-grid .check{flex-direction:row;align-items:center}
.scenario-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}
.scenario-actions button,.file-button{padding:10px 14px;border:1px solid var(--line,#cbd5e1);background:var(--surface,#fff);border-radius:6px;cursor:pointer;font:inherit;color:var(--deep,#163650)}
.file-button input{display:block;max-width:240px;font-size:13px;margin-top:6px}
#scenarioStatus{font-size:14px}#simulationError{padding:16px;background:#fff0ee;color:#8a2116}
.scenario-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0 24px;padding:15px 17px;border:1px solid #9bd8c6;border-left:4px solid #147d64;border-radius:8px;background:#eaf8f4;color:#235d50;scroll-margin-top:20px}
.scenario-notice[hidden]{display:none}.scenario-notice.error{border-color:#efb0aa;border-left-color:#a52a20;background:#fff0ee;color:#7d2119}.scenario-notice strong,.scenario-notice span{display:block}.scenario-notice span{margin-top:2px;font-size:14px}.scenario-notice button{border:0;background:transparent;color:inherit;font:700 20px/1 sans-serif;cursor:pointer;padding:0 2px}
#planningResults p{font-size:14px;line-height:1.6}.cap{line-height:1.6}
@media(max-width:600px){.planning-grid{grid-template-columns:1fr}.planning-panel{padding:14px}.info-icon .tooltip,.info-icon:hover .tooltip{position:fixed;left:16px;right:16px;bottom:24px;top:auto;width:auto;max-width:none;transform:none}}
@media print{.scenario-actions{display:none}.planning-panel{break-inside:avoid}}
/* Tables remain scrollable on small screens; controls never widen the page. */
.advanced-panel .table-wrap, #spendingAnalysis .table-wrap { max-width:100%; overflow-x:auto; }
.advanced-panel table input[type=number] { width:100%; min-width:72px; max-width:145px; padding:8px; }
.advanced-panel select { width:100%; padding:10px; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); }
.advanced-panel .bond-row { margin-top:16px; }
.advanced-panel .planning-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.advanced-panel .planning-grid label:not(.check) { justify-content:space-between; }
.policy-summary { margin-top:16px; font-size:13px; line-height:1.65; }
#policyResults p { line-height:1.65; }
#spendingAnalysis button, .advanced-panel button { padding:10px 14px; margin:12px 0; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--deep); font:inherit; cursor:pointer; }
#spendingAnalysis button:disabled { opacity:.6; cursor:wait; }
.advanced-panel > label.check { display:flex; align-items:center; gap:8px; margin:14px 0; }
.scenario-import { display:flex; flex-direction:column; gap:8px; }
.import-help { font-size:12px; line-height:1.5; }
.annual-navigation { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0; }
.annual-navigation label { display:flex; align-items:center; gap:8px; }
.annual-navigation button,.annual-navigation select { padding:10px 12px; background:var(--surface); border:1px solid var(--line); border-radius:6px; color:var(--deep); font:inherit; }
.annual-navigation button:disabled { opacity:.45; }
#annualPlan { scroll-margin-top:20px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
#historicalAnalysis select,#historicalAnalysis button { padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--deep); font:inherit; }
#historicalAnalysis button { cursor:pointer; }
#historicalAnalysis button:disabled { opacity:.6; cursor:wait; }
#historicalAnalysis p { font-size:14px; line-height:1.7; }
#historyDetail { margin-top:24px; scroll-margin-top:20px; }
#historyDetail svg { width:100%; display:block; color:var(--signal); }
#historicalAnalysis .planning-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
#historicalAnalysis select { max-width:100%; }
#annualPlan p,#annualActions { font-size:14px; line-height:1.7; }
#annualActions li { padding:5px 0; }
.annual-warning { padding:12px; background:#fff0ee; color:#7d2119; border-left:3px solid #a52a20; }
.annual-year-link { border:0; padding:4px; background:transparent; color:var(--signal); text-decoration:underline; font:inherit; cursor:pointer; }
@media print { .annual-navigation { display:none; } }
