/* Forecast workspace only. The detailed tools and forecast recipe keep their existing calculations. */
.forecast-focus .workspace {grid-template-columns:285px minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"side main";max-width:1440px}
.forecast-focus .side {min-width:0}
.controls-body {display:grid;gap:12px;min-width:0}
.controls-summary {display:none;cursor:pointer;font-weight:700;padding:12px}
.forecast-focus .side .tabs {display:flex;flex-wrap:wrap;gap:5px}
.forecast-focus .side .tabs .tab {white-space:normal;flex:1 1 100%;text-align:left}
.forecast-focus .side .row {flex-wrap:wrap}
.forecast-focus .side .card {min-width:0}
.forecast-focus .side .section-title {font-size:13px}
.forecast-focus #recipeNote {line-height:1.6}
.forecast-toolbar {display:flex;justify-content:flex-end;align-items:center;gap:6px;padding:0;min-width:0}
.forecast-toolbar > .forecast-jumps {display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.forecast-toolbar .btn {white-space:nowrap}
.kicker {display:block;color:var(--muted);font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.focus-heading,.brief-top {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.focus-heading h2,.brief-top h1,.brief-headline h2 {margin:3px 0 10px;line-height:1.25;letter-spacing:-.02em}
.focus-heading h2 {font:700 20px/1.25 system-ui,sans-serif}
.focus-heading label,.brief-actions label {font-size:11px;color:var(--muted);display:grid;gap:4px;min-width:155px}
.focus-heading .input,.brief-actions .input {font-size:12px;min-height:36px}
#modelTrendCard {border-top:3px solid var(--accent,#38bdf8)}
#timingCard p {font-size:13px;line-height:1.6}
#modelTrendCard details,#timingCard details {margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
#modelTrendCard summary,#timingCard summary,.technical>summary {cursor:pointer;color:var(--text);font-size:12px;font-weight:600;line-height:1.5}
.model-change-list {list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;margin:14px 0}
.model-change-list li {padding:10px 12px;background:var(--raised);border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.model-change-list li span {color:var(--muted)}
.focus-empty {font-size:14px;margin:14px 0;color:var(--muted)}
.technical-body {display:grid;gap:22px;padding-top:20px;min-width:0}
.technical-body>section+section {border-top:1px solid var(--line);padding-top:20px}
.forecast-focus #timingCard table {white-space:normal}
.forecast-focus #timingCard th,.forecast-focus #timingCard td {text-align:left;vertical-align:top}
.forecast-focus #timingCard td:first-child {font-weight:600;width:28%}
#briefingView[hidden] {display:none!important}
#briefingView {padding:24px}
.brief-top h1 {font:700 26px/1.2 system-ui,sans-serif;margin-bottom:4px}
.brief-top p {color:var(--muted);font-size:12px;margin:5px 0}
.brief-actions {display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.brief-headline {background:var(--raised);border-left:3px solid var(--accent,#38bdf8);border-radius:8px;margin:20px 0;padding:14px 16px}
.brief-headline h2 {font-size:23px;margin-bottom:0}
.brief-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.brief-grid>section {border-bottom:1px solid var(--line);padding-bottom:16px;min-width:0}
.brief-grid h2,.brief-next h2 {font:700 14px/1.4 system-ui,sans-serif;margin:0 0 10px}
.brief-grid p {font-size:13px;line-height:1.6;margin:7px 0}
.brief-values {display:flex;gap:20px;flex-wrap:wrap}
.brief-values>div {display:grid;gap:5px}
.brief-values span {font-size:11px;color:var(--muted)}
.brief-values strong {font:700 23px/1.3 ui-monospace,monospace}
.brief-next {margin-top:20px}
.brief-daycards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.brief-daycards>div {border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px}
.brief-daycards p {font-size:12px;margin-bottom:0}
.brief-foot {font-size:11px;color:var(--muted);line-height:1.6;margin-top:20px}
body.brief-view .workspace {max-width:1160px;grid-template-columns:minmax(0,1fr);grid-template-areas:"main"}
body.brief-view .side,body.brief-view .main>:not(.forecast-toolbar):not(#briefingView) {display:none!important}
body.wide-main.forecast-focus:not(.brief-view) .workspace {grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side"}
@media(max-width:900px){
 .forecast-focus .workspace {grid-template-columns:minmax(0,1fr);grid-template-areas:"side" "main";padding-top:10px}
 .controls-summary {display:list-item}
 #forecastControls {border:1px solid var(--line);border-radius:10px;background:var(--panel)}
 .controls-body {padding:0 10px 10px}
 .model-change-list {grid-template-columns:minmax(0,1fr)}
 .focus-heading h2 {font-size:18px}
 .forecast-toolbar .msg {display:none}
 .brief-grid {grid-template-columns:minmax(0,1fr);gap:16px}
 .brief-daycards {grid-template-columns:minmax(0,1fr)}
 #briefingView {padding:16px}
 .brief-top h1 {font-size:22px}
 .brief-headline h2 {font-size:20px}
 .brief-values {gap:16px}
}
@media print {
 .forecast-toolbar,.controls-summary,.brief-actions {display:none!important}
 body.brief-view .workspace {max-width:none;display:block;padding:0}
 body.brief-view #briefingView {border:0;padding:0;box-shadow:none}
 .brief-grid {grid-template-columns:1fr 1fr;gap:12px}
 .brief-grid>section,.brief-next,.brief-headline {break-inside:avoid}
 .brief-daycards {grid-template-columns:repeat(3,1fr)}
 .brief-headline,.model-change-list li {background:#f4f6f8!important}
 .brief-grid p {font-size:11px}
 .brief-values strong {font-size:20px}
 .brief-foot {font-size:9px}
}

.forecast-jumps {display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.brief-view .forecast-jumps>a,.brief-view .statusbar .headline,.brief-view .statusbar>.vsep {display:none}
.brief-view .statusbar .site-id {flex:1}
#modelTrendCard,#timingCard {scroll-margin-top:20px}
@media(max-width:600px){.forecast-toolbar {align-items:flex-start;flex-wrap:wrap}.forecast-jumps {justify-content:flex-start}.forecast-jumps .btn {font-size:10px}}

/* Grid children must shrink to the card; wide diagnostics scroll within their own region. */
.forecast-focus .technical-body {grid-template-columns:minmax(0,1fr)}
.forecast-focus .technical-body>section {min-width:0;max-width:100%}
.forecast-focus .technical .tablewrap {width:100%;max-width:100%;min-width:0;overscroll-behavior-inline:contain}
.forecast-focus .tablewrap:focus-visible {outline:2px solid var(--accent);outline-offset:3px}
.forecast-focus details.technical:not([open])>.technical-body,
.forecast-focus #forecastControls:not([open])>.controls-body {display:none}
.forecast-focus .technical .section-sub {max-width:80ch}
.forecast-focus .table-scroll-note {font-size:11px;color:var(--muted);margin:7px 0}

.forecast-focus .chartbox canvas {display:block;max-width:100%}

/* A quiet record heads-up under the daily extreme; no extra dashboard panel. */
.record-watch {display:block;max-width:100%;margin:5px 0 0 auto;padding:3px 5px;border:1px solid currentColor;border-radius:5px;background:transparent;font:600 10px/1.35 var(--font-body);white-space:normal;cursor:pointer}
.record-watch.warm {color:var(--warm)}.record-watch.cold {color:var(--cold)}
.record-watch-detail:not([hidden]) {display:block;max-width:24ch;margin:6px 0 0 auto;text-align:left;white-space:normal;font:400 11px/1.5 var(--font-body);color:var(--muted)}
@media print{.record-watch.warm {color:#9f2424!important}.record-watch.cold {color:#075985!important}}

.weight-scope {display:grid;gap:7px;margin:12px 0;padding-bottom:12px;border-bottom:1px solid var(--line)}
.weight-scope .msg {font-size:11px;line-height:1.5;margin:0}


/* Keep forecast values primary and source controls easy to scan. */
.forecast-focus .workspace { grid-template-columns:270px minmax(0,1fr); gap:20px; padding-top:20px; }
.forecast-focus .main { gap:18px; }
.forecast-focus .side .card { padding:16px; }
.forecast-focus .side .section-title { font-size:14px; }
.forecast-focus #presetTabs { flex:1 0 100%; display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
.forecast-focus #presetTabs .tab { padding:9px 11px; font-size:10.5px; letter-spacing:.025em; }
.forecast-focus #recipeNote { margin-top:10px; }
.guidance-details { margin-top:12px; border-top:1px solid var(--line); padding-top:10px; }
.guidance-details summary { cursor:pointer; color:var(--muted); font-size:12px; font-weight:600; }
.guidance-details #runMsg { margin-top:8px; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.forecast-focus #tiles { grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; background:var(--raised); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.forecast-focus #tiles .tile { border:0; border-radius:0; padding:14px 12px; background:transparent; align-content:start; gap:7px; }
.forecast-focus #tiles .tile+.tile { border-left:1px solid var(--line); }
.forecast-focus #tiles .k { font-size:10px; line-height:1.4; letter-spacing:.04em; }
.forecast-focus #tiles .v { font-size:25px; letter-spacing:-.03em; }
.forecast-focus #tiles .s { font-size:11px; line-height:1.5; }
.forecast-toolbar .btn { text-decoration:none; }
.forecast-focus table.daily th { padding-top:13px; padding-bottom:10px; font-size:10px; letter-spacing:.035em; }
.forecast-focus table.daily td { padding-top:10px; padding-bottom:10px; vertical-align:middle; }
.forecast-focus table.daily td.day { font-family:var(--font-body); font-weight:750; letter-spacing:.01em; }
.forecast-focus table.daily tr[data-k]:hover { background:color-mix(in srgb,var(--accent) 5%,transparent); }
.forecast-focus table.daily tr.is-today>td:first-child { box-shadow:inset 2px 0 var(--accent); padding-left:10px; }
.forecast-focus #dailyExplain { margin-top:10px; }
.forecast-focus #dailyExplain>summary { padding:4px 0; }
@media(max-width:1200px) {
 .forecast-focus #tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .forecast-focus #tiles .tile:nth-child(3n+1) { border-left:0; }
 .forecast-focus #tiles .tile:nth-child(n+4) { border-top:1px solid var(--line); }
}
@media(max-width:900px) {
 .forecast-focus .workspace { grid-template-columns:minmax(0,1fr); gap:14px; padding-top:14px; }
 .forecast-focus .side .card { padding:14px; }
 .controls-summary { padding:14px; font-size:13px; }
}
@media(max-width:600px) {
 .forecast-focus .main { gap:14px; }
 .forecast-focus #tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .forecast-focus #tiles .tile:nth-child(n) { border-left:0; border-top:0; padding:13px 12px; }
 .forecast-focus #tiles .tile:nth-child(2n) { border-left:1px solid var(--line); }
 .forecast-focus #tiles .tile:nth-child(n+3) { border-top:1px solid var(--line); }
 .forecast-focus #tiles .v { font-size:24px; }
 .forecast-focus table.daily th,.forecast-focus table.daily td { padding-left:4px; padding-right:4px; }
 .forecast-focus table.daily td.num { font-size:12px; }
 .forecast-focus table.daily td.day { font-size:11px; }
 .forecast-focus table.daily tr.is-today>td:first-child { padding-left:7px; }
 .forecast-jumps { gap:5px; }
 .forecast-jumps .btn { min-height:32px; display:inline-flex; align-items:center; }
}
@media print {
 .forecast-focus #tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .guidance-details { display:none; }
}

body.brief-view .statusbar:has(.site-id) { grid-template-columns:minmax(0,1fr) auto; }

/* Keep table tools together; let the title and actions wrap as complete groups. */
.daily-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.daily-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-left:auto}
.daily-actions .btn{min-height:30px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:600px){.daily-actions{width:100%;margin-left:0;justify-content:flex-start}.daily-actions .btn{font-size:10px;flex:1 1 auto;padding:6px 8px}.daily-heading{gap:8px}}
@media print{.daily-actions{display:none!important}}
