@charset "UTF-8";
/* SENTINELA MeteoOps · peças próprias sobre a base visual da CICATRIZ (css/cicatriz-base.css): mesmas cores, tipo de letra, cabeçalhos,
 * painéis, tabelas e mapas. Aqui ficam só os componentes que a CICATRIZ não tem. */
.skip{position:fixed;left:14px;top:-60px;z-index:5000;background:var(--accent);color:#15100a;padding:8px 12px;border-radius:6px;font-weight:700}
.skip:focus{top:8px}
kbd{display:inline-block;min-width:18px;padding:0 5px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:4px;font-family:var(--mono);font-size:10px;color:var(--text);background:#0e1520;text-align:center}

/* Início */
.home-art{background-image:url(../assets/hero.svg)}
.home-card small{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:10px;color:#c9d6e1;min-height:1.2em}
.home-card small:empty{display:none}
.live-dot{width:8px;height:8px;border-radius:50%;flex:none;background:#5b6b7d}
.live-dot.ok{background:#34d399;box-shadow:0 0 0 3px #34d39922}
.live-dot.yellow{background:#e5c45a;box-shadow:0 0 0 3px #e5c45a33}
.live-dot.orange{background:#f6a04c;box-shadow:0 0 0 3px #f6a04c33}
.live-dot.red{background:#ee7271;box-shadow:0 0 0 3px #ee727133}
.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:34px}
/* cards mais estreitos nos ecrãs largos: 4 por linha e, a partir de 1480 px, 5 (as 10 funcionalidades em duas linhas) */
@media(min-width:1180px){.home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-card b{font-size:16.5px}.home-card p{font-size:12px}}
@media(min-width:1480px){.home-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.home-card b,.home-card p,.home-card .hc-k,.home-card small{overflow-wrap:break-word;max-width:100%}
@media(max-width:980px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.home-grid{grid-template-columns:1fr}}
.home-card.dev{border-style:dashed;background:linear-gradient(180deg,#0f1822,#0c121b)}
.home-card.dev .hc-n{-webkit-text-stroke-color:#71849a}
.dev-tag{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:9px;background:#26323f;color:#c9d6e1;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;vertical-align:3px}

/* Marca SENTINELA MeteoOps */
.brand-logo{display:block;height:40px;width:auto;flex:none;filter:drop-shadow(0 2px 6px #0008)}
.bn-s{color:#ff7a1c}
.bn-m{color:#3b8dff}
.brand .brand-txt b{letter-spacing:2px}
.info-logo img{display:block;height:40px;width:auto}
.home-hero{min-height:320px}
.home-logo{position:absolute;right:max(28px,calc((100vw - 1240px)/2));top:50%;transform:translateY(-50%);height:min(270px,84%);width:auto;z-index:1;filter:drop-shadow(0 14px 30px #000c)}
.home-intro{max-width:min(640px,calc(100% - 300px))}
.home-name{margin:8px 0 2px;font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:1px;line-height:1.1}
.home-tag{margin:0 0 12px!important;font-size:clamp(15px,1.6vw,19px)!important;color:#e5edf4!important;font-weight:600}
@media(max-width:760px){.home-logo{height:120px;top:18px;transform:none;right:14px;opacity:.95}.home-intro{max-width:calc(100% - 110px)}.home-hero{min-height:260px}}
@media(max-width:480px){.home-intro{max-width:none;padding-top:104px}.home-logo{left:16px;right:auto;height:96px}}

/* Área de consulta */
.area-panel{width:min(460px,calc(100vw - 24px))}
.area-tabs{grid-template-columns:repeat(4,1fr)}
.area-tabs button{font-size:10.5px}
.area-country{display:flex;flex-direction:column;gap:2px;margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line2);border-left:3px solid var(--accent);border-radius:8px;background:#0e1520}
.area-country span{font-size:11px;color:var(--muted)}
.area-list{display:flex;flex-direction:column;gap:2px;max-height:min(300px,38vh);overflow:auto;margin:8px 0 6px;padding:3px;border:1px solid #202c3b;border-radius:7px;background:#080d14;scrollbar-width:thin}
.area-list button{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;text-align:left;border:0;border-radius:5px;background:none;padding:6px 8px;font-size:12px;color:var(--text)}
.area-list button i{width:13px;height:13px;border:1.5px solid var(--line2);border-radius:3px}
.area-list button[aria-selected=true]{background:var(--accent-soft);color:#ffc278}
.area-list button[aria-selected=true] i{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2px #080d14}
.area-list button.cur{outline:1px solid var(--accent-line)}
.area-list small{font-size:10px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.chips{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}
.chips:empty{display:none}
.chips button{background:var(--accent-soft);border-color:var(--accent-line);color:#ffc278;font-size:11px;padding:3px 9px;border-radius:12px}
.area-place{display:flex;gap:6px}
.area-place input{flex:1}
.lc-places{display:flex;flex-direction:column;gap:3px;margin:6px 0}
.lc-places:empty{display:none}
.lc-places button{text-align:left;font-size:11.5px;background:#0e1520}
.secbar .fire-button b{max-width:360px}

/* Página de uma funcionalidade */
.data-body section[data-nav]{margin-bottom:44px;scroll-margin-top:56px}
.data-body section[data-nav]>h2{margin-bottom:12px}
.sec-note{margin:-6px 0 12px}
.mo-busy{display:flex;gap:12px;align-items:center;padding:26px 4px;color:var(--muted);font-size:12px}
.mo-busy::before{content:"";width:16px;height:16px;flex:none;border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:mo-spin 1s linear infinite}
@keyframes mo-spin{to{transform:rotate(360deg)}}
.loading-dots::after{content:"…";animation:mo-blink 1.2s steps(3,end) infinite}
@keyframes mo-blink{50%{opacity:.3}}
.wx-filter{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:0 0 14px}
.wx-filter label{min-width:150px}
.wx-filter .grow{flex:1 1 240px}
.wx-filter .check-inline{min-width:0;font-size:11.5px;align-self:center}
.seg button .sw,.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:0}
.data-body .legend{position:static;width:auto;display:flex;flex-wrap:wrap;gap:6px 16px;background:none;border:0;padding:4px 0;font-size:10.5px;color:var(--muted)}
.data-body .legend span{display:inline-flex;align-items:center}
.linkish{border:0;background:none;padding:0;color:#9dc6e8;font-size:inherit;text-align:left;cursor:pointer}
.linkish:hover{background:none;color:#cfe7ff;text-decoration:underline}
.data-table{width:100%;border-collapse:collapse;font-size:11.5px}
.data-table th,.data-table td{padding:7px 10px;text-align:left;border-bottom:1px solid #1d2833;white-space:nowrap}
.data-table tbody tr:hover{background:#131d2a}
.data-table tbody th{background:none;position:static;color:#dce5ee;font-size:11.5px}
table.sortable thead th{cursor:pointer;user-select:none}
table.sortable thead th:hover{color:var(--accent)}
table.sortable thead th[data-dir=asc]::after{content:" ▲";color:var(--accent);font-size:8px}
table.sortable thead th[data-dir=desc]::after{content:" ▼";color:var(--accent);font-size:8px}
td.tint,span.tint{background:var(--tint);color:#fff;font-weight:700;text-shadow:0 0 3px #000,0 0 2px #000}
span.tint{padding:1px 7px;border-radius:4px;white-space:nowrap}
.stale{color:#ffb33e}
.ok-txt{color:var(--ok)}.err-txt{color:var(--err)}
.pick-sel-card{margin-bottom:12px}
.pick-sel-card>div{display:flex;flex-direction:column;gap:2px}
.pick-sel-card span{font-size:11.5px;color:#c9d6e1}
.pick-sel-card small{font-size:10.5px}

/* Mapas */
.sim-map-card .live-map{border:0;border-radius:0}
.live-map.small-map{height:min(46vh,380px);min-height:280px}
.live-map.tall{height:min(66vh,640px)}
.map-pick .leaflet-container,.map-pick{cursor:crosshair}
.map-fit{width:34px;height:34px;padding:0;display:grid;place-items:center;background:#0b111dee;border:1px solid var(--line2);border-radius:8px;color:#dce6f1;box-shadow:0 6px 16px #0008}
.map-fit:hover{border-color:var(--accent);color:var(--accent);background:#0b111d}
.val-pin{background:none;border:0}
.val-pin span{position:absolute;transform:translate(-50%,-50%);display:inline-block;padding:1px 5px;border-radius:5px;border:1px solid #0b111d;font:700 10.5px/1.35 var(--mono);white-space:nowrap;box-shadow:0 1px 4px #000a;cursor:pointer}
.val-pin span:hover{outline:2px solid var(--accent)}
.leaflet-tooltip{font-family:var(--mono);background:#0b111df0;color:var(--text);border:1px solid var(--line2);font-size:11px}
.leaflet-control-scale-line{background:#0b111dcc;color:#dce5ee;border-color:#9aaabb;font-family:var(--mono);font-size:9.5px}
.map-color-scale{max-width:620px;border:1px solid #273547;background:var(--card);border-radius:8px;padding:10px 14px;margin:10px 0 6px;font-size:11px}
.map-color-scale b{display:block;margin-bottom:7px;color:#e2ebf3;font-size:11.5px}
.map-color-scale>i{display:block;height:14px;border:1px solid #304253;border-radius:3px}
.map-color-scale>div{display:flex;justify-content:space-between;margin:4px 0;color:#d4e2eb;font-weight:700}
.map-color-scale small{display:block;font-size:10px;color:var(--dim);line-height:1.5}
.mcs-cls{display:flex!important;flex-wrap:wrap;gap:6px 14px!important;justify-content:flex-start!important;font-weight:600!important}
.mcs-cls span{display:inline-flex;align-items:center;gap:6px}
.mcs-cls i{width:14px;height:11px;border-radius:2px}

/* Previsões */
.fc-pick{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:18px;align-items:start}
.fc-mini{margin:0}
.fc-where{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.fc-where:empty{display:none}
.fc-chip{padding:3px 9px;border:1px solid var(--line2);border-radius:12px;font-size:10.5px;color:#c9d6e1;background:#0e1520}
.owx-days td{min-width:70px}
.owx .owx-wx{max-width:92px;white-space:normal;line-height:1.2}
.tm-rank,.st-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.st-rank{background:var(--card);border:1px solid #273547;border-radius:8px;padding:12px 14px}
.st-rank>b{display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.st-rank ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px;font-size:12px}
.st-rank li{padding-left:2px}
.st-rank li::marker{color:var(--dim)}
.st-rank li>span{float:right;font-variant-numeric:tabular-nums}
@media(max-width:900px){.fc-pick{grid-template-columns:1fr}}

/* Avisos */
.badge{display:inline-block;border:1px solid var(--line2);border-radius:4px;padding:2px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.badge.yellow{background:#ffe100;border-color:#ffe100;color:#1a1500;font-weight:800}
.badge.orange{background:#ff7a00;border-color:#ff7a00;color:#1a0b00;font-weight:800}
.badge.red{background:#ff1f3d;border-color:#ff1f3d;color:#fff;font-weight:800}
.warning-card{border:1px solid #273547;border-left:4px solid #ffe100;background:var(--card);border-radius:8px;padding:13px 16px;margin-bottom:10px}
.warning-card.orange{border-left-color:#ff7a00}.warning-card.red{border-left-color:#ff1f3d}
.warning-card h3{margin:8px 0 6px;font-size:14px}
.warning-card p{font-size:12px;color:#c9d6e1;margin:0 0 6px}
.warning-table td,.warning-table th{white-space:normal;vertical-align:top}
.warning-table .warning-description{min-width:300px;max-width:520px;line-height:1.45;color:#c9d6e1}
.wm-wrap{max-height:none}
.wm{border-collapse:separate;border-spacing:2px;font-size:11px;width:100%}
.wm th{background:#182433;font-size:10px;padding:6px 8px;text-align:center;white-space:nowrap}
.wm .wm-name{text-align:left;min-width:170px;position:sticky;left:0;z-index:1;background:#0f1824;color:#dce5ee}
.wm thead .wm-name{background:#182433;z-index:3}
.wm td{text-align:center;padding:5px 6px;border-radius:4px;min-width:84px;height:34px;font-variant-numeric:tabular-nums}
.wm td b{display:block;font-size:11px}
.wm td small{display:block;font-size:9.5px;opacity:.85}
.wm .wm-0{color:#3a4a5c;background:#0e1621}
.wm .wm-yellow{background:#e5c45a;color:#1a1405}
.wm .wm-orange{background:#f6a04c;color:#1a0f05}
.wm .wm-red{background:#ee7271;color:#1a0505}
.wm tbody tr{cursor:pointer}
.wm tbody tr:hover .wm-name,.wm tbody tr:focus .wm-name{color:var(--accent)}
.warning-snapshot{display:block;width:min(100%,960px);height:auto;aspect-ratio:16/9;border:1px solid #344454;border-radius:8px;background:#080c12}
.snapshot-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
#snapshotStatus{font-size:11.5px;color:var(--ok)}
.warning-timeline{overflow:auto;padding-bottom:6px}
.timeline-head{display:flex;justify-content:space-between;margin-left:190px;color:#92a7b9;font-size:10px;min-width:470px}
.timeline-row{display:grid;grid-template-columns:180px minmax(470px,1fr);gap:10px;align-items:center;margin:5px 0;font-size:11px;color:#cad7e2}
.timeline-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.timeline-track{position:relative;height:22px;background:#111b28;border:1px solid #273547;border-radius:4px}
.timeline-bar{position:absolute;top:3px;height:14px;border-radius:3px;background:#e5c45a}
.timeline-bar.orange{background:#f6a04c}.timeline-bar.red{background:#ee7271}
.timeline-now{position:absolute;top:-3px;height:26px;border-left:2px dashed var(--accent)}

/* Análise */
.lv-chip{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:700;background:var(--c);color:#0b111d;white-space:nowrap}
.analysis-brief{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.analysis-brief li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 12px;background:var(--card);border:1px solid #273547;border-radius:8px;font-size:12px}
.analysis-brief li span:last-child{color:var(--muted);font-size:11.5px}
.analysis-alert{color:#ffc278}
.analysis-value{font-weight:700;font-variant-numeric:tabular-nums}
.analysis-factors{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.analysis-factors details{background:var(--card);border:1px solid #273547;border-radius:8px}
.analysis-factors summary{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;list-style:none}
.analysis-factors summary::-webkit-details-marker{display:none}
.analysis-index{color:var(--accent);font-weight:800}
.analysis-factor-name{font-weight:600}
.analysis-count{font-size:10.5px;color:var(--dim);white-space:nowrap}
.analysis-factor-body{padding:0 14px 12px 54px;font-size:12px;color:#c9d6e1}
.analysis-factor-body p{margin:4px 0}
.am-wrap{max-height:none}
.am{border-collapse:separate;border-spacing:2px;font-size:10.5px}
.am th{background:#182433;padding:4px 5px;font-size:9.5px;line-height:1.2;text-align:center;white-space:nowrap}
.am th small{display:block;color:var(--dim);font-weight:400}
.am th.d0{box-shadow:inset 2px 0 #3e536b}
.am .am-name{text-align:left;min-width:160px;position:sticky;left:0;z-index:1;background:#0f1824;color:#dce5ee;font-size:10.5px}
.am td{min-width:30px;height:24px;border-radius:3px;text-align:center}
.am .am-0{background:#0e1621}
.am .am-l{background:var(--c);color:#0b111d;font-weight:800}
@media(max-width:700px){.analysis-factors summary{grid-template-columns:26px minmax(0,1fr);}.analysis-factors summary .analysis-count{grid-column:2}.analysis-factor-body{padding-left:14px}}

/* Histórico */
.hi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0 6px}
.hi-box{background:var(--card);border:1px solid #273547;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column}
.hi-box b{font-size:22px;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.2}
.hi-box span{font-size:11.5px;color:#dce5ee}
.hi-box small{font-size:10px;color:var(--dim)}

/* Local */
.delta-hi{color:#ffb33e;font-weight:700}

/* Radar e satélite */
.visual-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}
.visual-controls{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--card);border:1px solid #273547;border-radius:10px}
.visual-controls label{font-size:11px}
.visual-map-wrap{min-width:0}
.visual-map{height:calc(100dvh - var(--top) - var(--footer) - 190px);min-height:420px;border:1px solid var(--line2);border-radius:10px;overflow:hidden}
.map-time{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;background:var(--card);border:1px solid #273547;border-radius:8px;font-size:11.5px}
.map-time input[type=range]{flex:1}
.map-time select{min-height:28px;padding:2px 6px}
.map-time b{white-space:nowrap;font-variant-numeric:tabular-nums;color:#ffc278}
.windy-frame{width:100%;height:100%;border:0;display:block}
.vc-legend{margin:0}
.links{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px}
.info-section .links+p{margin-top:10px}
@media(max-width:900px){.visual-layout{grid-template-columns:1fr}.visual-map{height:62vh}}

/* Impressão e PDF */
/* PDF / impressão: as cores do ecrã (fundo escuro e as mesmas escalas, para o contraste não mudar), sem os controlos,
 * folha A4 ao baixo, tabelas sem barras de deslocação (as largas são divididas em blocos de colunas em js/app.js). */
@page{size:A4 landscape;margin:8mm}
.print-head{display:none}
/* Gráficos: a coluna do cartão pode encolher abaixo da largura do canvas, para o Chart.js voltar a medir o espaço quando a janela
 * estreita (ou na preparação do PDF); com «1fr» o canvas desenhado numa janela larga prendia o cartão a essa largura. */
.ow-card{grid-template-columns:minmax(0,1fr)}
.meteo-canvas{min-width:0}
/* Preparação da impressão (js/app.js · preparePrint): a página fica já com a largura útil da folha e as tabelas com as letras da
 * impressão, para serem medidas tal como vão sair (e divididas em blocos de colunas ou reduzidas, se não couberem). */
body.printing #moduleBody,body.printing .data-body{width:1060px!important;max-width:1060px!important;margin:0!important;padding:0!important}
body.printing .table-wrap,body.printing .owx-wrap,body.printing .st-long,body.printing .pr-long,body.printing .wm-side,body.printing .an-gmun,body.printing .wb-wrap{overflow:visible!important;max-height:none!important;max-width:none!important}
body.printing .owx th,body.printing .owx td{position:static!important}
body.printing .owx,body.printing .owx td,body.printing .owx th{font-size:9px!important}
body.printing .owx td,body.printing .owx th{padding:2px 3px!important;min-width:0!important}
body.printing .owx .owx-name{min-width:0!important;max-width:150px!important}
body.printing .owx.print-chunk{width:auto!important}
body.printing .ow-card .meteo-canvas:not(.ow-grid){height:215px!important}/* dois meteogramas por folha */
/* Ao imprimir, o Chrome avalia as @media com outra largura (a do papel ao alto): as grelhas com gráficos ficam já numa coluna na
 * preparação, para o que se desenha agora ser o que sai no papel. As grelhas com mapas só passam a uma coluna pelo botão «Página
 * em PDF» (printing-wide), que espera pelos mosaicos da nova largura; com Ctrl+P o mapa fica com a largura que tinha, completo. */
body.printing .meteo-card,body.printing-wide .fc-pick,body.printing-wide .wm-split{grid-template-columns:minmax(0,1fr)!important}
@media print{
 /* Folha branca: fundos brancos e texto escuro; as cores dos dados (escalas, avisos, graus) imprimem-se tal como estão. Os fundos
  * e textos escuros que vêm das regras do ecrã passam a papel em js/core.js (paperize) e os gráficos em js/charts.js (paperCharts). */
 :root{color-scheme:light}
 *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 html,body,main,.data-page,.data-body,#modulePage,#moduleBody{height:auto!important;overflow:visible!important;background:#fff!important;color:#111}
 .topbar,.secbar,.statusbar,.pop-panel,.live-nav,.wx-filter,.mlc,.map-fit,.snapshot-actions,.home-page,.skip,.leaflet-control-container,.rv-more,.hi-win,.wd-bar,.print-hide,.lw-more>summary{display:none!important}
 .print-head{display:block!important;margin:0 0 12px;padding:0 0 6px;border:0;border-bottom:2px solid #1b2733;border-radius:0;background:#fff!important;color:#1b2733!important;font-size:11px}
 .print-head b{color:#000!important}
 .data-page{height:auto!important;overflow:visible!important}
 .data-body{max-width:none;padding:0}
 .data-body section[data-nav]{break-inside:auto;margin-bottom:14px}
 table{break-inside:auto}tr{break-inside:avoid}thead{display:table-header-group}
 .owx.print-chunk{margin:0 0 8px}
 .print-chunks{display:block}
 h2,h3,.section-kicker{break-after:avoid}
 .meteo-card,.dm-card,.sim-map-card,.warning-card,.hi-box,.kpis article,.sev-kpis article,.st-rank,.pick-sel-card{break-inside:avoid}
 .live-map{height:135mm!important}
 .map-time button,.map-time input[type=range],[data-only-basin],.links a[href^="#"]{display:none!important}/* controlos e ligações internas não servem no papel */
 a{text-decoration:none}
 /* Mapas: fundo branco; os mapas de base escuros clareiam (classes postas em js/maps.js); o resto do mapa fica igual. */
 .leaflet-container{background:#fff!important}
 .ops-dk{filter:invert(1) hue-rotate(180deg) brightness(1.12)}
 .ops-rl{filter:contrast(.5) brightness(1.9)}
 .lim-sw{filter:drop-shadow(0 0 1px #0b111d) drop-shadow(0 0 1px #0b111d)}
}
.wm-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,1fr);gap:14px;align-items:start}
.wm-split .sim-map-card{margin:0}
.wm-side{display:flex;flex-direction:column;gap:3px;max-height:min(66vh,640px);overflow:auto;padding:10px;background:var(--card);border:1px solid #273547;border-radius:10px}
.wm-side-t{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);margin:0 4px 6px}
.wm-row{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:10px;align-items:center;text-align:left;border:0;background:none;padding:6px 6px;border-radius:6px}
.wm-row:hover{background:#15202d}
.wm-row i{grid-row:span 2;width:12px;height:12px;border-radius:3px}
.wm-row span{font-size:12px;font-weight:600}
.wm-row small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.wm-split{grid-template-columns:1fr}}
.sev-kpis b small{display:inline;font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}
.sev-kpis article{border-top:2px solid #5d472f}
.sev-kpis article.kpi-main{border-top-color:var(--accent)}
.val-pin.mini span{font-size:0;padding:0;width:10px;height:10px;border-radius:50%;line-height:0}
#areaSearch,#areaPointBox input{width:100%}
.wm tbody tr.sel .wm-name{color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.wm-row.sel{background:var(--accent-soft)}
.wm-row.sel span{color:#ffc278}
.net-b{display:inline-block;padding:1px 6px;border-radius:4px;font-size:9.5px;font-weight:700;letter-spacing:.5px;border:1px solid var(--line2);color:#c9d6e1;background:#111b28}
.net-b.net-CIM{border-color:#2f6fb3;color:#9dc6e8;background:#0f2233}
.net-b.net-other{border-color:#5d472f;color:#ffc278;background:#1a140d}
.seg button small{opacity:.65;margin-left:3px}
.data-table tr.nodata td{color:var(--dim)}
.val-pin.old span{opacity:.55;border-style:dashed}

/* Rios e cheias */
.rp-chip{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:700;background:var(--c);color:#0b111d;white-space:nowrap}
.rp-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 2px;font-size:10.5px;color:var(--muted)}
.rp-legend span{display:inline-flex;align-items:center;gap:6px}
.rp-legend i{width:18px;height:4px;border-radius:2px}
.rp-legend small{color:var(--dim)}
.rv-time{margin:0 0 10px}
.rv-time b small{color:var(--muted);font-weight:400}
.rv-time button{min-height:28px;padding:2px 9px}
.rd-card{margin:12px 0}
.rd-canvas{height:360px}
.rp-table td,.rp-table th{text-align:center}
.rp-table tbody th{text-align:left}
.leaflet-tooltip.poi-tip{background:#0b111de6;border:1px solid #9aaabb;color:#fff;font-size:10.5px;padding:1px 6px;box-shadow:none}
.leaflet-tooltip.poi-tip::before{display:none}
.rv-pick .seg{max-width:100%}
.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.dev-card{background:var(--card);border:1px dashed #334155;border-radius:10px;padding:14px 16px}
.dev-card span{display:block;font-size:20px;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--accent);line-height:1}
.dev-card b{display:block;margin:8px 0 4px;font-size:13px}
.dev-card p{margin:0;font-size:12px;color:#b8c7d3;line-height:1.55}
.dev-links{flex-direction:column;gap:8px;font-size:12.5px}
.muted{color:var(--muted)}
.rv-tools{margin:0 0 8px;gap:6px 16px}
.rv-hint{border-left:2px solid var(--accent-line);padding-left:10px}
.rv-muni{margin:0 0 8px}
.nowrap{white-space:nowrap}

/* 08 · tabela de todos os troços da bacia */
.rv-mode{display:flex;flex-direction:column;gap:4px}
.rv-mode>span{color:var(--muted);font-size:11px}
.rv-all-table thead th[data-k]{cursor:pointer;user-select:none}
.rv-all-table thead th[data-k]:hover{color:var(--accent)}
.rv-all-table thead th[data-dir=asc]::after{content:" ▲";color:var(--accent);font-size:8px}
.rv-all-table thead th[data-dir=desc]::after{content:" ▼";color:var(--accent);font-size:8px}
.rv-all-table tbody tr.on th,.rv-all-table tbody tr.on td{background:var(--accent-soft)}
.rv-all-table td,.rv-all-table th{vertical-align:middle}
.rv-spark{display:block;background:#0a111b;border-radius:3px}
.rv-count{margin:0 0 8px}
.rv-more{margin:10px 0 0;display:flex;gap:10px;align-items:center}
.rv-all-table thead th{white-space:normal;vertical-align:bottom;min-width:58px;line-height:1.3}
.rv-all-table th,.rv-all-table td{padding:6px 8px}
.rv-pop .leaflet-tooltip:not(.poi-tip){display:none}

/* 07 · Barragens */
.dm-bar{display:inline-block;width:54px;height:7px;border-radius:4px;background:#1a2533;vertical-align:middle;overflow:hidden;margin-right:4px}
.dm-bar i{display:block;height:100%;border-radius:4px}
.dm-hi{color:#7fa6ff;font-weight:700}
.dm-neg{color:#ff9a6b}
.dm-pos{color:#8fd66a}
.dm-total th,.dm-total td{border-top:1px solid #334155;font-weight:700}
.dm-ev{height:220px;margin-top:12px}
.dm-charts{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0}
.dm-chart{background:#0c141f;border:1px solid #273547;border-radius:8px;padding:10px 12px}
.dm-chart h4{margin:0 0 6px;font-size:12px;color:#dce5ee}
.dm-chart h4 small{color:var(--muted);font-weight:400}
.dm-cv{position:relative;height:210px}
.meteo-card.dm-card{align-items:stretch}/* o gráfico ocupa a largura do cartão (com «center», herdado do meteo-card, ficava preso aos 300 px iniciais do canvas) */
.dm-ico{background:none;border:0}
.dm-ico i{display:block;width:100%;height:100%;background:#c9d6e1;border:1.5px solid #0b111d;box-sizing:border-box}
.dm-ico.hid i{transform:rotate(45deg) scale(.82)}
.dm-ico.met i{background:#b9a8ff;border-radius:1px}
.dm-ico.al i{box-shadow:0 0 0 2px #0b111d,0 0 8px currentColor}
.dm-ico.off{opacity:.3}
.leaflet-tooltip.poi-tip.dm-dim{opacity:.45!important}
.rp-legend .dm-lg-hid,.rp-legend .dm-lg-met,.rp-legend .dm-lg-al{border:1.5px solid #0b111d}
.rp-legend .dm-lg-hid{background:#c9d6e1;transform:rotate(45deg) scale(.8)}
.rp-legend .dm-lg-met{background:#b9a8ff}
.rp-legend .dm-lg-al{background:transparent;border:2.5px solid #f5d140;border-radius:50%}
.dm-alerts{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:10px;margin:0 0 12px;border:1px solid #273547;background:#0d141e}
.dm-alerts.ok{border-left:4px solid #2EB0D3}
.dm-alerts.ok b{display:block;color:#e8f1f7;font-size:13.5px}
.dm-alerts.ok small{color:var(--muted)}
.dm-alerts.ok .live-dot{margin-top:5px;flex:none}
.dm-alerts.on{display:block;border-left:4px solid #FC4350;background:#1d1013}
.dm-alerts.on>b{color:#ffd9dc;font-size:13.5px}
.dm-alerts.on ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.dm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.dm-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#0c141f;border:1px solid #273547;border-top:3px solid var(--c);border-radius:10px}
.dm-card.al{box-shadow:inset 0 0 0 2px var(--al)}
.dm-card.on{outline:2px solid #ffffff66;outline-offset:1px}
.dm-card header{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.dm-card header .dm-name{font-weight:800;font-size:14px;color:#f2f6fa}
.dm-card header small{flex-basis:100%;color:var(--muted);font-size:11px}
.dm-noal{font-size:10.5px;color:#7f8fa0;border:1px solid #2a3747;border-radius:10px;padding:1px 7px;white-space:nowrap}
.dm-vol{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px}
.dm-vbar{position:relative;height:10px;border-radius:5px;background:#1a2533;overflow:hidden}
.dm-vbar i{position:absolute;top:0;bottom:0;left:0;background:var(--c);border-radius:5px}
.dm-vbar em{position:absolute;top:0;bottom:0;width:1px;background:#0c141f99}
.dm-vol b{font-size:18px;color:#f2f6fa}
.dm-vol small{grid-column:1/-1;color:var(--muted);font-size:11px}
.dm-flows{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dm-flows>div{padding:8px 10px;border-radius:8px;background:#101a27;border-left:3px solid}
.dm-flows .in{border-color:#5fd38d}
.dm-flows .out{border-color:#ff9f43}
.dm-flows span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.dm-flows .in span{color:#5fd38d}
.dm-flows .out span{color:#ff9f43}
.dm-flows b{display:block;font-size:19px;color:#f2f6fa;line-height:1.3}
.dm-flows b small{font-size:11px;color:var(--muted);font-weight:400}
.dm-flows>div>small{color:var(--muted);font-size:10.5px}
.dm-sp svg{display:block;width:100%;height:38px;background:#0a111b;border-radius:4px}
.dm-sp small{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;color:var(--muted);font-size:10px}
.dm-sp small i{display:inline-block;width:10px;height:3px;border-radius:2px}
.dm-card footer{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:11px;color:#b8c7d3;border-top:1px solid #1d2833;padding-top:8px}
.dm-card footer>span{color:var(--muted)}
.dm-card footer button{margin-left:auto}
.dm-in{color:#8fe3ad}
.dm-out{color:#ffc08a}
.dm-chart.wide{grid-column:1/-1}
/* 07 · Barragens · vista Bacia */
.dm-st{font-size:10.5px;border-radius:10px;padding:1px 7px;white-space:nowrap;font-weight:700}
.dm-st.dis{background:#ff9f4326;color:#ffb76b;border:1px solid #ff9f4366}
.dm-st.hold{background:#1a2533;color:#9aa9b8;border:1px solid #2a3747}
.dm-nolive{margin:0;font-size:11.5px;color:var(--muted);background:#101a27;border-radius:8px;padding:8px 10px}
.dm-gr{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.dm-gr .dm-chart h4{display:flex;flex-direction:column;gap:2px}
.dm-gr .dm-chart h4 .linkish{font-weight:800;font-size:13px;color:#f2f6fa}
.dm-pin{background:none;border:0}
.dm-pin .dm-tank{position:absolute;inset:0;border:2px solid #0b111d;border-radius:3px 3px 5px 5px;background:#0b111dcc;overflow:hidden;box-shadow:0 0 0 1.5px #c9d6e1}
.dm-pin .dm-tank i{position:absolute;left:0;right:0;bottom:0}
.dm-pin.dis .dm-tank{box-shadow:0 0 0 2px #ff9f43;animation:dmpulse 1.6s ease-out infinite}
.dm-pin.hold .dm-tank{box-shadow:0 0 0 1.5px #8a97a6}
.dm-pin.nd .dm-tank{box-shadow:0 0 0 1.5px #6b7a8c;border-style:dashed}
.dm-pin.al .dm-tank{box-shadow:0 0 0 3px var(--al),0 0 10px var(--al)}
.dm-pin.on .dm-tank{outline:2px solid #fff;outline-offset:3px}
@keyframes dmpulse{0%{box-shadow:0 0 0 2px #ff9f43,0 0 0 2px #ff9f4388}100%{box-shadow:0 0 0 2px #ff9f43,0 0 0 11px #ff9f4300}}
.dm-pin .dm-lbl{position:absolute;left:21px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;white-space:nowrap;background:#0b111de6;border:1px solid #2a3747;border-radius:6px;padding:2px 6px;font-size:10.5px;line-height:1.3;color:#c9d6e1;pointer-events:none}
.dm-pin .dm-lbl b{color:#fff;font-size:11px}
.dm-pin .dm-lbl .io em{font-style:normal;font-weight:700}
.dm-pin .dm-lbl .io .in{color:#5fd38d}
.dm-pin .dm-lbl .io .out{color:#ff9f43}
.dm-pin.nolab .dm-lbl{display:none}
.leaflet-marker-icon.dm-pin:hover{z-index:1000!important}
.dm-flow{animation:dmflow 1.5s linear infinite}
.dm-flow.still{animation:none}
@keyframes dmflow{to{stroke-dashoffset:calc(var(--p,12px) * -1)}}
.dm-legend .dm-lg-tank{width:9px;height:13px;border:1.5px solid #c9d6e1;border-radius:2px;background:linear-gradient(to top,#4f7dff 60%,#0b111d 60%)}
.dm-legend .dm-lg-in{width:18px;height:4px;border-radius:2px;background:repeating-linear-gradient(90deg,#5fd38d 0 4px,transparent 4px 8px)}
.dm-legend .dm-lg-out{width:18px;height:4px;border-radius:2px;background:repeating-linear-gradient(90deg,#ff9f43 0 4px,transparent 4px 8px)}
.dm-legend .dm-lg-dis{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #ff9f43;background:transparent}
@media (prefers-reduced-motion:reduce){.dm-flow,.dm-pin.dis .dm-tank{animation:none}}

/* 01 · Avisos: escolha dos distritos, quadro, mapa, fita do tempo e lista */
.lvl-chip{display:inline-block;padding:3px 10px;border-radius:5px;font-weight:800;font-size:11.5px;letter-spacing:.02em;white-space:nowrap}
.lvl-chip.yellow{background:#ffe100;color:#1a1500}
.lvl-chip.orange{background:#ff7a00;color:#1a0b00}
.lvl-chip.red{background:#ff1f3d;color:#fff}
.st-chip{display:inline-block;padding:2px 9px;border-radius:12px;font-size:11px;font-weight:700;white-space:nowrap}
.st-chip.on{background:#e8f1f7;color:#0b111d}
.st-chip.next{border:1px dashed #9aa9b8;color:#dce5ee}
.wph{display:inline-flex;align-items:center;gap:6px}
.wph-i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wph-s{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px;margin-right:4px}
.wd-pick{background:var(--card);border:1px solid #273547;border-radius:10px;padding:12px 14px;margin:0 0 14px}
.wd-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px}
.wd-head b{font-size:13px;color:#f2f6fa;text-transform:uppercase;letter-spacing:.06em}
.wd-head small{flex:1;color:var(--muted);font-size:11.5px}
.wd-head button{padding:5px 14px;font-weight:700}
.wd-head button.on{background:var(--accent-soft);color:#ffc278;border-color:var(--accent-line)}
.wd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.wd-chips button{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;font-size:12px;border-radius:16px;background:#0e1621;border:1px solid #273547;color:#c9d6e1}
.wd-chips button:hover{border-color:#4a5d72}
.wd-chips button.on{background:#e8f1f7;color:#0b111d;border-color:#e8f1f7;font-weight:700}
.wd-chips button i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 1.5px #0b111d}
.wd-chips.isl{align-items:center}
.wd-chips.isl>span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:4px}
.wd-hint{margin:4px 0 0;font-size:11px;color:var(--muted)}
.wb-wrap{max-height:none;overflow-y:visible}
.wb{border-collapse:separate;border-spacing:4px;width:100%}
.wb thead th{background:#182433;padding:8px 10px;border-radius:6px;vertical-align:bottom}
.wb-ph{display:flex;flex-direction:column;align-items:center;gap:4px;color:#e8f1f7}
.wb-ph .wph-i{width:24px;height:24px;color:#9dc6e8}
.wb-ph b{font-size:13px;white-space:nowrap}
.wb .wb-name{text-align:left;min-width:150px;font-size:15px;font-weight:800;color:#f2f6fa;background:#0f1824;padding:8px 12px;border-radius:6px;position:sticky;left:0;z-index:1;box-shadow:inset 4px 0 var(--lv,transparent)}
.wb thead .wb-name{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);z-index:3;box-shadow:none}
.wb .wb-name small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}
.wb td{vertical-align:top;padding:0;min-width:138px}
.wb .wb-0{text-align:center;color:#334253;background:#0c131c;border-radius:6px;vertical-align:middle;font-size:14px}
.wb .wb-none{color:#5d6e80;background:#0c131c;border-radius:6px;padding:10px 14px;font-size:12px;vertical-align:middle}
.wb tr.quiet .wb-name{color:#8a9bad}
.wb tbody tr{cursor:pointer}
.wb tbody tr:hover .wb-name,.wb tbody tr:focus .wb-name{color:var(--accent)}
.wb tbody tr.sel .wb-name{outline:2px solid var(--accent);outline-offset:-2px}
.wt-stack{display:flex;flex-direction:column;gap:4px}
.wt{border-radius:7px;padding:8px 10px;line-height:1.25;color:#1a1200;box-shadow:inset 0 0 0 1px #0000002e}
.wt b{display:block;font-size:13.5px;font-weight:900}
.wt span{display:block;font-size:12px;font-weight:700;margin-top:2px}
.wt small{display:block;font-size:11px;font-weight:600;opacity:.85;margin-top:1px}
.wt.yellow{background:#ffe100}
.wt.orange{background:#ff7a00;color:#1a0b00}
.wt.red{background:#ff1f3d;color:#fff}
.wt:not(.on){background-image:repeating-linear-gradient(135deg,#ffffff00 0 9px,#ffffff2e 9px 13px)}
.wt.on span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:5px;vertical-align:1px;animation:wtpulse 1.6s ease-in-out infinite}
@keyframes wtpulse{50%{opacity:.25}}
.live-map.xl{height:min(80vh,780px);min-height:460px}
.wm-legend i{width:14px;height:14px}
.wmk-wrap{background:none;border:0}
.wmk{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;white-space:nowrap}
.wmk-name{font-size:11px;font-weight:800;color:#fff;text-shadow:0 0 3px #000,0 0 6px #000}
.wmk.none .wmk-name{color:#c9d6e1;font-weight:600}
.wmk.sel .wmk-name{color:#ffc278}
.wmk-row{display:flex;gap:3px}
.wmk-b{position:relative;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid #0b111d;box-shadow:0 2px 6px #000a}
.wmk-b.yellow{background:#ffe100;color:#1a1500}
.wmk-b.orange{background:#ff7a00;color:#1a0b00}
.wmk-b.red{background:#ff1f3d;color:#fff}
.wmk-b em{position:absolute;top:-6px;right:-6px;font-style:normal;font-size:9px;font-weight:800;background:#0b111d;color:#fff;border-radius:8px;padding:0 4px;line-height:14px}
.wmk-i{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.wmk-t{font-size:10px;font-weight:700;color:#fff;background:#0b111dd9;border-radius:6px;padding:1px 6px}
.wisl{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.wisl-c{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--card);border:1px solid #273547;border-left:5px solid var(--lv)}
.wisl-c b{font-size:12.5px}
.wisl-c small{color:var(--muted)}
.tl{display:flex;flex-direction:column;gap:2px;overflow-x:auto}
.tl-row{display:grid;grid-template-columns:190px minmax(520px,1fr);align-items:center;min-height:34px}
.tl-lab{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#dce5ee;padding-right:10px}
.tl-lab .wph-i{color:#9dc6e8}
.tl-track{position:relative;height:100%;min-height:34px;background:#0c131c;border-radius:4px}
.tl-axis .tl-track{background:none;height:30px}
.tl-t{position:absolute;bottom:2px;transform:translateX(-50%);font-size:10px;color:var(--muted);white-space:nowrap}
.tl-t.day b{color:#e8f1f7;font-size:11px}
.tl-nowlab{position:absolute;top:0;transform:translateX(-50%);font-size:10px;font-weight:800;color:#0b111d;background:#e8f1f7;border-radius:4px;padding:0 5px}
.tl-tick{position:absolute;top:0;bottom:0;width:1px;background:#1d2a38}
.tl-tick.day{background:#3a4b5e;width:2px}
.tl-now{position:absolute;top:-2px;bottom:-2px;width:2px;background:#e8f1f7;z-index:2;box-shadow:0 0 6px #e8f1f7aa}
.tl-group{margin-top:8px}
.tl-gname{font-size:14px;font-weight:800;color:#f2f6fa;padding:4px 0 4px 2px;border-bottom:1px solid #1d2833;margin-bottom:4px}
.tl-bar{position:absolute;top:4px;bottom:4px;border-radius:5px;display:flex;align-items:center;gap:6px;padding:0 8px;overflow:hidden;white-space:nowrap;z-index:1;box-shadow:inset 0 0 0 1px #0000002e}
.tl-bar b{font-size:11.5px;font-weight:900}
.tl-bar small{font-size:10.5px;font-weight:600;opacity:.85}
.tl-bar.yellow{background:#ffe100;color:#1a1500}
.tl-bar.orange{background:#ff7a00;color:#1a0b00}
.tl-bar.red{background:#ff1f3d;color:#fff}
.tl-bar.on{box-shadow:0 0 0 2px #e8f1f7}
.tl-bar:not(.on){background-image:repeating-linear-gradient(135deg,#ffffff00 0 9px,#ffffff33 9px 13px)}
.table-wrap.full{max-height:none;overflow-y:visible}
.warning-table tr.is-next td{background:#0c131c66}
@media(max-width:700px){.tl-row{grid-template-columns:120px minmax(420px,1fr)}.wb .wb-name{min-width:110px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.wt.on span::before{animation:none}}
.wb td{text-align:left}
.wt small,.wt span,.wt b{color:inherit}
.tl-bar small,.tl-bar b{color:inherit}
.wd-chips.isl>span+span{margin-left:10px}
.tl{overflow-y:hidden;padding-bottom:4px}
.tl-now{top:0;bottom:0}
.tl-row.first{border-top:1px solid #1d2833;margin-top:4px;padding-top:4px}
.tl-lab{display:grid;grid-template-columns:minmax(0,1fr);gap:1px}
.tl-lab b{font-size:13px;color:#f2f6fa}
.tl-lab .tl-day{font-size:11px;color:var(--muted);font-weight:600}
.tl-ph{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#b8c7d3}
.tl-ph .wph-i{width:15px;height:15px;color:#9dc6e8}
.tl-row{min-height:40px}
.tl-track{min-height:40px}
/* 01 · Avisos: lista pendente dos distritos, fita do tempo com a informação do aviso e lista agrupada */
.wd-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px}
.wd-dd{position:relative}
.wd-btn{min-width:280px;max-width:420px}
.wd-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:1200;width:min(360px,calc(100vw - 32px));background:#0d141e;border:1px solid var(--line2);border-radius:9px;box-shadow:0 18px 50px #000b;padding:12px 12px 14px}
.wd-acts{display:flex;gap:6px;margin-bottom:4px}
.wd-acts button{flex:1;padding:5px 8px;font-size:11.5px}
.area-list.wd-list{max-height:min(420px,55vh)}
.wd-list .wd-sep{margin:8px 6px 2px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wd-list small{font-size:10.5px}
.wd-list .wd-lv{display:inline-flex;align-items:center;gap:5px;color:#dce5ee}
.wd-list .wd-lv em{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1.5px #0b111d}
.wd-panel .primary.wide{margin-top:6px;width:100%}
/* fita do tempo: barras com o nível e o período */
.tl-row{min-height:54px}
.tl-track{min-height:54px}
.tl-bar{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:0 10px;top:5px;bottom:5px}
.tl-bar b{font-size:12.5px;font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tl-bar small{font-size:11px;font-weight:700;opacity:.9;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tl-dist{font-size:13.5px;font-weight:800;color:#f2f6fa;text-align:left;padding:0}
.tl-dist:hover{color:var(--accent)}
.tl-row.sel .tl-dist{color:#ffc278}
/* lista de avisos */
.wl-block{margin:0 0 18px}
.wl-h{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:14px}
.wl-h small{font-size:12px;color:var(--muted);font-weight:500}
.wl-h .st-chip{font-size:12px;padding:3px 12px}
.wl-table{border-collapse:separate;border-spacing:0 6px;font-size:12.5px}
.wl-table thead th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:2px 12px;border:0;background:none}
.wl-table tbody td{background:#0f1824;border-bottom:0;padding:12px;vertical-align:top;white-space:normal}
.wl-table tbody td:first-child{border-radius:8px 0 0 8px;box-shadow:inset 5px 0 var(--lv)}
.wl-table tbody td:last-child{border-radius:0 8px 8px 0}
.wl-table tbody tr:hover td{background:#142030}
.wl-lvl{width:1%;white-space:nowrap!important;padding-left:16px!important}
.wl-lvl .lvl-chip{font-size:13px;padding:5px 12px;min-width:84px;text-align:center}
.wl-ph{width:1%;white-space:nowrap!important}
.wl-ph b{font-size:13px;color:#f2f6fa}
.wl-ph .wph-i{width:20px;height:20px;color:#9dc6e8}
.wl-d{min-width:160px;max-width:300px}
.wl-dist{display:inline-block;margin:0 4px 4px 0;padding:2px 9px;border-radius:12px;background:#1a2736;border:1px solid #2a3a4c;font-size:12px;font-weight:600;color:#e8f1f7}
.wl-t{width:1%;white-space:nowrap!important}
.wl-t b{display:block;font-size:13px;color:#f2f6fa}
.wl-t span{display:block;font-size:12.5px;color:#dce5ee}
.wl-t small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.wl-txt{min-width:280px;color:#c9d6e1;line-height:1.5;font-size:12.5px}
@media(max-width:700px){.wd-btn{min-width:0;width:100%;max-width:none}.wd-dd{flex:1 1 100%}}
.tl-now{z-index:0;opacity:.85}
.tl-bar{z-index:1}
.tl-row{grid-template-columns:190px minmax(640px,1fr)}
@media(max-width:700px){.tl-row{grid-template-columns:118px minmax(820px,1fr)}.tl-lab{position:sticky;left:0;z-index:3;background:var(--bg,#080c12)}}
@media(max-width:760px){.wl-table thead{display:none}.wl-table,.wl-table tbody{display:block;width:100%}.wl-table tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center;background:#0f1824;border-radius:8px;padding:12px 12px 12px 16px;margin-bottom:8px;box-shadow:inset 5px 0 var(--lv)}.wl-table tbody td{display:block;background:none!important;padding:0!important;box-shadow:none!important;border-radius:0!important;min-width:0;max-width:none;width:auto}.wl-table .wl-d,.wl-table .wl-t,.wl-table .wl-txt{grid-column:1/-1}.wl-table .wl-t{white-space:normal!important}.wl-table .wl-txt{font-size:12px}.wl-block .table-wrap.full{border:0;background:none;overflow:visible}}
/* 01 · Avisos: tabela (uma linha por distrito e por aviso) — acertos visuais */
.warning-table{font-size:12.5px}
.warning-table thead th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px 12px}
.warning-table tbody td{padding:11px 12px;vertical-align:middle;border-bottom:1px solid #1a2531}
.warning-table tbody td:first-child{box-shadow:inset 5px 0 var(--lv);padding-left:16px}
.warning-table tbody tr:hover td{background:#132030}
.warning-table tbody tr.is-next td{background:#0c131c}
.warning-table tbody tr.is-next:hover td{background:#132030}
.warning-table td b{font-size:13.5px;color:#f2f6fa}
.warning-table .wph{font-weight:600;color:#e8f1f7}
.warning-table .wph .wph-i{color:#9dc6e8}
.warning-table .lvl-chip{font-size:12px;padding:4px 12px;min-width:78px;text-align:center}
.warning-table .warning-description{font-size:12px;line-height:1.55;color:#c2d0dc;min-width:320px;max-width:560px;vertical-align:top}

/* 01 · Avisos · 05 Critérios */
.cr-table{font-size:12.5px;border-collapse:separate;border-spacing:0}
.cr-table thead th{padding:8px 10px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}
.cr-table thead th.cr-lv{color:#1a1200;font-size:12px;font-weight:900;text-align:center;letter-spacing:.02em}
.cr-table thead th.cr-lv.yellow{background:#ffe100}
.cr-table thead th.cr-lv.orange{background:#ff7a00}
.cr-table thead th.cr-lv.red{background:#ff1f3d;color:#fff}
.cr-table thead th.cr-grp{text-align:center;color:#dce5ee;font-size:11px;background:#182433}
.cr-table td,.cr-table tbody th{padding:9px 10px;vertical-align:middle;border-bottom:1px solid #1a2531;white-space:normal}
.cr-table tr.cr-first td,.cr-table tr.cr-first th{border-top:2px solid #26364a}
.cr-p{min-width:170px;text-align:left;background:#0f1824}
.cr-p .wph b{font-size:13.5px;color:#f2f6fa}
.cr-p .wph-i{color:#9dc6e8;width:20px;height:20px}
.cr-now{display:inline-block;margin-top:5px;padding:1px 8px;border-radius:10px;font-size:10.5px;font-weight:800}
.cr-now.yellow{background:#ffe100;color:#1a1500}
.cr-now.orange{background:#ff7a00;color:#1a0b00}
.cr-now.red{background:#ff1f3d;color:#fff}
.cr-p .cr-now{display:table;margin-top:6px}
.cr-par{color:#dce5ee;min-width:170px}
.cr-v{text-align:center;font-weight:800;font-size:13px;white-space:nowrap!important;color:#f2f6fa}
.cr-v.yellow{background:#ffe1002b;box-shadow:inset 0 -2px #ffe10066}
.cr-v.orange{background:#ff7a002e;box-shadow:inset 0 -2px #ff7a0066}
.cr-v.red{background:#ff1f3d2e;box-shadow:inset 0 -2px #ff1f3d66}
.cr-u{color:#b8c7d3;white-space:nowrap!important}
.cr-n{color:var(--muted);font-size:11.5px;min-width:180px}
.cr-temp tbody th{text-align:left;font-weight:700;color:#e8f1f7;white-space:nowrap}
.cr-temp tr.cr-sel th,.cr-temp tr.cr-sel td{outline:0;background-color:#1d2b3c}
.cr-temp tr.cr-sel th{box-shadow:inset 4px 0 var(--accent)}
.cr-storm{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:8px 0 12px}
.cr-sc{border-radius:9px;padding:12px 14px;background:#0f1824;border-top:5px solid}
.cr-sc.yellow{border-color:#ffe100}
.cr-sc.orange{border-color:#ff7a00}
.cr-sc.red{border-color:#ff1f3d}
.cr-sc b{display:inline-block;padding:2px 10px;border-radius:5px;font-size:12.5px;font-weight:900}
.cr-sc.yellow b{background:#ffe100;color:#1a1500}
.cr-sc.orange b{background:#ff7a00;color:#1a0b00}
.cr-sc.red b{background:#ff1f3d;color:#fff}
.cr-sc span{display:block;margin:8px 0 6px;font-size:12.5px;font-weight:700;color:#e8f1f7}
.cr-sc ul{margin:0;padding-left:18px;font-size:12px;line-height:1.6;color:#c9d6e1}
.cr-snow{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}
.cr-v.yellow{background:#ffe10066;box-shadow:inset 0 -3px #ffe100}
.cr-v.orange{background:#ff7a0066;box-shadow:inset 0 -3px #ff7a00}
.cr-v.red{background:#ff1f3d66;box-shadow:inset 0 -3px #ff1f3d}
.cr-v{text-shadow:0 1px 2px #0008}

/* 02 · Perigo de incêndio rural */
.pr-thead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px;margin:16px 0 8px}
.pr-thead .live-sub{margin:0}
/* colunas dos dias fixas e iguais; o município fica com o resto da largura */
.owx.pr-owx.pr-owx{width:100%;min-width:640px;table-layout:fixed;font-size:13px}
.owx.pr-owx .owx-name{min-width:0;max-width:none;width:auto}
.owx.pr-owx thead th.pr-day{width:150px;min-width:0;font-size:13px}
.owx.pr-owx tbody .owx-name{font-weight:700;color:#eef4f9;font-size:14px;padding:7px 12px}
.owx.pr-owx tbody .owx-name small{font-size:12px;color:#93a7b9;margin-left:4px}
.owx.pr-owx thead .owx-name{font-size:13.5px;padding:8px 12px}
.owx.pr-owx thead .owx-name small{font-size:11.5px}
.owx.pr-owx thead th.pr-day small{font-size:11px}
.owx.pr-owx tr.owx-g th{font-size:12.5px;padding:11px 12px 6px}
.owx.pr-owx.pr-owx tr.owx-g th small{font-size:12px}
.owx.pr-owx.pr-owx tbody td{min-width:0;padding:7px 8px;font-weight:700;font-size:13px}
.pr-owx tr.owx-g th small{color:#9fb2c3}
.pr-sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 5px -1px 0;vertical-align:baseline}
@media (max-width:760px){.owx.pr-owx thead th.pr-day{width:124px}}
.owx.pr-owx td .owx-ft{font-weight:500;opacity:.85;font-size:11px}
.owx-wrap.pr-long{max-height:620px}
.pr-legend i{width:14px;height:14px}
.pr-legend small{color:var(--muted)}
.pr-method{margin:8px 0 10px;padding:9px 12px;border-left:3px solid var(--accent);background:#0f1824;border-radius:0 6px 6px 0;font-size:12px;line-height:1.55;color:#c9d6e1}
.pr-method b{color:#f2f6fa}

/* 03 · Estações */
.val-pin .vp-arr{width:11px;height:11px;margin:0 3px -1px 0;fill:currentColor;vertical-align:baseline}
.val-pin.mini .vp-arr{display:none}
.owx.st-owx{width:100%;font-size:12px}
.owx.st-owx thead th{font-size:11.5px;cursor:pointer}
.owx.st-owx thead th small{font-size:10px}
.owx.st-owx .owx-name{min-width:230px;max-width:340px}
.owx.st-owx tbody .owx-name{font-size:12.5px;font-weight:700}
.owx.st-owx tbody .owx-name .linkish{color:#e8f1f7;font-weight:700}
.owx.st-owx tbody .owx-name .linkish:hover{color:var(--accent)}
.owx.st-owx tbody .owx-name small{display:block;margin-top:1px;font-size:10.5px}
.owx.st-owx td{min-width:62px;font-size:12px}
.owx.st-owx tr.nodata th,.owx.st-owx tr.nodata td{opacity:.55}
.owx.st-owx .stale{color:#ffb33e}
.owx-wrap.st-long{max-height:640px}
.owx.st-ext.st-ext{width:100%;font-size:12.5px}
.owx.st-ext thead th{font-size:12px;vertical-align:bottom}
.owx.st-ext thead th small{font-size:10.5px}
.owx.st-ext .owx-name{min-width:190px;font-size:12.5px}
.owx.st-ext tbody .owx-name{font-weight:700;color:#e8f1f7}
.owx.st-ext tbody .owx-name small{display:block;margin-top:2px;font-size:10.5px;font-weight:400}
.owx.st-ext tbody th,.owx.st-ext tbody td{border-bottom:2px solid #22303f}
.owx.st-ext thead th.st-g{font-size:12.5px;color:#e8f1f7;background:#1b2838}
.owx.st-ext thead th.st-g.now{color:var(--accent)}
.owx.st-ext thead th.st-h{font-size:11.5px;letter-spacing:.3px;text-transform:uppercase;border-top:3px solid}
.owx.st-ext thead th.st-h.st-hi{color:#ff8a65;border-top-color:#ff6a3d;background:#24161a}
.owx.st-ext thead th.st-h.st-avg{color:#d5dee7;border-top-color:#8a9bab;background:#18212c}
.owx.st-ext thead th.st-h.st-lo{color:#6cc4ff;border-top-color:#3aa0ff;background:#111f2e}
.owx.st-ext.st-ext td.st-c{min-width:128px;padding:7px 8px;white-space:normal;vertical-align:top;text-align:center;font-weight:600}
.owx.st-ext td.st-hi{background:#1d1418;box-shadow:inset 3px 0 #ff6a3d55}
.owx.st-ext td.st-avg{background:#121a24}
.owx.st-ext td.st-lo{background:#0f1925;box-shadow:inset 3px 0 #3aa0ff55}
.owx.st-ext td.st-c small{display:block;margin-top:4px;font-size:10.5px;line-height:1.35;color:#9fb2c3;font-weight:500}
.st-val{display:inline-block;min-width:74px;padding:3px 8px;border-radius:5px;font-size:13px;font-weight:800;background:#2b3a4d;color:#f2f6fa;font-variant-numeric:tabular-nums}
.st-who-i .linkish{color:#dce5ee;font-weight:700}
.owx.st-ext td.st-c small.st-many{color:var(--muted)}
.st-cap{margin:4px 0 8px;font-size:12px;color:#c9d6e1}
.st-cap b{color:var(--accent)}

/* 04 · Previsão por município */
.owx.pv-owx{font-size:12px}
.owx.pv-owx thead tr.pv-gh th{padding:5px 8px;font-size:10px;line-height:1.3;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:#121c29;white-space:normal;text-align:center;vertical-align:bottom}
.owx.pv-owx thead tr+tr th{top:var(--gh,26px)}
.owx.pv-owx thead th.pv-sort{cursor:pointer;min-width:74px;white-space:normal}
.owx.pv-owx thead th.pv-sort:hover{color:var(--accent)}
.owx.pv-owx thead th.pv-sort.on{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.owx.pv-owx thead th.owx-name{min-width:210px}
.pv-ord{margin-left:4px;font-size:9px;color:var(--accent)}
.owx.pv-owx tbody .owx-name{font-size:12.5px;font-weight:700}
.owx.pv-owx tbody .owx-name .linkish{color:#e8f1f7;font-weight:700}
.owx.pv-owx tbody .owx-name .linkish:hover{color:var(--accent)}
.owx.pv-owx tbody .owx-name small{display:block;margin-top:1px;font-size:10.5px;font-weight:400}
.owx.pv-owx td{min-width:62px;font-size:12px}
.owx.pv-owx tr.pv-cur th.owx-name{box-shadow:inset 4px 0 var(--accent);background:#1d2b3c}
.pv-cols-btn{min-width:200px}

/* Meteogramas: local dos valores; glossário */
.meteo-head .mc-place{margin-left:auto;padding:2px 9px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent-line);color:#ffc278;font-size:10.5px;font-weight:800;white-space:nowrap}
.meteo-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;margin:6px 0 12px}
.gloss>div{background:#0f1824;border:1px solid #1f2c3b;border-radius:8px;padding:9px 12px}
.gloss dt{font-weight:800;color:#f2f6fa;font-size:12.5px;margin-bottom:3px}
.gloss dd{margin:0;font-size:12px;line-height:1.55;color:#c2d0dc}

/* Tabelas hora a hora: linha da data e hora repetida em cada grupo de parâmetros, igual ao cabeçalho da tabela */
.owx tr.owx-hr td,.owx tr.owx-hr th{background:#182433;padding:5px 6px;font-size:10.5px;font-weight:700;line-height:1.25;color:#dce5ee;text-align:center;border-top:1px solid #2b3c52;border-bottom:1px solid #2b3c52}
.owx tr.owx-hr td small{display:block;font-size:9px;font-weight:400;color:var(--dim)}
.owx tr.owx-hr th{text-align:left;font-weight:600}
.owx tr.owx-hr th small{font-size:9.5px;font-weight:400;color:var(--dim);text-transform:none}
.owx tr.owx-hr td.now{color:var(--accent)}

/* 05 · Meteorologia por local */
.owx.lc-now.lc-now{width:100%;min-width:720px;table-layout:fixed;font-size:12px}
.owx.lc-now.lc-now .owx-name{min-width:0;max-width:none;width:auto}
.owx.lc-now.lc-now thead th.owx-name{width:32%}
.owx.lc-now.lc-now thead th:not(.owx-name),.owx.lc-now.lc-now td{min-width:0;font-size:12px}
.owx.lc-now thead th{font-size:12px}
.owx.lc-now td b{font-weight:800}
.owx.lc-now td.lc-none{text-align:left;color:var(--muted);font-weight:500}
.owx.lc-now td.lc-na{background:#0d141e}
.owx.lc-now .wph{display:inline-flex;align-items:center;gap:6px}
.owx.lc-now .wph-i{width:16px;height:16px;color:#9dc6e8}
.owx.lc-obs{width:100%;font-size:12px}
.owx.lc-obs thead tr.lc-gh th{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:#121c29;text-align:center}
.owx.lc-obs thead tr+tr th{top:28px}
.owx.lc-obs .owx-name{min-width:220px}
.owx.lc-obs tbody .owx-name .linkish{color:#e8f1f7;font-weight:700}
.owx.lc-obs tbody .owx-name small{display:block;margin-top:1px;font-size:10.5px;font-weight:400}
.owx.lc-obs td{min-width:60px}
.owx.lc-obs td.lc-delta{font-weight:800;color:#c9d6e1}
.owx.lc-obs td.lc-delta.hi{background:#3a1d1d;color:#ffb4a8;box-shadow:inset 0 0 0 1px #ff6a3d88}
.owx.lc-obs tr.nodata th,.owx.lc-obs tr.nodata td{opacity:.55}

/* 06 · Radar e satélite: escolha da imagem no painel */
.vc-modes{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #22303f}
.vc-modes button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;text-align:left;border-radius:8px;background:#0e1621;border:1px solid #273547;color:#c9d6e1}
.vc-modes button:hover{border-color:#4a5d72}
.vc-modes button[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent);color:#ffc278}
.vc-modes svg{flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vc-modes span{display:flex;flex-direction:column;gap:1px;min-width:0}
.vc-modes b{font-size:13px}
.vc-modes small{font-size:10.5px;color:var(--muted);font-weight:400}
.vc-modes button[aria-checked=true] small{color:#d9b48a}
.vc-opts{display:flex;flex-direction:column;gap:10px}
@media(max-width:900px){.vc-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.vc-modes{grid-template-columns:1fr}}

/* 06 · Sobreposições e legendas dos produtos */
.vc-over{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:12px;border-top:1px solid #22303f}
.vc-over .vo-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.vc-over .vo-sub{font-size:10.5px;color:var(--muted);margin-top:-4px}
.vo-item{display:flex;align-items:flex-start;gap:9px;padding:8px 9px;border:1px solid #273547;border-radius:8px;background:#0e1621;cursor:pointer;font-size:12px}
.vo-item:hover{border-color:#4a5d72}
.vo-item:has(input:checked){border-color:var(--accent);background:#1a1710}
.vo-item input{margin-top:2px;accent-color:var(--accent)}
.vo-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.vo-txt>b{font-size:12.5px;color:#f2f6fa}
.vo-txt>small{font-size:10.5px;color:var(--muted)}
.vo-txt .vo-d{display:none;margin-top:3px;line-height:1.45;color:#b8c7d3}
.vo-item:has(input:checked) .vo-d{display:block}
.vo-lg{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;margin-top:4px;font-size:10px;color:#c2d0dc}
.vo-lg>i{flex:1 1 100%;height:9px;border-radius:3px;box-shadow:0 0 0 1px #0b111d}
.vo-lg>i+em{margin-left:0}
.vo-lg em{font-style:normal}
.vo-lg>i~em:last-child{margin-left:auto}
.vo-cls{display:inline-block;width:12px;height:12px;border-radius:2px;box-shadow:0 0 0 1px #0b111d}
.vo-cls.dot{border-radius:50%}
.vo-prod{margin:-2px 0 0;font-size:11.5px;line-height:1.5}
#euLg{margin-top:-2px}

/* 07 · Análise operacional */
.owx.an-ov.an-ov,.owx.an-mun.an-mun,.owx.an-crit.an-crit,.owx.an-warn.an-warn{width:100%}
.owx.an-ov.an-ov{table-layout:fixed;min-width:760px;font-size:12px}
.owx.an-ov thead th.owx-name{width:28%}
.owx.an-ov .owx-name .wph{display:flex;align-items:center;gap:9px}
.owx.an-ov .owx-name .wph>span{display:flex;flex-direction:column;gap:1px}
.owx.an-ov .owx-name b{font-size:12.5px;color:#eef4f9}
.owx.an-ov .owx-name small{display:block;font-size:10px;font-weight:400;color:var(--dim)}
.owx .wph-i{width:18px;height:18px;flex:none;fill:none;stroke:#9dc6e8;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.owx.an-ov td{padding:7px 8px;white-space:normal;line-height:1.3;vertical-align:middle}
.owx.an-ov td b{display:block;font-size:12.5px;font-weight:800}
.owx.an-ov td small{display:block;font-size:10.5px;font-weight:600;color:inherit;opacity:.92}
.owx.an-ov td small.an-where{font-weight:500;color:inherit;opacity:.85}
.owx.an-mun td small,.owx.an-mun td .owx-ft{color:inherit}
.an-chip{color:inherit}
.owx td.an-0{color:var(--dim);font-weight:500;font-size:11px;background:#0d141e}
.owx td.an-off{box-shadow:inset 0 0 0 2px #ffffffcc}
.owx.an-ov tr.an-toprow th,.owx.an-ov tr.an-toprow td{border-bottom:3px solid #2b3c52}
.owx.an-ov tr.an-toprow td b{font-size:13.5px}
.owx.an-ov tr.an-rivers th,.owx.an-ov tr.an-rivers td{border-top:3px solid #2b3c52}
.an-brief{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:5px}
.an-brief li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:7px 10px;background:#0f1824;border:1px solid #1f2c3b;border-radius:8px;font-size:12.5px;color:#d5e0ea}
.an-chip{display:inline-block;padding:2px 9px;border-radius:5px;font-size:11px;font-weight:800;white-space:nowrap}
.an-calm{padding:10px 12px;border:1px solid #1f3a31;background:#0f1d18;border-radius:8px;color:#a8d5bf;font-size:12.5px}
.owx.an-mun{font-size:11.5px}
.owx.an-mun .owx-name{min-width:200px}
.owx.an-mun tbody .owx-name{font-weight:700;color:#e8f1f7}
.owx.an-mun tbody .owx-name small{display:block;margin-top:1px;font-size:10px;font-weight:400}
.owx.an-mun td{min-width:86px;white-space:normal;line-height:1.25;font-weight:700}
.owx.an-mun td .owx-ft{font-weight:500;opacity:.85}
.an-legend .an-off-sw{background:#1b2a38!important;box-shadow:inset 0 0 0 2px #fff}
.owx.an-time{font-size:11px}
.owx.an-time .owx-name{min-width:170px}
.owx.an-time .owx-name .wph{display:flex;align-items:center;gap:7px}
.owx.an-time td{min-width:34px;font-weight:800}
.owx.an-time th[scope=col]{min-width:34px}
.owx td.an-l{text-align:left;white-space:normal}
.owx td.an-desc{min-width:260px;font-weight:400;color:#c2d0dc;font-size:11.5px;line-height:1.45}
.owx.an-warn .wph{display:inline-flex;align-items:center;gap:6px}
.owx.an-crit td{white-space:normal;font-weight:500;font-size:11.5px;line-height:1.4;min-width:120px}
.owx.an-crit thead th{font-size:11.5px}

/* 07 · Nível de alerta geral e listas de municípios */
.an-gen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px}
@media(max-width:1000px){.an-gen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.an-gen{grid-template-columns:1fr}}
.an-gtile{display:flex;flex-direction:column;gap:7px;padding:11px 12px;background:#0f1824;border:1px solid #233142;border-top:5px solid var(--c,#2b3a4d);border-radius:9px}
.an-gtile header{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.an-gtile header b{font-size:13px;color:#f2f6fa}
.an-gtile header small{font-size:10.5px;color:var(--muted)}
.an-glv{align-self:flex-start;padding:4px 12px;border-radius:6px;font-size:15px;font-weight:900;background:#1b2a38;color:#c9d6e1}
.an-gtile p{margin:0;font-size:11.5px;line-height:1.5;color:#c9d6e1}
.an-gcnt{display:flex;flex-direction:column;gap:1px}
.an-gcnt span:first-child{font-weight:700;color:#eef4f9}
.an-gdom b,.an-gmun b{color:#eef4f9}
.an-gmun{max-height:9.5em;overflow:auto}
.an-brief li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}
.an-brief .an-bt{font-size:12.5px}
.an-brief .an-bm{grid-column:2;font-size:11.5px;color:#b8c7d3;line-height:1.5}
.an-brief .an-bm b{color:#e8f1f7}
.owx.an-ov td small.an-where i,.an-brief i,.an-gmun i{font-style:normal;font-weight:800}

.an-gtile .an-gnote{font-size:10.5px;color:var(--muted);margin-top:-3px}

/* 08 · Barragens (página única) */
.dm-pick{margin:0 0 14px}
.owx.dm-owx.dm-owx{width:100%;font-size:12px}
.owx.dm-owx .owx-name{min-width:210px}
.owx.dm-owx tbody .owx-name .linkish{color:#e8f1f7;font-weight:700}
.owx.dm-owx tbody .owx-name small{display:block;margin-top:1px;font-size:10.5px;font-weight:400}
.owx.dm-owx td{min-width:92px;white-space:normal;line-height:1.3}
.owx.dm-owx td b{font-size:13px}
.owx.dm-owx td.dm-in b{color:#5fd38d}
.owx.dm-owx td.dm-out b{color:#ffb36b}
.owx.dm-owx td.dm-out.dis{background:#2a1a0c}
.owx.dm-owx td.dm-l,.owx td.dm-l{text-align:left}
.owx.dm-owx td.dm-al{text-align:left;min-width:130px}
.owx.dm-owx td.dm-t{font-weight:500;font-size:11px;color:#c2d0dc}
.owx.dm-owx tr.on th.owx-name{box-shadow:inset 4px 0 var(--accent);background:#1d2b3c}
.dm-gchip{display:inline-block;margin:1px 3px 1px 0;padding:1px 8px;border-radius:10px;font-size:10.5px;font-weight:800;background:#0b111d;border:1.5px solid var(--c);color:var(--c)}
.owx.dm-galt,.owx.dm-rtab{width:100%;font-size:12px}
.owx.dm-galt td,.owx.dm-rtab td{white-space:normal}
.dm-rules{margin:10px 0 0;border:1px solid #273547;border-radius:9px;background:#0d141e;padding:10px 12px}
.dm-rules>summary{cursor:pointer;font-weight:700;color:#e8f1f7;font-size:12.5px}
.dm-rform{margin-top:10px;align-items:flex-end}
.dm-rform input[type=number]{width:110px}
.dm-del{color:#ff9b8f}
#dmSel:empty{display:none}
#dmSel{margin-bottom:16px}

/* 08 · Símbolo de barragem no mapa */
.dm-dam{background:none;border:0}
.dm-dam .dm-symw{position:absolute;inset:0;display:block;filter:drop-shadow(0 1px 2px #000c)}
.dm-sym,.dm-lg-sym{width:34px;height:24px;display:block;overflow:visible}
.dm-sym .dm-res,.dm-lg-sym .dm-res{fill:#0b111d;stroke:#c9d6e1;stroke-width:1}
.dm-sym .dm-wall,.dm-lg-sym .dm-wall{fill:#dfe7ee;stroke:#0b111d;stroke-width:1.1;stroke-linejoin:round}
.dm-sym .dm-spill,.dm-lg-sym .dm-spill{fill:none;stroke:#ff9f43;stroke-width:1.8;stroke-linecap:round}
.dm-dam.dis .dm-spill{animation:dmspill 1.2s linear infinite;stroke-dasharray:3 2.4}
@keyframes dmspill{to{stroke-dashoffset:-10.8}}
.dm-sym .dm-base{stroke:#0b111d;stroke-width:1.4}
.dm-dam.al .dm-symw{filter:drop-shadow(0 0 2.5px var(--al)) drop-shadow(0 0 2.5px var(--al))}
/* Etiquetas discretas, sem cartão: texto claro com contorno escuro, legível no mapa escuro, claro ou de satélite */
.dm-dam .dm-lbl{position:absolute;left:35px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:0;white-space:nowrap;font:600 10.5px/1.25 var(--mono);color:#fff;pointer-events:none;text-shadow:0 0 2px #000,0 0 2px #000,0 1px 3px #000,0 0 7px #000c}
.dm-dam .dm-lbl b{color:#fff;font-size:11px;font-weight:800}
.dm-dam .dm-lbl em{display:flex;align-items:center;gap:3px;font-style:normal;font-weight:800}
.dm-dam .dm-lbl em.v{color:#bfe0ff}
.dm-dam .dm-lbl em.in{color:#7ef0a8}
.dm-dam .dm-lbl em.out{color:#ffb86c}
.dm-dam .dm-lbl small{font-size:9.5px;color:#e6edf3}
.dm-sym.flip{transform:scaleX(-1)}
.dm-show .dm-show-t{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dm-vscale{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:10px 0 4px;font-size:12px;color:#c9d6e1}
.dm-vscale i{display:inline-block;width:22px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px;border:1px solid #2a3747}
.dm-io{width:12px;height:10px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000)}
.dm-legend .dm-io{width:14px;height:12px;filter:none;vertical-align:-1px;margin-right:4px}
.dm-lg-ioin{color:#7ef0a8}.dm-lg-ioout{color:#ffb86c}
.dm-pop-acts{display:flex;align-items:center;gap:12px;margin-top:8px}
.dm-pop-acts .dm-go{padding:4px 11px;font-size:11.5px;min-height:0}
.dm-alline{margin:4px 0 10px;font-size:12.5px}
.dm-legend .dm-lg-sym{display:inline-block;width:26px;height:18px;vertical-align:middle;margin-right:4px}

/* 07 · Graus de impacto */
.owx.an-grau td{min-width:160px}
.owx.an-grau th.an-gn{text-align:center;font-size:16px;font-weight:900;width:56px;min-width:56px}
.owx.an-grau td:nth-child(2){min-width:110px;text-align:center}
.owx.an-grau td b{font-size:12.5px}

/* 10 · Histórico */
.owx.hi-sum.hi-sum{width:100%;max-width:980px}
.owx.hi-sum td{white-space:nowrap;min-width:110px}
.owx.hi-sum td.hi-det,.owx.hi-sum th.hi-det{text-align:left;white-space:normal;font-weight:500;color:#c2d0dc;min-width:240px}
.hi-win{align-items:center;gap:10px 16px}
.hi-nav{display:flex;align-items:center;gap:8px}
.hi-nav b{font-size:12.5px;color:#e8eff5;min-width:150px;text-align:center}
.hi-nav button{min-width:38px;min-height:34px;padding:4px 10px;font-size:14px}
.hi-nav button:disabled{opacity:.35;cursor:default}
.hist-area{margin:0 0 6px;font-size:13.5px;color:#e8eff5}
.hist-munis{margin:6px 0 4px}
.hist-munis>summary{cursor:pointer;font-size:12px;color:#c9d6e1}
.owx.hi-cmp.hi-cmp{width:100%}

/* Exportar: lista das tabelas da página */
.fp-tables{display:flex;flex-direction:column;gap:3px;max-height:min(46vh,380px);overflow:auto;margin:2px 0 4px;padding:6px;border:1px solid #273547;border-radius:8px;background:#0c141f}
.fp-tables .fp-sub{margin:0 2px 4px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fp-tables button{text-align:left;justify-content:flex-start;width:100%;font-size:12px;padding:6px 8px;line-height:1.35;white-space:normal}

/* Cabeçalho com a altura do conteúdo (medida em js/app.js: o conteúdo ocupa exatamente o resto do ecrã) */
.secbar{height:auto!important;min-height:54px}
@media(max-width:900px){.secbar{min-height:0}}
html,body{overscroll-behavior:none}
.data-page,.home-page{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* Telemóvel deitado (pouca altura): cabeçalho compacto, numa linha */
@media(max-height:520px) and (orientation:landscape){
 :root{--head:46px}
 .topbar{height:46px!important;padding:0 10px!important;gap:8px!important}
 .brand svg,.brand img{width:28px!important;height:28px!important}
 .brand-txt small{display:none}
 .clocks,.net-state,.module-chip,#openMethod.info-button{height:32px!important}
 .secbar{flex-wrap:nowrap!important;padding:4px 10px!important;gap:8px!important}
 .secbar .fire-button{height:34px!important;min-width:0!important}
 .secbar .sec-btn,.secbar .run-button,.secbar .sec-id{height:34px!important}
 .sec-name{display:none!important}
 .live-nav{margin-bottom:10px}
 .live-map{height:72vh}
}
