@font-face{font-family:"IBM Plex Sans";src:url('/assets/fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url('/assets/fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url('/assets/fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url('/assets/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url('/assets/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url('/assets/fonts/barlow-condensed-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url('/assets/fonts/barlow-condensed-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url('/assets/fonts/barlow-condensed-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:light;--ground:#edf1ee;--panel:#fff;--panel-2:#f5f8f6;--line:#d7ddd8;--ink:#16201b;--ink-2:#56645d;--ink-3:#87958e;--live:#0e9a57;--live-soft:rgba(14,154,87,.13);--idle:#9ba7a1;--fault:#c6453b;--fault-soft:rgba(198,69,59,.12);--warn:#c2662a;--warn-soft:rgba(194,102,42,.13);--solar:#d99a12;--p2:#2e9163;--sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--cond:"Barlow Condensed","Arial Narrow",sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--r:7px;--h:38px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground:#0d1211;--panel:#151d19;--panel-2:#1a2420;--line:#293430;--ink:#e7eeea;--ink-2:#9daca5;--ink-3:#6f7f78;--live:#3cd183;--live-soft:rgba(60,209,131,.15);--idle:#697872;--fault:#f0655a;--fault-soft:rgba(240,101,90,.15);--warn:#e8874a;--warn-soft:rgba(232,135,74,.15);--solar:#f0b93d;--p2:#35a56f}}
:root[data-theme=dark]{color-scheme:dark;--ground:#0d1211;--panel:#151d19;--panel-2:#1a2420;--line:#293430;--ink:#e7eeea;--ink-2:#9daca5;--ink-3:#6f7f78;--live:#3cd183;--live-soft:rgba(60,209,131,.15);--idle:#697872;--fault:#f0655a;--fault-soft:rgba(240,101,90,.15);--warn:#e8874a;--warn-soft:rgba(232,135,74,.15);--solar:#f0b93d;--p2:#35a56f}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:var(--ground);color:var(--ink);font:14px/1.45 var(--sans);min-width:280px}button,input,select{font:13px var(--sans);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--r);min-height:var(--h)}button{padding:0 12px;cursor:pointer}button:hover{background:var(--panel-2);border-color:var(--ink-3)}button:disabled,input:disabled,select:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--live);outline-offset:3px}input,select{padding:7px 9px;max-width:100%}a{color:inherit}svg{display:block}button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.skip-link{position:absolute;top:-80px;left:16px;z-index:99;padding:12px;background:var(--panel);border:1px solid var(--live)}.skip-link:focus{top:12px}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0}.topbar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line);min-height:72px}.topbar-start,.topbar-end{display:flex;align-items:center;gap:10px;min-width:0}.topbar-end{justify-content:flex-end}.app-name,.wordmark{font:600 17px var(--cond);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.wordmark{font-size:16px;letter-spacing:.12em}.station-heading{text-align:center}.station-heading h1{font:500 17px var(--mono);line-height:1.3}.station-heading>span{font-size:11px;color:var(--ink-2)}#navigation{position:absolute;left:16px;top:64px;z-index:10;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:6px;box-shadow:0 8px 24px #0002;min-width:230px}#navigation a{display:flex;align-items:center;text-decoration:none;min-height:44px;padding:0 12px;border-radius:5px}#navigation a:hover{background:var(--panel-2)}#navigation p{border-top:1px solid var(--line);color:var(--ink-2);font-size:11px;padding:10px 12px}.page{max-width:1440px;margin:0 auto;padding:0 16px 20px}.station-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 0}.status-badge{font:600 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--line);padding:5px 8px;border-radius:5px;flex-shrink:0}.status-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--idle)}.status-badge[data-state=fresh]{background:var(--live-soft);border-color:var(--live)}.status-badge[data-state=fresh]::before{background:var(--live)}.status-badge[data-state=stale],.status-badge[data-state=partial]{background:var(--warn-soft);border-color:var(--warn)}.status-badge[data-state=stale]::before,.status-badge[data-state=partial]::before{background:var(--warn)}.status-badge[data-state=error]{background:var(--fault-soft);border-color:var(--fault)}.status-badge[data-state=error]::before{background:var(--fault)}.station-status p{color:var(--ink-2);font-size:12px;flex:1;min-width:170px}.text-button{display:flex;align-items:center;gap:6px;font-size:12px;background:transparent;min-height:34px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.section-heading h2{font:600 13px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.section-heading>span{font-size:11px;color:var(--ink-2)}.sensor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sensor-card{container-type:inline-size;background:var(--panel);border:1px solid var(--line);border-radius:9px;min-width:0;display:flex;flex-direction:column}.sensor-card>header{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--line);min-height:46px}.sensor-card h3{font:600 17px var(--cond);letter-spacing:.04em;text-transform:uppercase;flex:1;text-align:center}.sensor-card>header>.category-icon{color:var(--ink-2);font:500 19px var(--cond);width:19px;text-align:center}.sensor-card .history-link{border:0;background:transparent;color:var(--live);min-height:28px;min-width:28px;width:28px;padding:0}.sensor-body{padding:24px 16px 17px;flex:1;min-height:185px}.primary-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:center}.metric-button{display:block;width:100%;background:transparent;border:0;border-radius:5px;text-align:inherit;padding:0 4px;min-height:100px}.metric-button:hover{background:var(--panel-2)}.reading-label{display:block;color:var(--ink-2);font-size:12px;font-weight:400;overflow-wrap:anywhere}.reading-value{font:500 30px/1.35 var(--mono);letter-spacing:-1px;display:block;font-variant-numeric:tabular-nums;color:var(--ink);overflow-wrap:anywhere}.reading-unit{font:500 13px var(--cond);letter-spacing:.03em;color:var(--ink-2);display:block;min-height:18px}.reading-time{display:block;font:400 10px var(--mono);color:var(--ink-2);margin-top:3px}.reading-missing{font:400 13px/1.6 var(--sans);letter-spacing:0;color:var(--ink-2);padding:9px 0}.details-readings{display:flex;flex-direction:column;gap:4px;margin:10px 0 0}.details-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:22px}.details-row dt{font-size:11px;color:var(--ink-2);overflow-wrap:anywhere}.details-row dd{margin:0;flex-shrink:0;font:400 11px var(--mono);font-variant-numeric:tabular-nums}.details-row dd small{font:400 11px var(--sans)}.details-row .metric-inline{padding:2px 0;min-height:22px;font:inherit;border:0;background:transparent;color:inherit;border-radius:3px}.details-row .metric-inline:hover{text-decoration:underline;color:var(--live)}.card-footer{padding:7px 13px;border-top:1px solid var(--line);color:var(--ink-2);font:400 10px var(--mono);display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.card-footer .missing-note{font-family:var(--sans)}.rain-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:12px;align-items:center;min-height:223px}.rain-body .primary-readings{grid-template-columns:1fr;gap:9px}.rain-body .metric-button{min-height:78px}.rain-body .details-readings{margin:0}.wind-body{display:grid;grid-template-columns:.55fr 1.6fr .55fr;align-items:center;gap:3px;padding:15px 12px 8px;min-height:210px}.wind-body .reading-value{font-size:24px}.wind-body .metric-button{min-height:86px}.wind-compass{position:relative;min-width:0;max-width:186px;width:100%;aspect-ratio:1;justify-self:center;color:var(--live)}.wind-compass>svg{width:100%;height:auto}.compass-grid{stroke:var(--line);fill:none;stroke-width:1.5}.compass-degree{fill:var(--ink-2);font:400 11px var(--mono);text-anchor:middle}.compass-needle{fill:var(--live)}.compass-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.compass-center>span:first-child{font-size:11px;color:var(--ink-2)}.compass-center strong{font:500 27px var(--mono);letter-spacing:-1px;color:var(--ink)}.compass-center strong sup{font-size:12px}.compass-center>span:last-child{font:600 15px var(--cond);letter-spacing:.07em;color:var(--ink-2)}.wind-extra{padding:0 15px 12px}.empty-state{padding:45px 20px;text-align:center;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.empty-state>svg{width:32px;height:32px;fill:none;stroke:var(--ink-2);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 15px}.empty-state h3{font:600 22px var(--cond);letter-spacing:.02em}.empty-state p{max-width:460px;margin:8px auto 0;color:var(--ink-2);font-size:13px}.warnings{border:1px solid var(--warn);border-radius:7px;background:var(--warn-soft);color:var(--ink);font-size:12px;padding:10px 12px;margin-bottom:12px}.warnings p+p{margin-top:4px}.history-section{margin-top:16px}.history-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:11px 12px;background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-bottom:12px}.history-view{display:flex;gap:3px;align-self:flex-end}.selected,button[aria-pressed=true]{background:var(--live-soft);border-color:var(--live)}.history-view button[aria-pressed=true]{color:var(--live)}.field-label{display:flex;flex-direction:column;gap:4px;color:var(--ink-2);font:500 12px var(--cond);letter-spacing:.06em;text-transform:uppercase;min-width:0}.field-label select{min-width:175px;max-width:260px;text-transform:none;letter-spacing:0}.period-controls{display:flex;gap:3px}.period-controls button{font:400 12px var(--sans);padding:0 10px;white-space:nowrap}.date-controls{display:flex;gap:6px;align-items:flex-end;margin-left:auto}.date-controls input{width:143px;font:400 11px var(--mono);letter-spacing:0}.date-controls>button{font-size:12px}.history-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:14px 14px 12px}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.eyebrow{font:600 11px var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2)}.history-heading h2{font:600 20px var(--cond);letter-spacing:.04em;text-transform:uppercase;margin-top:3px}.series-label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink-2)}.series-label i{width:17px;height:2px;background:var(--p2)}.history-feedback{padding:43px 12px;text-align:center;color:var(--ink-2);font-size:13px;min-height:180px;display:grid;place-items:center}.history-feedback[data-error=true]{color:var(--ink)}.chart-container{position:relative;padding-top:10px;width:100%;min-width:0}.chart-container>svg{width:100%;display:block;height:280px;overflow:visible}.chart-axis{fill:var(--ink-2);font:400 11px var(--mono)}.chart-grid{stroke:var(--line);stroke-width:1}.chart-frame{stroke:var(--line);stroke-width:1;fill:none}.chart-series{stroke:var(--p2);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-mark{fill:var(--p2)}.chart-guide{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3}.chart-tooltip{position:absolute;z-index:2;pointer-events:none;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:9px 11px;font:400 11px var(--mono);box-shadow:0 8px 24px #0002;max-width:245px;white-space:pre-line}.history-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-2);font-size:11px;border-top:1px solid var(--line);padding-top:10px;margin-top:8px}.history-bottom #history-range{font-family:var(--mono);font-size:10px}.history-table{margin-top:15px;overflow-x:auto}.history-table table{width:100%;border-collapse:collapse;min-width:280px}.history-table th,.history-table td{padding:9px 7px;border-bottom:1px solid var(--line);text-align:right;font-weight:400}.history-table th{font:500 13px var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.history-table td{font:400 12px var(--mono)}.history-table th:first-child,.history-table td:first-child{text-align:left}.history-table caption{text-align:left;color:var(--ink-2);font-size:11px;margin:8px 0}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 5px;flex-wrap:wrap;font:400 11px var(--mono);color:var(--ink-2)}.table-pagination>div{display:flex;gap:5px}.table-pagination button{font:400 12px var(--sans);min-height:34px}.page-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-2);font-size:11px;padding-top:20px}.page-footer b{font-weight:400;margin:0 4px}.noscript{padding:20px;margin:20px;border:1px solid var(--warn)}
.field-stale{background:var(--warn-soft);border-radius:3px;padding:2px 4px}.details-row .reading-time{margin-top:1px;font-size:10px}.wind-body{padding-bottom:23px}.compass-time{position:absolute;left:0;right:0;bottom:-14px;text-align:center;font-size:10px}
@container(max-width:290px){.reading-value{font-size:26px}.wind-body .reading-value{font-size:20px}.wind-body{grid-template-columns:.6fr 1.5fr .6fr;padding-left:7px;padding-right:7px}.compass-center strong{font-size:23px}.rain-body{padding-left:12px;padding-right:12px;gap:8px}.details-row{gap:4px}.details-row dt,.details-row dd{font-size:10px}}
@media(max-width:900px){.sensor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-controls{margin-left:0}.field-label select{max-width:245px}.app-name{font-size:16px}.wordmark{font-size:14px}}
@media(max-width:630px){.topbar{grid-template-columns:1fr auto 1fr;padding:10px 12px;gap:8px;min-height:66px}.app-name,.wordmark{display:none}.topbar-start,.topbar-end{gap:0}.topbar-end{justify-content:flex-end}.station-heading h1{font-size:16px}.page{padding:0 10px 16px}.station-status{gap:8px;padding:13px 0}.station-status p{order:3;flex-basis:100%;font-size:11px}.station-status .text-button{margin-left:auto}.section-heading>span{font-size:10px}.sensor-grid{grid-template-columns:1fr}.sensor-body{min-height:190px;padding-top:26px}.wind-body{min-height:205px;padding-top:13px}.rain-body{min-height:212px}.wind-compass{max-width:174px}.history-toolbar{padding:10px;gap:12px 8px}.field-label{flex:1}.field-label select{min-width:0;max-width:100%;width:100%}.history-toolbar>.field-label{flex-basis:calc(100% - 98px)}.period-controls{width:100%}.period-controls button{flex:1}.date-controls{width:100%}.date-controls>.field-label{flex:1}.date-controls input{width:100%;min-width:0}.date-controls>button{flex-shrink:0}.history-card{padding:12px 9px}.history-heading h2{font-size:18px}.chart-container>svg{height:245px}.history-feedback{font-size:12px;padding:30px 12px}.history-bottom{gap:7px}.page-footer{font-size:10px}.history-table td{font-size:11px}.history-table th,.history-table td{padding:8px 4px}.reading-time{font-size:10px}}
@media(pointer:coarse){button,.icon-button,input,select{min-height:44px}.icon-button{width:44px;min-width:44px;height:44px}input,select{font-size:16px}.field-label select{font-size:16px}.date-controls input{font-size:14px}.history-link{min-height:44px!important;min-width:44px!important}.details-row .metric-inline{min-height:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Dados continuam completos; o horário de cada campo acompanha seu rótulo acessível. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.station-status{position:relative}.station-status #latest-warnings{position:static}
.warnings{position:relative;padding:0;background:transparent;border:0;z-index:12}
.warnings>summary{list-style:none;cursor:pointer;border:1px solid var(--warn);background:var(--warn-soft);color:var(--ink);border-radius:5px;font:600 12px var(--cond);letter-spacing:.04em;padding:5px 8px;white-space:nowrap}
.warnings>summary::-webkit-details-marker{display:none}
.warnings>summary:focus-visible{outline:2px solid var(--live);outline-offset:2px}
.warnings-body{position:absolute;top:calc(100% + 5px);right:0;width:min(430px,calc(100vw - 28px));background:var(--panel);border:1px solid var(--warn);border-radius:7px;padding:11px 13px;box-shadow:0 8px 24px #0002;color:var(--ink);font:400 12px/1.45 var(--sans)}
.warnings-body p+p{border-top:1px solid var(--line);padding-top:7px;margin-top:7px}
#history-warnings{align-self:center;margin:0 0 0 auto;flex-shrink:0}
#history-warnings .warnings-body{left:0;right:auto}
.text-button[aria-busy=true]>svg{animation:refresh-turn 1.2s linear infinite}
@keyframes refresh-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.text-button[aria-busy=true]>svg{animation:none}}

/* Painel de consulta em uma tela, incluindo o navegador integrado de 600 px. */
@media(min-width:560px) and (min-height:680px),(min-width:1100px) and (min-height:620px){
  body{height:100dvh;display:flex;flex-direction:column;min-height:0;font-size:13px}
  .topbar{flex:0 0 48px;min-height:48px;padding:4px 12px;gap:10px}
  .topbar .icon-button{width:32px;height:32px;min-width:32px;min-height:32px}
  .app-name,.wordmark{font-size:15px}.station-heading h1{font-size:15px}.station-heading>span{font-size:10px}
  #navigation{top:44px;left:12px}
  .page{width:100%;max-width:none;flex:1 1 0%;min-height:0;padding:0 12px 4px;display:flex;flex-direction:column}
  .station-status{flex:0 0 auto;min-height:36px;padding:4px 0;gap:7px;flex-wrap:nowrap}
  .station-status p{font-size:11px;line-height:1.25;min-width:0;flex:1;overflow-wrap:anywhere}
  .status-badge{font-size:11px;padding:4px 6px;gap:5px}.status-badge::before{width:5px;height:5px}
  .station-status .text-button{min-height:28px;padding:0 7px;font-size:11px;flex-shrink:0;gap:4px}
  .station-status .warnings{margin:0;flex-shrink:0}.warnings>summary{font-size:11px;padding:4px 6px}
  #medicoes{flex:0 0 auto;min-height:0}
  .section-heading{height:19px;margin:0 0 5px;gap:6px;flex-wrap:nowrap}
  .section-heading h2{font-size:12px;letter-spacing:.09em}.section-heading>span{font-size:10px;white-space:nowrap}
  .sensor-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:stretch}
  .sensor-card{grid-column:span 3;min-height:0;border-radius:7px}
  .sensor-card[data-group=rainfall],.sensor-card[data-group=rainfall_piezo]{order:1}
  .sensor-card[data-group=wind]{order:2}.sensor-card[data-group=outdoor]{order:3}.sensor-card[data-group=indoor]{order:4}
  .sensor-card[data-group=pressure]{order:5;grid-column:span 2}.sensor-card[data-group=solar_and_uvi]{order:6;grid-column:span 2}.sensor-card[data-group=battery]{order:7;grid-column:span 2}
  .sensor-card>header{min-height:26px;height:26px;padding:3px 9px;gap:5px}
  .sensor-card h3{font-size:15px;line-height:1;letter-spacing:.035em}
  .sensor-card>header>.category-icon{font-size:17px;width:15px}
  .sensor-card .history-link{min-width:23px;min-height:22px;width:23px;height:22px;padding:0}.history-link svg{width:16px;height:16px}
  .sensor-body{padding:7px 10px 6px;min-height:0;flex:1}
  .primary-readings{gap:7px}
  .metric-button{display:grid;grid-template-columns:auto auto;column-gap:4px;align-content:center;justify-content:center;min-height:0;padding:1px 2px}
  .reading-label{grid-column:1/-1;font-size:11px;line-height:15px}
  .reading-value{font-size:23px;line-height:27px;letter-spacing:-.8px}
  .reading-unit{align-self:center;min-height:0;font-size:12px;line-height:15px}
  .reading-missing{font-size:11px;line-height:27px;padding:0;letter-spacing:0;grid-column:1/-1}
  .details-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;margin-top:6px}
  .details-row{min-height:18px;gap:5px;line-height:18px;align-items:baseline}
  .details-row dt{font-size:11px;line-height:16px;flex:1}
  .details-row dd{font-size:11px;line-height:16px;max-width:60%;overflow-wrap:anywhere}
  .details-row dd small{font-size:10px}.details-row .metric-inline{min-height:18px;padding:0;line-height:16px}
  .card-footer{padding:3px 9px;min-height:17px;font-size:10px;line-height:10px;gap:4px;flex-wrap:nowrap}
  .card-footer .missing-note{font-size:10px}
  .rain-body{display:block;min-height:0;padding:6px 10px}
  .rain-body .primary-readings{grid-template-columns:1fr 1fr;gap:6px}
  .rain-body .metric-button{min-height:0}
  .rain-body .details-readings{margin-top:5px}
  .wind-body{min-height:0;padding:4px 12px 5px;grid-template-columns:.7fr 1.4fr .7fr;gap:3px}
  .wind-body .metric-button{display:flex;flex-direction:column;align-items:center;min-height:0;gap:0;padding:0}
  .wind-body .reading-value{font-size:23px;line-height:27px}.wind-body .reading-unit{font-size:12px}
  .wind-compass{max-width:100px}.compass-degree{font-size:24px}
  .compass-center>span:first-child{font-size:10px}.compass-center strong{font-size:22px;line-height:1.1}
  .compass-center strong sup{font-size:10px}.compass-center>span:last-child{font-size:13px;line-height:1.15}
  .wind-extra{padding:0 9px 4px}
  .sensor-card[data-group=pressure] .sensor-body,.sensor-card[data-group=solar_and_uvi] .sensor-body{padding:6px 8px}
  .sensor-card[data-group=pressure] .metric-button,.sensor-card[data-group=solar_and_uvi] .metric-button{display:flex;flex-direction:column;align-items:center}
  .sensor-card[data-group=pressure] .reading-value,.sensor-card[data-group=solar_and_uvi] .reading-value{font-size:19px;line-height:24px;letter-spacing:-.7px}
  .sensor-card[data-group=pressure] .reading-label,.sensor-card[data-group=solar_and_uvi] .reading-label{font-size:11px;line-height:14px}
  .sensor-card[data-group=pressure] .reading-unit,.sensor-card[data-group=solar_and_uvi] .reading-unit{font-size:11px;line-height:14px}
  .sensor-card[data-group=battery] .sensor-body{display:flex;align-items:center;justify-content:center;padding:6px 9px}
  .sensor-card[data-group=battery] .details-readings{grid-template-columns:1fr;margin:0;width:100%}
  .sensor-card[data-group=battery] .details-row{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
  .sensor-card[data-group=battery] .details-row dd{max-width:100%;font-size:16px;line-height:20px}
  .sensor-card[data-group=battery] .details-row dt{font-size:11px;line-height:14px}
  .history-section{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;margin-top:7px}
  .history-toolbar{flex:0 0 auto;margin-bottom:6px;padding:5px 7px;gap:6px;flex-wrap:nowrap;border-radius:7px;align-items:flex-end}
  .history-view{gap:2px}.history-view .icon-button{width:30px;height:30px;min-width:30px;min-height:30px}
  .field-label{font-size:10px;line-height:11px;gap:3px;flex:0 1 auto}
  .field-label select{min-width:0;width:160px;max-width:160px;min-height:30px;font-size:11px;padding:4px 6px}
  .history-toolbar>.field-label{flex:1;max-width:260px}
  .history-toolbar>.field-label select{width:100%;max-width:none}
  .period-controls{width:auto;gap:2px}.period-controls button{padding:0 7px;min-height:30px;font-size:11px;flex:0;white-space:nowrap}
  .date-controls{width:auto;gap:4px;margin-left:auto;flex:0 0 auto}
  .date-controls input{width:122px;min-height:30px;font-size:11px;padding:3px 5px}
  .date-controls>button{min-height:30px;font-size:11px;padding:0 7px}
  .history-card{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;padding:7px 10px 6px;border-radius:7px}
  .history-heading{flex:0 0 auto;min-height:23px;gap:8px;flex-wrap:nowrap}
  .history-heading>div{display:flex;align-items:center;gap:10px;min-width:0}
  .history-heading .eyebrow{font-size:10px;line-height:12px;flex-shrink:0}
  .history-heading h2{font-size:16px;margin:0;line-height:1.1}
  .series-label{font-size:10px;flex-shrink:0}
  .chart-container{flex:1 1 0%;min-height:90px;padding-top:4px}
  .chart-container>svg{height:100%;min-height:0}
  .history-feedback{flex:1 1 0%;min-height:90px;padding:16px 10px;font-size:12px}
  .history-bottom{flex:0 0 auto;gap:5px 10px;padding-top:5px;margin-top:3px;font-size:10px;line-height:12px;flex-wrap:wrap}
  .history-bottom #history-range{font-size:10px}
  .history-table{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;margin-top:3px;overflow:visible}
  .history-table table{min-width:0}.history-table caption{font-size:10px;line-height:12px;margin:3px 0;text-align:left}
  .history-table th,.history-table td{padding:3px 7px;line-height:15px}
  .history-table th{font-size:12px}.history-table td{font-size:11px}
  .table-pagination{font-size:10px;line-height:12px;margin:4px 0 0;gap:5px;flex-wrap:nowrap}
  .table-pagination button{font-size:11px;min-height:26px;padding:0 8px}
  .page-footer{flex:0 0 auto;min-height:17px;padding-top:4px;font-size:10px;line-height:12px;flex-wrap:nowrap}
  .empty-state{padding:22px 12px;min-height:170px}
}

@media(min-width:1100px) and (min-height:620px){
  .sensor-grid{grid-template-columns:repeat(4,minmax(0,1fr));height:clamp(282px,40vh,440px);grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}
  .sensor-card{grid-column:auto;order:0!important}
  .sensor-card[data-group=rainfall]{grid-column:1;grid-row:1/3}
  .sensor-card[data-group=wind]{grid-column:2;grid-row:1}
  .sensor-card[data-group=outdoor]{grid-column:3;grid-row:1}
  .sensor-card[data-group=indoor]{grid-column:4;grid-row:1}
  .sensor-card[data-group=pressure]{grid-column:2;grid-row:2}
  .sensor-card[data-group=solar_and_uvi]{grid-column:3;grid-row:2}
  .sensor-card[data-group=battery]{grid-column:4;grid-row:2}
  .sensor-card>header{height:29px;min-height:29px;padding:4px 11px}
  .sensor-card h3{font-size:16px}.sensor-body{padding:8px 12px 7px}
  .reading-value{font-size:27px;line-height:30px}.reading-label{font-size:12px;line-height:16px}
  .rain-body{display:grid;grid-template-columns:.85fr 1.2fr;gap:14px;align-items:center;padding:15px}
  .rain-body .primary-readings{grid-template-columns:1fr;gap:22px}
  .rain-body .metric-button{grid-template-columns:1fr;min-height:64px}
  .rain-body .reading-value{font-size:34px;line-height:40px}
  .rain-body .reading-unit{font-size:13px}
  .rain-body .details-readings{grid-template-columns:1fr;gap:8px;margin:0}
  .rain-body .details-row{min-height:21px}.rain-body .details-row dt{font-size:12px}.rain-body .details-row dd{font-size:12px}
  .wind-compass{max-width:clamp(92px,calc(20vh - 63px),150px)}
  .compass-degree{font-size:24px}.wind-body .reading-value{font-size:25px;line-height:30px}
  .compass-center strong{font-size:25px}
  .sensor-card[data-group=pressure] .sensor-body,.sensor-card[data-group=solar_and_uvi] .sensor-body{display:grid;align-content:center;padding:8px 13px}
  .sensor-card[data-group=pressure] .reading-value,.sensor-card[data-group=solar_and_uvi] .reading-value{font-size:27px;line-height:32px}
  .sensor-card[data-group=pressure] .reading-label,.sensor-card[data-group=solar_and_uvi] .reading-label{font-size:12px;line-height:16px}
  .sensor-card[data-group=pressure] .reading-unit,.sensor-card[data-group=solar_and_uvi] .reading-unit{font-size:13px;line-height:16px}
  .sensor-card[data-group=battery] .details-row dd{font-size:25px;line-height:30px}
  .sensor-card[data-group=battery] .details-row dt{font-size:12px;line-height:18px}
  .history-toolbar{padding:6px 10px;gap:10px}.field-label{font-size:11px}
  .field-label select,.period-controls button,.date-controls input,.date-controls>button{min-height:32px;font-size:12px}
  .history-toolbar>.field-label{max-width:320px}.date-controls input{width:135px}
  .history-card{padding:8px 12px 7px}.history-heading h2{font-size:18px}.history-heading .eyebrow{font-size:11px}
}

@media(min-width:1600px) and (min-height:900px){
  .topbar{flex-basis:56px}.app-name,.wordmark{font-size:18px}.station-heading h1{font-size:18px}
  .station-status{min-height:42px}.station-status p{font-size:12px}.section-heading{height:24px}.section-heading h2{font-size:14px}.section-heading>span{font-size:11px}
  .sensor-card>header{min-height:34px;height:34px}.sensor-card h3{font-size:18px}.reading-value{font-size:32px;line-height:37px}
  .sensor-body{padding:13px 17px}.reading-label{font-size:13px}.details-readings{gap:6px 15px;margin-top:12px}.details-row dt,.details-row dd{font-size:12px;line-height:20px}
  .wind-compass{max-width:150px}.wind-body .reading-value{font-size:30px}.compass-center strong{font-size:29px}
  .history-toolbar{padding:8px 12px}.history-card{padding:12px 14px 9px}.history-heading h2{font-size:21px}.card-footer{padding:4px 12px;font-size:11px;min-height:20px}
}

@media(min-width:560px) and (max-width:700px) and (min-height:680px){
  .topbar .app-name,.topbar .wordmark{display:block;font-size:13px;letter-spacing:.06em}
  .topbar{gap:6px}.topbar-start,.topbar-end{gap:6px}
  .page{padding-left:9px;padding-right:9px}.station-status{gap:6px}
  .station-status .text-button{width:29px;min-width:29px;padding:0;display:grid;place-items:center}
  .station-status .text-button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .station-status p{font-size:10px}.status-badge{font-size:10px;padding:4px 5px}.station-status .warnings>summary{font-size:10px;padding:4px 5px}
  .section-heading>span{font-size:10px}.sensor-card h3{font-size:14px}
  .sensor-card>header{height:24px;min-height:24px;padding:2px 8px}.sensor-card .history-link{height:20px;min-height:20px}
  .sensor-body{padding:6px 9px 5px}.reading-label{line-height:14px}.reading-value{line-height:25px}
  .card-footer{min-height:15px;padding:2px 8px;line-height:11px}
  .wind-body{padding:3px 10px 4px}.wind-compass{max-width:96px}.wind-body .reading-value{font-size:22px;line-height:25px}
  .sensor-card[data-group=pressure] .reading-label,.sensor-card[data-group=solar_and_uvi] .reading-label{line-height:13px}
  .sensor-card[data-group=pressure] .reading-value,.sensor-card[data-group=solar_and_uvi] .reading-value{font-size:18px;line-height:23px}
  .sensor-card[data-group=pressure] .reading-unit,.sensor-card[data-group=solar_and_uvi] .reading-unit{line-height:13px}
  .history-toolbar{gap:5px;padding:5px 6px}.history-toolbar>.field-label{max-width:158px;flex:1}
  .history-view .icon-button{width:28px;min-width:28px;min-height:30px}.period-controls button{font-size:10px;padding:0 5px}
  .date-controls input{width:116px;font-size:10px}.date-controls>button{font-size:10px;padding:0 5px}
  .history-heading .eyebrow{font-size:10px}.history-heading h2{font-size:15px}.history-heading>div{gap:7px}
  .history-bottom{font-size:10px;gap:4px 6px}.page-footer{font-size:9px}
}

@media(max-width:559px){
  .station-status .warnings-body{left:0;right:0;width:auto}
  #history-warnings .warnings-body{left:auto;right:0;width:min(350px,calc(100vw - 28px))}
  .station-status .warnings{margin:0}.sensor-card h3{font-size:17px}
  .details-readings{gap:5px}.card-footer{font-size:10px}.station-status .text-button{margin-left:0}
  .history-toolbar{margin-top:0}.history-heading .eyebrow{font-size:11px}
}

/* Em monitores mais baixos, os detalhes precisam caber antes do rodapé do sensor. */
@media(min-width:1100px) and (min-height:620px) and (max-height:800px){
  .sensor-grid{height:clamp(260px,40vh,320px)}
  .sensor-card>header{height:26px;min-height:26px;padding:3px 10px}
  .sensor-body{padding:4px 12px}
  .reading-label{font-size:11px;line-height:14px}.reading-value{font-size:25px;line-height:25px}
  .details-readings{margin-top:3px;gap:2px 10px}.details-row{min-height:16px;line-height:16px}
  .details-row dt,.details-row dd,.details-row .metric-inline{line-height:15px}
  .details-row .metric-inline{min-height:16px}
  .card-footer{min-height:15px;padding:2px 10px;line-height:11px}
  .rain-body{padding:12px}.rain-body .details-readings{gap:7px;margin:0}
  .wind-body{padding:4px 9px}.wind-compass{max-width:clamp(76px,calc(20vh - 60px),100px)}
  .compass-degree{font-size:29px}.compass-center strong{font-size:22px}
  .wind-body .reading-value{font-size:23px;line-height:26px}
}

/* A paginação usa a altura real das linhas; a descrição permanece acessível. */
@media(min-width:560px) and (min-height:680px),(min-width:1100px) and (min-height:620px){
  .history-table caption{position:absolute;width:1px;height:1px;margin:-1px!important;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
  .history-table th,.history-table td{padding:2px 7px;line-height:14px}
  .history-table th{font-size:11px}.history-table td{font-size:11px}
  .table-pagination{margin:3px 0 0;min-height:22px;line-height:12px}
  .table-pagination button{min-height:22px;padding:0 7px;line-height:14px;font-size:11px}
}
