/* Common content rhythm for live, archived, missing and expanded states. */
:root{--content-gap:clamp(16px,2.4vw,24px)}
main>*{min-width:0}
.section-heading,.page-hero,.hero-stat,.today-item,.info-card,.forecast-card{text-align:left}
.section-heading{align-items:flex-start;gap:12px}
.section-heading>div{min-width:0}
.section-heading p{line-height:1.55}
.hero-side{align-items:stretch}
body.dashboard-page .hero-stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px}
body.dashboard-page .hero-stat>span,body.dashboard-page .hero-stat>strong,body.dashboard-page .hero-stat>small{margin:0}
body.dashboard-page .hero-stat>span{min-height:1.5em}
body.dashboard-page .hero-stat>small{margin-top:auto}
.today-section .section-heading,.day-story-section .section-heading{text-align:left}
.review-panel{border:1px solid var(--line,#304757);background:var(--surface,#0c1e2a);border-radius:16px;padding:var(--content-gap);margin:24px 0;text-align:left;min-width:0}
.review-panel h2,.review-panel h3{margin:0 0 12px}
.review-panel p{line-height:1.6;color:var(--muted,#afc1ce)}
.review-panel button,.review-panel .button,.review-panel select,.review-panel input:not([type=range]){min-height:44px;padding:9px 12px;border:1px solid var(--line-strong,#3b596a);border-radius:10px;background:var(--surface-2,#142b39);color:var(--text,#eef7fb);font:inherit;max-width:100%}
.review-panel button{cursor:pointer}
.review-panel button:disabled{opacity:.5;cursor:default}
.review-panel button:focus-visible,.review-panel input:focus-visible,.review-panel select:focus-visible,summary:focus-visible{outline:3px solid #80d9ef;outline-offset:3px}
.review-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}
.review-controls label{display:grid;gap:6px;min-width:0}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;margin:14px 0}
.review-grid>div,.review-grid>article{padding:12px;border:1px solid var(--line,#304757);border-radius:10px;min-width:0}
.review-grid strong{display:block;margin:5px 0;font-variant-numeric:tabular-nums}
.review-note{font-size:.82rem;color:var(--muted,#afc1ce);line-height:1.6}
.review-table-wrap{overflow:auto;max-height:28rem;max-width:100%;margin:12px 0;border:1px solid var(--line,#304757);border-radius:10px}
.review-table{border-collapse:collapse;min-width:100%;font-size:.82rem;font-variant-numeric:tabular-nums}
.review-table caption{padding:12px;text-align:left;color:var(--muted,#afc1ce)}
.review-table th,.review-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line,#304757);white-space:nowrap}
.review-table th{background:#142b39;position:sticky;top:0;z-index:1}
.review-table td:first-child{font-weight:600}
.review-table-tools{margin:12px 0}
.review-table-tools>summary{cursor:pointer;min-height:32px;color:#8edbea}
.review-timeline{padding-left:20px;line-height:1.6}
.review-timeline li{padding:6px 0}
.review-photo-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0}
.review-photo-controls button{min-height:44px}
.public-photo-viewer{max-height:90dvh;overflow:auto}
[data-source-state=stale],[data-source-state=unavailable]{color:#f3cf86}
.review-panel input[type=range]{width:100%;accent-color:#7bd7ef}
.review-panel details{margin-top:14px}
.review-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:640px){.review-panel{margin:18px 0}.review-controls>label{flex:1 1 140px}.review-controls>button{flex:1 1 auto}.review-panel h2{font-size:1.25rem}.forecast-grid{grid-template-columns:1fr}.review-grid{gap:8px}.review-table th,.review-table td{padding:9px}.section-heading{flex-wrap:wrap}.section-heading>div{flex:1 1 auto;width:100%}body.dashboard-page .today-section .section-heading{padding-inline:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.topbar,.nav,.hero-actions,.review-controls,.review-table-tools,footer,.dashboard-customise{display:none!important}.review-panel,.page-section,.report-card{break-inside:avoid;background:white!important;color:#111!important;border-color:#bbb}.review-panel p,.review-note{color:#333!important}.review-grid{grid-template-columns:repeat(3,1fr)}canvas{max-width:100%!important}.review-table-wrap{overflow:visible;max-height:none}body{background:white!important}}
