:root{--bg:#f6f7f9;--panel:#fff;--text:#1c2430;--muted:#5b6676;--border:#d7dce3;--accent:#1f5fbf;--error:#b42318;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#14181f;--panel:#1c222b;--text:#e6e9ee;--muted:#9aa4b2;--border:#2f3743;--accent:#6ea8ff;--error:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{max-width:960px;margin:0 auto;padding:24px 16px}h1{margin:0 0 20px;font-size:1.5rem}h2{margin:0 0 16px;font-size:1.1rem}.layout{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=700px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field label{color:var(--muted);font-size:.9rem}.field input,.field select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px 10px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--error)}.results{grid-template-columns:1fr auto;gap:10px 16px;margin:0;display:grid}.results dt{color:var(--muted)}.results dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.results .highlight{color:var(--accent);font-size:1.25rem}.error{color:var(--error);margin:0}.stack{gap:20px;display:grid}.sensitivity{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.sensitivity th,.sensitivity td{text-align:right;border-bottom:1px solid var(--border);padding:6px 8px}.sensitivity thead th{color:var(--muted);font-size:.85rem;font-weight:500}.sensitivity tr.required{color:var(--accent);font-weight:700}.sensitivity .overloaded{color:var(--error);text-align:center}.day-profile-panel{margin-top:20px}.hint{color:var(--muted);margin:0 0 12px;font-size:.9rem}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 8px}.data-table thead th{color:var(--muted);white-space:normal;font-size:.85rem;font-weight:500}.data-table tbody th{font-weight:500}.data-table .emphasis{color:var(--accent);font-weight:700}.data-table .muted{color:var(--muted);text-align:center}.data-table tfoot th,.data-table tfoot td{border-top:2px solid var(--border);border-bottom:none;font-weight:700}.cell-input{font:inherit;text-align:right;border:1px solid var(--border);background:var(--bg);width:6em;color:var(--text);border-radius:4px;padding:3px 6px}.cell-input[aria-invalid=true]{border-color:var(--error)}.chart{margin:0 0 16px}.chart svg{width:100%;height:auto;display:block}.chart-grid line{stroke:var(--border);stroke-width:1px}.chart-grid text,.chart-label{fill:var(--muted);font-size:11px}.chart-axis{stroke:var(--muted);stroke-width:1px}.bar-shrinkage{fill:var(--accent);opacity:.3}.bar-raw{fill:var(--accent)}.chart-legend{color:var(--muted);gap:16px;margin-top:6px;font-size:.85rem;display:flex}.swatch{vertical-align:middle;background:var(--accent);border-radius:2px;width:10px;height:10px;display:inline-block}.swatch.bar-shrinkage{opacity:.3}
