@charset "UTF-8";
/* Base visual comum KAOS: cópia literal de 2_Cicatriz/css/app.css (CICATRIZ V13.14). Não editar aqui:
 * atualize copiando de novo a folha do CICATRIZ; as regras próprias do SENTINELA MeteoOps estão em css/meteo-ops.css. */
/* CICATRIZ V13.3 · interface. Superfícies carvão, ações âmbar, tipo de letra JetBrains Mono (o mesmo da SENTINELA).
 * Estrutura: cabeçalho principal (marca, trocar função, relógios PT/UTC, ligação, INFO) e cabeçalho da secção
 * (número e nome da função, escolha, opções de cálculo, calcular, vistas, exportar); rodapé com estado e autoria. */
:root{color-scheme:dark;--bg:#080c12;--panel:#0d131c;--card:#0e1621;--card2:#111b28;--line:#25303e;--line2:#334155;--text:#eef3f8;--muted:#9aaabb;--dim:#71849a;--accent:#ffac4c;--accent-soft:#352718;--accent-line:#6a4a2a;--ok:#7cc4a4;--err:#ef8e7e;--mono:"Cascadia Mono","Consolas",ui-monospace,monospace;--top:58px;--footer:30px;font-family:var(--mono);font-size:13px;line-height:1.6}

*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text)}
body{overflow:hidden;font-synthesis:none;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;font-family:var(--mono)}
button,select,input{border:1px solid var(--line);border-radius:5px;background:#0b1119;color:var(--text)}
button{cursor:pointer;padding:8px 12px;font-size:12px;font-weight:500;line-height:1.35}
button:hover,summary:hover{background:#1a2635}
button:disabled{opacity:.5;cursor:wait}
input,select{min-height:36px;padding:6px 9px;min-width:0;max-width:100%;font-size:12px}
input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input[type=checkbox]{appearance:auto;min-height:0;width:14px;height:14px;accent-color:var(--accent);margin:0 6px 0 0;vertical-align:middle;flex:none}
input[type=file]{position:absolute;width:1px;height:1px;opacity:0;padding:0;pointer-events:none}
input[type=range]{accent-color:var(--accent);padding:0;cursor:pointer;min-height:18px;border:0;background:none}
a{color:#9dc6e8;text-decoration:none}
a:hover{text-decoration:underline}
label{display:block;color:var(--muted);font-size:11px}
label>input:not([type=checkbox]):not([type=file]),label>select{display:block;width:100%;margin-top:4px;color:var(--text)}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
h1,h2,h3{letter-spacing:-.5px;font-weight:600}
h1{font-size:23px;line-height:1.4}
h2{font-size:19px;line-height:1.4;margin-bottom:16px}
h3{font-size:14px;margin:18px 0 8px}
small,.hint,.chart-note{font-size:11px;line-height:1.7;color:var(--muted)}
.hint{margin:8px 0}
.chart-note{margin:8px 0 0}
.wide{width:100%}
.primary{background:var(--accent);border-color:var(--accent);color:#15100a;font-weight:650}
.primary:hover{background:#ffbf76}
.button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.icon-button{width:34px;height:34px;padding:0;font-size:16px;display:inline-grid;place-items:center}
.icon-button.small{width:28px;height:28px;font-size:15px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.check-inline{display:flex;align-items:center;gap:2px;color:var(--text)}
.upload,.file-button{display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;padding:8px 12px;border:1px solid var(--line);border-radius:5px;color:var(--text);font-size:12px;background:#0b1119}
.upload:hover,.file-button:hover{background:#1a2635}
.upload:focus-within,.file-button:focus-within{outline:2px solid var(--accent)}
summary{cursor:pointer;font-size:12px;color:#c7d2dd;padding:8px 0}
details[open]>summary{margin-bottom:6px}
.empty-cell{padding:18px;color:var(--muted)}
.field-label{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#b8c5d2;margin:16px 0 7px}
.visually-hidden{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;white-space:nowrap!important;border:0!important}

/* Cabeçalho */
.topbar{height:var(--top);display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--bg);border-bottom:1px solid var(--line);position:relative;z-index:1100}
.brand{display:flex;align-items:center;gap:9px;color:var(--text);letter-spacing:2.2px;font-size:15px;margin-right:4px}
.brand:hover{text-decoration:none}
.brand svg{width:26px;height:26px;flex:none}
.fire-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"k p i" "b b i";column-gap:10px;align-items:center;text-align:left;height:44px;min-width:250px;max-width:400px;padding:3px 12px;background:#0e1520;border-color:var(--line2)}
.fire-button[aria-expanded=true]{border-color:var(--accent);background:#161f2b}
.fire-kicker{grid-area:k;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}
.fire-button small{grid-area:p;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fire-button b{grid-area:b;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fire-button i{grid-area:i;font-style:normal;color:var(--muted);font-size:11px}
.run-button{height:40px;padding:0 20px;font-size:13px}
.topbar nav{display:flex;align-self:stretch;margin-left:10px}
.topbar nav button{background:none;border:0;border-radius:0;padding:0 16px;color:var(--muted);border-bottom:2px solid transparent;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.topbar nav button.active{color:var(--accent);border-bottom-color:var(--accent)}
.top-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.top-actions>span{font-size:10px;color:var(--muted);margin-right:6px;white-space:nowrap}
.menu-button{background:transparent;border-color:var(--line)}
.menu-button[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}
#openMethod{border-radius:50%;font-weight:700;color:var(--muted)}

/* Painéis suspensos do cabeçalho */
.pop-panel{position:fixed;top:calc(var(--top) + 8px);z-index:1150;background:#0d141e;border:1px solid var(--line2);border-radius:9px;box-shadow:0 18px 50px #000b;padding:14px 16px 16px;max-height:calc(100dvh - var(--top) - var(--footer) - 20px);overflow:auto;scrollbar-width:thin;scrollbar-color:#465767 transparent}
.fire-panel{left:12px;width:min(430px,calc(100vw - 24px))}
.options-panel{right:12px;width:min(420px,calc(100vw - 24px))}
.file-panel{right:56px;width:min(290px,calc(100vw - 24px));display:flex;flex-direction:column;gap:6px}
.file-panel>button,.file-panel>.file-button{text-align:left;justify-content:flex-start;width:100%}
.file-panel .field-label{margin:10px 0 2px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.panel-head b{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#dbe5ee}
.panel-close{border:0;background:none;font-size:20px;line-height:1;padding:2px 6px;color:var(--muted)}
.panel-head+.field-label,.panel-head+.hint{margin-top:4px}
.project-name{width:100%;font-size:14px;font-weight:600}
.fire-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#080d14;border:1px solid #202c3b;padding:3px;border-radius:7px;margin:14px 0 4px}
.fire-tabs button{border:0;background:none;padding:7px 2px;font-size:11px;color:var(--muted)}
.fire-tabs button.active{color:#ffc278;background:var(--accent-soft)}
.label-row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.label-row .field-label{margin:12px 0 7px}
.incident-picker{border:1px solid var(--line);border-radius:6px;background:#0a1019}
.incident-picker summary{min-height:36px;padding:9px 12px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.incident-picker[open]>summary{margin:0;border-bottom:1px solid var(--line)}
.incident-picker-body{padding:8px}
.incident-picker-body>input,#historyFilter{width:100%;font-size:11px;min-height:32px}
.incident-list{display:flex;flex-direction:column;gap:4px;max-height:min(330px,40vh);overflow:auto;margin-top:7px;scrollbar-width:thin}
.incident-item{display:block;width:100%;text-align:left;border:1px solid transparent;background:#121c28;padding:9px 10px;border-radius:5px}
.incident-item:hover,.incident-item.active{border-color:#8a6034;background:#211d18}
.incident-item b{display:block;color:#edf3f7;font-size:11px;font-weight:600;overflow-wrap:anywhere}
.incident-item span,.incident-item time{display:block;color:#b1becb;font-size:10px;line-height:1.45;margin-top:2px}
.incident-empty{padding:12px 8px;color:var(--muted);font-size:11px}
.history-row{display:grid;grid-template-columns:78px 108px minmax(0,1fr);gap:6px;margin:8px 0 6px}
.history-choice{display:grid;grid-template-columns:auto auto;justify-content:start;gap:4px 14px;margin-top:4px}
.history-choice .field-label{margin:8px 0 5px}
.history-choice .seg button{padding:5px 10px}
.history-tools{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:6px}
.history-tools select{min-height:32px;font-size:11px}
.incident-item .anepc{font-style:normal;color:#ffc278}
.method-note{margin:10px 0 4px;padding:8px 10px;border-left:2px solid #4b6a82;background:#0f1822;border-radius:0 5px 5px 0;font-size:11.5px;line-height:1.6;color:#c3d1dc}
.method-note b{color:#e6eef5}
.s2-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-bottom:12px}
.s2-action{background:var(--card);border:1px solid #263446;border-top:2px solid var(--accent);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.s2-action h3{margin:0;font-size:14px}
.s2-action p{font-size:12px;line-height:1.55;color:#c3d1dc;margin:0}
.s2-action .primary{align-self:flex-start;padding:10px 18px}
.sev-options{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.sev-options label{width:250px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#s2Page .data-body>section{margin-bottom:34px}
.search-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;margin-top:12px}
.search-row button{padding:0;font-size:20px}
.area-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.area-actions button{font-size:11px;padding:8px 4px}
.coordinate-details{margin-top:6px}
.coordinate-details summary{display:flex;justify-content:space-between;gap:10px;font-size:10px}
.coordinate-details small{max-width:210px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:10px}
.coordinate-details button{margin-top:8px;width:100%}
.period-block{border-top:1px solid var(--line);margin-top:14px}
.dates input{font-size:12px}
.fire-panel>.primary{margin-top:6px;padding:11px}
.method-list{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#080d14;border:1px solid #202c3b;padding:3px;border-radius:7px}
.method-list button{padding:7px 2px;border:0;background:none;font-size:10.5px;color:var(--muted)}
.method-list button.active{color:#ffc278;background:var(--accent-soft)}
.sensor-row{display:flex;flex-wrap:wrap;gap:6px 14px}
.sensor-row label{display:flex;align-items:center;font-size:11px;color:var(--text);white-space:nowrap}
.options-panel .advanced{margin-top:10px;border-top:1px solid var(--line)}
.options-panel .advanced label{margin-top:8px}
#searchScenes{padding:0 18px}
#opticalControls>label{margin-top:8px}
.inline-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}
.inline-field select{margin-top:0}

/* Aviso de operação (erros) */
.operation-notice{position:fixed;top:calc(var(--top) + 10px);left:50%;transform:translateX(-50%);z-index:1160;width:max-content;max-width:min(680px,calc(100vw - 24px));color:#ffd9c2;border:1px solid #7b4a33;border-left:3px solid #ed925f;padding:10px 14px;background:#2c211c;border-radius:6px;font-size:12px;line-height:1.6;box-shadow:0 10px 30px #0008;cursor:pointer;overflow-wrap:anywhere}

/* Mapa */
.workspace{display:flex;flex-direction:column;height:calc(100dvh - var(--top) - var(--footer));min-height:0}
.map-wrap{position:relative;flex:1;min-height:0}
#map{position:absolute;inset:0;background:#080c12}
.leaflet-container{font-family:var(--mono)}
.result-card{position:absolute;top:14px;left:14px;z-index:600;width:290px;max-width:calc(100% - 110px);background:#0b111cf0;border:1px solid #2a3646;border-radius:9px;box-shadow:0 8px 26px #0007;overflow:hidden}
.rc-head{display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:0;background:none;padding:10px 14px 2px;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#c4d1dd;text-align:left}
.rc-head:hover{background:none;color:#fff}
.rc-head i{width:8px;height:8px;border-radius:50%;background:#52616f;flex:none}
.rc-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-head em{margin-left:auto;font-style:normal;color:var(--muted);font-size:14px}
.rc-body{padding:0 14px 12px}
.result-card.collapsed .rc-body{display:none}
.result-card.collapsed .rc-head{padding-bottom:10px}
.result-card.collapsed #qualityLabel::after{content:" · " attr(data-area);color:#fff;font-weight:600}
.rc-area{display:flex;align-items:baseline;gap:6px}
.rc-area strong{font-size:32px;font-weight:650;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;line-height:1.3}
.rc-area em{font-style:normal;color:var(--muted)}
.rc-compare{font-size:11px;color:#aebccb;line-height:1.6;margin:0 0 10px}
.rc-compare b{color:#e7eef5;font-weight:600}
.rc-compare i{display:inline-block;width:8px;height:3px;border-radius:2px;background:var(--c);margin:0 4px 2px 0}
.rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin:0 0 12px;padding-top:10px;border-top:1px solid #222e3c}
.rc-grid dt{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--dim)}
.rc-grid dd{margin:0;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rc-grid dd small{font-size:10px}
.rc-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rc-actions button{width:100%;padding:7px 8px;font-size:11px}
.rc-actions .check-inline{grid-column:1/-1}
#openSummary{border-color:#6a4a2a;color:#ffc278;background:#1b1610}
#openSummary:hover{background:#2a2014}
.rc-actions .check-inline{font-size:11px;color:var(--muted);margin-top:2px}
.rc-note{margin:10px 0 0;font-size:9.5px;color:#c9a46a;letter-spacing:.2px}
.disclaimer{margin:0 0 22px;padding:11px 15px;border:1px solid #6a4a2a;border-left:3px solid var(--accent);border-radius:6px;background:#1a140d;color:#e8d3b5;font-size:12px;line-height:1.65}
.disclaimer b{color:#ffc278}
.map-tools{position:absolute;top:14px;right:14px;z-index:650;display:flex;gap:6px;align-items:flex-start}
.map-tools>button{width:38px;height:38px;padding:0;font-size:20px;background:#0c131ef2;border-color:var(--line2)}
.layers-menu{position:relative}
.layers-menu>summary{list-style:none;display:flex;align-items:center;height:38px;padding:0 14px;background:#0c131ef2;border:1px solid var(--line2);border-radius:5px;font-size:12px;color:#dce5ee}
.layers-menu>summary::-webkit-details-marker{display:none}
.layers-menu>summary::after{content:'▾';margin-left:8px;color:var(--muted);font-size:10px}
.layers-menu[open]>summary{margin:0;border-color:var(--accent)}
.layers-body{position:absolute;right:0;top:44px;width:260px;padding:12px 14px;background:#0d141ef7;border:1px solid var(--line2);border-radius:8px;box-shadow:0 12px 34px #000a;display:flex;flex-direction:column;gap:10px}
.layer-checks{display:flex;flex-direction:column;gap:7px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.layer-checks label{display:flex;align-items:center;font-size:11.5px;color:#d3dde6;cursor:pointer}
.layer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.layer-row select{min-height:28px;padding:2px 6px;font-size:11px;width:auto}
.leaflet-top.leaflet-right{top:58px}
.leaflet-control-zoom{border:1px solid var(--line2)!important;border-radius:5px!important;box-shadow:none!important}
.leaflet-control-zoom a{background:#0c131ef2!important;color:#dce6f1!important;border-color:var(--line2)!important}
.leaflet-control-attribution{background:#080c12c9!important;color:#9aa6b2!important;font-size:9px!important}
.leaflet-control-attribution a{color:#c2d8e4!important}
.leaflet-control-scale-line{font-size:10px;background:#080c12aa;color:#dfe7ee;border-color:#c7d2dc}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#15232f;color:#e8eff5;border-radius:7px}
.leaflet-popup-content{line-height:1.7;font-size:12px}
.leaflet-popup-content hr{border:0;border-top:1px solid #2d3d4c;margin:8px 0}
.leaflet-container a.leaflet-popup-close-button{color:#b8c6d3}
canvas.cicatriz-hexmap{position:absolute;left:0;top:0}
.map-bottom{position:absolute;left:12px;right:12px;bottom:34px;z-index:600;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;pointer-events:none}
.legend{display:flex;flex-wrap:wrap;gap:0;background:#0b111dee;border:1px solid #263443;border-radius:6px;padding:8px 11px;width:270px;max-width:100%;font-size:10px;color:#e5edf4;pointer-events:auto}
.legend:empty{display:none}
.legend>b{width:100%;font-size:9px;letter-spacing:1px;color:#ffb04f;font-weight:600}
.legend .ramp{height:8px;border-radius:3px;margin:6px 0 2px;flex-basis:100%}
.legend .ramp-ticks{position:relative;height:13px;margin-top:-2px;flex-basis:100%}
.legend .ramp-ticks i{position:absolute;top:0;width:1px;height:5px;background:rgba(255,255,255,.7)}
.legend .ramp-ticks em{position:absolute;top:4px;transform:translateX(-50%);font-style:normal;font-size:9px;color:var(--muted);white-space:nowrap}
.legend .ramp-labels{display:flex;justify-content:space-between;gap:12px;flex-basis:100%;font-size:9px;color:#c9d5df}
.legend>small{flex-basis:100%;font-size:9px;color:#9fb0c0;line-height:1.5;margin-top:4px}
.map-wind{display:flex;align-items:center;gap:9px;background:#0b111dee;border:1px solid #2c3d4c;border-radius:6px;padding:7px 11px;font-size:11px;line-height:1.45;color:#dbe5ec;max-width:300px;pointer-events:auto;margin-left:auto}
.map-wind svg{width:24px;height:24px;flex:none;fill:#cfe7ff;transition:transform .25s}
.map-wind b{display:block;color:#fff;font-weight:600}
.map-wind span{display:block;color:var(--muted)}
.map-wind span.adv{color:#fff4c4}
.map-guidance{position:absolute;top:70px;left:50%;transform:translateX(-50%);z-index:700;padding:12px 18px;background:var(--accent);color:#1b1208;border-radius:6px;box-shadow:0 4px 22px #0006;max-width:calc(100% - 30px);text-align:center;font-weight:600}
.demo-badge{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:601;font-size:10px;color:#e5c696;background:#151d23df;padding:5px 9px;border-radius:4px;letter-spacing:.8px}
body.map-popup .result-card,body.map-popup .map-bottom{opacity:.15;pointer-events:none;transition:opacity .15s}

/* Linha do tempo e gráfico sob o mapa */
.timeline{flex:none;background:#090e16;border-top:1px solid var(--line);padding:8px 16px 8px}
.timeline-track{display:flex;gap:12px;align-items:center}
.timeline-track>button#play{height:32px;width:32px;border-radius:50%;padding:0;color:var(--accent);background:#152131;flex:none}
.timeline-track b{font-size:12px;min-width:170px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.timeline-track input{flex:1;min-width:60px}
.timeline-track>span{font-size:12px;min-width:120px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:#ffc278}
.timeline-track select{min-height:28px;font-size:11px;padding:2px 6px}
.quiet-button{border:0;background:none;color:var(--muted);padding:4px 6px;font-size:11px;white-space:nowrap}
.quiet-button:hover{color:var(--text);background:none}
.event-chart{display:flex;flex-direction:column;height:var(--chart-h,200px);margin-top:6px;border-top:1px solid #1c2733;padding-top:6px}
.timeline.no-data .event-chart{display:none}
.timeline.no-data #toggleEventChart{visibility:hidden}
.event-canvas{position:relative;flex:1;min-height:0}
.event-canvas canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.series-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.series-chips button{display:flex;align-items:center;gap:6px;padding:2px 9px;font-size:10px;border-radius:12px;border:1px solid #2d3a49;background:#0e161e;color:#6f8090}
.series-chips button::before{content:'';width:10px;height:3px;border-radius:2px;background:var(--c);opacity:.35}
.series-chips button.on{color:#e6edf3;border-color:#3c4c5d}
.series-chips button.on::before{opacity:1}
.event-hover{position:absolute;top:2px;z-index:5;pointer-events:none;background:#0b131bf4;border:1px solid #33424f;border-radius:6px;padding:6px 10px;font-size:11px;line-height:1.6;color:#dfe8ef;min-width:170px;box-shadow:0 6px 18px #0008}
.event-hover b{display:block;font-size:11px;margin-bottom:2px}
.event-hover span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.event-hover span::before{content:'';width:9px;height:3px;border-radius:2px;background:var(--c)}

/* Página Análise */
.data-page{height:calc(100dvh - var(--top) - var(--footer));overflow:auto;background:var(--bg);scroll-padding-top:60px}
.data-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:24px max(28px,calc((100vw - 1280px)/2)) 20px;background:#0c131d;border-bottom:1px solid var(--line)}
.data-heading h1{margin:4px 0 4px;overflow-wrap:anywhere}
.data-heading p{font-size:11px;color:var(--muted)}
.eyebrow,.section-kicker{color:var(--accent);font-size:9px;letter-spacing:1.8px;font-weight:700}
.section-kicker{margin-bottom:6px}
.data-actions{display:flex;gap:8px;flex:none}
.data-nav{position:sticky;top:0;z-index:100;display:flex;gap:26px;padding:12px max(28px,calc((100vw - 1280px)/2));background:#0c131df7;border-bottom:1px solid var(--line);white-space:nowrap;overflow:auto;backdrop-filter:blur(10px)}
.data-nav a{color:#a7b5c6;font-size:11px}
.data-nav a:hover{color:#ffbb70;text-decoration:none}
.data-body{max-width:1280px;margin:auto;padding:26px 28px 80px}
.data-body>section{margin-bottom:46px;scroll-margin-top:56px}
.section-intro{max-width:900px;color:var(--muted);font-size:11px;line-height:1.9;margin:-8px 0 16px}
.kpis{display:grid;grid-template-columns:minmax(300px,1.7fr) repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-bottom:18px}
.kpi{position:relative;background:var(--card);border:1px solid #263446;border-top:2px solid #5d472f;border-radius:7px;padding:13px 15px;min-width:0}
.kpi.main{border-top-color:var(--accent)}
.kpi[data-seek]{cursor:pointer}
.kpi[data-seek]:hover{border-color:#8a6034;background:#131c28}
.kpi>span{display:block;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#a9b8c8}
.kpi>b{display:block;font-size:23px;font-weight:600;line-height:1.35;letter-spacing:-.8px;margin:4px 0 2px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi.main>b{font-size:34px}
.kpi>b small{font-size:12px;color:var(--muted);letter-spacing:0;font-weight:400}
.kpi>small{display:block;font-size:10px;line-height:1.6}
.kpi .go{position:absolute;top:10px;right:12px;font-style:normal;font-size:9px;color:#ffc278;letter-spacing:.3px;opacity:0;transition:opacity .15s}
.kpi[data-seek]:hover .go{opacity:1}
.kpi-areas{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:11px;color:#b8c6d2}
.kpi-areas i{font-style:normal;border-bottom:2px solid var(--c);padding-bottom:1px}
.kpi-areas i.used{color:#fff}
.kpi-areas b{font-weight:600}
.fire-reading p{font-size:14px;line-height:1.75;color:#dfe8ef;max-width:980px;margin:6px 0 4px}
.fire-reading b{color:#fff;font-weight:600}
.summary-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.summary-actions:empty{display:none}
.method-details{margin-top:14px}
.effis-check{margin:8px 0;padding:9px 12px;border-left:2px solid #8fd3ff;background:#132430;border-radius:0 6px 6px 0}
.effis-check span{display:block;font-size:9px;letter-spacing:.4px;text-transform:uppercase;color:#8fd3ff}
.effis-check b{display:block;font-size:16px;font-weight:500;color:#e9f6ff}
.effis-check small{display:block;font-size:10px;line-height:1.6;color:#a8bccb;margin-top:2px}
.mini-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:10px 0 6px}
.mini-metrics span{font-size:9px;color:var(--muted);display:block;text-transform:uppercase;letter-spacing:.5px}
.mini-metrics b{font-size:15px;font-weight:500}
.mini-metrics b small{font-size:10px}
.chart-card{background:var(--card);border:1px solid #273547;border-radius:8px;padding:14px 16px 12px;margin-bottom:14px}
.chart-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-bottom:8px;font-size:10.5px;color:var(--muted)}
.chart-title>b{font-size:13px;color:#e6eef5;font-weight:600;margin-right:6px}
.chart-title span{display:inline-flex;align-items:center;gap:6px}
.chart-title i,.stack-title i{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--c)}
.chart-title i.dash,.stack-title i.dash{background:repeating-linear-gradient(90deg,var(--c) 0 4px,transparent 4px 7px)}
.chart-title i.dot,.stack-title i.dot{width:8px;height:8px;border-radius:50%}
#data-progress.no-data .chart-card{display:none}
.sev-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 16px}
.sev-toolbar label{width:230px}
.sev-toolbar .check-inline{width:auto;height:36px}
.sev-toolbar button{height:36px}
.sev-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px}
.sev-kpis article{background:var(--card);border:1px solid #263446;border-radius:6px;padding:11px 13px}
.sev-kpis span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:#a9b8c8}
.sev-kpis b{display:block;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}
.sev-kpis small{display:block;font-size:10px}
.sev-table{max-width:760px}
.sev-table i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:-2px}
.sev-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:16px 0 8px}
.sev-images figure{margin:0;background:var(--card);border:1px solid #263446;border-radius:7px;padding:8px;cursor:pointer}
.sev-images figure:hover{border-color:#8a6034}
.sev-images img{display:block;width:100%;height:auto;border-radius:4px;background:#05080c;image-rendering:auto}
.sev-images figcaption{font-size:11px;color:#dce5ee;margin-top:6px}
.sev-images figcaption small{display:block;color:var(--muted);font-size:10px}
.sev-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;flex-basis:100%;font-size:9px}
.sev-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.s2-map-toolbar{margin:4px 0 10px}
.s2-maps{display:grid;grid-template-columns:1fr;gap:6px;height:min(68vh,640px);min-height:340px}
.s2-maps.split{grid-template-columns:1fr 1fr}
.s2-map-pane{position:relative;min-height:0;border:1px solid var(--line2);border-radius:8px;overflow:hidden;background:#05080c}
.s2-map{position:absolute;inset:0;background:#05080c}
.s2-tag{position:absolute;left:52px;top:10px;z-index:800;padding:4px 9px;border-radius:5px;background:#0b111de6;border:1px solid var(--line2);font-size:11px;color:var(--text);pointer-events:none;max-width:calc(100% - 70px)}
.s2-empty{position:absolute;inset:0;z-index:790;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:#080c12c7;color:var(--muted);font-size:12px;line-height:1.6}
.s2-legend{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:10px;font-size:10.5px;color:var(--muted)}
.s2-legend>div{display:flex;flex-direction:column;gap:3px;min-width:200px}
.s2-legend b{font-size:9.5px;letter-spacing:.8px;color:#dce5ee}
.s2-legend .sev-legend{font-size:10.5px;margin-top:2px}
.s2-legend .sev-legend i{width:11px;height:11px}
.s2-ramp{height:9px;width:200px;border-radius:3px;background:linear-gradient(90deg,rgb(145,60,70),rgb(72,137,100),rgb(0,215,130))}
.s2-legend-note{flex-basis:100%;margin:2px 0 0;font-size:10px;color:var(--dim)}
.s2-cands{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:6px 0 8px}
.s2-cands h3{margin:0 0 8px;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.cand-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto;padding-right:4px;scrollbar-width:thin}
.cand{display:grid;grid-template-columns:auto minmax(0,1fr) 150px auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card);cursor:pointer;color:var(--text);font-size:12px}
.cand:hover{border-color:#4a5d70}
.cand.on{border-color:var(--accent);background:#1b1610}
.cand input{margin:0;accent-color:var(--accent)}
.cand-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0}
.cand-main b{font-size:13px}
.cand-main em{font-style:normal;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#1b1206;background:var(--accent);border-radius:3px;padding:1px 5px}
.cand-main small{flex-basis:100%;font-size:10.5px;color:var(--muted)}
.cand-clear{display:flex;flex-direction:column;gap:3px;font-size:11px}
.cand-clear i{display:block;height:5px;border-radius:3px;background:#2a3542;overflow:hidden}
.cand-clear i s{display:block;height:100%;background:var(--ok)}
.cand-clear small{font-size:9.5px;color:var(--dim)}
.cand-view{padding:4px 10px;font-size:11px}
.sev-kpis .kpi-main b{color:var(--accent)}
@media(max-width:760px){.s2-cands{grid-template-columns:1fr}.cand{grid-template-columns:auto minmax(0,1fr) auto}.cand-clear{grid-column:2/4;grid-row:2}.cand-view{grid-column:3;grid-row:1}}
@media(max-width:760px){.s2-maps,.s2-maps.split{height:auto;grid-template-columns:1fr}.s2-map-pane{height:62vh}.s2-maps.split .s2-map-pane{height:42vh}}
.chart-box{position:relative;height:230px}
.chart-box.tall{height:300px}
.wx-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin:0 0 16px}
.overlay-picker .field-label{margin:0 0 6px}
.seg{display:inline-flex;flex-wrap:wrap;background:#080d14;border:1px solid #202c3b;border-radius:7px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:6px 12px;font-size:11px;color:var(--muted)}
.seg button.on{background:var(--accent-soft);color:#ffc278}
.wx-period{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.wx-period label{width:140px}
.wx-period button{height:36px}
.weather-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin:0 0 16px}
.weather-cards .cards-note{grid-column:1/-1;margin:0;font-size:10px;letter-spacing:.3px;color:var(--muted)}
.weather-card{border:1px solid #263446;background:var(--card);border-radius:6px;padding:11px 13px;min-width:0}
.weather-card span{display:block;font-size:9px;color:#a9b8c8;text-transform:uppercase;letter-spacing:.4px}
.weather-card b{display:block;font-size:21px;font-weight:500;color:#e6eef5;font-variant-numeric:tabular-nums}
.weather-card small{display:block;font-size:9.5px;line-height:1.45;color:var(--muted)}
.wx-stack{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:10px 8px 6px}
.wx-stack.empty .stack-panel{display:none}
.stack-panel{padding:6px 0 4px;border-bottom:1px solid #1a2530}
.stack-panel.last{border-bottom:0}
.stack-title{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:10.5px;color:var(--muted);padding:0 8px 4px 62px}
.stack-title>b{font-size:12px;color:#dde6ee;font-weight:600}
.stack-title span{display:inline-flex;align-items:center;gap:6px}
.stack-title .ov-key{color:#ffc9a3}
.stack-title .ov-key:empty{display:none}
.stack-box{position:relative;height:185px}
.stack-panel.last .stack-box{height:205px}
.stack-hover{position:fixed;z-index:1300;pointer-events:none;background:rgba(10,15,20,.96);border:1px solid #33475a;border-radius:6px;padding:7px 10px;font-size:11px;line-height:1.6;min-width:220px;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.stack-hover b{display:block;color:#fff;margin-bottom:2px}
.stack-hover span{display:flex;align-items:center;gap:6px;color:#dbe5ec;white-space:nowrap}
.stack-hover span::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}
.stack-hover hr{border:0;border-top:1px solid #2a3b4b;margin:4px 0}
.factor-read{font-size:13.5px;line-height:1.75;color:#dfe8ef;max-width:1000px;margin-bottom:12px}
#peakCompare .table-wrap{max-width:820px}
.factor-table td.sign{font-size:16px;text-align:center;color:var(--muted)}
.factor-table td.sign.up{color:#ff8a5c}
.factor-table td.sign.down{color:#62c4ff}
.land-bar{display:flex;height:16px;border-radius:4px;overflow:hidden;margin:10px 0 12px;max-width:1000px;background:#1a2530}
.land-bar i{display:block;height:100%}
.land-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 24px;max-width:1000px}
.land-list li{display:flex;align-items:center;gap:8px;font-size:12px;color:#dbe5ec;border-bottom:1px solid #1a2530;padding:4px 0}
.land-list li i{width:10px;height:10px;border-radius:2px;flex:none}
.land-list li b{margin-left:auto;font-weight:500}
.land-list li small{width:44px;text-align:right;color:var(--muted)}
.terrain-strip{display:flex;flex-wrap:wrap;gap:8px 26px;margin:14px 0 0;font-size:12px;color:var(--muted)}
.terrain-strip b{color:#e7eef4;font-weight:500;margin-left:4px}
.data-body .advanced{border:1px solid var(--line);border-radius:6px;padding:2px 14px;margin:0 0 8px;background:#0b121c}
.data-body .advanced>summary{font-weight:600}
.data-body .advanced input:not([type=file]){max-width:400px}
.table-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 10px}
.table-tools span{color:var(--muted);font-size:11px;margin-left:auto}
.table-tools button{padding:6px 11px}
.table-wrap{overflow:auto;max-height:560px;border:1px solid #273547;border-radius:6px;background:#0c141f;margin-bottom:10px}
table{border-collapse:collapse;width:100%;font-size:11px}
td,th{text-align:right;border-bottom:1px solid #202c3a;padding:9px 12px;white-space:nowrap}
td:first-child,th:first-child{text-align:left}
th{background:#182433;color:#b6c6d8;font-size:10px;font-weight:600;position:sticky;top:0;z-index:1}
tbody tr:nth-child(even){background:#111c29}
tbody tr:hover{background:#1a2a3d}
td{font-variant-numeric:tabular-nums}
.correlation-table td:not(:first-child)>span{font-size:13px;font-weight:650}
.correlation-table td small{display:block;margin-top:2px;color:#90a2b6;font-size:9px;font-weight:400}
.positive{color:#f9b866}
.negative{color:#6fc7e5}
.muted{color:#899dab}

/* Barra de estado, carregamento, janela de ajuda */
.statusbar{height:var(--footer);position:relative;z-index:1200;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 14px;border-top:1px solid var(--line);background:#080d14;font-size:10px;color:var(--muted)}
.statusbar>div{display:flex;align-items:center;gap:8px;min-width:0}
.statusbar #status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.statusbar i{width:6px;height:6px;border-radius:50%;background:#7c9c8d;flex-shrink:0}
.statusbar i.busy{background:var(--accent);animation:pulse 1s infinite}
.statusbar i.error{background:var(--err)}
.statusbar>button{padding:1px 9px;font-size:10px}
.status-right{white-space:nowrap;font-size:9px;font-variant-numeric:tabular-nums}
.loading-panel{position:fixed;right:18px;bottom:calc(var(--footer) + 14px);z-index:1300;display:flex;align-items:center;gap:14px;width:min(380px,calc(100vw - 30px));background:#111d2b;border:1px solid #4b5c70;box-shadow:0 8px 35px #0007;border-radius:7px;padding:14px 18px;pointer-events:none}
.loading-panel>div{min-width:0;flex:1}
.loading-panel b{display:block;font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.loading-panel small{display:block;font-size:10px;margin-top:3px}
.loading-panel progress{display:block;width:100%;height:3px;margin-top:9px;accent-color:#eaa16c}
.spinner{display:block;width:22px;height:22px;flex:0 0 22px;border-radius:50%;border:2px solid #456170;border-top-color:var(--accent);animation:spin .8s linear infinite}
dialog{background:#0e1723;color:var(--text);border:1px solid #36465a;border-radius:9px;padding:30px;max-width:780px;width:calc(100% - 36px);max-height:86vh;box-shadow:0 15px 80px #0008}
dialog::backdrop{background:#000a}
dialog h2{margin-bottom:14px}
dialog p,dialog li{font-size:12.5px;color:#b8c7d3;line-height:1.75}
#methodContent .manual-table td{font-size:12px}
dialog details{border-top:1px solid var(--line);margin-top:18px;padding-top:8px}
dialog .dialog-close{position:absolute;right:12px;top:10px;font-size:24px;border:0;background:none}
.source-item{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}
.source-item b{font-size:12px}
.source-item[data-status=error] b{color:#efa192}
.source-item small{font-size:11px}
#fatal{position:fixed;inset:30% 10% auto;padding:35px;background:#472c26;border:1px solid #dd865e;border-radius:10px;z-index:9999}
#methodContent .manual-lead{font-size:13px;color:#dbe5ec;margin:6px 0 12px}
#methodContent .manual-warning{margin:0 0 14px;padding:10px 14px;border:1px solid #6a4a2a;border-left:3px solid var(--accent);border-radius:6px;background:#1a140d;color:#e8d3b5}
#methodContent .manual-toc{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 18px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#methodContent .manual-toc a{font-size:12px;color:var(--accent)}
#methodContent h3{margin:22px 0 8px;font-size:14px;color:#fff}
#methodContent ol,#methodContent ul{padding-left:18px;line-height:1.7}
#methodContent .manual-table{width:100%;border-collapse:collapse;margin:6px 0 4px;font-size:12px}
#methodContent .manual-table th{text-align:left;vertical-align:top;width:190px;padding:7px 12px 7px 0;color:#e7eef4;font-weight:600;border-bottom:1px solid #1c2733;background:none;position:static;white-space:normal}
#methodContent .manual-table td{text-align:left;vertical-align:top;padding:7px 0;color:#c3d1dc;line-height:1.6;border-bottom:1px solid #1c2733;white-space:normal}
.effis-pop table{border-collapse:collapse;margin:5px 0;font-size:11px;width:auto}
.effis-pop th{text-align:left;font-weight:500;color:#9fb0bf;padding:1px 10px 1px 0;white-space:nowrap;background:none;position:static;border:0}
.effis-pop table{width:100%}
.effis-pop td{padding:1px 0;font-weight:600;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.effis-pop tbody tr:nth-child(even),.effis-pop tbody tr:hover{background:none}
.effis-pop small{color:#8d9dab}
.effis-pop .pop-intro{margin:4px 0 8px;font-size:11px;line-height:1.5;color:var(--muted)}
.effis-pop th.has-help{cursor:help;border-bottom:1px dotted #55707f}
.effis-pop .pop-actions{margin:8px 0 4px}
.effis-pop .pop-actions button{font-size:11px;padding:5px 9px}
@keyframes pulse{50%{opacity:.35}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Ecrãs médios e pequenos */
@media(max-height:820px){.event-chart{--chart-h:160px}}
@media(max-height:680px){.event-chart{--chart-h:115px}.timeline{padding-top:6px;padding-bottom:6px}}
@media(max-height:560px){.event-chart{--chart-h:80px}.legend>small{display:none}}
@media(max-width:1180px){.top-actions>span{display:none}.fire-button{min-width:200px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi.main{grid-column:1/-1}}
@media(max-width:980px){.brand b{display:none}.topbar{gap:8px}.topbar nav{margin-left:0}.topbar nav button{padding:0 11px}.fire-button{min-width:0;flex:1 1 auto;max-width:330px}.run-button{padding:0 14px}.timeline-track b{min-width:120px;font-size:11px}.timeline-track>span{min-width:0;font-size:11px}.data-heading{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){
 :root{--top:100px;--footer:28px}
 .topbar{flex-wrap:wrap;align-content:center;row-gap:6px;padding:6px 10px}
 .fire-button{order:1;flex:1 1 calc(100% - 170px);max-width:none;min-width:0;height:42px}
 .brand{order:0}
 .run-button{order:2;height:42px}
 .topbar nav{order:3;align-self:auto;height:38px}
 .top-actions{order:4}
 .menu-button{padding:6px 7px;font-size:10px}
 .topbar nav button{padding:0 7px;font-size:9.5px;letter-spacing:.5px}
 .top-actions{gap:4px}
 #openMethod{width:30px;height:30px}
 .file-panel{right:12px}
 .result-card{width:calc(100% - 70px);max-width:none;top:10px;left:10px}
 .map-tools{top:10px;right:10px;flex-direction:column}
 .layers-menu>summary{padding:0 10px;font-size:11px}
 .leaflet-top.leaflet-right{top:98px}
 .map-bottom{bottom:30px;flex-direction:column;align-items:flex-start}
 .legend{width:230px}
 .map-wind{margin-left:0;max-width:230px;font-size:10px}
 .timeline{padding:6px 10px}
 .timeline-track{flex-wrap:wrap;gap:6px 10px}
 .timeline-track b{order:1;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:10.5px}
 .timeline-track>span{font-size:10.5px}
 .series-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .series-chips button{white-space:nowrap;flex:none}
 .map-wind{display:none}
 .sev-toolbar label{width:100%}
 .grid4{grid-template-columns:1fr 1fr}
 .fire-tabs button{font-size:10px}
 .timeline-track>span{order:2}
 .timeline-track>button#play{order:3}
 .timeline-track input{order:4;flex:1 1 60%}
 .timeline-track select,.timeline-track .quiet-button{display:none}
 .event-chart{--chart-h:120px}
 .data-heading{padding:18px 16px}
 .data-heading h1{font-size:20px}
 .data-nav{padding:10px 16px;gap:18px}
 .data-body{padding:20px 14px 50px}
 .kpis{grid-template-columns:1fr 1fr;gap:8px}
 .kpi.main{grid-column:1/-1}
 .kpi>b{font-size:19px}
 .kpi.main>b{font-size:28px}
 .chart-card{padding:12px 10px}
 .chart-box{height:210px}
 .chart-box.tall{height:250px}
 .stack-title{padding-left:8px}
 .stack-box{height:165px}
 .wx-period label{width:calc(50% - 4px)}
 .fire-reading p{font-size:13.5px}
 dialog{padding:24px 16px}
 #methodContent .manual-table th{width:auto;display:block;padding-bottom:0;border:0}
 #methodContent .manual-table td{display:block;padding-top:2px}
 .status-right{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.spinner,.statusbar i.busy{animation:none}}
@media print{body{overflow:visible}.topbar,.statusbar,.data-nav,.data-actions,.pop-panel,.wx-toolbar{display:none}.data-page{height:auto;overflow:visible}.data-body{max-width:none;padding:0}.chart-card{break-inside:avoid}}

/* Janela de informação: aviso, autoria, manual, referência e diagnóstico, com índice lateral */
.info-dialog{width:min(1100px,calc(100vw - 32px));max-width:none;height:min(88vh,920px);max-height:none;padding:0;overflow:hidden;flex-direction:column}
.info-dialog[open]{display:flex}
.info-head{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);background:#0b121c;flex:none}
.info-logo svg{display:block;width:40px;height:40px}
.info-head b{display:block;font-size:14px;letter-spacing:.5px;color:#fff}
.info-head small{display:block;font-size:10.5px;color:var(--muted)}
.info-dialog .info-head .dialog-close{position:static;margin-left:auto;font-size:26px;color:var(--muted)}
.info-body{display:grid;grid-template-columns:236px minmax(0,1fr);flex:1;min-height:0}
.info-nav{overflow:auto;padding:14px 10px 20px;border-right:1px solid var(--line);background:#0a1019;scrollbar-width:thin}
.info-nav-group{margin-bottom:16px}
.info-nav-group>span{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);padding:0 10px 6px;font-weight:700}
.info-nav a{display:block;padding:6px 10px;border-radius:5px;font-size:12px;color:#c3d1dc;border-left:2px solid transparent;line-height:1.4}
.info-nav a:hover{background:#15202d;text-decoration:none}
.info-nav a.active{background:#1b1610;color:#ffc278;border-left-color:var(--accent)}
.info-content{overflow:auto;padding:4px 26px 30px;scrollbar-width:thin;scrollbar-color:#465767 transparent}
.info-group-title{margin:26px 0 2px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--accent);font-weight:700}
#methodContent>.info-group-title:first-child{margin-top:16px}
.info-section{margin:12px 0 16px;padding:16px 18px;background:var(--card);border:1px solid #263446;border-radius:9px}
.info-section h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px;color:#fff}
.info-section h3 i{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:6px;background:var(--accent-soft);color:#ffc278;font-style:normal;font-size:12px;border:1px solid var(--accent-line)}
.info-section p,.info-section li{font-size:12.5px;line-height:1.7;color:#c9d6e1}
.info-section p+p{margin-top:8px}
.info-section .hint{font-size:12px;margin:10px 0 0}
.info-alert{border-color:#8a6034;border-left:4px solid var(--accent);background:#1a140d}
.info-alert h3 i{background:var(--accent);color:#15100a;border-color:var(--accent)}
.info-alert p{color:#ecd9bd}
.info-alert b{color:#ffd9a8}
.kaos-card{display:flex;align-items:center;gap:18px;padding:14px;border:1px solid #2a3a4c;border-radius:8px;background:#0b121c}
.kaos-logo{width:112px;height:112px;object-fit:contain;background:#fff;border-radius:10px;padding:6px;flex:none}
.kaos-card div{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:#c9d6e1}
.kaos-card div>b{font-family:var(--mono);font-size:16px;letter-spacing:1px;color:#fff}
.manual-steps{padding-left:22px;margin:0}
.manual-steps li{margin:6px 0}
.source-links{padding-left:18px;margin:0}
.info-content label{margin-top:10px;max-width:440px}
.info-content .upload{margin-top:10px}
.info-foot{margin:24px 0 0;font-size:11px;color:var(--muted);text-align:center}
.status-credit{border:0;background:none;padding:0 0 0 14px;font-size:9.5px;color:#c9a46a;white-space:nowrap}
.status-credit:hover{background:none;color:#ffc278;text-decoration:underline}
@media(max-width:760px){
 .info-dialog{width:100vw;height:100dvh;border-radius:0;max-height:none}
 .info-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
 .info-nav{display:flex;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}
 .info-nav-group{display:contents}
 .info-nav-group>span{display:none}
 .info-nav a{white-space:nowrap;border:1px solid var(--line);font-size:11px}
 .info-content{padding:2px 12px 20px}
 .info-section{padding:13px 12px}
 .kaos-card{flex-direction:column;align-items:flex-start}
 .status-credit{display:none}
}
@media print{.info-nav,.info-head{display:none}}
.info-content::after{content:"";display:block;height:55vh}
#methodContent .info-section h3{margin:0 0 10px;font-size:15px}
#methodContent .info-section .manual-table th{font-size:12px;width:200px;color:#f0d9b8}
#methodContent .info-section .manual-table td{font-size:12px;line-height:1.65}
.status-notice{margin-left:auto;border:0;background:none;padding:0;font-size:9.5px;color:var(--dim);white-space:nowrap}
.status-notice:hover{background:none;color:#e7c79a}
.status-notice .sn-short{display:none}
@media(max-width:760px){.status-notice .sn-long{display:none}.status-notice .sn-short{display:inline}}
.sev-options .check-inline{width:auto;height:36px}

.s2-lead{margin:-4px 0 12px}
.s2-thumbs-title{margin:22px 0 4px;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}

/* Separadores: nome completo em ecrãs largos, curto nos estreitos */
.lbl-short,.lbl-mid{display:none}
@media(max-width:1679px){.lbl-long{display:none}.lbl-mid{display:inline}}
@media(max-width:1099px){.lbl-mid{display:none}.lbl-short{display:inline}}
/* Barra «Incêndio em análise» */
.ctx-bar{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:10px 28px;background:#0b111dee;border-bottom:1px solid var(--line2);backdrop-filter:blur(4px)}
.ctx-main{display:flex;flex-direction:column;min-width:0}
.ctx-k{font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}
.ctx-main b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}
.ctx-main small{font-size:10.5px;color:var(--muted)}
.ctx-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ctx-pick span{font-size:10.5px;color:var(--muted);margin-right:2px}
.ctx-pick button{padding:6px 11px;font-size:11px}
/* Mapa da situação (Em curso) */
.live-map-box{margin:0 0 14px}
.live-map{height:min(58vh,520px);min-height:320px;border:1px solid var(--line2);border-radius:8px;background:#05080c}
.live-map-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:10.5px;color:var(--muted)}
.live-map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.live-map-legend i.ln{width:16px;height:0;border-radius:0;border-top:2px solid}
.live-map-legend i.ln.dash{border-top-style:dashed}
.live-map-legend i.ring{border:2px dashed #ff453a;background:none}
.live-map-legend .lw-wind{color:#f0d9b8}
.live-map-legend .lw-note{flex-basis:100%;color:var(--dim)}
@media(max-width:760px){.ctx-bar{padding:8px 12px}.ctx-main b{max-width:90vw}.live-map{height:52vh}}
/* Em curso (V12): índice, IPMA, relevo, histórico, perfil do vento */
.ctx-bar{position:static}
.live-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
.live-nav a{padding:5px 11px;border:1px solid var(--line2);border-radius:14px;font-size:11px;color:var(--text);cursor:pointer;background:var(--card)}
.live-nav a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.live-ipma .ipma-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;margin:0 0 6px}
.ipma-rcm,.ipma-warn{background:var(--card);border:1px solid #273547;border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.ipma-k{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}
.rcm-badge{display:inline-block;margin:0 6px 4px 0;padding:5px 10px;border-radius:5px;color:#0b111d;font-weight:700;font-size:12px}
.ipma-rcm small,.ipma-warn small{font-size:10.5px;color:var(--muted)}
.ipma-warn ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:12px}
.ipma-warn li i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.relief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:10px 0}
.relief-grid .meteo-card{grid-template-columns:1fr}
.relief-grid .meteo-card.wide{grid-column:1/-1}
.meteo-canvas.small{height:230px}
.meteo-canvas.profile{height:auto}
.st-card{grid-template-columns:minmax(0,1fr) 280px;margin-top:10px}
.lm-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--text)}
/* Estações IPMA: valores do momento em destaque */
.st-now{background:linear-gradient(180deg,#152131,#0e1621);border:1px solid var(--accent-line);border-radius:10px;padding:12px 16px 4px;margin:0 0 6px}
.st-now.stale{border-color:#6b5321;background:#17130b}
.st-now-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin-bottom:6px}
.st-now-head .ipma-k{flex-basis:100%}
.st-now-head b{font-size:16px}
.st-now-head small{font-size:11px;color:var(--muted)}
.st-now .stale-tag{color:#ffb33e;font-weight:700}
.st-now .live-kpis b{font-size:28px;color:#fff;letter-spacing:-.5px}
.st-now .live-kpis small{line-height:1.5}
.st-hours{max-height:340px}
.st-hours tr.now-row td{background:var(--accent-soft);color:#ffe0b8;font-weight:700}
td.hot{color:#ffb4ab}
@media(max-width:760px){.live-ipma .ipma-row{grid-template-columns:1fr}.st-card{grid-template-columns:1fr}}
/* Em curso: acompanhamento de incêndios a decorrer */
.live-warning{display:flex;gap:14px;align-items:flex-start;margin:0 0 14px;padding:14px 16px;border:2px solid #ff453a;border-radius:10px;background:linear-gradient(180deg,#2c0f0d,#1c0c0b);box-shadow:0 0 0 4px #ff453a1f}
.live-warning .lw-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ff453a;color:#1b0706;font-weight:800;font-size:22px}
.live-warning b{display:block;color:#ffd0cb;font-size:14px;letter-spacing:.6px}
.live-warning p{margin:6px 0 0;color:#f4dcd8;font-size:12.5px;line-height:1.6}
.live-warning p b{display:inline;font-size:inherit;letter-spacing:0;color:#fff}
.sim-caveat{margin:0 0 12px;padding:9px 12px;border-left:3px solid #ffb33e;background:#1d170d;border-radius:0 6px 6px 0;font-size:12px;line-height:1.6;color:#f0d9b8}
.sim-toolbar label{width:240px}
.sim-sw{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:6px;vertical-align:-1px;border:1px solid #0006}
.live-meteo{display:grid;grid-template-columns:1fr;gap:14px;margin:0 0 12px}
.meteo-card{background:var(--card);border:1px solid #273547;border-radius:8px;padding:12px 16px;display:grid;grid-template-columns:minmax(0,1fr) 270px;column-gap:20px;row-gap:8px;align-items:center;min-width:0}
.meteo-card .meteo-head{grid-column:1/-1}
.fwi-card .meteo-canvas{grid-row:span 2}
.sim-quick{display:inline-flex;gap:6px;align-items:flex-end}.sim-quick button{height:36px}
.live-nodet{margin:0 0 14px;padding:10px 14px;border:1px dashed #ffb33e;border-radius:8px;background:#1d170d;color:#f0d9b8;font-size:12.5px;line-height:1.6}
.live-nodet b{color:#ffd8a3}
@media(max-width:1000px){.meteo-card{grid-template-columns:1fr}.fwi-card .meteo-canvas{grid-row:auto}}
.meteo-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.meteo-head b{font-size:13px}.meteo-head small{font-size:10.5px;color:var(--muted)}
.meteo-canvas{position:relative;height:300px}
@media(max-width:700px){.meteo-canvas{height:210px}}
.meteo-note{margin:0;font-size:12px;line-height:1.6;color:#b8c7d3}
.meteo-note b{color:#f0d9b8}
.fwi-mini{max-height:none;margin:0}.fwi-mini table{font-size:11px}
.eum-row{display:flex;gap:8px;align-items:center}.eum-row select{flex:1}.eum-row input{width:90px}
.eum-info{display:block;font-size:10px;color:var(--muted);line-height:1.4}
.live-actions{flex-wrap:wrap;align-items:center;gap:8px}
.live-actions select{height:34px;padding:0 8px}
.live-actions .check-inline{font-size:11.5px}
.live-alerts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.live-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:14px;font-size:11.5px;border:1px solid var(--line2);background:var(--card)}
.live-chip.high{border-color:#b3413a;background:#2a1412;color:#ffb4ab}
.live-chip.high::before{content:"!";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#ff453a;color:#1b0706;font-weight:700;font-size:10px}
.live-chip.ok{border-color:#2f6b55;background:#0f2019;color:#a6e3c8}
.live-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.live-kpis b{font-size:19px}
.trend{font-size:12px;margin-left:4px}.trend.up{color:#ff6b5e}.trend.down{color:#7cc4a4}.trend.flat{color:#9aaabb}
.live-alert-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.live-alert-list li{padding:8px 12px;border-radius:6px;border-left:3px solid var(--line2);background:var(--card);font-size:12.5px}
.live-alert-list li.lv-high{border-left-color:#ff453a;background:#1f1211}
.live-alert-list li.lv-mid{border-left-color:#ffb33e;background:#1d170d}
.live-alert-list li.lv-info{border-left-color:#62c4ff}
.live-chart{height:260px;padding:10px 12px;margin:0 0 10px}
.live-wx-table table{font-size:11px;white-space:nowrap}
.live-wx-table td,.live-wx-table th{padding:4px 7px;text-align:center}
.live-wx-table td:first-child,.live-wx-table th:first-child{text-align:left;position:sticky;left:0;background:var(--card);z-index:1}
.live-wx-table td.hot{color:#ffb4ab;background:#2a1412}
.wind-arrow{display:inline-block;margin-right:2px;color:#62c4ff}
.live-sub{margin:18px 0 6px;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.live-list{margin:0;padding-left:18px;font-size:12.5px}
.link-btn{padding:2px 8px;font-size:11px}
tr.downwind td{background:#1d170d}
.leaflet-tooltip.place-tip{background:#0b111de6;border:1px solid #4a5d70;color:#eef3f8;font-size:10.5px;padding:2px 6px;box-shadow:none}
.leaflet-tooltip.place-tip::before{display:none}
.rc-live{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;padding:7px 9px;border:1px solid #4a3a2a;border-radius:6px;background:#17120c;color:#f0d9b8;font-size:11px;text-align:left}
.rc-live i{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;font-style:normal;font-weight:700;font-size:10px;flex:none}
.rc-live i.warn{background:#ff453a;color:#1b0706}.rc-live i.ok{background:#2f6b55;color:#e8fff5}

/* Cabeçalho em ecrãs intermédios e pequenos (tablet vertical, telemóvel): sem quebrar nomes, sem transbordar */
.topbar nav button{white-space:nowrap}
.mb-ico{display:none;font-size:15px;line-height:1}
@media(max-width:1180px){.topbar{gap:9px}.topbar nav{margin-left:4px}.topbar nav button{padding:0 11px;letter-spacing:.6px}.fire-button{min-width:180px}.run-button{padding:0 14px}}
@media(min-width:701px) and (max-width:900px){:root{--top:100px}.topbar{flex-wrap:wrap;align-content:center;row-gap:6px;padding:6px 12px}.brand{order:0}.fire-button{order:1;flex:1 1 auto;max-width:none;min-width:0;height:42px}.run-button{order:2;height:42px}.topbar nav{order:3;height:38px;margin-left:0;flex:1 1 calc(100% - 250px);min-width:0;overflow-x:auto;scrollbar-width:none}.top-actions{order:4;margin-left:0}}
@media(max-width:700px){.topbar nav{flex:1 1 calc(100% - 130px);min-width:0;overflow-x:auto;scrollbar-width:none;margin-left:0}.topbar nav::-webkit-scrollbar{display:none}.top-actions{margin-left:0;flex:none}.mb-txt{display:none}.mb-ico{display:inline}.menu-button{width:34px;height:32px;padding:0;display:inline-grid;place-items:center}}
@media(max-width:420px){.topbar nav button{padding:0 6px;letter-spacing:.2px;font-size:9px}.topbar nav{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}}

/* V13: simulação — gráfico T+hora e comportamento da frente */
.sim-chart-card{margin:12px 0}
.sim-chart-card .meteo-canvas{height:320px}
.sim-beh table{font-size:11.5px}
.sim-beh td{white-space:nowrap}
.sim-beh th small{color:var(--dim);font-weight:400}

/* ===== V13: página inicial com as cinco funções ===== */
body[data-module=home]{--top:58px}
.home-page{height:calc(100dvh - var(--top) - var(--footer));overflow:auto;background:var(--bg)}
.home-hero{position:relative;min-height:300px;display:flex;align-items:flex-end;padding:40px max(28px,calc((100vw - 1240px)/2)) 34px;border-bottom:1px solid var(--line);overflow:hidden}
.home-art{position:absolute;inset:0;background:url(../assets/hero.svg) center right/cover no-repeat}
.home-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080c12 0%,#080c12e6 34%,#080c1266 62%,#080c1200 80%),linear-gradient(0deg,#080c12 0%,#080c1200 40%)}
.home-intro{position:relative;max-width:640px}
.home-intro h1{margin:8px 0 10px;font-size:clamp(24px,3.4vw,38px);line-height:1.15;letter-spacing:-.5px}
.home-intro p{margin:0 0 8px;color:#c9d6e1;font-size:13.5px;line-height:1.65}
.home-intro .home-warn{color:#f0d9b8;font-size:12px}
.home-intro .home-warn b{color:#ffd0cb}
.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:26px max(28px,calc((100vw - 1240px)/2)) 12px}
.home-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:18px 18px 16px;min-height:230px;background:linear-gradient(180deg,#111b28,#0d141e);border:1px solid #273547;border-radius:12px;color:var(--text);transition:border-color .15s,transform .15s,box-shadow .15s}
.home-card:hover,.home-card:focus-visible{border-color:var(--accent);background:linear-gradient(180deg,#16212f,#0f1722);transform:translateY(-2px);box-shadow:0 10px 26px #0008}
.home-card.hot{border-color:#5a2a24}
.home-card.hot:hover{border-color:#ff453a}
.hc-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-bottom:4px}
.home-card.hot .hc-ico{background:#2a1412;color:#ff6b5e}
.hc-ico svg,.mc-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hc-k{font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);font-weight:700}
.home-card b{font-size:15px;line-height:1.3}
.home-card p{margin:0;font-size:12px;line-height:1.55;color:#b8c7d3}
.home-card small{margin-top:auto;padding-top:6px;font-size:10.5px;color:var(--dim)}
.home-card>i{position:absolute;right:16px;top:18px;font-style:normal;color:var(--dim);font-size:18px}
.home-card:hover>i{color:var(--accent)}
.home-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px max(28px,calc((100vw - 1240px)/2)) 30px}
.home-foot span{margin-left:auto;font-size:10.5px;color:var(--dim)}
@media(max-width:700px){.home-hero{min-height:230px;padding:26px 16px 22px}.home-art::after{background:linear-gradient(0deg,#080c12 8%,#080c12cc 55%,#080c1255)}.home-grid{padding:18px 16px 8px;grid-template-columns:1fr}.home-card{min-height:0}.home-foot{padding:8px 16px 24px}.home-foot span{margin-left:0}}
/* Cabeçalho por função */
.module-chip{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 6px;background:#0e1520;border-color:#2a3a4c;text-align:left;flex:none}
.module-chip:hover{border-color:var(--accent)}
.mc-ico{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--accent-soft);color:var(--accent)}
.mc-ico svg{width:19px;height:19px}
.mc-txt{display:flex;flex-direction:column;line-height:1.2}
.mc-k{font-size:8.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--dim)}
.module-chip b{font-size:11.5px;white-space:nowrap}
.module-chip>i{font-style:normal;color:var(--dim);font-size:13px}
body[data-module=ativos] .mc-ico{background:#2a1412;color:#ff6b5e}
@media(max-width:1180px){.module-chip .mc-txt{display:none}.module-chip{padding:0 6px}}
@media(max-width:700px){.module-chip{order:0;height:36px}.module-chip>i{display:none}}
/* Barra de secções da análise (fixa no topo, estilo segmentado da página) */
.live-nav{position:sticky;top:0;z-index:40;display:flex;flex-wrap:nowrap;gap:2px;margin:0 0 18px;padding:3px;background:#080d14f2;border:1px solid #202c3b;border-radius:8px;overflow-x:auto;scrollbar-width:none;backdrop-filter:blur(8px);box-shadow:0 6px 16px #0006}
.live-nav::-webkit-scrollbar{display:none}
.live-nav a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:0;border-radius:6px;background:none;font-size:11px;letter-spacing:.3px;color:var(--muted);cursor:pointer;white-space:nowrap}
.live-nav a::before{content:attr(data-n);display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border-radius:9px;border:1px solid var(--line2);font-size:9px;color:var(--dim)}
.live-nav a:hover{background:#1a2635;color:var(--text);text-decoration:none}
.live-nav a.on{background:var(--accent-soft);color:#ffc278}
.live-nav a.on::before{border-color:var(--accent);color:var(--accent);background:#0b111d}
/* Contexto: botão PDF */
.ctx-pick .ctx-pdf{border-color:var(--accent-line);color:#ffc278}
/* Território 5 km */
.terr-grid{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:16px;align-items:start;margin:10px 0}
.terr-map{margin:0}
.terr-map img{width:100%;display:block;border-radius:8px;border:1px solid var(--line2);image-rendering:pixelated;background:#0b111d}
.terr-map figcaption{font-size:10.5px;color:var(--muted);margin-top:6px;line-height:1.5}
.terr-bar{display:flex;height:16px;border-radius:4px;overflow:hidden;margin:0 0 10px;border:1px solid var(--line)}
.terr-bar i{display:block;height:100%}
.terr-sw{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:6px;vertical-align:-1px;border:1px solid #0006}
.terr-box .table-wrap{max-height:330px}
@media(max-width:800px){.terr-grid{grid-template-columns:1fr}}
/* COSc: legendas */
.cos-legend{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:10px;color:var(--muted);margin:6px 0}
.cos-legend b{flex-basis:100%;color:var(--text);font-size:10.5px}
.cos-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.cos-legend-box{background:#0b111de6;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;max-width:420px}
/* Imagens Sentinel-2 da zona */
.sat-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 10px}
.sat-tools label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;color:var(--muted)}
.sat-dates{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.sat-date{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;text-align:left;font-size:10.5px;line-height:1.3;border-left:3px solid var(--line2)}
.sat-date b{font-size:12px}
.sat-date span,.sat-date small{color:var(--muted)}
.sat-date.rel-antes{border-left-color:#62c4ff}
.sat-date.rel-durante{border-left-color:#ff453a}
.sat-date.rel-depois{border-left-color:#ffac4c}
.sat-date.on{background:var(--accent-soft);border-color:var(--accent);border-left-width:3px}
.sat-map{height:min(60vh,520px);min-height:320px;border:1px solid var(--line2);border-radius:8px;background:#05080c}
/* Deteção remota */
.remote-page{position:relative;height:calc(100dvh - var(--top) - var(--footer))}
.remote-map{position:absolute;inset:0;background:#05080c}
.remote-panel{position:absolute;left:12px;bottom:34px;max-height:calc(100% - 120px);z-index:800;width:300px;display:flex;flex-direction:column;background:#0b111df2;border:1px solid var(--line2);border-radius:10px;box-shadow:0 12px 30px #000a;backdrop-filter:blur(8px)}
.remote-page .leaflet-top.leaflet-left{left:0}
.rp-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}
.rp-head b{font-size:12.5px;letter-spacing:.5px}
.rp-body{overflow:auto;padding:4px 12px 14px;display:flex;flex-direction:column;gap:6px}
.rp-body .field-label{margin-top:8px}
.rp-body select,.rp-body input[type=datetime-local]{width:100%}
.rt-steps,.rt-row{display:flex;gap:6px;align-items:center}
.rt-steps select{flex:1}
.rt-row select{flex:1;min-width:0}
.rt-row input[type=range]{width:90px}
.rt-steps button{min-width:38px}
.remote-panel.collapsed{bottom:auto}
.remote-panel.collapsed .rp-body{display:none}
.remote-page:has(.remote-panel.collapsed) .leaflet-top.leaflet-left{left:0}
.rt-legend{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:10px;color:var(--muted);margin-top:6px}
.rt-legend b{flex-basis:100%;color:var(--text);margin-top:6px;font-size:10.5px}
.rt-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.rt-legend small{flex-basis:100%;margin-top:6px;line-height:1.5}
.rt-legend .cos-legend{flex-basis:100%}
@media(max-width:700px){.remote-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:52vh}.remote-page .leaflet-top.leaflet-left{left:0}}
@media(min-width:1280px){.home-grid{grid-template-columns:repeat(6,minmax(0,1fr));padding-left:max(24px,calc((100vw - 1500px)/2));padding-right:max(24px,calc((100vw - 1500px)/2))}.home-card{min-height:280px}}
@media(min-width:1001px) and (max-width:1279px){.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1000px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body:not([data-module=home]) .brand b{display:none}body:not([data-module=home]) .brand{margin-right:0}}
@media(max-width:700px){body:not([data-module=home]) .fire-button{order:2;flex:1 1 calc(100% - 210px);height:40px}body:not([data-module=home]) .run-button{order:3;height:40px;padding:0 11px;font-size:11.5px}.module-chip{order:1}.topbar nav{order:4}.top-actions{order:5}#globalState{display:none}}

/* ===== V13.1: simulação em hexágonos ===== */
.sim-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px;align-items:end;margin:0 0 8px;padding:12px 14px;background:var(--card);border:1px solid #273547;border-radius:10px}
.sim-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.sim-f select,.sim-f input{width:100%}
.sim-start{display:flex;gap:6px;align-items:center}.sim-start input{flex:1;min-width:0}
.sim-quick{display:inline-flex;gap:4px}.sim-quick button{height:36px;padding:0 9px;font-size:11px}
.sim-go{flex-direction:row;justify-content:flex-end;gap:8px}.sim-go button{height:38px}.sim-go .primary{min-width:120px}
.sim-map-card{margin:12px 0;background:var(--card);border:1px solid #273547;border-radius:10px;overflow:hidden}
.sim-map{height:min(66vh,620px);min-height:360px;background:#05080c}
.sim-time{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}
.sim-time button{width:40px;height:36px;padding:0;font-size:14px}
.sim-time input[type=range]{flex:1;accent-color:var(--accent);min-height:0}
.sim-time b{font-size:12px;min-width:260px;text-align:right}
.sim-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 14px 12px;font-size:10.5px;color:var(--muted)}
.sim-ramp{display:inline-flex;align-items:center;gap:6px}.sim-ramp i{display:inline-block;width:150px;height:10px;border-radius:3px}
.sim-legend .sw{display:inline-block;width:14px;height:10px;margin-right:5px;vertical-align:-1px;border-radius:2px}
.sim-legend .dash{display:inline-block;width:18px;height:0;border-top:2px dashed #fff;margin-right:5px;vertical-align:3px}
.sim-wind{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin:4px 0 8px;scrollbar-width:thin}
.sim-wc{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:78px;padding:7px 6px;background:var(--card);border:1px solid #273547;border-radius:8px;font-size:10.5px;color:var(--muted);cursor:pointer}
.sim-wc b{color:var(--text);font-size:11px}.sim-wc .arr{font-size:20px;line-height:1;color:#62c4ff}.sim-wc .spd{color:var(--text);font-weight:700}
.sim-wc.on{border-color:var(--accent);background:var(--accent-soft)}.sim-wc.hot .spd{color:#ffb4ab}
.sim-read{margin:0 0 10px;padding-left:18px;font-size:12.5px;line-height:1.7}.sim-read li{margin:2px 0}.sim-read b{color:#f0d9b8}
.sim-details{margin:8px 0}.sim-details>summary{cursor:pointer;font-size:12px;color:var(--muted);padding:6px 0}
.sim-popup b{display:block;margin-bottom:2px}.sim-popup{font-size:11.5px;line-height:1.5}
/* Camadas dos mapas */
.mlc{background:#0b111dee;border:1px solid var(--line2);border-radius:8px;box-shadow:0 6px 16px #0008;color:var(--text);font-family:var(--mono)}
.mlc-btn{border:0;background:none;padding:7px 11px;font-size:11.5px;color:var(--text)}
.mlc-panel{padding:4px 12px 12px;width:270px;max-height:60vh;overflow:auto;display:flex;flex-direction:column;gap:6px;font-size:11.5px}
.mlc-panel[hidden]{display:none}
.mlc-panel>b{font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);margin-top:6px}
.mlc-bases{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.mlc-bases label,.mlc-row label{display:flex;align-items:center;gap:6px;cursor:pointer}
.mlc-bases input{accent-color:var(--accent)}
.mlc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:4px 0;border-top:1px solid #1d2833}
.mlc-row select{min-height:26px;padding:2px 6px;font-size:10.5px}
.mlc-row input[type=range]{grid-column:1/-1;min-height:0;accent-color:var(--accent)}
.mlc-panel small{color:var(--dim);font-size:9.5px;line-height:1.4;margin-top:4px}
.mlc input[type=radio],.mlc input[type=checkbox]{appearance:auto;-webkit-appearance:auto;width:14px;height:14px;min-height:0;padding:0;margin:0;border:0;background:none;flex:none;accent-color:var(--accent)}
.mlc-row label{font-size:11px;line-height:1.3}
.mlc label{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;width:auto!important;min-width:0;margin:0!important;padding:0;font-size:11px;color:var(--text);text-transform:none;letter-spacing:0}
.mlc-bases{grid-template-columns:repeat(2,minmax(0,1fr))}
.mlc-panel{overflow-x:hidden}
.mlc label>input[type=radio],.mlc label>input[type=checkbox]{display:inline-block!important;width:14px!important;height:14px!important;margin:0!important;flex:none}

/* ===== V13.2: localidades e população, relevo, simulação ===== */
.live-warning details.lw-more{margin-top:6px}.live-warning details.lw-more summary{cursor:pointer;color:#ffd0cb;font-size:11.5px}.live-warning details.lw-more p{margin:4px 0 0;font-size:11.5px;color:#f4dcd8}
.places-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
.sec-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10.5px;font-weight:700;white-space:nowrap;color:#0b111d}
.sec-frente{background:#ff6b5e}.sec-flanco{background:#ffb33e}.sec-retaguarda{background:#56657a;color:#e6edf3}.sec-none{background:#334155;color:#e6edf3}
tr.row-frente td{background:#2a1412}tr.row-flanco td{background:#231a0c}
.pop-kpis article.frente{border-color:#b3413a}.pop-kpis article.flanco{border-color:#8a6420}
.pop-bands td,.pop-bands th{text-align:right}.pop-bands td:first-child,.pop-bands th:first-child{text-align:left}
.pop-legend{display:inline-flex;align-items:center;gap:4px}.pop-legend i{display:inline-block;width:14px;height:10px;border-radius:2px}
.sim-view{margin:0 8px 0 0}
.sim-diag{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 4px;padding:8px 12px;background:#0b111d;border:1px solid var(--line);border-radius:8px;font-size:11px;color:var(--muted)}
.sim-diag span b{color:var(--text)}.sim-diag .ok{color:#7cc4a4}.sim-diag .warn{color:#ffb33e}.sim-diag .bad{color:#ff6b5e}
.sim-error{padding:12px 14px;border:1.5px solid #b3413a;background:#2a1412;border-radius:8px;color:#ffd0cb;font-size:12.5px;line-height:1.6;margin:8px 0}
.relief-prof .meteo-canvas{height:250px}
@media(max-width:700px){.sim-time{flex-wrap:wrap}.sim-time b{min-width:0;flex-basis:100%;text-align:left;font-size:11px}.places-bar{flex-direction:column;align-items:stretch}}

.places-table td:nth-child(-n+2),.places-table th:nth-child(-n+2){text-align:left}
.sim-go button{white-space:nowrap}
@media(min-width:1100px){.sim-form{grid-template-columns:minmax(170px,1fr) minmax(300px,1.5fr) minmax(96px,.6fr) minmax(170px,1fr) auto}}

/* V13.2 · revisão: menos repetição e ecrãs estreitos */
.terr-grid>*{min-width:0}.terr-map img{max-width:100%;height:auto}
#livePage .ctx-bar .ctx-main,#s2Page .ctx-bar .ctx-main,#dataPage .ctx-bar .ctx-main{display:none}
#livePage .ctx-bar,#s2Page .ctx-bar,#dataPage .ctx-bar{justify-content:flex-end;padding-top:6px;padding-bottom:6px}
@media(max-width:700px){
 .sim-form{grid-template-columns:1fr 1fr;gap:10px}.sim-form>.sim-f:first-child,#simStartLabel,.sim-go{grid-column:1/-1}
 .pop-kpis b{font-size:19px}
 #livePage .ctx-bar,#s2Page .ctx-bar,#dataPage .ctx-bar{justify-content:flex-start}
}

/* ===== V13.3 · tipo de letra, cabeçalho principal, cabeçalho da secção, página inicial e rodapé ===== */
:root{--mono:"JetBrains Mono","Cascadia Mono",Consolas,ui-monospace,monospace;--head:62px;--sec:54px}
body{--top:calc(var(--head) + var(--sec))}
body[data-module=home]{--sec:0px}
/* cabeçalho principal: marca, trocar função, relógios, ligação, INFO */
.topbar{height:var(--head);flex-wrap:nowrap;padding:0 18px;gap:14px}
.brand{gap:12px;margin-right:6px;letter-spacing:0}
.brand svg{width:38px;height:38px}
.brand .brand-txt{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.12}
.brand .brand-txt b{display:block;font-size:20px;font-weight:800;letter-spacing:3.4px;color:var(--text)}
.brand-txt small{font-size:9px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-top:4px;white-space:nowrap;line-height:1.3}
.module-chip{height:36px;padding:0 13px;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);background:transparent;border:1px solid var(--line)}
.module-chip>i{display:inline;font-style:normal;color:var(--accent);font-size:15px}
.module-chip:hover{color:var(--text);border-color:var(--accent);background:#131d2a}
.top-actions{gap:10px;margin-left:auto}
.clocks{display:flex;height:42px;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.clk{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;height:100%;padding:0 12px;border:0;border-radius:0;background:transparent;line-height:1.05}
.clk+.clk{border-left:1px solid var(--line)}
.clk:hover{background:#131d2a}
.clk-z{font-size:8.5px;font-weight:800;letter-spacing:1.6px;color:var(--dim)}
.clk-t{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
.clk-t small{font-size:10.5px;font-weight:600;color:var(--dim)}
.clk.on{background:#ffac4c10}.clk.on .clk-z{color:var(--accent)}
.net-state{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 13px;border:1px solid var(--line);border-radius:18px;background:transparent;font-size:10.5px;font-weight:800;letter-spacing:1.5px;color:var(--muted)}
.net-state i{width:9px;height:9px;border-radius:50%;background:#5b6b7d;flex:none}
.net-state.on i{background:#34d399;box-shadow:0 0 0 3px #34d39922,0 0 9px #34d39988}
.net-state.on b{color:#8be3bf}
.net-state.off{border-color:#7f2d2a}.net-state.off i{background:#ff4d4d;box-shadow:0 0 0 3px #ff4d4d22,0 0 9px #ff4d4d88}.net-state.off b{color:#ff9b93}
.info-button{height:36px;padding:0 16px;font-size:11.5px;font-weight:800;letter-spacing:2px;color:var(--accent);border-color:var(--accent-line);background:transparent}
.info-button:hover{background:var(--accent-soft);color:#ffd29a}
/* cabeçalho da secção: número e nome, escolha, opções, calcular, vistas, exportar */
.secbar{height:var(--sec);display:flex;align-items:center;gap:10px;padding:0 18px;background:#0b111a;border-bottom:1px solid var(--line);position:relative;z-index:1090}
.secbar[hidden]{display:none}
.sec-id{display:flex;align-items:center;gap:10px;flex:none;height:38px;padding-right:16px;margin-right:4px;border-right:1px solid var(--line)}
.sec-n{font-size:22px;font-weight:800;line-height:1;color:var(--accent);letter-spacing:.5px;font-variant-numeric:tabular-nums}
.sec-name{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.sec-name b{font-size:14px;font-weight:700;white-space:nowrap}
.sec-name small{font-size:9.5px;color:var(--dim);letter-spacing:.3px;white-space:nowrap}
.secbar .mc-ico{width:32px;height:32px}
.secbar .fire-button{height:42px;min-width:240px;max-width:390px;order:0;flex:0 1 auto}
.fire-button.needs-pick{border-color:var(--accent);box-shadow:0 0 0 3px #ffac4c1f}
.fire-button.needs-pick b{color:#ffd29a}
.sec-btn{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 13px;font-size:11.5px;background:transparent;border-color:var(--line);white-space:nowrap}
.sec-btn i{font-style:normal;color:var(--dim);font-size:10px}
.sec-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}
.sb-ico{display:inline-grid;place-items:center}
.sb-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.secbar .run-button{height:42px;order:0}
#viewNav{display:flex;align-self:stretch;margin-left:auto;order:0}
#viewNav button{background:none;border:0;border-radius:0;padding:0 16px;color:var(--muted);border-bottom:2px solid transparent;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}
#viewNav button.active{color:var(--accent);border-bottom-color:var(--accent)}
#viewNav button:hover{background:#131d2a;color:var(--text)}
.sec-file{margin-left:4px}
.ctx-bar{display:none!important}
/* página inicial */
.home-start{margin:0;padding:26px max(28px,calc((100vw - 1240px)/2)) 0;font-size:clamp(17px,1.9vw,22px);font-weight:800;letter-spacing:.3px;color:var(--accent)}
.home-grid{padding-top:14px}
.home-card{gap:4px;padding:18px 18px 40px}
.hc-top{display:flex;align-items:flex-start;justify-content:space-between;width:100%;margin-bottom:14px}
.hc-n{font-size:32px;font-weight:800;line-height:1;letter-spacing:1px;color:transparent;-webkit-text-stroke:1.3px var(--accent);transition:color .15s}
.home-card:hover .hc-n,.home-card:focus-visible .hc-n{color:var(--accent)}
.home-card.hot .hc-n{-webkit-text-stroke-color:#ff6b5e}.home-card.hot:hover .hc-n{color:#ff6b5e}
.hc-top .hc-ico{margin:0;width:48px;height:48px;border-radius:12px}
.hc-ico svg{width:29px;height:29px}
.hc-ico svg .fill,.mc-ico svg .fill{fill:currentColor;stroke:none}
.hc-ico svg .soft,.mc-ico svg .soft{opacity:.35}
.home-card b{font-size:18px;line-height:1.25}
.home-card .hc-k{font-size:10.5px;letter-spacing:.7px;margin-top:3px}
.home-card p{margin-top:9px;font-size:12.5px;line-height:1.6}
.home-card>i{top:auto;bottom:14px;right:18px}
/* rodapé */
.status-coords{margin-left:auto;font-size:9.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.status-coords:empty{display:none}
.status-credit{margin-left:auto;padding:0 0 0 14px;display:inline}
.status-coords:not(:empty)+.status-credit{margin-left:0}
.status-credit .sc-short{display:none}
.info-install{margin-left:auto;margin-right:10px;height:32px;padding:0 12px;font-size:11px;border-color:var(--accent-line);color:var(--accent);background:transparent}
/* larguras intermédias */
@media(max-width:1360px){.sec-name small{display:none}}
@media(max-width:1250px){.sec-name{display:none}.sec-id{padding-right:12px}#viewNav button{padding:0 11px}.secbar .fire-button{min-width:210px}}
@media(max-width:1100px){.sec-btn .sb-txt{display:none}.sec-btn{padding:0 11px}.clk-t small{display:none}}
@media(max-width:1023px){body:not([data-module=home]) .brand-txt small{display:none}}
@media(max-width:1000px){.brand-txt small{white-space:normal;max-width:250px}}
@media(max-width:900px){
 :root{--sec:100px}
 .secbar{flex-wrap:wrap;align-content:center;row-gap:8px;padding:8px 12px}
 .secbar .fire-button{flex:1 1 calc(100% - 120px);max-width:none;min-width:0}
 .secbar .run-button{order:2}.secbar #optionsButton{order:3}#viewNav{order:4;margin-left:auto;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;height:38px}#viewNav::-webkit-scrollbar{display:none}.sec-file{order:5}
 .secbar .run-button,.sec-btn{height:38px}
 body:not([data-module=home]) .secbar .fire-button{order:1;flex:1 1 calc(100% - 120px);height:42px}body:not([data-module=home]) .secbar .run-button{order:2;height:38px}
}
@media(max-width:700px){
 :root{--head:56px;--sec:98px}
 .topbar{padding:0 10px;gap:8px}
 .brand svg{width:32px;height:32px}
 .brand .brand-txt b{font-size:16px;letter-spacing:2.4px}
 .brand-txt small{display:none}
 body:not([data-module=home]) .brand .brand-txt{display:none}
 .module-chip span{display:none}.module-chip{padding:0 10px;height:34px}
 .top-actions{gap:6px}
 .clocks{height:36px}.clk{padding:0 7px}.clk-t{font-size:12.5px}.clk-z{font-size:7.5px}
 .net-state{height:32px;padding:0 9px}.net-state b{display:none}
 #openMethod.info-button{width:auto;height:32px;padding:0 10px;font-size:10.5px;letter-spacing:1.4px}
 .secbar{padding:7px 10px;gap:7px}
 .sec-id{height:34px;padding-right:8px;gap:7px;margin-right:0}.sec-n{font-size:18px}.secbar .mc-ico{width:28px;height:28px}
 body:not([data-module=home]) .secbar .fire-button{order:1;flex:1 1 calc(100% - 100px);height:40px}
 #viewNav button{padding:0 9px;font-size:10px;letter-spacing:.5px}
 .home-start{padding:18px 16px 0}
 .home-card{padding:16px 16px 36px}
 .status-credit{display:inline}.status-credit .sc-long{display:none}.status-credit .sc-short{display:inline}.status-coords{display:none}
}
@media(max-width:420px){.clk-z{display:none}.clk{padding:0 6px}}

/* ===== V13.4 · contornos iguais (retângulo como os relógios), INFO só com símbolo, símbolos das funções ===== */
.module-chip,.net-state,.info-button,.clocks{height:42px;border:1px solid var(--line);border-radius:9px}
.net-state{padding:0 14px}
.info-button{width:42px;padding:0;display:inline-grid;place-items:center;color:var(--accent);background:transparent}
.info-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.info-button svg .fill{fill:currentColor;stroke:none}
.info-button:hover{border-color:var(--accent);background:var(--accent-soft);color:#ffd29a}
.module-chip:hover,.net-state:hover,.clk:hover{border-color:var(--line2)}
.net-state:hover{background:#131d2a}
.secbar .fire-button,.sec-btn,.secbar .run-button{border-radius:9px}
.hc-ico{--icobg:var(--accent-soft)}.home-card.hot .hc-ico{--icobg:#2a1412}
.mc-ico{--icobg:var(--accent-soft)}body[data-module=ativos] .mc-ico{--icobg:#2a1412}
.hc-ico svg .mask,.mc-ico svg .mask{fill:var(--icobg);stroke:none}
.hc-ico svg .soft,.mc-ico svg .soft{opacity:.3}
.hc-ico svg .soft2,.mc-ico svg .soft2{opacity:.6}
.home-card:hover .hc-ico svg .soft{opacity:.45}.home-card:hover .hc-ico svg .soft2{opacity:.8}
@media(max-width:700px){.module-chip,.net-state,.clocks{height:36px}#openMethod.info-button{width:36px;height:36px;padding:0}.info-button svg{width:19px;height:19px}}
@media(max-width:900px){#viewNav{flex:1 1 0;min-width:0}.secbar{overflow:hidden}}
@media(max-width:700px){body:not([data-module=home]) .secbar .run-button{padding:0 12px;font-size:11.5px}.sec-btn{padding:0 10px}}
/* V13.4 · sem títulos repetidos dentro das páginas: o cabeçalho da secção já diz a função e o que está escolhido */
#livePage>.data-heading,#dataPage .data-heading,#s2Page .data-heading{display:none}
.live-opts-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:4px 0 2px}
.live-opts-row select{width:auto;min-width:92px}
.live-opts .hint{margin:6px 0 8px}
/* ===== V13.5 · Simulação: passos 1 a 3 na página ===== */
.simset-local{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;margin-top:6px}
.simset-map{height:min(52vh,460px);min-height:300px;border:1px solid var(--line2);border-radius:10px;background:#05080c}
.simset-side{display:flex;flex-direction:column;gap:10px}
.simset-side .hint{margin:0}
.ss-info{font-size:12px;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:0}
.simset-row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin:8px 0 8px}
.simset-row label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;color:var(--muted);letter-spacing:.4px;min-width:180px;flex:0 1 220px}
.simset-row>button{height:36px}
#ssWxSrc{margin:6px 0 4px}
.simset-go{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:14px}
.simset-go .primary{height:46px;padding:0 40px;font-size:14px;font-weight:800;letter-spacing:.6px;border-radius:9px}
.ss-msg{font-size:12px;color:#ffb3aa}
.manual-wx article b{font-size:22px}
body[data-module=sim] #simToMap,body[data-module=sim] #simStartLabel,body[data-module=sim] .sim-f:has(#simMode),body[data-module=sim] .sim-f:has(#simHours),body[data-module=sim] #simPick,body[data-module=sim] #simPointInfo{display:none!important}
@media(max-width:800px){.simset-local{grid-template-columns:1fr}.simset-map{height:46vh}}
.simset-map{position:relative;z-index:0;isolation:isolate}
body[data-module=sim] .sim-form{grid-template-columns:minmax(220px,340px) auto;justify-content:start}
@media(max-width:900px){body[data-module=sim],body[data-module=remota]{--sec:56px}body[data-module=sim] .secbar,body[data-module=remota] .secbar{flex-wrap:nowrap;padding-top:0;padding-bottom:0}body[data-module=sim] .sec-file{margin-left:auto}}
@media(max-width:700px){.simset-row label{flex:1 1 150px;min-width:140px}}
/* V13.5 · identificação das secções mais legível (ex.: «1 · LOCAL») */
.section-kicker{font-size:13px;letter-spacing:1.8px;font-weight:800;margin-bottom:6px}
@media(max-width:700px){.section-kicker{font-size:12px;letter-spacing:1.4px}}
body[data-module=sim] .sec-name,body[data-module=remota] .sec-name{display:flex}

/* ===== V13.8: botão de camadas igual em todos os mapas (canto superior direito), limites administrativos, legendas das camadas, pesquisa de localidade, cenários explicados, tabela do vento ===== */
.leaflet-top.leaflet-right{top:0}
#map .leaflet-top.leaflet-right{top:58px}
.mlc{background:none;border:0;box-shadow:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.mlc-btn{width:36px;height:36px;min-height:0;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;cursor:pointer}
.mlc-btn:hover,.mlc-btn.on{border-color:var(--accent);color:var(--accent)}
.mlc-panel{background:#0b111df5;border:1px solid var(--line2);border-radius:8px;box-shadow:0 12px 28px #000a;width:300px;max-height:min(68vh,540px)}
.mlc-top{display:flex;align-items:center;justify-content:space-between;padding:8px 0 0;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:700}
.mlc-x{border:0;background:none;color:var(--muted);font-size:18px;line-height:1;padding:0 2px;min-height:0;height:auto;cursor:pointer}
.mlc-x:hover{color:var(--accent)}
.mlc-lims{display:grid;grid-template-columns:1fr;gap:5px}
.lim-sw{display:inline-block;width:18px;height:0;flex:none;vertical-align:middle;margin-right:2px}
.mlc-row.multi{grid-template-columns:minmax(0,1fr)}
.mlc-years{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;padding:2px 0 0}
.mlc-years[hidden]{display:none}
.mlc-years small{flex-basis:100%;color:var(--dim);font-size:9.5px;margin:0!important}
.mlc-years button{min-height:0;height:22px;padding:0 7px;font-size:10px;border:1px solid #2b3a4d;border-radius:4px;background:#101a26;color:var(--muted);display:inline-flex;align-items:center;gap:5px;cursor:pointer;letter-spacing:0}
.mlc-years button::before{content:'';width:8px;height:8px;border-radius:2px;background:var(--yc);opacity:.3}
.mlc-years button.on{border-color:var(--yc);color:var(--text);background:#16212e}
.mlc-years button.on::before{opacity:1}
/* legenda das camadas ativas, por baixo do mapa */
.mlc-legend{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 12px;border:1px solid #273547;border-radius:8px;background:var(--card);font-size:10.5px;color:var(--muted);line-height:1.5}
.mlc-legend[hidden]{display:none}
.mlc-lg{display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px}
.mlc-lg>b{color:#ffb04f;font-size:9.5px;letter-spacing:1px;text-transform:uppercase;margin-right:2px}
.mlc-lg span{display:inline-flex;align-items:center;gap:5px}
.mlc-lg .sw{display:inline-block;width:12px;height:10px;border-radius:2px;flex:none}
.mlc-lg small{color:var(--dim)}
.mlc-legend-in{margin:0 0 4px;max-width:min(430px,70vw);max-height:38vh;overflow:auto;background:#0b111de8}
.sim-map-card .mlc-legend{margin:0 14px 12px}
.remote-panel .mlc-legend{margin-top:10px}
/* mapa principal: o mesmo ícone de camadas, limites e a legenda dos limites */
.layers-menu>summary{width:38px;height:38px;padding:0;justify-content:center;color:#dce6f1}
.layers-menu>summary::after{content:none}
.layers-menu[open]>summary,.layers-menu>summary:hover{color:var(--accent);border-color:var(--accent)}
.layers-sub{font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);font-weight:700}
.lim-checks{display:grid;grid-template-columns:1fr;gap:6px}
@media(min-width:701px){.map-tools .layers-menu{order:2}}
.map-tools{z-index:1001}
.layers-body{max-height:calc(100vh - var(--top,116px) - 150px);overflow-y:auto;overscroll-behavior:contain}
.lim-checks label{gap:6px}
.lim-legend{width:auto;gap:4px 12px;align-items:center}
.lim-legend>b{width:auto}
.lim-legend span{display:inline-flex;align-items:center;gap:5px}
.lim-legend .sw{display:inline-block;width:12px;height:10px;border-radius:2px}
.lim-legend>b~b{margin-left:8px}
/* nomes das regiões, sub-regiões, distritos e municípios */
.lim-lbl{background:none;border:0}
.lim-lbl span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;font-family:var(--mono);font-weight:700;font-size:11px;color:#fff;text-shadow:0 0 3px #0b111d,0 0 3px #0b111d,0 1px 3px #000;pointer-events:none}
.lim-nuts2 span{font-size:13px;color:#ffc58a;text-transform:uppercase;letter-spacing:1.6px}
.lim-nuts3 span{font-size:11.5px;color:#ffe29a}
.lim-dist span{font-size:12px;text-transform:uppercase;letter-spacing:1.2px}
.lim-muni span{font-size:10.5px;font-weight:600;color:#e8eef4}
/* 1 · Local: procurar localidade ou município */
.simset-mapcol{min-width:0}
.ss-find{position:relative;display:flex;flex-direction:column;gap:5px}
.ss-find input{width:100%}
.ss-find-list{position:absolute;top:100%;left:0;right:0;z-index:1200;margin-top:4px;background:#0d141e;border:1px solid var(--line2);border-radius:8px;box-shadow:0 12px 30px #000b;max-height:330px;overflow:auto;padding:4px}
.ss-find-list[hidden]{display:none}
.ss-find-list button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-height:0;height:auto;padding:7px 10px;border:0;border-radius:6px;background:none;text-align:left;color:var(--text);cursor:pointer;white-space:normal}
.ss-find-list button b{font-size:12px}
.ss-find-list button small{font-size:10px;color:var(--muted)}
.ss-find-list button.on,.ss-find-list button:hover{background:var(--accent-soft)}
.ss-find-none{margin:0;padding:8px 10px;font-size:11px;color:var(--muted)}
.ss-info small{color:var(--muted)}
/* cenário principal: provável ou potencial, com a explicação */
.sim-scen-f{grid-column:1/-1;order:5}
.sim-go{order:4}
.scen-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.scen-pick button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;text-align:left;padding:11px 13px;min-height:0;height:auto;border:1px solid #2b3a4d;border-radius:8px;background:#0f1824;color:var(--muted);font-size:11px;font-weight:400;line-height:1.55;letter-spacing:0;text-transform:none;cursor:pointer;white-space:normal}
.scen-pick button b{font-size:13px;color:var(--text)}
.scen-pick button b small{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--dim);margin-left:4px;font-weight:600}
.scen-pick button b::before{content:'○ ';color:var(--dim)}
.scen-pick button em{font-style:normal;color:var(--accent);font-size:10.5px}
.scen-pick button.on{border-color:var(--accent);background:var(--accent-soft);color:#d2dce6}
.scen-pick button.on b::before{content:'● ';color:var(--accent)}
.scen-pick button:hover{border-color:var(--accent-line)}
.scen-note{color:var(--dim);font-size:10.5px;line-height:1.5}
body[data-module=sim] .sim-form{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:end}
body[data-module=sim] .sim-scen-f{grid-column:auto;order:0}
@media(min-width:1100px){.sim-form{grid-template-columns:minmax(170px,1fr) minmax(300px,1.5fr) minmax(96px,.6fr) auto}}
/* vento em cada período: tabela */
.sim-wind-t{max-height:none;margin:4px 0 6px}
.sim-wind-t th[scope=row]{position:sticky;left:0;z-index:2;background:#0c141f;text-align:left;color:var(--muted);font-weight:600;font-size:10.5px}
.sim-wind-t td,.sim-wind-t thead th[data-simh]{text-align:center;padding:7px 10px}
.sim-wind-t [data-simh]{cursor:pointer}
.sim-wind-t td[data-simh]:hover{background:#16212e}
.sim-wind-t td.on{background:var(--accent-soft);color:var(--text)}
.sim-wind-t thead th.on{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.sim-wind-t td.hot{color:#ffb4ab;font-weight:700}
.sim-wind-t thead th:first-child{position:sticky;left:0;z-index:3}
@media(max-width:700px){#map .leaflet-top.leaflet-right{top:98px}.scen-pick{grid-template-columns:1fr}body[data-module=sim] .sim-form{grid-template-columns:1fr}.mlc-panel{width:min(300px,calc(100vw - 70px))}.mlc-lims{grid-template-columns:1fr}}

/* ===== V13.9: meteorologia oficial (tabela e meteogramas), fatores meteorológicos da simulação, tabelas sempre abertas, aglomerados populacionais ===== */
.live-sub small{text-transform:none;letter-spacing:0;color:var(--dim);font-weight:400;margin-left:8px;font-size:11px}
.owx-wrap{max-height:none}
.owx{font-size:11px;white-space:nowrap;border-collapse:separate;border-spacing:0}
.owx th,.owx td{padding:5px 6px;text-align:center;border-bottom:1px solid #1d2833}
.owx thead th{position:sticky;top:0;z-index:2;background:#182433;font-size:10.5px;line-height:1.25}
.owx thead th small{display:block;color:var(--dim);font-size:9px;font-weight:400}
.owx .owx-name{position:sticky;left:0;z-index:1;background:#0f1824;text-align:left;font-weight:600;color:#dce5ee;min-width:200px;max-width:250px;white-space:normal;line-height:1.3}
.owx thead .owx-name{z-index:3;background:#182433}
.owx .owx-name small{color:var(--dim);font-weight:400;font-size:9.5px}
.owx tr.owx-g th{position:sticky;left:0;text-align:left;background:#101a26;color:var(--accent);font-size:9.5px;letter-spacing:1.1px;text-transform:uppercase;padding:9px 8px 5px;border-bottom:1px solid #273547}
.owx tr.owx-g th small{margin-left:10px;text-transform:none;letter-spacing:0;color:var(--dim);font-weight:400;font-size:9.5px}
.owx td{font-variant-numeric:tabular-nums;font-weight:600;color:#e5edf4}
.owx td.now,.owx th.now{box-shadow:inset 1px 0 var(--accent),inset -1px 0 var(--accent)}
.owx thead th.now{color:var(--accent)}
.owx td.owx-day{font-size:11.5px}
.owx td.owx-day small{display:block;font-size:8.5px;font-weight:400;opacity:.75}
.owx .owx-dot{color:var(--dim);font-weight:400}
.owx .owx-arr{font-size:12px}
.ow-card{grid-template-columns:1fr}
.ow-card .meteo-canvas{height:260px}
/* simulação: gráfico maior, nota por baixo; fatores meteorológicos numa tabela que cabe na largura */
.sim-chart-card{grid-template-columns:1fr}
.sim-chart-canvas{height:400px}
.sim-chart-note{margin:6px 0 14px}
.sim-wind-t{max-height:none}
.sim-wind-t table{font-size:11.5px;white-space:normal}
.sim-wind-t thead th{text-align:center;vertical-align:bottom;line-height:1.3;white-space:normal}
.sim-wind-t thead th small{display:block;color:var(--dim);font-weight:400;font-size:9.5px}
.sim-wind-t td,.sim-wind-t tbody th{text-align:center;padding:6px 10px;white-space:nowrap}
.sim-wind-t tbody th{text-align:left;color:#dce5ee;font-weight:700;background:#0f1824;position:static}
.sim-wind-t tbody tr{cursor:pointer}
.sim-wind-t tbody tr:hover th,.sim-wind-t tbody tr:hover td:not([style]){background:#16212e}
.sim-wind-t tbody tr.on th{background:var(--accent-soft);color:var(--accent)}
.sim-wind-t tbody tr.on td{box-shadow:inset 0 2px var(--accent),inset 0 -2px var(--accent)}
.sim-wind-t td.hot{color:#ffb4ab;font-weight:700}
.sim-beh{max-height:none}
.sim-beh table{table-layout:auto}
.sim-beh td,.sim-beh th{white-space:normal;vertical-align:top;line-height:1.45;padding:7px 9px}
.sim-beh th small{display:block}
.sim-beh td:first-child{white-space:nowrap}
/* aglomerados populacionais no mapa da simulação */
.leaflet-tooltip.agl-tip{background:#0b111df0;border:1px solid #ffffff55;color:#fff;font-weight:700;font-size:11.5px;padding:2px 7px;box-shadow:0 2px 6px #000a}
.leaflet-tooltip.agl-tip::before{display:none}
.agl-pop{line-height:1.6}
.places-table .pl-freg{white-space:normal;min-width:160px;max-width:260px}
.places-table td:nth-child(-n+4),.places-table th:nth-child(-n+4){text-align:left}
.owx .owx-ft{display:block;font-size:9.5px;font-weight:600;color:inherit;opacity:.9}
.owx td{padding:5px 5px}
.owx .owx-name{min-width:180px}
.sim-wind-t .sw-short,.sim-wind-t .sw-br{display:none}
.sim-wind-t .sw-short .owx-ft{display:inline;margin-left:3px;font-size:10px}
@media(max-width:700px){.sim-wind-t .sw-long{display:none}.sim-wind-t .sw-short{display:inline}.sim-wind-t .sw-br{display:inline}.sim-wind-t table{font-size:10.5px}.sim-wind-t td,.sim-wind-t tbody th{padding:5px 2px}.sim-wind-t thead th{font-size:8.5px;letter-spacing:0;padding:5px 2px;hyphens:auto;overflow-wrap:anywhere}.sim-wind-t thead th small{display:none}.sim-wind-t .sw-hour{white-space:normal;line-height:1.25}}
/* V13.10: histórico e relevo — cartões aos pares com a largura toda (como os gráficos largos) */
.relief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.relief-grid{grid-template-columns:1fr}}

/* V13.10: legendas das escalas por baixo da tabela oficial; grelha do vento em altitude */
.owl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;margin:6px 0}
.owl{background:var(--card);border:1px solid #273547;border-radius:8px;padding:10px 12px;min-width:0}
.owl>b{display:block;font-size:11.5px;color:#dce5ee}
.owl>small{display:block;font-size:9.5px;color:var(--dim);margin:2px 0 6px;line-height:1.4}
.owl ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.owl li{display:grid;grid-template-columns:16px auto 1fr;gap:3px 8px;align-items:baseline;font-size:10.5px;line-height:1.35}
.owl li i{width:14px;height:11px;border-radius:2px;align-self:center;border:1px solid #0b111d55}
.owl .owl-r{color:#e5edf4;font-weight:700;white-space:nowrap}
.owl .owl-d{color:var(--muted)}
.owl-ramp{height:12px;border-radius:3px;margin:4px 0 3px}
.owl-ticks{display:flex;justify-content:space-between;font-size:9.5px;color:var(--muted)}
.meteo-canvas.ow-grid{height:auto}
.meteo-canvas.ow-grid canvas{display:block}
.owx td{white-space:normal;line-height:1.25}
.owx .owx-ft{white-space:normal;font-size:9px}
.owx th[scope=col]{min-width:52px}

/* V13.11: legendas — quadros largos e compactos para as escalas com texto, cartões pequenos para as restantes */
.owl-intro{font-size:11px;color:var(--muted);margin:2px 0 8px;line-height:1.55}
.owl-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0}
.owl-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.owl-w .owl-t{width:100%;border-collapse:collapse;font-size:10.5px;white-space:normal}
.owl-t td{padding:3px 6px 3px 0;border-bottom:1px solid #1d2833;text-align:left;vertical-align:middle;line-height:1.35;white-space:normal}
.owl-t tr:last-child td{border-bottom:0}
.owl-t td:first-child{width:20px}
.owl-t .owl-r{color:#e5edf4;font-weight:700;white-space:nowrap;width:1%}
.owl-t .owl-n{color:#cfd9e3;white-space:nowrap;width:1%;padding-right:10px}
.owl-t .owl-d{color:var(--muted);border-left:1px solid #1d2833;padding-left:8px}
.owl-sw{display:inline-block;width:14px;height:11px;border-radius:2px;border:1px solid #0b111d55;vertical-align:middle}
.owl li{grid-template-columns:16px 1fr}
@media(max-width:900px){.owl-wide{grid-template-columns:1fr}}

/* V13.11: função 02 — lista de ocorrências, deteções e progressão, ponto de início móvel, estações com cores */
.occ-bar,.det-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0 10px}
.occ-bar input{flex:1 1 320px;min-width:0}
.occ-table{max-height:420px}
.occ-table tbody tr{cursor:pointer}
.occ-table tbody tr:hover td{background:#16212e}
.occ-table tbody tr.on td{background:var(--accent-soft)}
.occ-table td,.occ-table th{text-align:left}
.occ-go{color:var(--accent);font-weight:700;white-space:nowrap}
.det-card{margin-bottom:12px}
.det-table{max-height:420px}
.det-table th small,.st-near th small,.st-hours th small{display:block;color:var(--dim);font-weight:400;font-size:9.5px}
.det-table td,.det-table th{text-align:center}
.det-table td:first-child,.det-table th:first-child{text-align:left}
.sw-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.simpt{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin:4px 0 10px}
.simpt[hidden]{display:none}
.simpt-map{height:320px;border:1px solid var(--line2);border-radius:10px;position:relative;z-index:0;isolation:isolate;background:#05080c}
.simpt-side{display:flex;flex-direction:column;gap:8px}
.simpt-side .hint{margin:0}
.simpt-ico span{display:block;width:22px;height:22px;border-radius:50%;background:#ff453a;border:3px solid #ffd166;box-shadow:0 0 0 2px #0b111d}
.st-near td,.st-near th,.st-hours td,.st-hours th{text-align:center}
.st-near td:first-child,.st-near th:first-child,.st-hours td:first-child,.st-hours th:first-child{text-align:left}
@media(max-width:800px){.simpt{grid-template-columns:1fr}}

.owl-cat{grid-template-columns:repeat(5,minmax(0,1fr))}
.owl-ramps{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.owl-cat,.owl-ramps{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}
.occ-table table{white-space:normal}
.occ-table td{white-space:normal;line-height:1.35}
.occ-table td:nth-child(6),.occ-table td:last-child{white-space:nowrap}

/* V13.12: tabela do decorrido com uma coluna por hora; separador do dia; nome do grupo sempre à vista ao deslizar */
.owx .d0{border-left:2px solid #3e536b}
.owx tr.owx-g th .owx-gs{position:sticky;left:10px;display:inline-block}
.owx-past{scroll-behavior:auto}
/* V13.13: nota do FWI por distrito na legenda */
.owl-note{margin:6px 0 0;font-size:10px;line-height:1.45;color:var(--dim)}
.owl-note b{color:#dce5ee}
/* V13.13: escolha do incêndio na página (03) */
.pick-tabs{margin:4px 0 14px;flex-wrap:wrap}
.pick-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.pick-grid.free{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}
.pick-map{height:460px;border-radius:12px;border:1px solid #273547;background:#0b111d}
.pick-mapbox .hint{margin:8px 2px 0}
#pickHost .fire-pane{padding:0}
#pickHost .history-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#pickHost .history-row select{min-width:130px}
#pickHost .history-tools{display:flex;gap:8px;flex-wrap:wrap}
#pickHost .history-tools input{flex:1 1 280px}
#pickHost #historyList{max-height:560px;overflow:auto;margin-top:6px}
#pickHost #historyList tr{cursor:pointer}
#pickHost #historyList tr.on td{background:#2a2213}
#pickHost .period-block{margin-top:14px}
#pickHost #runAnalysisPanel{margin-top:10px}
@media(max-width:900px){.pick-grid.free{grid-template-columns:minmax(0,1fr)}.pick-map{height:320px}}
/* V13.13: 05 com os controlos no cabeçalho da secção */
.rt-bar{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0}
.rt-bar[hidden]{display:none}
.rt-clock{display:flex;align-items:center;gap:5px;height:42px;padding:0 8px;border:1px solid var(--line);border-radius:9px}
.rt-clock input{height:32px;width:178px;padding:0 8px}
.rt-clock select{height:32px;width:82px;padding:0 6px}
.rt-clock button{height:32px;min-width:32px;padding:0 8px}
.rt-clock #rtNow{padding:0 12px}
.sec-chk{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;font-size:11.5px;cursor:pointer;white-space:nowrap}
.sec-chk input{margin:0}
.rt-pop{width:340px;display:flex;flex-direction:column;gap:6px}
.rt-pop .field-label{margin-top:8px}
.rt-pop select{width:100%}
.remote-panel .rp-body{gap:4px}
.s2-nav{margin:14px 0 6px}
@media(max-width:1250px){.rt-clock input{width:160px}}
@media(max-width:1100px){.sec-chk span{display:none}}
@media(max-width:900px){.rt-bar{order:6;flex:1 1 100%;flex-wrap:wrap}}
/* V13.13: ocorrências ANEPC · alfinete com o símbolo da natureza (desenhos da SENTINELA) e a cor do estado */
.occ-pin-icon{background:none;border:0}
.occ-pin-wrap{position:relative;display:block;width:var(--pin);height:calc(var(--pin) + var(--tip));filter:drop-shadow(0 calc(var(--pin) * .12) calc(var(--pin) * .22) rgba(0,0,0,.65))}
.occ-pin{position:absolute;left:0;top:0;width:var(--pin);height:var(--pin);display:grid;place-items:center;border:2px solid rgba(255,255,255,.94);border-radius:calc(var(--pin) * .3);background:var(--occ-color);box-shadow:0 0 0 calc(var(--pin) * .06) color-mix(in srgb,var(--occ-color) 30%,transparent)}
.occ-pin::before{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:-2px;border-left:calc(var(--tip) * .76) solid transparent;border-right:calc(var(--tip) * .76) solid transparent;border-top:calc(var(--tip) + 2px) solid rgba(255,255,255,.94)}
.occ-pin::after{content:"";position:absolute;left:50%;top:100%;z-index:2;transform:translateX(-50%);margin-top:-4px;border-left:calc(var(--tip) * .48) solid transparent;border-right:calc(var(--tip) * .48) solid transparent;border-top:calc(var(--tip) * .8) solid var(--occ-color)}
.occ-pin svg{position:relative;z-index:3;width:60%;height:60%;color:#10161f}
.occ-pin-wrap.micro .occ-pin{border-radius:calc(var(--pin) * .45)}
.occ-pin-wrap.micro .occ-pin svg{display:none}
/* cartão da ocorrência */
.occ-popup .leaflet-popup-content-wrapper{background:#0d141e;color:#dce5ee;border:1px solid #2a3a4d;border-radius:12px;box-shadow:0 18px 40px #000c;padding:0}
.occ-popup .leaflet-popup-content{margin:0;width:auto!important;min-width:330px}
.occ-popup .leaflet-popup-tip{background:#0d141e;border:1px solid #2a3a4d}
.occ-popup a.leaflet-popup-close-button{color:#8597a5;top:8px;right:8px}
.occ-card{font-family:"JetBrains Mono",Consolas,monospace;border-top:4px solid var(--st);border-radius:12px;overflow:hidden}
.occ-card-h{display:flex;align-items:center;gap:10px;padding:12px 34px 10px 14px;background:color-mix(in srgb,var(--st) 14%,#0d141e)}
.occ-card-ico{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--st);color:#10161f;border:2px solid rgba(255,255,255,.9)}
.occ-card-ico svg{width:24px;height:24px}
.occ-card-st{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.occ-card-st b{font-size:12px;letter-spacing:.8px;color:var(--st)}
.occ-card-st small{font-size:10px;color:#9fb0c1}
.occ-card-dur{font-size:11px;font-weight:700;color:#dce5ee;border:1px solid #2a3a4d;border-radius:99px;padding:3px 9px;white-space:nowrap}
.occ-card-nat{padding:10px 14px 8px;display:flex;flex-direction:column;gap:3px;border-bottom:1px solid #1d2833}
.occ-card-nat strong{font-size:14px;line-height:1.3;color:#f2f6fa}
.occ-card-nat span{font-size:10px;color:#8597a5}
.occ-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:0;padding:10px 14px}
.occ-card-grid div{min-width:0}
.occ-card-grid dt{font-size:8.5px;letter-spacing:1.1px;text-transform:uppercase;color:#71849a}
.occ-card-grid dd{margin:2px 0 0;font-size:11.5px;font-weight:600;color:#dce5ee;overflow-wrap:anywhere}
.occ-card-res{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 14px 12px}
.occ-res-i{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid #1f2c3b;border-radius:9px;background:#0a1018;text-align:center}
.occ-res-i svg{width:26px;height:20px;color:var(--accent)}
.occ-res-i b{font-size:18px;line-height:1.1;color:#f2f6fa}
.occ-res-i span{font-size:8.5px;letter-spacing:.8px;text-transform:uppercase;color:#8597a5}
.occ-res-i small{font-size:8.5px;color:#71849a}
.occ-card-f{display:flex;justify-content:space-between;gap:10px;padding:8px 14px;border-top:1px solid #1d2833;font-size:9px;color:#71849a}
.occ-card-go{display:block;width:calc(100% - 28px);margin:0 14px 12px;padding:9px;border-radius:9px;background:var(--accent);color:#1c0f02;border:0;font-weight:700;cursor:pointer}
/* legenda e lista */
.occ-leg{display:flex;flex-wrap:wrap;gap:4px 12px;flex-basis:100%}
.occ-leg span{display:inline-flex;align-items:center;gap:5px}
.occ-leg-ico{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#d8e2ea;color:#10161f}
.occ-leg-ico svg{width:13px;height:13px}
.occ-nat-i{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border-radius:6px;background:var(--occ-color);color:#10161f;vertical-align:-5px}
.occ-nat-i svg{width:14px;height:14px}
/* V13.13: opções nas secções (02, 03) */
.det-opts{margin:10px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#0b121b}
.det-opts-t{display:block;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.det-opts #calcOpts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 22px;align-items:start}
.det-opts #calcOpts>.hint{grid-column:1/-1;margin:0 0 6px}
.det-opts #calcOpts .method-list{display:flex;flex-wrap:wrap;gap:6px}
.det-opts #thermalControls{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4px 22px}
.det-opts details.advanced{border:0;padding:0;margin:0}
.det-opts details.advanced>summary{display:none}
.det-opts details.advanced label{display:inline-flex;flex-direction:column;gap:3px;margin:0 12px 6px 0;font-size:10.5px}
.live-optslot #liveOptions>.field-label,.live-optslot #liveOptions>.hint{display:none}
.live-optslot .live-opts-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px}
@media(max-width:900px){.det-opts #calcOpts,.det-opts #thermalControls{grid-template-columns:minmax(0,1fr)}}
/* V13.13: vistas do mapa das deteções e Análise na página (02, 03) */
.det-views{margin:10px 0 6px;flex-wrap:wrap}
.det-checks{display:flex;gap:14px;margin:0 0 8px;font-size:11px}
#livePage #data-land h3.live-sub,#livePage #dataTerr{display:none}
#livePage .ana-slot>section{margin-top:28px}
/* V13.13: Situação e progressão num só mapa */
#live-det{display:none!important}
#live-state .live-map{height:min(66vh,600px)}
#live-state .sim-time{margin-top:8px}
#live-state #liveState{margin-top:14px}
/* V13.13: opções de cálculo compactas, numa faixa por cima do mapa */
.det-opts{padding:10px 14px}
.det-opts #calcOpts,.det-opts #thermalControls{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.det-opts #calcOpts>.hint,.det-opts details.advanced .hint,#detOptSlot #opticalControls{display:none}
.det-opts #calcOpts .field-label{margin:0;font-size:9px}
.det-opts #calcOpts .method-list{display:flex;flex-wrap:nowrap;gap:4px}
.det-opts #calcOpts .method-list button{padding:5px 9px;font-size:10.5px}
.det-opts .sensor-row{display:flex;gap:10px;flex-wrap:wrap;font-size:10.5px}
.det-opts details.advanced{display:contents}
.det-opts details.advanced label{flex-direction:row;align-items:center;gap:6px;margin:0;font-size:10px;color:var(--dim)}
.det-opts details.advanced select{height:30px;font-size:10.5px;padding:0 6px}
/* V13.13: tabela de todas as deteções */
.det-all{max-height:420px;overflow:auto}
/* V13.13: 06 · Imagens Sentinel-2 */
.s2i-body{max-width:none;padding:14px 18px 24px}
.s2i-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.s2i-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.s2i-map{height:min(62vh,640px);min-height:340px;border:1px solid var(--line2);border-radius:10px;background:#05080c}
.s2i-grid.two .s2i-map{height:min(58vh,600px)}
.s2i-tl{display:flex;align-items:center;gap:8px;margin:8px 0 6px;flex-wrap:wrap}
.s2i-tl select{height:34px;max-width:260px}
.s2i-tl input[type=range]{flex:1 1 200px;accent-color:var(--accent)}
.s2i-tl button{height:34px;min-width:34px;padding:0 8px}
.s2i-date{font-size:11.5px;color:#f2f6fa;white-space:nowrap}
.s2i-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}
.s2i-chip{flex:none;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:#0b121b;min-width:62px}
.s2i-chip b{font-size:11px}.s2i-chip small{font-size:8.5px;color:var(--dim)}
.s2i-chip.c0{border-bottom:3px solid #3ddc84}.s2i-chip.c1{border-bottom:3px solid #ffc53d}.s2i-chip.c2{border-bottom:3px solid #ff5a52}
.s2i-chip.on{border-color:var(--accent);background:#2a2213}
.s2i-note{margin:2px 0 0}
.sec-sel{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:9px;font-size:11px;white-space:nowrap}
.sec-sel select{height:30px;padding:0 6px}
@media(max-width:1000px){.s2i-grid.two{grid-template-columns:minmax(0,1fr)}}
.owx-miss{margin:8px 0 12px;padding:8px 12px;border:1px solid #6b4a1c;background:#1d160b;border-radius:8px;font-size:11px;color:#e8d6b8}
.owx-miss b{color:var(--accent)}
/* V13.13: 06 · data e hora da imagem sobre o mapa */
.s2i-mapwrap{position:relative}
.s2i-stamp{position:absolute;left:54px;top:10px;z-index:900;pointer-events:none;background:#0b111de6;border:1px solid var(--line2);border-left:3px solid var(--accent);border-radius:8px;padding:6px 10px;font-size:11px;line-height:1.35;color:#dce5ee;max-width:calc(100% - 120px)}
.s2i-stamp b{display:block;font-size:13px;color:#fff}
.s2i-stamp:empty{display:none}
.s2i-chip{min-width:84px}
/* V13.13: página inicial alinhada à esquerda com a grelha das funcionalidades */
@media(min-width:1280px){.home-hero,.home-start{padding-left:max(24px,calc((100vw - 1500px)/2));padding-right:max(24px,calc((100vw - 1500px)/2))}.home-intro{max-width:820px}}
@media(min-width:701px) and (max-width:1279px){.home-hero,.home-start{padding-left:max(28px,calc((100vw - 1240px)/2))}}
/* V13.13: escolha recolhida, mapa da situação como na 01 */
.pick-sel-card{display:flex;align-items:center;gap:14px;padding:12px 16px;margin:4px 0 8px;border:1px solid var(--line2);border-left:4px solid var(--st,var(--accent));border-radius:10px;background:#0d141e}
.pick-sel-card>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pick-sel-card b{font-size:13.5px;color:#f2f6fa}
.pick-sel-card span{font-size:11.5px;color:#c9d6e1}
.pick-sel-card small{font-size:10.5px;color:var(--dim)}
.pick-sel-card .occ-card-ico{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--st,var(--accent));color:#10161f;border:2px solid rgba(255,255,255,.9)}
.pick-sel-card .occ-card-ico svg{width:24px;height:24px}
.pick-sel-card button{flex:none}
#detMapLegend{display:contents}
.live-card{margin-top:12px}
.live-card .live-map-box{margin:0}
.live-card .live-map-legend{margin-top:4px}
.mlc-xtra{margin-bottom:4px}
#placesRef{margin-right:8px}
@media(max-width:700px){.pick-sel-card{flex-wrap:wrap}.pick-sel-card button{width:100%}}
#live-state .det-bar{margin-top:14px}
/* V13.14 */
.st-near .owx-ft{display:block;margin-top:2px;font-size:10px;font-weight:500;color:var(--dim)}
.owx:not(:has(thead th:nth-child(10))){width:auto}
.owx:not(:has(thead th:nth-child(10))) td,.owx:not(:has(thead th:nth-child(10))) thead th:not(.owx-name){min-width:64px}
.places-table th small{display:block;font-weight:400;color:var(--dim);font-size:9.5px;text-transform:none;letter-spacing:0}
#placesRef button:disabled{opacity:.45;cursor:not-allowed}
