/* Layout specific to planning. Chrome, palette, fonts and controls come from
   the same styles.css as the analysis workbench; no separate theme. */
.skip-link { position:absolute; top:-60px; left:16px; z-index:5; background:var(--panel); padding:12px; }
.skip-link:focus { top:8px; }
.planner-workbench { min-height:calc(100vh - 48px); align-items:start; }
.planner-workbench > .pane { height:calc(100vh - 68px); }
.planner-workbench .nav-pane { overflow-y:auto; }
.planner-workbench .nav-pane nav { flex:none; }
.nav-pane nav .planning-link.active { background:var(--accent); color:#fff; }
.nav-pane nav .planning-link.active .nav-desc { color:var(--accent-on-dark); }
.nav-pane nav .planning-link.active:hover { background:var(--accent-dark); }
#design-select { width:100%; min-width:0; }
.example-plans, .helper, .methodology { margin:1rem 0; font-size:.8125rem; }
summary { cursor:pointer; color:var(--ink-muted); }
.preset-row { display:flex; flex-wrap:wrap; gap:.375rem; margin-top:.625rem; }
#form .preset-row button { margin:0; padding:.375rem .625rem; background:var(--panel-raised); color:var(--ink); border:1px solid var(--border-card); }
#form .solve-controls { display:flex; gap:3px; padding:3px; background:var(--segment-track); border-radius:var(--radius-ctl); margin:1rem 0; }
#form .solve-controls button { flex:1; margin:0; padding:.5rem .25rem; font-size:.75rem; color:var(--ink-muted); border:1px solid transparent; background:transparent; }
#form .solve-controls button[aria-pressed=true] { background:var(--panel); color:var(--ink); border-color:var(--border-card); box-shadow:0 1px 2px #0001; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:.875rem .75rem; }
.planning-field { min-width:0; margin:0; }
.planning-field > span { display:block; min-height:2.6em; margin-bottom:.375rem; }
.planning-field input, .planning-field select { width:100%; min-width:0; }
.planning-field small { display:block; margin-top:.375rem; font:.6875rem/1.5 var(--sans); text-transform:none; letter-spacing:normal; color:var(--ink-muted); }
.planning-settings { border:0; border-top:1px solid var(--line); margin:1.25rem 0 0; padding:1rem 0 0; }
.planning-settings legend { font:.6875rem var(--mono); color:var(--ink-muted); padding-right:.5rem; }
#form .calculate-button { width:100%; }
.quiet { font-size:.75rem; color:var(--ink-muted); }
.helper, .methodology { border-top:1px solid var(--line); padding-top:.875rem; }
.helper-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.helper-grid input { width:100%; margin-top:.375rem; }
.helper-grid p { align-self:end; font-family:var(--mono); }
.methodology a { color:var(--accent); }
.planner-output-scroll { overflow-y:auto; min-height:0; }
.results-panel { padding:1.125rem; background:var(--output-canvas); }
.result-status { font:.75rem/1.5 var(--sans); color:var(--ink-muted); margin-bottom:.625rem; }
.result-status.error { padding:.625rem; background:var(--warn-bg); border:1px solid var(--warn-border); color:var(--error); border-radius:var(--radius-ctl); }
#result-content { padding:1.25rem 1.5rem; background:var(--sheet); border:1px solid var(--sheet-border); border-radius:var(--radius-sheet); box-shadow:var(--shadow-sheet); }
#result-content[aria-busy=true], #result-content.is-stale { opacity:.5; }
#result-content h2 { margin:0; font:600 1.125rem/1.4 var(--serif); }
.result-number { margin:.5rem 0 0; font:600 2.5rem/1.15 var(--serif); }
.result-unit { margin:.25rem 0; font:.875rem var(--serif); }
.result-detail { font:.6875rem/1.6 var(--mono); color:var(--ink-muted); }
.result-metrics { display:flex; flex-wrap:wrap; gap:.875rem 1.75rem; padding:.875rem 0; border-block:1px solid var(--line); }
.result-metrics span { display:block; font-size:.6875rem; color:var(--ink-muted); }
.result-metrics strong { display:block; margin-top:.25rem; font:600 1rem var(--serif); }
.chart-heading { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:baseline; gap:.5rem; margin-top:1rem; }
.chart-heading h3 { margin:0; font:600 .8125rem var(--sans); }
.chart-heading span { font-size:.6875rem; color:var(--ink-muted); }
.sensitivity-chart { display:block; width:100%; max-height:300px; margin:.75rem 0; }
.sensitivity-chart text { font:12px var(--mono); fill:var(--ink-muted); }
.curve-table, .assumptions-readout { margin-top:.75rem; font-size:.75rem; }
.curve-table .table-scroll { max-height:220px; overflow:auto; }
.assumptions-readout li { margin:.5rem 0; }
.assumptions-readout ul { padding-left:1rem; }
.assumptions-readout a { color:var(--accent); }
.formula { font:.6875rem/1.6 var(--mono); background:var(--panel-raised); padding:.625rem; }
.statement { font:.8125rem/1.6 var(--serif); }
.scenario-save { margin-top:1.125rem; }
.scenario-save > div { display:flex; gap:.5rem; }
.scenario-save input { flex:1; min-width:0; width:100%; }
.scenario-save button, .comparison-panel td button { padding:.4375rem .625rem; font:.75rem var(--sans); color:var(--ink); background:var(--panel); border:1px solid var(--border-card); border-radius:var(--radius-ctl); cursor:pointer; }
.scenario-save button:disabled { opacity:.45; cursor:default; }
.comparison-panel { border-top:1px solid var(--line); }
.comparison-body { padding:.5rem 1.125rem 1rem; }
.comparison-panel h2 { margin:0; }
#comparison { overflow-x:auto; }
.planner-output table { width:100%; border-collapse:collapse; font-size:.75rem; }
.planner-output th, .planner-output td { padding:.5rem; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.planner-output th { font-weight:600; }
.planner-output td small, .planner-output th small { display:block; color:var(--ink-muted); font-weight:400; }
.empty-scenarios, #plan-status { font-size:.75rem; color:var(--ink-muted); }
[hidden] { display:none!important; }
@media (max-width:1200px) { .sensitivity-chart text {font-size:18px;} }
@media (max-width:1100px) and (min-width:961px) { .field-grid { grid-template-columns:1fr; } .planning-field > span { min-height:0; } }
@media (max-width:960px) { .planner-workbench > .pane { height:auto; } .planner-workbench .nav-pane { overflow:visible; } .planner-output-scroll { overflow:visible; } }
@media (max-width:620px) { #result-content { padding:1rem; } .results-panel { padding:.75rem; } .field-grid { grid-template-columns:1fr; } .planning-field > span { min-height:0; } .sensitivity-chart text { font-size:18px; } }
@media (pointer:coarse) { .planning-field input, .planning-field select, .helper input, .scenario-save input {font-size:16px;} .scenario-save button, .comparison-panel td button {min-height:44px;} }
