:root{--bg: #f7f7f5;--surface: #ffffff;--text: #1d1d1b;--muted: #5f5f5a;--border: #deded8;--focus: #2f5fd0;--accent: #1f4fbf;--on-accent: #ffffff;--danger: #a3261b;--danger-bg: #fbeceb;--viz-series: #2a78d6;--viz-series-partial: #86b6ef;--viz-grid: #e1e0d9;--viz-baseline: #c3c2b7;--viz-axis: #898781;--viz-missing: #f0efec;--viz-closed: #898781;--viz-offhours: #f0efec;--viz-offhours-busy: #c3c2b7;--heat-0: #cde2fb;--heat-1: #9ec5f4;--heat-2: #6da7ec;--heat-3: #3987e5;--heat-4: #256abf;--heat-5: #184f95;--heat-6: #0d366b;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media(prefers-color-scheme:dark){:root{--bg: #161615;--surface: #20201e;--text: #ececea;--muted: #a3a39d;--border: #3a3a36;--focus: #7ea2ff;--accent: #7ea2ff;--on-accent: #10131a;--danger: #ff9a8f;--danger-bg: #3a1d1a;--viz-series: #3987e5;--viz-series-partial: #1c5cab;--viz-grid: #2c2c2a;--viz-baseline: #383835;--viz-axis: #898781;--viz-missing: #262624;--viz-closed: #898781;--viz-offhours: #262624;--viz-offhours-busy: #52514e;--heat-0: #104281;--heat-1: #184f95;--heat-2: #1c5cab;--heat-3: #256abf;--heat-4: #3987e5;--heat-5: #6da7ec;--heat-6: #b7d3f6}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.page{max-width:720px;margin:0 auto;padding:24px 16px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.card h2{margin-top:0;font-size:1.1rem}dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}dd{margin:0}a{color:var(--focus)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.narrow{max-width:420px}.small{font-size:.875rem}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.field{display:grid;gap:4px}.field label{font-weight:600}.field input,.field select,.field textarea{width:100%;min-width:0}.field input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;min-height:44px}.field input[aria-invalid=true]{border-color:var(--danger);border-width:2px}.hint,.field-error{margin:0;font-size:.875rem}.hint{color:var(--muted)}.field-error{color:var(--danger)}.form-alert{margin:0;padding:10px 12px;border-left:4px solid var(--danger);background:var(--danger-bg);color:var(--text);border-radius:4px}button{font:inherit;font-weight:600;min-height:44px;padding:10px 16px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer}button.secondary{background:transparent;color:var(--accent)}button:disabled{opacity:.6;cursor:progress}.card+.card,.card+.muted{margin-top:16px}.field select,.field textarea,.times input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;min-height:44px}.field textarea{resize:vertical}.field select:disabled{opacity:.7}.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger);border-width:2px}fieldset.group{display:grid;gap:8px;margin:0;min-width:0}fieldset.group legend{font-weight:600;padding:0 4px}.group-title{margin:8px 0 0;font-weight:600}.check{display:flex;align-items:center;gap:8px;min-height:36px}.check input{width:20px;height:20px;flex:none}.day-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:4px 0;border-bottom:1px solid var(--border)}.day-name{min-width:150px}.times{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.times label{display:flex;align-items:center;gap:6px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.status{margin:0;font-weight:600}.wide{max-width:1040px}.page>.card+.card,.page>section+section{margin-top:16px}.list{margin:0;padding-left:20px}fieldset.plain{border:0;padding:0}.emphasis{font-weight:600}.success{border-left:4px solid var(--accent)}.notice{padding:10px 12px;border-left:4px solid var(--muted);background:var(--bg);border-radius:4px}.notice h3{margin:0 0 4px;font-size:1rem}dl.summary{grid-template-columns:minmax(120px,max-content) 1fr}.table-scroll{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{font-weight:600;white-space:nowrap}.warning-row td{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}details summary{cursor:pointer;font-weight:600;min-height:32px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 0 16px}.presets{display:flex;flex-wrap:wrap;gap:4px}button.preset{background:transparent;color:var(--text);border-color:var(--border);font-weight:500;min-height:36px;padding:6px 12px}button.preset.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}button.preset.selected:before{content:"✓ "}button.link{background:none;border:0;color:var(--focus);padding:0;min-height:0;text-decoration:underline;font-weight:400}.inline-field{display:flex;align-items:center;gap:6px}.inline-field input,.inline-field select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;min-height:36px;max-width:100%}.refreshing{opacity:.55;transition:opacity .15s}.hero{margin-bottom:8px}.hero p{margin:0}.hero-value{font-size:48px;font-weight:650;line-height:1.1}.delta{color:var(--muted);margin-top:4px}dl.stats{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 12px}dl.stats dt{color:var(--muted);font-size:.875rem}dl.stats dd{font-size:1.25rem;font-weight:650}.viz{position:relative;margin-top:4px}.viz-title{font-size:1rem;margin:16px 0 4px}.viz-grid{stroke:var(--viz-grid);stroke-width:1;shape-rendering:crispEdges}.viz-baseline{stroke:var(--viz-baseline);stroke-width:1;shape-rendering:crispEdges}.viz-axis-text{fill:var(--viz-axis);font-size:11px;font-variant-numeric:tabular-nums}.viz-label{fill:var(--text);font-size:12px;font-weight:600}.viz-bar{fill:var(--viz-series)}.viz-bar-partial{fill:var(--viz-series-partial)}.viz-missing{fill:var(--viz-missing)}.viz-closed{fill:var(--viz-closed)}.viz-hit{fill:transparent}.viz-active .viz-hit{fill:var(--viz-grid);opacity:.5}.viz-cell.viz-active{stroke:var(--text);stroke-width:1.5}.viz :focus-visible{outline:none}.viz g:focus-visible .viz-hit{fill:var(--viz-grid);stroke:var(--focus);stroke-width:2}.viz-tooltip{position:absolute;pointer-events:none;z-index:2;background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:.8125rem;box-shadow:0 2px 8px #0000001f;max-width:220px}.viz-tooltip-value{color:var(--text);font-weight:650}.viz-legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.8125rem;color:var(--muted);margin-top:6px}.viz-legend>span,.viz-legend-scale{display:inline-flex;align-items:center;gap:4px}.viz-legend-scale{gap:0}.viz-legend-scale>span:first-child{margin-right:4px}.viz-legend-scale>span:last-child{margin-left:4px}.viz-swatch{display:inline-block;width:14px;height:12px;border-radius:2px}.viz-legend-scale .viz-swatch{border-radius:0}.viz-swatch-bar{background:var(--viz-series)}.viz-swatch-closed{background:var(--viz-closed);height:4px}.viz-swatch-missing{background:var(--viz-missing);border:1px solid var(--border)}.viz-note{font-size:.8125rem;color:var(--muted);margin:4px 0 0}.viz-table summary,.explanation summary{font-size:.875rem}.viz-table,.explanation{margin-top:8px}.explanation p{font-size:.875rem;color:var(--muted);margin:4px 0}td.num{text-align:right;font-variant-numeric:tabular-nums}.forecast-action{margin-bottom:8px}.forecast-table td{vertical-align:top}.cell-note{display:block;max-width:26ch;margin-top:2px;font-size:.8rem;color:var(--muted);white-space:normal;text-align:left}.page>.rec-pair,.page>.card+.rec-pair,.page>.rec-pair+.card{margin-top:16px}.rec-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}@media(min-width:768px){.rec-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.page>.rec-run{margin-top:16px}.rec-pair>.card+.card{margin-top:0}.card dl+.actions{margin-top:12px}.rec-card{border-top:1px solid var(--border);padding-top:12px;margin-top:12px;display:grid;gap:8px;justify-items:start}.rec-card>*{margin:0}.rec-card h3{font-size:1.05rem}.rec-card h4{margin:12px 0 4px;font-size:.95rem}.rec-card details{width:100%}.rec-card.selected{border-left:4px solid var(--accent);padding-left:12px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.8rem;font-weight:600}.task-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.task-list button{width:100%;text-align:left}.inline-fields{max-width:320px;margin-bottom:12px}.admin-table th[scope=row]{font-weight:400;min-width:14ch}.admin-table select,.admin-table input[type=date]{width:auto;max-width:100%}.export-list{margin:12px 0 0;padding-left:20px;columns:2 220px}.export-list li{margin-bottom:6px}.break{overflow-wrap:anywhere}.admin-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 16px}.admin-nav a[aria-current=page]{font-weight:650;text-decoration:none;color:var(--text)}.page>form+section,.page>section+form,.page>form+form{margin-top:16px}.review-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.review-item{display:grid;gap:8px;justify-items:start;padding-top:12px;border-top:1px solid var(--border)}.review-item p{margin:0}.review-form{display:grid;gap:8px;width:100%}
