.lunar-card{margin-top:14px}.lunar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lunar-grid>div{padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:12px}.lunar-grid b{display:block;font-size:1rem}.lunar-grid small{display:block;margin-top:3px;opacity:.72}.lunar-card p{margin:.7rem 0 0;font-size:.82rem;opacity:.78}@media(max-width:640px){.lunar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
:root{--bg:#06111a;--surface:#0c1b27;--surface2:#102635;--text:#eef7fb;--muted:#91a8b6;--accent:#46d6b5;--line:rgba(255,255,255,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0,#123447 0,transparent 35%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}.topbar,main,footer{width:min(1120px,calc(100% - 28px));margin:auto}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:1.25rem;color:var(--text);text-decoration:none}.brand span{color:var(--accent)}nav{display:flex;gap:18px}nav a{color:var(--muted);text-decoration:none;font-size:.9rem}.hero{min-height:72svh;display:grid;align-items:center;padding:50px 0}.hero>div{max-width:850px}.eyebrow{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.18em;margin:0 0 12px}.lead{max-width:700px;color:var(--muted);font-size:clamp(1.05rem,2.5vw,1.3rem)}h1{font-size:clamp(3rem,11vw,7rem);line-height:.92;letter-spacing:-.05em;margin:0 0 24px}h1 span{color:var(--accent)}h2{font-size:clamp(2rem,7vw,3.5rem);line-height:1;margin:0}.actions,.map-actions,.chips,.chat-row{display:flex;gap:10px;flex-wrap:wrap}.actions{margin:28px 0 14px}button,.secondary{border:0;border-radius:12px;padding:13px 16px;font:inherit;font-weight:800;cursor:pointer}.primary{background:var(--accent);color:#041117}.secondary,.map-actions button,.chips button{background:var(--surface2);color:var(--text);border:1px solid var(--line);text-decoration:none}.status,.badge{color:var(--muted);font-size:.85rem}section{padding:65px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cards article,.ai-box{background:rgba(12,27,39,.82);border:1px solid var(--line);border-radius:18px;padding:20px}.cards span{display:block;font-size:1.3rem}.cards strong{display:block;font-size:2rem;margin-top:10px}.cards small{color:var(--muted)}#map{height:58svh;min-height:360px;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:#10202b}.map-actions{margin-top:10px}.map-actions button{padding:10px 13px}.ai-box{background:linear-gradient(145deg,#0c1b27,#0a1720)}.ai-box>p:not(.eyebrow){color:var(--muted)}.chips{margin:18px 0}.chips button{font-size:.85rem}.chat{border-top:1px solid var(--line);padding-top:18px}.chat-row{margin-top:15px}.chat-row input{flex:1;min-width:190px;background:#07131d;border:1px solid var(--line);border-radius:12px;padding:13px;color:var(--text);font:inherit}.chat-row button{background:var(--accent);color:#041117}#answer{min-height:46px;color:#d9e8ee}footer{border-top:1px solid var(--line);padding:25px 0 45px;color:var(--muted);display:flex;justify-content:space-between;font-size:.8rem}@media(max-width:700px){nav{gap:8px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cards article{padding:14px;border-radius:16px;min-height:108px}.cards span{font-size:1.15rem}.cards strong{font-size:1.55rem;line-height:1.15;margin-top:7px;overflow-wrap:anywhere}.cards small{font-size:.78rem;line-height:1.2}.hero{min-height:58svh;padding-top:16px}section{padding:38px 0}.section-head{align-items:start;flex-direction:column}.radar-diagnostics{margin:10px 0;padding:12px 14px;border-radius:14px}.radar-diagnostics span{display:block;margin-top:4px}.analysis-target{width:100%}.analysis-target label{width:100%}footer{flex-direction:column;gap:8px}}@media(max-width:380px){.cards{gap:6px}.cards article{padding:11px;min-height:96px}.cards strong{font-size:1.35rem}.cards small{font-size:.72rem}.hero h1{font-size:2.55rem}.hero p{font-size:1rem}}
.privacy-banner{position:fixed!important;left:12px;right:12px;bottom:12px;z-index:2147483647!important;pointer-events:auto!important;background:#07131d;border:1px solid var(--line);box-shadow:0 16px 50px rgba(0,0,0,.45);border-radius:18px;padding:16px;display:flex;gap:18px;align-items:center;justify-content:space-between}.privacy-banner[hidden]{display:none}.privacy-banner p{margin:6px 0;color:var(--muted);font-size:.85rem;max-width:720px}.privacy-banner a{color:var(--accent)}.privacy-actions{display:flex;gap:8px;flex-shrink:0}@media(max-width:700px){.privacy-banner{display:block}.privacy-actions{margin-top:12px}.privacy-actions button{width:100%}}

select{background:#07131d;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.chat-row input,.chat-row select{flex:1}#techniqueAnalysis p{margin:8px 0;padding:8px 0;border-bottom:1px solid var(--line)}#dashboard .cards strong{text-transform:capitalize}

.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.comparison-grid>div{border:1px solid var(--line);border-radius:12px;padding:10px}.comparison-grid strong{font-size:.78rem;color:var(--muted)}.comparison-grid p{margin:5px 0 0;font-weight:700}@media(min-width:700px){.comparison-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

.tournament-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.tournament-item span{color:var(--muted);font-size:.82rem}.tournament-item strong{overflow:hidden;text-overflow:ellipsis}

.analytics-filters{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.analytics-group{margin-top:14px}.analytics-group strong{display:block;margin-bottom:7px}.analytics-group span{display:block;padding:7px 0;border-bottom:1px solid var(--line);font-size:.9rem}@media(min-width:700px){.analytics-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}

.intel-hero{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#07131d}.intel-icon{font-size:2.1rem}.intel-hero small,.intel-grid small{display:block;color:var(--muted);font-size:.72rem}.intel-hero strong{font-size:1.2rem}.intel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.intel-grid article{border:1px solid var(--line);border-radius:14px;padding:12px}.intel-grid span{display:block;font-size:1.1rem;font-weight:800;margin:5px 0}.intel-story,.intel-history{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:14px;line-height:1.5}.history-item{padding:10px 0;border-bottom:1px solid var(--line)}.history-item span,.history-item small{display:block;color:var(--muted);margin-top:3px}@media(min-width:700px){.intel-grid{grid-template-columns:repeat(4,1fr)}}
/* Usabilidade: leitura simples, alvos grandes e baixo ruído visual */
button,input,select{min-height:46px}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.manage-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin-bottom:12px}
.manage-tabs button{white-space:nowrap}
.manage-tabs .active{background:var(--accent);color:#041117}
.manage-help{display:grid;gap:5px;margin-bottom:14px;padding:13px;border-radius:14px;background:#07131d;color:var(--muted)}
.manage-help strong{color:var(--text)}
.manage-list{display:grid;gap:10px}
.manage-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#07131d}
.manage-card summary{cursor:pointer;font-weight:800;list-style-position:inside}
.manage-meta{color:var(--muted);font-size:.85rem;margin:6px 0 10px}
.manage-form{display:grid;gap:9px;margin-top:12px}
.manage-form label{display:grid;gap:4px;font-weight:700;font-size:.88rem}
.manage-form input,.manage-form select{width:100%}
.manage-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.danger-zone{margin-top:14px;padding:16px;border:1px solid #8b3d3d;border-radius:16px;background:#241416;display:flex;justify-content:space-between;gap:16px;align-items:center}
.danger-zone p{margin:5px 0 0;color:var(--muted);font-size:.86rem}
.danger{background:#b94a4a;color:white}
.forecast-row{display:grid;grid-template-columns:1.2fr .8fr .8fr .9fr;gap:8px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.forecast-row .forecast-day{font-weight:800;text-transform:capitalize}
.forecast-row .forecast-rain{font-weight:800}
.forecast-row .forecast-bar{height:8px;border-radius:99px;background:#183241;overflow:hidden}
.forecast-row .forecast-fill{height:100%;background:var(--accent);border-radius:99px}
.forecast-summary{padding:12px;border-radius:14px;background:#07131d;margin-bottom:10px}
.forecast-summary strong{display:block}
@media(max-width:700px){.forecast-row{grid-template-columns:1fr 1fr;gap:6px}.forecast-row .forecast-bar{grid-column:1/-1}.danger-zone{display:block}.danger-zone button{width:100%;margin-top:12px}}

.quick-clean{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.quick-clean button{flex:1;min-width:140px}
.diary-box{position:relative}.diary-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border-radius:14px;background:#07131d;border:1px solid var(--line)}.diary-progress span{font-weight:900;color:var(--accent);white-space:nowrap}.diary-progress strong{font-size:.95rem}.diary-step{padding-top:4px}.diary-step[hidden]{display:none}.diary-step h3{margin:0 0 5px}.step-help{margin:0 0 15px;color:var(--muted);line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label,.full-field{display:grid;gap:6px;font-weight:750;font-size:.9rem}.form-grid input,.form-grid select,.full-field textarea{width:100%;min-height:48px}.full-field textarea{resize:vertical;padding:12px;border-radius:10px;border:1px solid var(--line);background:#07131d;color:var(--text);font:inherit}.condition-auto{margin:0 0 14px;padding:12px;border-radius:12px;background:#07131d;border:1px solid var(--line);color:var(--muted)}.diary-actions{margin-top:18px;justify-content:flex-end}.diary-actions button{min-width:120px}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.diary-progress{align-items:flex-start;flex-direction:column}.diary-actions{display:grid;grid-template-columns:1fr 1fr}.diary-actions button{width:100%}.diary-actions .primary:last-child,.diary-actions #registerCatch{grid-column:1/-1}.diary-actions #registerObservation{grid-column:1/-1}.diary-actions #startSession{grid-column:1/-1}}

.analysis-target{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.analysis-target label{display:grid;gap:5px;font-size:.8rem;font-weight:700}.analysis-target input{width:100%;box-sizing:border-box}@media(max-width:700px){.analysis-target{grid-template-columns:1fr}}
.quick-log-grid{display:grid;grid-template-columns:1fr .65fr 1fr 1fr;gap:10px;align-items:center}.quick-log-grid select,.quick-log-grid input{width:100%;box-sizing:border-box}.quick-log-box{margin-bottom:14px}@media(max-width:700px){.quick-log-grid{grid-template-columns:1fr 1fr}.quick-log-grid button{min-height:48px}}

/* Radar resilience + mobile accessibility */
.radar-diagnostics{display:flex;flex-direction:column;gap:.25rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(0,0,0,.12)}
.radar-diagnostics span{font-size:.85rem;opacity:.78}
button,a,.manage-tab{min-height:44px}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #35d7ff;outline-offset:3px}


/* Radar mobile: compact information density without sacrificing touch targets */
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cards article{min-width:0;padding:16px;min-height:112px}
.cards article strong{font-size:clamp(1.25rem,5vw,1.9rem);line-height:1.1;overflow-wrap:anywhere}
.cards article small{font-size:.78rem;line-height:1.25}
.cards .wide-indicator{grid-column:1/-1;min-height:86px}
.radar-diagnostics{margin:12px 0 14px}
.radar-diagnostics strong,.radar-diagnostics span{display:block}
@media(max-width:360px){
  .cards{gap:8px}
  .cards article{padding:12px;min-height:100px}
  .cards article span{font-size:1.05rem}
  .cards article strong{font-size:1.2rem}
  .cards article small{font-size:.72rem}
}
@media(min-width:700px){
  .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cards .wide-indicator{grid-column:span 2}
}


/* Mobile-first operational layout */
.hero{min-height:auto;padding:30px 0 34px}
section{padding:42px 0}
.actions button,.actions .secondary{min-height:48px}
.radar-diagnostics{min-height:64px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(12,27,39,.55)}
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.cards article{padding:14px;min-height:104px}
.cards article strong{font-size:clamp(1.15rem,5.2vw,1.8rem);word-break:break-word}
.cards article small{display:block;margin-top:7px;line-height:1.2}
@media(max-width:380px){
  .hero{padding-top:22px}
  section{padding:34px 0}
  .actions{gap:8px}
  .actions button,.actions .secondary{width:100%}
  .cards{gap:7px}
  .cards article{padding:11px;min-height:96px;border-radius:14px}
  .cards article strong{font-size:1.12rem}
}
@media(min-width:701px){
  .hero{min-height:55svh;padding:50px 0}
  section{padding:65px 0}
}

/* Live totem forecast + tide mobile layout */
.forecast-day{display:grid;gap:8px;min-width:0}.period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.period-card{display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);min-width:0}.period-card b{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.period-card span{font-size:.78rem;white-space:nowrap}.period-card small{font-size:.68rem;line-height:1.2}.tide-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.tide-metrics article{padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);min-width:0}.tide-metrics b,.tide-metrics small{display:block}.tide-metrics b{font-size:1rem}.tide-metrics small{margin-top:4px;font-size:.7rem;color:var(--muted)}.live-weather-note{margin:-4px 0 8px;padding:8px 10px;border-radius:10px;background:rgba(53,215,255,.07);border:1px solid rgba(53,215,255,.16);font-size:.78rem;color:var(--muted)}
@media(max-width:430px){.period-grid{grid-template-columns:1fr}.period-card{grid-template-columns:auto 1fr 1fr;align-items:center}.tide-metrics{gap:6px}.tide-metrics article{padding:8px}.tide-metrics b{font-size:.9rem}.tide-metrics small{font-size:.65rem}}


/* Radar compacto: pensado para celular, captura de tela e telas/totens */
.location-context{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:8px 0 4px;padding:10px 12px;border-left:3px solid var(--accent);background:rgba(7,19,29,.28);backdrop-filter:blur(8px);border-radius:10px}
.location-context strong{font-size:1rem}.location-context span,.location-context small{color:var(--muted);font-size:.78rem}
.radar-diagnostics{background:rgba(7,19,29,.38);backdrop-filter:blur(10px)}
.cards article,.ai-box,.panel,.forecast-summary{background:rgba(7,19,29,.52);backdrop-filter:blur(10px)}
.cards article{min-height:98px;padding:13px}
.cards article strong{font-size:clamp(1.15rem,3.4vw,1.7rem);margin-top:5px}
.cards article small{font-size:.72rem}
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cards .wide-indicator{min-height:74px}
@media(min-width:700px){.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.cards article{min-height:92px;padding:12px}.cards article strong{font-size:1.45rem}}
@media(min-width:1100px){.cards{grid-template-columns:repeat(5,minmax(0,1fr))}.cards .wide-indicator{grid-column:span 2}}
@media(max-width:420px){body{font-size:.95rem}.topbar{height:54px}.topbar nav{display:none}.hero{min-height:auto;padding:22px 0 28px}.hero h1{font-size:clamp(2.45rem,14vw,3.6rem);margin-bottom:14px}.hero .lead{font-size:.95rem;margin:10px 0}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 8px}.actions .primary{grid-column:1/-1}.actions button,.actions a{width:100%;text-align:center;padding:11px 10px}.location-context{margin-top:8px}.section-head{margin-bottom:12px}.section-head h2{font-size:2rem}.cards article{min-height:92px;padding:11px;border-radius:13px}.cards article strong{font-size:1.22rem}.cards article small{font-size:.68rem}.cards article span{font-size:1rem}.radar-diagnostics{font-size:.82rem;padding:9px 11px}.radar-diagnostics span{font-size:.72rem}}
@media(max-width:340px){.cards{gap:6px}.cards article{min-height:86px;padding:9px}.cards article strong{font-size:1.05rem}.cards article small{font-size:.63rem}}
/* Totem: densidade alta, navegação reduzida e informação sempre visível */
@media(min-width:900px){body.totem .topbar nav{display:none}body.totem section{padding:28px 0}body.totem .hero{min-height:38svh}body.totem h1{font-size:clamp(3rem,6vw,5.5rem)}body.totem .cards{grid-template-columns:repeat(5,minmax(0,1fr))}}


/* Modo painel: muitos indicadores, leitura rápida e captura em poucas telas */
@media(max-width:700px){
  #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  #radar .cards article{min-height:82px;padding:9px;border-radius:12px}
  #radar .cards article strong{font-size:1.02rem;line-height:1.05;margin-top:3px}
  #radar .cards article small{font-size:.61rem;line-height:1.08}
  #radar .cards article span{font-size:.9rem}
  #radar .cards .wide-indicator{grid-column:1/-1;min-height:66px}
  #radar .panel{padding:13px;margin-top:12px}
  #radar .panel .section-head h3{font-size:1.05rem}
}
@media(max-width:360px){
  #radar .cards{gap:5px}
  #radar .cards article{min-height:76px;padding:8px}
  #radar .cards article strong{font-size:.92rem}
  #radar .cards article small{font-size:.56rem}
  #radar .cards article span{font-size:.8rem}
}
@media(min-width:701px){#radar .cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}}
@media(min-width:1200px){#radar .cards{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Layout final: mobile compact, screenshot-friendly and kiosk-friendly */
.hero{min-height:auto!important;padding:28px 0 24px!important}
section{padding:30px 0!important}
.location-context{margin-top:10px!important}
#radar .section-head{margin-bottom:10px}
#radar .section-head h2{margin-bottom:0}
#radar .cards{margin-top:8px}
#radar .panel{margin-top:10px}
.tide-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tide-metrics article{min-width:0}
@media(max-width:700px){
  .container,main>section>div{max-width:100%}
  .hero h1{font-size:clamp(2.25rem,12vw,3.6rem);line-height:.98}
  .hero .lead{max-width:42rem}
  .location-context{padding:8px 10px}
  #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #radar .cards article{min-height:78px;padding:8px}
  #radar .cards article strong{font-size:clamp(.9rem,4.2vw,1.18rem)}
  #radar .cards article small{font-size:.58rem}
  #radar .cards article span{font-size:.82rem}
  #radar .cards .wide-indicator{grid-column:1/-1;min-height:60px}
  #radar .panel{padding:11px;border-radius:13px}
  #radar .panel .lead{font-size:.78rem;line-height:1.35}
  .forecast-grid{gap:6px!important}
  .forecast-day{padding:8px!important}
  .tide-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:380px){
  #radar .cards{gap:5px}
  #radar .cards article{min-height:70px;padding:7px}
  #radar .cards article strong{font-size:.86rem}
  #radar .cards article small{font-size:.53rem}
}
@media(min-width:701px){
  .hero{padding:34px 0 28px!important}
  section{padding:34px 0!important}
}
@media(min-width:900px){
  body.totem .hero{min-height:auto!important;padding:28px 0!important}
  body.totem section{padding:24px 0!important}
}

/* Painel público / Instagram / kiosk: informação densa sem sacrificar legibilidade */
.location-context{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center;max-width:720px}
.location-context strong{font-size:clamp(1rem,2vw,1.25rem)}
.location-context span{grid-column:1/-1}
.location-context small{grid-column:2;grid-row:1/3;text-align:right;white-space:nowrap}
@media(max-width:700px){
  main,.topbar,footer{width:min(100% - 20px,1120px)}
  .hero{padding:18px 0 16px!important}
  .hero h1{font-size:clamp(2.25rem,11.5vw,3.35rem);letter-spacing:-.045em}
  .hero .lead{font-size:.92rem;line-height:1.4}
  .actions{margin:10px 0 6px}
  .location-context{grid-template-columns:1fr;gap:1px;padding:8px 10px}
  .location-context small{grid-column:1;grid-row:auto;text-align:left}
  section{padding:22px 0!important}
  #radar .section-head h2{font-size:1.9rem}
  #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  #radar .cards article{min-height:74px;padding:8px}
  #radar .cards article strong{font-size:clamp(.88rem,3.7vw,1.1rem)}
  #radar .cards article small{font-size:.56rem}
  #radar .cards article span{font-size:.8rem}
  #radar .panel{padding:10px;margin-top:8px}
  #radar .panel h3{font-size:1rem}
  .forecast-row{padding:8px 0}
}
@media(max-width:380px){
  #radar .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  #radar .cards article{min-height:70px}
  #radar .cards article small{font-size:.6rem}
}
@media(min-width:701px){
  .hero{min-height:auto!important}
  section{padding:28px 0!important}
}
@media(min-width:900px){
  body.totem main,body.totem .topbar{width:min(1440px,calc(100% - 40px))}
  body.totem .hero{min-height:auto!important;padding:20px 0!important}
  body.totem section{padding:20px 0!important}
  body.totem #radar .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
  body.totem #radar .cards article{min-height:82px}
}
@media print{
  body{background:#fff;color:#111}
  .topbar,nav,.actions,.map-actions,button,.privacy-banner,footer{display:none!important}
  main{width:100%;max-width:none}
  section{padding:10px 0!important}
  .hero{min-height:auto!important;padding:8px 0!important}
  .cards article,.ai-box,.panel{break-inside:avoid;background:#fff;border:1px solid #ccc;color:#111}
  .cards{grid-template-columns:repeat(4,1fr)!important}
}

/* Dashboard público: compacto para celular, Instagram e telas/totem */
.radar-diagnostics{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center}.radar-diagnostics strong{grid-column:1/-1}.radar-diagnostics small{grid-column:1/-1}.location-context{background:rgba(4,16,25,.32);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:7px 10px}.location-context strong{font-size:1.05rem}.location-context span,.location-context small{font-size:.72rem;color:#9fb3c3}
#radar .section-head{align-items:end}#radar .section-head h2{font-size:clamp(1.7rem,5vw,2.7rem)}#radar .cards article{overflow:hidden}#radar .cards article strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intel-history:empty{display:none}
@media(max-width:700px){main{width:calc(100% - 16px)!important}.hero{padding:12px 0 10px!important}.hero .eyebrow{font-size:.62rem}.hero h1{font-size:clamp(2rem,10vw,3rem);line-height:.94;margin:5px 0 8px}.hero .lead{font-size:.78rem;line-height:1.3;margin:5px 0 8px}.actions{grid-template-columns:1fr 1fr!important;gap:6px!important}.actions .primary{grid-column:auto!important}.actions button,.actions a{padding:9px 8px;font-size:.76rem}.location-context{margin-top:5px!important}.location-context strong{font-size:.92rem}.location-context span,.location-context small{font-size:.64rem}#radar{padding-top:14px!important}#radar .section-head{margin-bottom:6px}#radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#radar .cards article{min-height:68px;padding:7px;border-radius:10px}#radar .cards article strong{font-size:.82rem;line-height:1}.cards article small{font-size:.52rem!important}#radar .cards article span{font-size:.72rem}#radar .cards .wide-indicator{grid-column:1/-1;min-height:52px}.radar-diagnostics{font-size:.7rem;padding:7px 9px}.radar-diagnostics small{font-size:.58rem}.panel{border-radius:11px!important}.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.forecast-day{min-width:0}.tide-metrics{gap:4px}.tide-metrics article{padding:7px}.analysis-target{display:grid;grid-template-columns:1fr 1fr;gap:6px}.analysis-target label{font-size:.65rem}.analysis-target input{width:100%;min-width:0}.ai-box{padding:10px}.intel-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}.intel-grid article{padding:8px!important}.intel-grid span{font-size:.9rem!important}.intel-story{font-size:.72rem!important}.status{font-size:.66rem}}
@media(min-width:701px){.hero h1{font-size:clamp(3rem,5.2vw,5.5rem);line-height:.9}.hero{padding:22px 0 18px!important}.hero .lead{max-width:680px}.location-context{max-width:680px}}
@media(min-width:900px){body.totem main{width:min(1500px,calc(100% - 32px))}body.totem .hero h1{font-size:clamp(2.8rem,4.5vw,5rem)}body.totem #radar .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}body.totem #radar .cards article{min-height:72px;padding:7px}body.totem section{padding:18px 0!important}}

/* Painel compacto: mobile, Instagram e totem */
.radar-snapshot{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:7px;margin:8px 0 0;padding:9px;background:rgba(7,19,29,.48);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(10px)}
.radar-snapshot>div{min-width:0;padding:7px 8px;border-left:1px solid var(--line)}
.radar-snapshot>div:first-child{border-left:0}
.radar-snapshot b{display:block;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radar-snapshot small{display:block;color:var(--muted);font-size:.68rem;line-height:1.15;margin-top:2px}
.hero{min-height:auto;padding:28px 0 24px}
.hero h1{font-size:clamp(2.8rem,8vw,5.5rem);margin-bottom:14px}
.hero .lead{margin:8px 0;font-size:clamp(.95rem,1.8vw,1.15rem)}
.actions{margin:14px 0 8px}
section{padding:34px 0}
#radar{padding-top:28px}
.cards article{min-height:88px}
@media(max-width:800px){
 .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
 .radar-snapshot>div:first-child{grid-column:1/-1;border-left:0;border-bottom:1px solid var(--line);padding-bottom:6px}
}
@media(max-width:420px){
 .hero{padding:16px 0 18px}
 .hero h1{font-size:clamp(2.35rem,13vw,3.35rem);line-height:.94}
 .hero .lead{font-size:.92rem}
 .location-context{padding:8px 10px;margin-top:6px}
 .radar-snapshot{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px}
 .radar-snapshot>div{padding:6px;border-left:0}
 .radar-snapshot>div:first-child{grid-column:1/-1}
 .radar-snapshot b{font-size:.85rem}
 .radar-snapshot small{font-size:.62rem}
 section{padding:26px 0}
 .section-head h2{font-size:1.8rem}
 .cards{gap:6px}
 .cards article{min-height:82px;padding:9px}
 .cards article strong{font-size:1.12rem}
 .cards article small{font-size:.64rem}
}
@media(min-width:900px){
 .hero{display:block}
 .hero>div{max-width:100%}
 .hero h1{max-width:850px}
}
@media(min-width:1200px){
 body{zoom:.92}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Modo painel: compacto, legível em celular, Instagram e telas/totens */
.display-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(7,19,29,.72)}
.display-header h3{margin:0;font-size:clamp(1.15rem,4vw,1.8rem);line-height:1.05}.display-header p{margin:4px 0 0;color:var(--muted);font-size:.85rem}.display-clock{font-variant-numeric:tabular-nums;font-weight:800;font-size:1rem;color:var(--accent);white-space:nowrap}
.indicator-details{margin-top:10px}.indicator-details>summary{cursor:pointer;list-style:none;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:#07131d;font-weight:800}.indicator-details>summary::-webkit-details-marker{display:none}.indicator-details[open]>summary{margin-bottom:10px;color:var(--accent)}
.radar-snapshot{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0 0}.radar-snapshot>div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#07131d}.radar-snapshot b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-snapshot small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}
.forecast-grid{gap:8px}.forecast-day{min-width:0}.period-grid{display:grid;grid-template-columns:1fr;gap:5px;margin-top:6px}.period-card{padding:6px 0;border-top:1px solid var(--line);font-size:.72rem}.period-card b,.period-card span,.period-card small{display:block}.period-card small{color:var(--muted)}
@media(max-width:900px){.radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.topbar{height:54px}.topbar nav{display:none}.hero{min-height:auto;padding:20px 0 28px}.hero h1{font-size:clamp(2.6rem,13vw,4.4rem)}.hero .lead{font-size:.98rem;margin-bottom:10px}.actions{margin:14px 0 10px}.actions button,.actions a{flex:1;min-width:0;text-align:center;padding:11px 9px;font-size:.82rem}.display-header{margin-top:8px}.radar-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-snapshot>div{padding:8px}.cards article{min-height:96px;padding:12px}.cards article strong{font-size:1.35rem}.cards small{font-size:.7rem}.section-head{margin-bottom:10px}section{padding:28px 0}#map{height:46svh;min-height:300px}}
@media(min-width:901px){.hero{min-height:58svh}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Arquitetura de páginas: estação pública separada das funções de registro/gestão. */
.page-station #pescaria,.page-station #sessao-insights,.page-station #historico,.page-station #padroes,.page-station #dashboard,.page-station #ia,.page-station #gerenciar,.page-station #torneios{display:none}
.page-pescaria .hero,.page-pescaria #radar,.page-pescaria #mapa,.page-pescaria #ia,.page-pescaria #gerenciar,.page-pescaria #torneios{display:none}
.page-torneios .hero,.page-torneios #radar,.page-torneios #inteligencia,.page-torneios #mapa,.page-torneios #pescaria,.page-torneios #sessao-insights,.page-torneios #historico,.page-torneios #padroes,.page-torneios #dashboard,.page-torneios #ia,.page-torneios #gerenciar{display:none}
.page-dados .hero,.page-dados #radar,.page-dados #inteligencia,.page-dados #mapa,.page-dados #pescaria,.page-dados #sessao-insights,.page-dados #historico,.page-dados #padroes,.page-dados #dashboard,.page-dados #ia,.page-dados #torneios{display:none}
.page-pescaria main,.page-torneios main,.page-dados main{padding-top:18px}
.page-station .hero{min-height:auto;padding:28px 0 18px}
.page-station .hero h1{font-size:clamp(2.8rem,7vw,5.4rem);line-height:.96}
.location-context{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-top:14px}
.location-context strong{font-size:1.05rem}.location-context span,.location-context small{color:var(--muted)}
.display-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:18px;padding:14px 0;border-top:1px solid var(--line)}
.display-header h3{margin:.15rem 0 0;font-size:clamp(1.2rem,3vw,1.7rem)}
.display-clock{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:800}
.radar-snapshot{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:10px}
.radar-snapshot>div{background:rgba(6,17,26,.58);border:1px solid var(--line);border-radius:12px;padding:9px;min-width:0}
.radar-snapshot b,.radar-snapshot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-snapshot b{font-size:.95rem}.radar-snapshot small{font-size:.68rem;color:var(--muted);margin-top:3px}
.page-station .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.page-station .cards article{min-height:105px;padding:14px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;column-gap:9px}
.page-station .cards article>span{grid-row:1 / span 2}.page-station .cards article strong{font-size:1.45rem}
.page-station .cards article small{font-size:.72rem}
.page-station .panel,.page-station .ai-box,.page-station .radar-diagnostics{background:rgba(12,27,39,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.page-station #map{height:360px}
.page-station section{margin-bottom:28px}
.page-station .section-head{margin-bottom:12px}
.page-station .indicator-details summary{cursor:pointer;font-weight:800;padding:8px 0}
.page-station .panel h3{margin:.2rem 0}
.page-station footer{margin-top:10px}
@media(max-width:760px){
  .topbar{height:auto;min-height:58px;gap:10px;padding:8px 0;align-items:flex-start}
  .topbar nav{display:grid;grid-template-columns:repeat(3,auto);gap:6px 10px;font-size:.78rem}
  .topbar nav a{padding:4px 0}
  .page-station .hero{padding:18px 0 10px}
  .page-station .hero h1{font-size:clamp(2.35rem,12vw,3.7rem)}
  .page-station .hero .lead{font-size:.98rem}
  .page-station .actions{gap:7px}
  .page-station .actions>*{min-height:44px}
  .location-context{font-size:.88rem}
  .display-header{margin-top:10px}
  .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
  .radar-snapshot>div{padding:8px}
  .page-station .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .page-station .cards article{min-height:88px;padding:9px;display:block}
  .page-station .cards article>span{display:block;font-size:1.05rem}
  .page-station .cards article strong{font-size:1.12rem;display:block;margin-top:3px}
  .page-station .cards article small{font-size:.62rem;line-height:1.1}
  .page-station .cards .wide-indicator{grid-column:span 2}
  .page-station #map{height:300px}
}
@media(min-width:1100px){
  .page-station main{max-width:1280px}
  .page-station .hero{padding-top:32px}
}
@media(min-width:760px){
  .page-station .hero{position:relative}
  .page-station .hero:after{content:"ESTAÇÃO AMBIENTAL · AO VIVO";position:absolute;right:0;top:38px;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.14em}
}
.totem .topbar{display:none}.totem main{width:min(1500px,96vw)}.totem .page-station .hero{padding-top:18px}.totem .page-station .cards article{min-height:90px}

.station-fishing-note{margin-top:12px;padding:12px 14px;border:1px solid rgba(70,214,181,.25);border-radius:14px;background:rgba(70,214,181,.06);display:flex;gap:12px;align-items:center}.station-fishing-note b{white-space:nowrap}.station-fishing-note span{color:var(--muted);font-size:.88rem}@media(max-width:600px){.station-fishing-note{display:block}.station-fishing-note b,.station-fishing-note span{display:block}.station-fishing-note span{margin-top:3px}}

/* Interface comercial / mobile dashboard */
.commercial-title{font-size:clamp(2.25rem,6vw,4.6rem);line-height:.96;letter-spacing:-.045em;margin:0 0 18px}
.data-transparency{margin-top:10px;color:var(--muted);font-size:.74rem;line-height:1.35}
.menu-toggle{display:none;background:transparent;color:var(--text);border:1px solid var(--line);padding:8px 11px;border-radius:10px}
.radar-snapshot{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:8px;margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.72)}
.radar-snapshot>div{min-width:0;padding:5px 7px;border-right:1px solid var(--line)}
.radar-snapshot>div:last-child{border-right:0}
.radar-snapshot b,.radar-snapshot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radar-snapshot b{font-size:.88rem}.radar-snapshot small{color:var(--muted);font-size:.68rem;margin-top:2px}
.location-context{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:10px 0;color:var(--muted)}
.location-context strong{font-size:1rem;color:var(--text)}.location-context small{font-size:.7rem}
.indicator-details summary{cursor:pointer;font-weight:800;color:var(--muted);margin:8px 0}
.cards article{min-width:0}
.install-app[hidden]{display:none}
@media(max-width:700px){
  .topbar{height:58px;position:relative}.menu-toggle{display:block}
  #mainNav{display:none;position:absolute;right:0;top:54px;z-index:2000;flex-direction:column;gap:0;min-width:190px;padding:6px;background:#07131d;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.4)}
  #mainNav.open{display:flex}#mainNav a{padding:12px 14px;border-bottom:1px solid var(--line)}#mainNav a:last-child{border-bottom:0}
  .hero{min-height:auto;padding:24px 0 22px}.commercial-title{font-size:clamp(2rem,9vw,3.1rem)}
  .lead{font-size:.96rem;margin:8px 0 14px}.actions{margin:14px 0 8px;gap:7px}.actions button,.actions a{padding:10px 11px;font-size:.8rem}
  .location-context{margin:7px 0}.location-context small{display:none}
  .radar-snapshot{grid-template-columns:repeat(3,1fr);gap:4px;padding:7px}.radar-snapshot>div{padding:4px;border-right:0}.radar-snapshot>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:7px}
  .radar-snapshot b{font-size:.78rem}.radar-snapshot small{font-size:.61rem}
  section{padding:28px 0}.section-head{margin-bottom:10px}.section-head h2{font-size:1.85rem}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cards article{padding:10px;min-height:82px;border-radius:12px}.cards strong{font-size:1.28rem;margin-top:3px}.cards small{font-size:.69rem}
  .indicator-details[open] .cards{max-height:none}
  .panel{padding:12px}.panel h3{font-size:1.05rem}.panel .lead{font-size:.82rem}
}
@media(max-width:380px){
  .actions{display:grid;grid-template-columns:1fr 1fr}.actions .primary{grid-column:1/-1}.actions .install-app{grid-column:1/-1}
  .commercial-title{font-size:2rem}.cards{gap:5px}.cards article{padding:8px;min-height:76px}.cards strong{font-size:1.15rem}.cards small{font-size:.64rem}
}
@media(min-width:900px){.hero{min-height:58svh}.radar-snapshot{max-width:980px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Painel compacto para celular, compartilhamento e totem */
.sources-panel{padding:22px 0}.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.source-grid>div{border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(7,19,29,.5)}.source-grid b,.source-grid span{display:block}.source-grid b{font-size:.78rem}.source-grid span{font-size:.68rem;line-height:1.35;color:var(--muted);margin-top:4px}
@media(max-width:700px){.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-grid>div{padding:8px}.source-grid span{font-size:.64rem}.page-station .hero{padding-bottom:14px}.page-station .commercial-title{margin-bottom:10px}.page-station .location-context{margin:5px 0}.page-station .display-header{margin-top:6px}.page-station .radar-snapshot{margin:8px 0}.page-station .radar-snapshot>div{min-height:34px}.page-station #radar{padding-top:18px}.page-station #radar .section-head h2{margin-bottom:2px}.page-station .cards article strong{line-height:1.05}.page-station .data-transparency{font-size:.65rem}.page-station .panel{margin-top:8px}}
@media(max-width:420px){.source-grid{grid-template-columns:1fr 1fr}.source-grid>div:nth-child(n+5){display:none}.page-station .actions{grid-template-columns:repeat(2,minmax(0,1fr))}.page-station .actions .primary{grid-column:span 2}.page-station .actions .install-app,.page-station .actions #shareRadar{min-width:0}.page-station .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));font-size:.7rem}.page-station .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.page-station .cards article{min-height:70px;padding:7px}.page-station .cards article>span{font-size:.85rem}.page-station .cards article strong{font-size:.92rem}.page-station .cards article small{font-size:.56rem}.page-station .cards .wide-indicator{grid-column:span 3}}
.totem .sources-panel{display:none}.totem .hero{padding-bottom:8px}.totem .radar-snapshot{grid-template-columns:2fr repeat(6,1fr)}.totem .indicator-details summary{display:none}.totem .indicator-details .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.totem .cards article{min-height:76px;padding:7px}.totem .cards article strong{font-size:1rem}.totem .cards article small{font-size:.6rem}

/* Compact PWA widget view: useful as a pinned browser/app panel */
.widget-mode .topbar{display:none}.widget-mode main{width:min(760px,96vw);margin:auto}.widget-mode .hero{min-height:auto;padding:12px 0}.widget-mode .commercial-title{font-size:1.7rem;margin-bottom:6px}.widget-mode .hero .lead,.widget-mode .hero .actions,.widget-mode .status,.widget-mode .location-context small,.widget-mode #radar .section-head{display:none}.widget-mode .display-header{margin:0 0 6px}.widget-mode .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0}.widget-mode #radar{padding:10px 0}.widget-mode .indicator-details summary{display:none}.widget-mode .indicator-details .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.widget-mode .cards article{min-height:70px;padding:7px}.widget-mode .cards article strong{font-size:.95rem}.widget-mode .cards article small{font-size:.58rem}.widget-mode #rainForecast,.widget-mode #tidePanel,.widget-mode #fontes,.widget-mode #inteligencia,.widget-mode #historico,.widget-mode #gerenciar,.widget-mode footer{display:none}.widget-mode .panel{margin-top:6px;padding:8px}.widget-mode .panel h3{font-size:.9rem}

/* Estação pública: hierarquia compacta, captura de tela e kiosk */
.page-station .commercial-title{font-size:clamp(2rem,5vw,4.1rem)!important;line-height:.94!important;max-width:760px;margin-bottom:10px!important}
.page-station .hero .lead{max-width:680px}
.page-station .hero{padding-top:20px!important;padding-bottom:16px!important}
.page-station #radar{padding-top:18px!important}
.page-station #rainForecast .forecast-summary{margin-bottom:6px}
.page-station #rainForecast .forecast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.page-station #rainForecast .forecast-day{border:1px solid var(--line);border-radius:11px;padding:8px;background:rgba(7,19,29,.42)}
.page-station #rainForecast .forecast-day>strong{font-size:.78rem}
.page-station #rainForecast .forecast-day>span{font-size:.86rem;font-weight:800}
.page-station #rainForecast .forecast-day>small{font-size:.64rem;color:var(--muted)}
.page-station #rainForecast .period-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:5px}
.page-station #rainForecast .period-card{padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:7px}
.page-station #rainForecast .period-card b{font-size:.55rem}
.page-station #rainForecast .period-card span{font-size:.58rem}
.page-station #rainForecast .period-card small{font-size:.5rem}
.page-station #rainForecast .forecast-bar{height:4px;margin-top:5px}
.page-station #tidePanel .history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.page-station #tidePanel .history-item{padding:7px;border:1px solid var(--line);border-radius:8px;border-bottom:1px solid var(--line)}
.page-station #tidePanel .history-item strong{font-size:.72rem}
.page-station #tidePanel .history-item span{font-size:.62rem}
.page-station .menu-toggle{box-shadow:0 4px 18px rgba(0,0,0,.2)}
@media(max-width:700px){
  .page-station .commercial-title{font-size:clamp(1.9rem,9vw,2.8rem)!important;max-width:95%}
  .page-station .hero .lead{font-size:.84rem;max-width:95%}
  .page-station #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .page-station #rainForecast .forecast-day{padding:7px}
  .page-station #rainForecast .period-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-station #rainForecast .period-card{padding:3px}
  .page-station #rainForecast .period-card b{font-size:.5rem}
  .page-station #rainForecast .period-card span{font-size:.54rem}
  .page-station #rainForecast .period-card small{font-size:.46rem}
  .page-station #tidePanel .history-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-station #tidePanel .history-item{padding:6px}
}
@media(max-width:380px){
  .page-station #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-station #rainForecast .period-grid{grid-template-columns:1fr}
  .page-station #tidePanel .history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Sem histórico pessoal: estação pública mostra apenas a leitura ambiental curta */
.page-station.no-personal-history #inteligencia{display:none}
.page-station.no-personal-history .station-fishing-note{display:none}

/* Modo publicação: compacto, legível e preparado para captura/Instagram */
.publication-mode .topbar{display:flex}
.publication-mode main{width:min(760px,calc(100% - 20px))}
.publication-mode .hero{min-height:auto;padding:14px 0 10px}
.publication-mode .commercial-title{font-size:clamp(2rem,8vw,3.8rem)!important;line-height:.92!important;margin-bottom:8px!important}
.publication-mode .hero .lead{font-size:.82rem;margin:6px 0;max-width:100%}
.publication-mode .actions{margin:8px 0}
.publication-mode .actions #togglePublication,.publication-mode .actions #toggleTotem{display:none}
.publication-mode .location-context{margin:5px 0}
.publication-mode .display-header{margin:5px 0}
.publication-mode .display-header h3{font-size:1.15rem}
.publication-mode .display-header p{font-size:.7rem;margin:0}
.publication-mode .display-clock{font-size:1.1rem}
.publication-mode .radar-snapshot{grid-template-columns:2fr repeat(5,minmax(0,1fr));gap:5px;margin:6px 0}
.publication-mode .radar-snapshot>div{padding:6px;min-height:46px}
.publication-mode .radar-snapshot b{font-size:.75rem}
.publication-mode .radar-snapshot small{font-size:.52rem}
.publication-mode #radar{padding:12px 0}
.publication-mode #radar .section-head{margin-bottom:7px}
.publication-mode #radar .section-head h2{font-size:1.55rem}
.publication-mode .radar-diagnostics{padding:7px 10px;margin:5px 0;font-size:.68rem}
.publication-mode .radar-diagnostics span,.publication-mode .radar-diagnostics small{display:none}
.publication-mode .indicator-details summary{display:none}
.publication-mode .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.publication-mode .cards article{min-height:66px;padding:6px;border-radius:10px}
.publication-mode .cards span{font-size:.78rem}
.publication-mode .cards strong{font-size:.86rem;margin-top:2px}
.publication-mode .cards small{font-size:.5rem;line-height:1.05}
.publication-mode #rainForecast,.publication-mode #tidePanel{font-size:.7rem}
.tide-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}.tide-mini-grid article{background:rgba(5,20,30,.45);border:1px solid rgba(160,190,205,.16);border-radius:10px;padding:9px;min-width:0}.tide-mini-grid strong{display:block;font-size:1rem;line-height:1.1}.tide-mini-grid small{display:block;margin-top:4px;color:#9db1bd;font-size:.72rem}.location-context{display:flex;flex-wrap:wrap;gap:5px 14px;align-items:baseline}.location-context strong{font-size:1rem}.display-header{display:flex;justify-content:space-between;gap:12px;align-items:end}.display-clock{font-variant-numeric:tabular-nums}.radar-snapshot{display:grid;grid-template-columns:2fr repeat(5,minmax(0,1fr));gap:7px}.radar-snapshot>div{min-width:0}.data-transparency{font-size:.7rem;color:#8fa6b4;margin-top:7px}.radar-diagnostics{min-height:1.4em}.station-fishing-note{margin-top:8px}.publication-mode .panel{margin-top:7px;padding:8px}
.publication-mode .panel h3{font-size:1rem}
.publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.publication-mode #rainForecast .forecast-day{padding:5px;border-radius:7px}
.publication-mode #rainForecast .forecast-day>strong{font-size:.58rem}
.publication-mode #rainForecast .forecast-day>span{font-size:.62rem}
.publication-mode #rainForecast .forecast-day>small{font-size:.48rem}
.publication-mode #rainForecast .period-grid{display:none}
.publication-mode #tidePanel .history-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.publication-mode #tidePanel .history-item{padding:5px}
.publication-mode #tidePanel .history-item strong{font-size:.62rem}
.publication-mode #tidePanel .history-item span{font-size:.52rem}
.publication-mode #map,.publication-mode #pescaria,.publication-mode #dashboard,.publication-mode #torneios,.publication-mode #historico,.publication-mode #gerenciar,.publication-mode footer{display:none}
.publication-mode #inteligencia{padding:10px 0}
.publication-mode #inteligencia .analysis-target,.publication-mode #inteligencia button,.publication-mode .intel-story,.publication-mode .intel-history,.publication-mode #fishingCaveat{display:none}
.publication-mode #inteligencia .section-head{margin-bottom:5px}
.publication-mode #inteligencia .section-head h2{font-size:1rem}
.publication-mode #inteligencia .lead{display:none}
.publication-mode .intel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:4px}
.publication-mode .intel-grid article{padding:5px;border-radius:8px}
.publication-mode .intel-grid span{font-size:.72rem;margin:1px 0}
.publication-mode .intel-grid small{font-size:.45rem}
@media(max-width:600px){
 .publication-mode main{width:calc(100% - 12px)}
 .publication-mode .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
 .publication-mode .radar-snapshot>div:first-child{grid-column:span 3}
 .publication-mode .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .publication-mode .cards article{min-height:60px}
 .publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .publication-mode #tidePanel .history-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .publication-mode .intel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){
 .publication-mode .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Estação/totem: alta densidade sem perder legibilidade */
.station-general #fishingHistory,.station-general #fishingCaveat{display:none}
.station-general #inteligencia .section-head{margin-bottom:8px}
.station-general #inteligencia .ai-box{padding:10px}
.station-general #inteligencia .intel-hero{padding:9px}
.station-general #inteligencia .intel-story{display:block}.station-general #inteligencia .analysis-target{display:grid}.station-general #inteligencia #runFishingAnalysis{display:inline-flex}
.widget-mode .topbar,.widget-mode .hero .lead,.widget-mode .actions #locate,.widget-mode .actions #refreshRadar,.widget-mode .actions #shareRadar,.widget-mode .location-context,.widget-mode .display-clock{display:none}
.widget-mode .hero{padding:8px 0!important;min-height:auto}
.widget-mode .display-header{margin:0;padding:8px 10px}
.widget-mode .radar-snapshot{margin:5px 0}
.widget-mode #map,.widget-mode #pescaria,.widget-mode #dashboard,.widget-mode #gerenciar,.widget-mode #torneios,.widget-mode #historico{display:none}
@media(max-width:420px){
  #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  #radar .cards article{min-height:76px;padding:8px;border-radius:11px}
  #radar .cards article strong{font-size:1rem;line-height:1}
  #radar .cards article small{font-size:.57rem;line-height:1.05}
  #radar .cards article span{font-size:.82rem}
  .hero{padding:12px 0 16px!important}
  .hero h1{font-size:clamp(2.1rem,11.5vw,3rem)!important}
  .hero .lead{font-size:.82rem}
  .display-header{padding:9px 10px;margin:5px 0 8px}
  .display-header h3{font-size:1rem}
  .display-header p{font-size:.68rem}
  .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px}
  .radar-snapshot>div:first-child{grid-column:1/-1}
  .radar-snapshot b{font-size:.76rem}
  .radar-snapshot small{font-size:.54rem}
  #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tidePanel .history-item{display:flex;justify-content:space-between;gap:8px;padding:7px 0}
}
@media(min-width:900px){body.totem .hero{padding:18px 0 12px!important}body.totem #radar .cards{grid-template-columns:repeat(6,minmax(0,1fr))}body.totem section{padding:20px 0!important}}
@media(max-width:600px){.tide-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tide-mini-grid article{padding:8px}.tide-mini-grid strong{font-size:.92rem}.display-header{align-items:center}.display-clock{font-size:.9rem}.radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}.radar-snapshot>div:first-child{grid-column:span 3}}.totem .topbar,.totem .hero .actions,.totem #mapa,.totem #pescaria,.totem #dashboard,.totem #torneios,.totem #historico,.totem #gerenciar,.totem footer{display:none}.totem main{width:min(1400px,calc(100% - 28px))}.totem .hero{min-height:auto;padding:12px 0}.totem .commercial-title{font-size:clamp(2rem,5vw,4.2rem);margin:0}.totem .display-header{margin:4px 0}.totem #radar{padding:10px 0}.totem #inteligencia{padding:10px 0}.totem .intel-story,.totem .intel-history,.totem #fishingCaveat{display:none}.totem .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.totem .cards article{min-height:72px;padding:7px}.totem #rainForecast .forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.totem #tidePanel .history-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.totem .intel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.totem .intel-grid article{padding:6px}@media(max-width:700px){.totem main{width:calc(100% - 12px)}.totem .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.totem #rainForecast .forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.totem #tidePanel .history-list{grid-template-columns:repeat(3,minmax(0,1fr))}.totem .intel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nav-install{background:transparent!important;color:var(--accent)!important;border:1px solid var(--line)!important;padding:8px 11px!important;border-radius:10px!important;font-size:.8rem!important}
.auth-locked{min-height:100vh}
.auth-gate{width:min(620px,calc(100% - 24px));margin:8vh auto;padding:20px 0 50px}
.auth-box h1{font-size:clamp(2.3rem,10vw,4.5rem);margin:0 0 12px}
.auth-box label{display:grid;gap:6px;margin:12px 0;color:var(--muted);font-size:.85rem;font-weight:700}
.auth-box input{width:100%;box-sizing:border-box;background:#07131d;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit}
.auth-box #authName{margin-top:12px}
#authName[hidden]{display:none}
@media(max-width:700px){
  .topbar{height:58px}
  nav{max-width:100%;overflow:auto}
  .hero{min-height:auto;padding:22px 0 16px}
  section{padding:24px 0}
  .commercial-title,h1{font-size:clamp(2.65rem,13vw,5rem)}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .cards article{min-height:88px;padding:11px;border-radius:13px}
  .cards strong{font-size:1.25rem;margin-top:4px}
  .cards small{font-size:.68rem}
  .section-head{margin-bottom:10px}
  #map{height:46svh;min-height:260px}
  .actions button,.actions a{min-height:44px}
}
@media(max-width:380px){
  .topbar,main,footer{width:calc(100% - 18px)}
  .cards article{min-height:78px;padding:9px}
  .cards strong{font-size:1.12rem}
  .cards small{font-size:.62rem}
}
.totem-mode .topbar{display:none}
.totem-mode main{width:min(1500px,calc(100% - 28px))}
.totem-mode .hero{min-height:auto;padding:18px 0}
.totem-mode .commercial-title{font-size:clamp(2.5rem,6vw,5.5rem)}
.totem-mode section{padding:28px 0}
.totem-mode #inteligencia,.totem-mode #gerenciar,.totem-mode #ia,.totem-mode footer{display:none}
.totem-mode .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.totem-mode .cards article{min-height:80px;padding:10px}
.totem-mode #rainForecast,.totem-mode #tidePanel{max-height:250px;overflow:hidden}
.totem-mode .hero .lead{max-width:800px}

/* Compact station / social snapshot / Raspberry Pi kiosk */
.moment-readout{background:rgba(6,17,26,.72);border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}.moment-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.moment-head .eyebrow{margin:0}.moment-head h3{margin:0;font-size:1.05rem}.moment-head>span{font-size:.7rem;color:var(--muted)}.moment-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:8px}.moment-grid>div{min-width:0;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:9px;padding:7px}.moment-grid b{display:block;font-size:.95rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-grid small{display:block;color:var(--muted);font-size:.62rem;margin-top:3px}.location-context strong,.display-header h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publication-mode .hero{padding:8px 0 6px!important}.publication-mode .commercial-title{font-size:clamp(1.8rem,4.8vw,3.8rem);margin-bottom:8px}.publication-mode .hero .lead{display:none}.publication-mode .actions{margin:4px 0}.publication-mode .location-context{font-size:.7rem}.publication-mode .display-header{padding:5px 0;margin:3px 0}.publication-mode .display-header h3{font-size:1.05rem}.publication-mode .moment-readout{margin:4px 0;padding:6px}.publication-mode .moment-head h3{font-size:.82rem}.publication-mode .moment-grid{gap:3px;margin-top:4px}.publication-mode .moment-grid>div{padding:5px}.publication-mode .moment-grid b{font-size:.72rem}.publication-mode .moment-grid small{font-size:.45rem}.publication-mode .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.publication-mode .cards article{min-height:58px;padding:5px}.publication-mode .cards strong{font-size:.78rem}.publication-mode .cards small{font-size:.46rem}.totem-mode .commercial-title{font-size:clamp(2rem,5vw,4.2rem)}.totem-mode .moment-readout{margin:5px 0;padding:7px}.totem-mode .moment-grid{gap:5px}.totem-mode .cards{grid-template-columns:repeat(6,minmax(0,1fr))}.totem-mode .moment-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.totem-mode .moment-grid>div{padding:7px}.totem-mode .moment-grid b{font-size:.85rem}.totem-mode .cards article{min-height:66px;padding:7px}.totem-mode .cards strong{font-size:.9rem}@media(max-width:700px){.moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.publication-mode .moment-grid,.totem-mode .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.publication-mode .cards,.totem-mode .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.publication-mode .cards article,.totem-mode .cards article{min-height:58px;padding:5px}.publication-mode .cards strong,.totem-mode .cards strong{font-size:.76rem}.publication-mode .cards small,.totem-mode .cards small{font-size:.45rem}.publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.publication-mode #tidePanel .history-list{grid-template-columns:repeat(4,minmax(0,1fr))}.totem-mode #rainForecast .forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.totem-mode #tidePanel .history-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:380px){.publication-mode .cards,.totem-mode .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.publication-mode .cards article,.totem-mode .cards article{min-height:54px}.publication-mode .moment-grid,.totem-mode .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Final kiosk/publication density */
.publication-mode .topbar,.publication-mode .commercial-title,.publication-mode .hero .lead,.publication-mode .hero .actions{display:none}
.publication-mode .hero{min-height:auto;padding:4px 0 2px!important}.publication-mode .location-context{margin:2px 0}.publication-mode .display-header{margin:2px 0;padding:4px 0}.publication-mode #radar{padding:5px 0}.publication-mode #radar .section-head{margin-bottom:4px}.publication-mode #radar .section-head h2{font-size:1.15rem}.publication-mode #radar .badge{font-size:.58rem}.publication-mode .moment-readout{box-shadow:none}.publication-mode .data-transparency{font-size:.55rem;margin-top:3px}
.publication-mode .radar-snapshot{padding:4px;margin:3px 0}.publication-mode .radar-diagnostics{display:none}.publication-mode .indicator-details{margin-top:3px}
.totem-mode .commercial-title,.totem-mode .hero .lead,.totem-mode .hero .actions{display:none}.totem-mode .hero{padding:4px 0!important}.totem-mode .location-context{margin:2px 0}.totem-mode .display-header{padding:3px 0;margin:2px 0}.totem-mode #radar{padding:5px 0}.totem-mode #radar .section-head{margin-bottom:4px}.totem-mode #radar .section-head h2{font-size:1.25rem}.totem-mode .data-transparency{font-size:.55rem}
.station-general #inteligencia .section-head h2{font-size:1.05rem}.station-general #inteligencia .ai-box{padding:7px}.station-general #inteligencia .lead{font-size:.7rem}.station-general #inteligencia .intel-grid{display:none}
@media(min-width:900px){.totem-mode main{width:min(1400px,calc(100% - 24px))}.totem-mode section{padding:10px 0!important}.totem-mode .cards{gap:5px}.totem-mode .cards article{min-height:58px}.totem-mode .moment-readout{padding:6px;margin:3px 0}.totem-mode #rainForecast .forecast-day{padding:4px}.totem-mode #tidePanel .history-item{padding:4px}}

/* Estação pública: leitura compacta sem histórico pessoal */
.station-brandline{display:flex;align-items:center;gap:8px;min-height:32px;margin-bottom:4px}
.station-brand-icon{font-size:1.15rem}.station-brandline strong{font-size:1.05rem;letter-spacing:.01em}.station-brandline>span:last-child{color:var(--muted);font-size:.72rem}
.station-lead{font-size:.8rem!important;margin:2px 0!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#totemView{display:none}
body.totem-mode{height:100vh;overflow:hidden;position:relative}
body.totem-mode main{height:100vh;width:calc(100% - 24px);max-width:1800px;overflow:hidden}
body.totem-mode main>*:not(#totemView){display:none!important}
body.totem-mode #totemView{display:block;height:100%;padding:10px 0;overflow:hidden}
.totem-exit{position:fixed;top:10px;right:10px;z-index:5000;background:#07131d;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.35)}


@media(max-width:700px){}
.totem-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:2px 0 8px}
.totem-head h2{font-size:clamp(1.25rem,2.5vw,2rem);margin:0}.totem-head strong{color:var(--accent);font-size:clamp(1rem,2vw,1.4rem)}
.totem-current{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:5px;margin:7px 0}
.totem-current>div{background:rgba(6,17,26,.7);border:1px solid var(--line);border-radius:9px;padding:7px;min-width:0}
.totem-current span{font-size:.72rem}.totem-current strong{display:block;font-size:clamp(.82rem,1.3vw,1.1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.totem-current small{display:block;color:var(--muted);font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.totem-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:8px}
.totem-columns .panel,.totem-fishing{padding:8px!important;margin:0!important}
.totem-columns .panel>.eyebrow,.totem-fishing>.eyebrow{margin-bottom:5px}
.totem-mode .forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.totem-mode .forecast-day{padding:5px!important}.totem-mode .forecast-day strong{font-size:.68rem}.totem-mode .forecast-day>span{font-size:.7rem}.totem-mode .forecast-day>small{font-size:.55rem}
.totem-mode .period-grid{grid-template-columns:1fr!important;gap:2px!important}.totem-mode .period-card{padding:3px!important;grid-template-columns:auto 1fr 1fr!important}.totem-mode .period-card b,.totem-mode .period-card span,.totem-mode .period-card small{font-size:.5rem!important}
.totem-mode .history-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.totem-mode .history-item{padding:5px!important}.totem-mode .history-item strong,.totem-mode .history-item span{font-size:.62rem}
.totem-fishing{margin-top:8px!important}.totem-fishing strong{font-size:clamp(.95rem,1.8vw,1.3rem)}.totem-fishing p{margin:3px 0 0;color:var(--muted);font-size:.72rem;line-height:1.25}
@media(max-width:900px){
  .totem-current{grid-template-columns:repeat(6,minmax(0,1fr))}
  .totem-columns{grid-template-columns:1fr 1fr}
  .totem-mode .forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:600px){
  .page-station .section-head h2{font-size:1.7rem}
  .page-station .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .page-station .cards article{min-height:70px;padding:7px}
  .page-station .cards strong{font-size:.9rem}
  .page-station .cards small{font-size:.55rem}
  .page-station .panel{padding:10px}
  .page-station #inteligencia{padding-top:14px!important}
  .totem-current{grid-template-columns:repeat(3,minmax(0,1fr))}
  .totem-columns{grid-template-columns:1fr}
  body.totem-mode{height:100vh;overflow:hidden}
  body.totem-mode main{height:100vh;min-height:0;overflow:hidden}
  .totem-mode .totem-columns{grid-template-columns:1fr 1fr}
  .totem-mode .period-grid{display:none!important}
  .totem-mode .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:150px;overflow:hidden}
  .totem-mode .forecast-day:nth-child(n+5){display:none}
  .totem-mode .history-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:110px;overflow:hidden}
  .totem-mode .history-item:nth-child(n+5){display:none}
  .totem-mode .totem-fishing{max-height:95px;overflow:hidden}
}
@media(min-width:901px){
  .page-station .hero{padding:14px 0 8px!important}
  .page-station .commercial-title{font-size:1rem!important}
}

/* Acessibilidade: foco visível e controles confortáveis em toque/teclado */
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:2px}
button,a{min-height:44px}
@media(max-width:600px){button,a.secondary,a.primary{min-height:46px}.actions button,.actions a{flex:1 1 auto}}

.quick-snapshot{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0 8px}.quick-snapshot>div{background:rgba(7,19,29,.62);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}.quick-snapshot b{display:block;font-size:.95rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-snapshot small{display:block;color:var(--muted);font-size:.68rem;margin-top:4px}.location-context{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.location-context strong{font-size:1.05rem}.location-context span,.location-context small{color:var(--muted)}
@media(max-width:900px){.quick-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{min-height:auto;padding:26px 0 30px}section{padding:30px 0}.hero h1{font-size:clamp(2.7rem,12vw,5rem)}.lead{font-size:1rem}}
@media(max-width:520px){.quick-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.quick-snapshot>div{padding:8px 9px;border-radius:10px}.quick-snapshot b{font-size:.78rem}.quick-snapshot small{font-size:.62rem}.hero{padding-top:18px}.actions button,.actions a{flex:1 1 auto;text-align:center}.cards{gap:6px}.cards article{padding:11px;min-height:94px}.cards strong{font-size:1.35rem}.radar-diagnostics{font-size:.8rem}.panel{padding:14px}.history-item{padding:9px 0}}
@media print{body{background:#fff;color:#111}nav,footer,.actions,.privacy-banner,.map-actions,#map,.chat,.management,.diary,.tournament,.verbose-only{display:none!important}.hero{min-height:auto;padding:8px 0}.hero h1{font-size:34pt;color:#111}.hero h1 span{color:#111}.lead,.status,.location-context span,.location-context small,.quick-snapshot small{color:#444}.quick-snapshot{grid-template-columns:repeat(3,1fr)}.quick-snapshot>div,.cards article,.panel,.ai-box{background:#fff;color:#111;border:1px solid #bbb;box-shadow:none}.cards{grid-template-columns:repeat(4,1fr)}section{padding:12px 0;break-inside:avoid}h2{font-size:22pt}.cards strong{font-size:20pt}}


/* Publicação / Instagram: uma tela compacta, informativa e estável */
.publication-mode .topbar,
.publication-mode footer,
.publication-mode .hero .lead,
.publication-mode .hero>.actions #locate,
.publication-mode .hero>.actions #refreshRadar,
.publication-mode .hero>.actions #installApp,
.publication-mode .hero>.actions #shareRadar,
.publication-mode #mapa,
.publication-mode #pescaria,
.publication-mode #dashboard,
.publication-mode #gerenciar,
.publication-mode #historico,
.publication-mode #torneios,
.publication-mode #dados,
.publication-mode .verbose-only{display:none!important}
.publication-mode main{max-width:1180px}
.publication-mode .hero{padding:12px 0 10px!important;min-height:auto!important}
.publication-mode .station-brandline{margin-bottom:4px}
.publication-mode .hero h1{font-size:clamp(1.7rem,4vw,3.1rem)!important;line-height:.95;margin:4px 0}
.publication-mode .location-context{margin:5px 0!important}
.publication-mode .quick-snapshot{margin:6px 0}
.publication-mode section{padding:10px 0!important}
.publication-mode #radar .section-head{margin-bottom:5px}
.publication-mode #radar .section-head h2{font-size:1.45rem}
.publication-mode #radar .indicator-details{margin-top:5px}
.publication-mode #radar .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.publication-mode #radar .cards article{min-height:68px;padding:7px}
.publication-mode #radar .cards article strong{font-size:.95rem}
.publication-mode #radar .cards article small{font-size:.58rem}
.publication-mode .panel{padding:9px;margin-top:7px}
.publication-mode .panel h3{font-size:1rem}
.publication-mode #inteligencia .section-head{margin-bottom:5px}
.publication-mode #inteligencia .section-head .lead,
.publication-mode #inteligencia .analysis-target,
.publication-mode #inteligencia #runFishingAnalysis{display:none}
.publication-mode #inteligencia .intel-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px}
.publication-mode #inteligencia .intel-grid article{padding:7px}
.publication-mode #inteligencia .intel-grid span{font-size:.9rem;margin:3px 0}
.publication-mode #inteligencia .intel-story{display:block;padding:8px;font-size:.78rem;margin-top:6px}
.publication-mode #inteligencia .intel-history,
.publication-mode #inteligencia #fishingCaveat{display:none}
.publication-mode .station-fishing-note{margin-top:6px;padding:8px;font-size:.76rem}
.publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.publication-mode #rainForecast .forecast-day{padding:6px}
.publication-mode #tidePanel .history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.publication-mode #tidePanel .history-item{padding:6px;border:1px solid var(--line);border-radius:8px}
@media(max-width:700px){
  .publication-mode .hero h1{font-size:1.65rem!important}
  .publication-mode .quick-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
  .publication-mode #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .publication-mode #inteligencia .intel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publication-mode #tidePanel .history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){
  .publication-mode #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .publication-mode #radar .cards article{min-height:64px;padding:6px}
  .publication-mode #radar .cards article strong{font-size:.84rem}
  .publication-mode #radar .cards article small{font-size:.52rem}
}

/* Estação pública: alta densidade, leitura rápida, captura e Raspberry Pi */
.page-station .hero{min-height:auto;padding:18px 0 16px}
.page-station .station-lead{max-width:760px}
.page-station .location-context{background:rgba(7,19,29,.58);border:1px solid rgba(70,214,181,.18);backdrop-filter:blur(12px)}
.page-station .display-header{margin:8px 0 10px;padding:10px 12px}
.page-station .radar-snapshot{display:grid}
.page-station .cards{content-visibility:auto;contain-intrinsic-size:600px}
.page-station .cards article{min-height:82px}
.page-station .data-transparency{line-height:1.3}
.page-station .tide-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.publication-mode .topbar{display:none}
.publication-mode .hero{padding:8px 0 8px!important}
.publication-mode .station-brandline{font-size:.72rem}
.publication-mode .location-context{margin:3px 0;padding:5px 8px}
.publication-mode .radar-snapshot{margin:4px 0 0}
.publication-mode #radar{padding-top:10px}
.publication-mode #radar .section-head{margin-bottom:5px}
.publication-mode #radar .section-head h2{font-size:clamp(1.35rem,3vw,2rem)}
.publication-mode .radar-diagnostics{padding:6px 9px;margin:5px 0}
.publication-mode .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.publication-mode .cards article{min-height:60px;padding:6px;border-radius:9px}
.publication-mode .cards article span{font-size:.75rem}
.publication-mode .cards article strong{font-size:.78rem;margin-top:1px}
.publication-mode .cards article small{font-size:.5rem}
.publication-mode .indicator-details>summary{padding:7px 9px;font-size:.75rem}
@media(max-width:600px){
 .page-station .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .page-station .cards article{min-height:78px;padding:9px}
 .page-station .cards article strong{font-size:clamp(1rem,5vw,1.35rem)}
 .page-station .tide-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
 .page-station .tide-mini-grid article{padding:6px 4px;text-align:center}
 .page-station .tide-mini-grid strong{font-size:.78rem}
 .page-station .tide-mini-grid small{font-size:.56rem}
 .publication-mode .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .publication-mode .cards article{min-height:58px;padding:6px}
 .publication-mode .cards article strong{font-size:.8rem}
 .publication-mode .tide-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(min-width:601px){.publication-mode main{max-width:1500px}.publication-mode .hero>div{max-width:1200px}.publication-mode .cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1200px){.page-station .hero>div{max-width:100%}.page-station .cards{grid-template-columns:repeat(6,minmax(0,1fr))}.page-station .cards .wide-indicator{grid-column:span 2}}

.station-general #inteligencia{display:none!important}.station-general .station-fishing-note{display:block!important;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(7,19,29,.45);font-size:.72rem;color:var(--muted)}.station-general .station-fishing-note b{color:var(--text);margin-right:5px}.station-general .station-fishing-note span{display:inline}
@media(max-width:600px){.publication-mode .station-fishing-note{font-size:.62rem;padding:5px 7px}.publication-mode .data-transparency{font-size:.52rem}.publication-mode .tide-mini-grid strong{font-size:.72rem}.publication-mode .tide-mini-grid small{font-size:.48rem}}

/* Estação ambiental: quadro compacto de mudanças e leitura para telas pequenas/totem */
.environment-change-board{margin:8px 0 12px;padding:12px 14px;border:1px solid rgba(70,214,181,.22);border-radius:14px;background:linear-gradient(120deg,rgba(7,19,29,.9),rgba(12,27,39,.72));backdrop-filter:blur(10px)}
.change-board-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.change-board-head>div{display:flex;align-items:center;gap:9px;min-width:0}.change-board-head .eyebrow{margin:0;font-size:.62rem}.change-board-head strong{font-size:.86rem}.change-board-head small{color:var(--muted);white-space:nowrap;font-size:.68rem}
.change-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.change-grid>div{min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#07131d}
.change-grid b,.change-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-grid b{font-size:.9rem}.change-grid small{margin-top:2px;color:var(--muted);font-size:.62rem}
.environment-change-board>p{margin:8px 2px 0;color:var(--muted);font-size:.72rem;line-height:1.35}
.totem-change{margin:8px 0}.totem-change #totemChangeBoard{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.totem-change .change-item{padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#07131d}.totem-change .change-item b,.totem-change .change-item small{display:block}.totem-change .change-item small{color:var(--muted);font-size:.62rem}
@media(max-width:700px){.change-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.change-grid>div{padding:6px}.change-grid b{font-size:.82rem}.change-grid small{font-size:.58rem}}
@media(max-width:420px){.environment-change-board{padding:9px 10px}.change-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.change-grid b{font-size:.74rem}.change-grid small{font-size:.54rem}.change-board-head strong{font-size:.78rem}.environment-change-board>p{font-size:.64rem}.totem-change #totemChangeBoard{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){body.totem .environment-change-board{margin:6px 0 8px;padding:9px 12px}body.totem .change-grid{gap:5px}body.totem .change-grid>div{padding:6px}body.totem .change-grid b{font-size:.82rem}}

/* Quadro ambiental na estação/publicação: prioridade para mudanças, não apenas valores absolutos */
.publication-mode .environment-change-board{margin:5px 0 7px;padding:7px 8px}
.publication-mode .change-board-head{margin-bottom:4px}.publication-mode .change-board-head .eyebrow{font-size:.5rem}.publication-mode .change-board-head strong{font-size:.72rem}.publication-mode .change-board-head small{font-size:.52rem}
.publication-mode .change-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.publication-mode .change-grid>div{padding:4px 5px;border-radius:7px}.publication-mode .change-grid b{font-size:.65rem}.publication-mode .change-grid small{font-size:.43rem}.publication-mode .environment-change-board>p{font-size:.54rem;margin-top:4px}
@media(max-width:600px){.publication-mode .change-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.publication-mode .environment-change-board{padding:6px}.publication-mode .change-grid b{font-size:.62rem}.publication-mode .change-grid small{font-size:.42rem}}

/* Publicação / Instagram: somente o radar público essencial, sem formulário ou diário */
.publication-mode #mapa,.publication-mode #pescaria,.publication-mode #dashboard,.publication-mode #padroes,.publication-mode #gerenciar,.publication-mode #torneios,.publication-mode #historico,.publication-mode #totemView{display:none!important}
.publication-mode .station-change-board{display:block}
.publication-mode .hero{padding-bottom:8px!important}
.publication-mode #radar{padding-top:8px!important}
.publication-mode #inteligencia{padding-bottom:8px!important}
@media(min-width:901px){.totem-current{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media(max-width:900px){.totem-current{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:520px){.totem-current{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.totem-current>div{padding:6px}.totem-current strong{font-size:.78rem}.totem-current small{font-size:.54rem}}

/* O modo totem reutiliza a densidade da publicação, mas mantém seu painel público visível. */
body.totem-mode #totemView,body.totem #totemView{display:block!important}

/* Final responsive / kiosk hardening */
.hero{min-height:34svh;padding:28px 0}
@media(max-width:700px){.hero{min-height:32svh;padding:14px 0}.hero h1{font-size:clamp(2.35rem,12vw,4rem);margin-bottom:14px}.actions{margin:12px 0 8px}.location-context,.display-header,.moment-readout,.environment-change-board{margin-top:6px;margin-bottom:6px}section{padding:24px 0}}
@media(max-width:520px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cards article{min-height:82px;padding:10px;border-radius:12px}.cards strong{font-size:1.25rem}.cards small{font-size:.68rem}.moment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.moment-grid>div{padding:5px}.display-header h3{font-size:1rem}.display-clock{font-size:1rem}}
body.totem-mode{background:#06131c;color:var(--text)}
body.totem-mode main{display:block!important}
body.totem-mode #totemView{display:block!important;visibility:visible!important;opacity:1!important}
body.totem-mode .totem-head{padding:4px 0}
body.totem-mode .totem-head h2{font-size:clamp(1.5rem,3vw,3rem)}
body.totem-mode .totem-current{margin:5px 0}
body.totem-mode .totem-current>div{min-height:52px}
body.totem-mode .totem-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.totem-mode .panel{min-width:0}
@media(max-width:700px){body.totem-mode main{width:calc(100% - 12px)}body.totem-mode .totem-columns{grid-template-columns:1fr}.totem-mode .totem-current{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Estação ambiental: informação densa sem perder leitura em celular, Instagram e totem */
.page-station .hero{min-height:auto;padding:20px 0 14px}
.page-station section{padding:30px 0}
.page-station .station-lead{font-size:clamp(.9rem,2vw,1.08rem);margin:6px 0}
.page-station .location-context{margin:7px 0}
.page-station .display-header{margin:8px 0}
.page-station .moment-readout{margin:7px 0}
.page-station .cards{gap:7px}
.page-station .cards article{min-height:82px;padding:10px;border-radius:14px}
.page-station .cards article span{font-size:1.05rem}
.page-station .cards article strong{font-size:clamp(1.05rem,3vw,1.45rem)}
.page-station .cards article small{font-size:.66rem;line-height:1.15}
.page-station .radar-diagnostics{padding:8px 10px}
.page-station .radar-diagnostics small{display:block;margin-top:2px}
.page-station .forecast-row{padding:9px 0}
.page-station .tide-mini-grid{gap:6px}
@media(max-width:700px){
 .page-station main{width:calc(100% - 18px)}
 .page-station .topbar{width:calc(100% - 18px)}
 .page-station section{padding:22px 0}
 .page-station .hero{padding:14px 0 10px}
 .page-station .actions{margin:10px 0 6px}
 .page-station .actions button,.page-station .actions a{min-height:44px}
 .page-station .section-head h2{font-size:clamp(1.8rem,8vw,2.35rem)}
}
@media(max-width:380px){
 .page-station .cards{gap:5px}
 .page-station .cards article{min-height:72px;padding:8px}
 .page-station .cards article strong{font-size:1.02rem}
 .page-station .cards article small{font-size:.6rem}
 .page-station .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* Totem 16:9 / Raspberry Pi — painel público de alta densidade */
body.totem-mode{
  background:#06121a;
  color:var(--text);
  overflow:hidden;
}
body.totem-mode main{
  width:calc(100% - 28px);
  max-width:1920px;
  margin:0 auto;
  height:100vh;
  overflow:hidden;
}
body.totem-mode #totemView{
  height:100%;
  padding:12px 0 8px;
  display:grid!important;
  grid-template-rows:auto auto auto minmax(0,1fr) auto auto;
  gap:7px;
  overflow:hidden;
}
body.totem-mode .totem-head{
  min-height:58px;
  padding:2px 2px 8px;
}
body.totem-mode .totem-head h2{
  font-size:clamp(1.5rem,2.7vw,3.2rem);
  line-height:1;
  letter-spacing:-.03em;
}
body.totem-mode .totem-head .eyebrow{font-size:.62rem}
body.totem-mode #totemLocationMeta,
body.totem-mode #totemUpdated{
  display:block;
  color:var(--muted);
  font-size:clamp(.58rem,.75vw,.8rem);
  margin-top:3px;
}
body.totem-mode .totem-clock-block{text-align:right}
body.totem-mode .totem-clock-block strong{
  display:block;
  font-size:clamp(1.5rem,2.6vw,3rem);
  line-height:1;
  color:var(--accent);
}
body.totem-mode .totem-current{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:5px;
  margin:0;
}
body.totem-mode .totem-current>div{
  min-height:58px;
  padding:7px 8px;
  border-radius:9px;
  background:rgba(6,20,29,.86);
  border:1px solid rgba(160,190,205,.18);
}
body.totem-mode .totem-current strong{
  font-size:clamp(.78rem,1.15vw,1.15rem);
}
body.totem-mode .totem-current small{
  font-size:clamp(.5rem,.58vw,.68rem);
}
body.totem-mode .totem-current span{font-size:.7rem}
body.totem-mode .totem-change{margin:0!important;padding:7px 9px!important}
body.totem-mode .totem-change>.eyebrow{margin-bottom:4px}
body.totem-mode .totem-change #totemChangeBoard{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
}
body.totem-mode .totem-columns{
  min-height:0;
  display:grid!important;
  grid-template-columns:1.45fr 1fr;
  gap:7px;
  overflow:hidden;
}
body.totem-mode .totem-columns .panel{
  min-height:0;
  overflow:hidden;
}
body.totem-mode .totem-columns .forecast-grid{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
}
body.totem-mode .totem-columns .forecast-day{
  min-width:0;
  padding:5px!important;
}
body.totem-mode .totem-columns .forecast-day strong{font-size:.67rem}
body.totem-mode .totem-columns .forecast-day span{font-size:.7rem}
body.totem-mode .totem-columns .forecast-day small{font-size:.5rem}
body.totem-mode .totem-columns .history-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  max-height:none;
  overflow:hidden;
}
body.totem-mode .totem-columns .history-item{
  min-width:0;
  padding:5px!important;
}
body.totem-mode .totem-fishing{
  margin:0!important;
  padding:7px 9px!important;
  max-height:58px;
  overflow:hidden;
}
body.totem-mode .totem-fishing p{margin:2px 0;font-size:.66rem}
body.totem-mode .totem-footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--muted);
  font-size:clamp(.48rem,.6vw,.65rem);
  padding:2px;
}
@media(max-width:1400px){
  body.totem-mode .totem-current{grid-template-columns:repeat(9,minmax(0,1fr))}
}
@media(max-width:1050px){
  body.totem-mode main{width:calc(100% - 18px)}
  body.totem-mode #totemView{padding-top:8px;gap:5px}
  body.totem-mode .totem-current{grid-template-columns:repeat(8,minmax(0,1fr))}
  body.totem-mode .totem-columns{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  body.totem-mode{
    overflow:auto;
  }
  body.totem-mode main{
    width:calc(100% - 12px);
    height:auto;
    min-height:100vh;
    overflow:visible;
  }
  body.totem-mode #totemView{
    height:auto;
    min-height:100vh;
    display:block!important;
    overflow:visible;
  }
  body.totem-mode .totem-head{margin-bottom:7px}
  body.totem-mode .totem-current{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:6px}
  body.totem-mode .totem-change{margin-bottom:6px!important}
  body.totem-mode .totem-columns{grid-template-columns:1fr 1fr;margin-bottom:6px}
  body.totem-mode .totem-columns .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.totem-mode .totem-columns .forecast-day:nth-child(n+5){display:none}
}
@media(max-width:430px){
  body.totem-mode .totem-columns{grid-template-columns:1fr}
  body.totem-mode .totem-current{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Acessibilidade e legibilidade do painel público */
button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
body.totem-mode .totem-muted{color:var(--muted);font-size:.7rem}

/* Estação pública: leitura objetiva sempre visível; dados pessoais continuam protegidos nas páginas autenticadas. */
.page-station #inteligencia{display:block}
.page-station .station-public-note{display:block}
.install-app[hidden]{display:none!important}
.radar-diagnostics{border:1px solid var(--line);background:rgba(6,17,26,.48);border-radius:14px;padding:10px 14px;margin:10px 0;color:var(--muted)}
.weather-source-note,.data-transparency{font-size:.72rem;color:var(--muted);line-height:1.35}
@media(max-width:700px){
  .page-station .hero{padding:14px 0 12px}
  .page-station .station-lead{display:none}
  .page-station .hero h1{font-size:2.2rem}
  .page-station .actions{display:grid;grid-template-columns:1fr 1fr}
  .page-station .actions .primary{grid-column:1/-1}
  .page-station .actions a,.page-station .actions button{min-height:44px}
  .page-station .display-header{margin-top:8px;padding:8px 0}
  .page-station .display-header h3{font-size:1.15rem}
  .page-station .display-clock{font-size:.85rem}
  .page-station section{padding:20px 0}
  .page-station .section-head h2{font-size:1.7rem}
  .page-station .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .page-station .cards article{min-height:88px;padding:9px}
  .page-station .cards strong{font-size:1.35rem}
  .page-station #inteligencia .section-head{gap:8px}
  .page-station #inteligencia .analysis-target{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .page-station #inteligencia .analysis-target label{font-size:.75rem}
  .page-station #inteligencia #runFishingAnalysis{width:100%;margin-top:6px}
  .page-station .ai-box{padding:10px;border-radius:14px}
  .page-station .intel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .page-station .intel-grid article{padding:9px}
  .publication-mode #inteligencia{display:block}
}

/* Publicação / Instagram / Totem: densidade alta sem sacrificar leitura */
.publication-mode main{max-width:780px}
.publication-mode .location-context strong{font-size:1.15rem}
.publication-mode #radar .indicator-details{display:block}
.publication-mode #radar .indicator-details summary{display:none}
.publication-mode #radar .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.publication-mode #inteligencia{display:block}
.publication-mode #inteligencia .section-head .lead{display:none}
.publication-mode #inteligencia .analysis-target{display:none}
.publication-mode #inteligencia #runFishingAnalysis{display:none}
.publication-mode #inteligencia .intel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.publication-mode #inteligencia .intel-history{display:none}
.publication-mode #pescaria,.publication-mode #mapa,.publication-mode #historico,.publication-mode #padroes,.publication-mode #dashboard,.publication-mode #ia,.publication-mode #gerenciar,.publication-mode #torneios{display:none}
@media(max-width:600px){
  .publication-mode main{width:min(100% - 12px,520px)}
  .publication-mode .hero{padding:8px 0}
  .publication-mode .station-brandline{font-size:.72rem}
  .publication-mode .hero h1,.publication-mode .commercial-title{font-size:2.15rem!important}
  .publication-mode .location-context strong{font-size:.98rem}
  .publication-mode .radar-snapshot{grid-template-columns:2fr repeat(5,minmax(0,1fr));font-size:.65rem}
  .publication-mode #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .publication-mode #radar .cards article{min-height:58px;padding:5px}
  .publication-mode #radar .cards strong{font-size:.78rem}
  .publication-mode #radar .cards small{font-size:.48rem}
  .publication-mode .tide-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .publication-mode .tide-mini-grid article{padding:5px}
  .publication-mode .tide-mini-grid strong{font-size:.78rem}
  .publication-mode .tide-mini-grid small{font-size:.5rem}
  .publication-mode #inteligencia .intel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .publication-mode #inteligencia .intel-grid article{padding:6px}
  .publication-mode #inteligencia .intel-grid span{font-size:.85rem}
}

/* Radar público compacto: leitura rápida em celular, Instagram e totens */
.location-context{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center}
.location-context strong{font-size:1.15rem}
.location-context span,.location-context small{grid-column:1/-1}
.location-context small{font-variant-numeric:tabular-nums}
.radar-diagnostics{min-height:42px}
@media(max-width:700px){
  main{width:min(calc(100% - 20px),680px)}
  .hero{padding:12px 0 10px}
  .hero h1{font-size:clamp(2.25rem,11vw,3.5rem);line-height:.95;margin:.3rem 0 .7rem}
  .hero .lead{font-size:.92rem;line-height:1.35}
  .location-context{margin:6px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(6,17,26,.42)}
  .location-context strong{font-size:1rem}
  .location-context span,.location-context small{font-size:.7rem}
  #radar{padding-top:12px}
  #radar .section-head{margin-bottom:7px}
  #radar .section-head h2{font-size:1.65rem}
  #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  #radar .cards article{min-height:78px;padding:7px}
  #radar .cards article>span{font-size:.9rem}
  #radar .cards strong{font-size:1rem;line-height:1.05}
  #radar .cards small{font-size:.48rem;line-height:1.05}
  .radar-diagnostics{padding:7px 9px;margin:6px 0;font-size:.72rem}
  .radar-diagnostics small{font-size:.58rem}
  #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  #tidePanel{font-size:.76rem}
  #inteligencia{padding-top:12px}
  #inteligencia .section-head h2{font-size:1.55rem}
  #inteligencia .intel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  #inteligencia .intel-grid article{padding:7px;min-height:60px}
  #inteligencia .intel-grid strong{font-size:.95rem}
  .tide-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .tide-mini-grid article{padding:6px}
  .tide-mini-grid strong{font-size:.8rem}
}
@media(max-width:380px){
  main{width:calc(100% - 14px)}
  #radar .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #radar .cards article{min-height:72px}
  .hero h1{font-size:2.15rem}
}

/* Compacto para telas pequenas, capturas e telas de estação */
@media(max-width:700px){
  .hero{min-height:auto!important;padding:14px 0 18px!important}
  .hero h1{font-size:clamp(2.35rem,12vw,3.7rem)!important}
  #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  #radar .cards article{min-height:78px;padding:8px;border-radius:11px}
  #radar .cards article strong{font-size:1rem;line-height:1.05;margin-top:5px}
  #radar .cards article small{font-size:.56rem;line-height:1.05}
  #radar .cards article span{font-size:.85rem}
  .location-context,.display-header,.moment-readout,.environment-change-board,.radar-snapshot,.panel{border-radius:12px}
  .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tide-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .tide-mini-grid article{padding:7px}
  .section-head{margin-bottom:10px}
  section{padding:24px 0}
}
@media(max-width:380px){
  #radar .cards{gap:4px}
  #radar .cards article{min-height:70px;padding:7px}
  #radar .cards article strong{font-size:.9rem}
  #radar .cards article small{font-size:.52rem}
  .moment-grid{gap:4px}
}

/* Radar compacto: mobile, Instagram e totem */
.hero{min-height:auto!important;padding:28px 0 22px!important}.hero h1{max-width:900px}.hero .lead{max-width:760px}.outlook-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;overflow-x:auto}.outlook-card{border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.62);padding:11px;min-width:120px;display:grid;gap:5px}.outlook-card b{text-transform:capitalize}.outlook-card strong{font-size:1.05rem}.outlook-card span,.outlook-card small{color:var(--muted);font-size:.76rem;line-height:1.25}.outlook-card em{font-style:normal;font-size:.76rem;font-weight:800}.objective-reading{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.7)}.objective-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.objective-grid span{padding:8px;border:1px solid var(--line);border-radius:10px;font-size:.8rem}.panel-subtitle{margin:12px 0 7px;color:var(--muted);font-size:.8rem}
@media(max-width:700px){.hero{padding:14px 0 16px!important}.hero h1{font-size:clamp(2.25rem,12vw,3.4rem);line-height:.94}.hero .lead{font-size:.9rem}.outlook-grid{grid-template-columns:repeat(7,115px)}.objective-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.objective-grid span{font-size:.74rem;padding:7px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cards article{min-height:82px!important;padding:10px!important}.cards article strong{font-size:1.2rem!important}}
@media(min-width:1000px){main{max-width:1180px;margin:auto}.hero{padding-bottom:18px!important}.hero>div{max-width:1180px}.cards{grid-template-columns:repeat(5,minmax(0,1fr))}.radar-snapshot{grid-template-columns:2fr repeat(6,1fr)}}

/* Janela de análise compacta: visível sem rolar até o assistente */
.analysis-dock{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:end;margin:8px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.72);position:sticky;top:8px;z-index:8;backdrop-filter:blur(10px)}
.analysis-dock>div{display:grid;gap:2px}.analysis-dock>div b{font-size:.82rem}.analysis-dock>div span{font-size:.74rem;color:var(--muted)}.analysis-dock label{display:grid;gap:3px;font-size:.68rem;color:var(--muted)}.analysis-dock input{min-height:38px}.analysis-dock button{min-height:38px}
@media(max-width:600px){.analysis-dock{grid-template-columns:1fr 1fr;gap:6px;top:4px}.analysis-dock>div{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center}.analysis-dock button{grid-column:1/-1}.analysis-dock input{width:100%;font-size:.82rem}.analysis-dock label{font-size:.62rem}}
@media(min-width:900px){.analysis-dock{max-width:760px;margin-left:auto;margin-right:auto}}

/* Final mobile/publication/toem density pass */
.quick-analysis-target{display:grid;grid-template-columns:1.4fr minmax(130px,1fr) minmax(95px,.7fr) auto;gap:7px;align-items:end;margin:8px 0 10px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(7,19,29,.62)}
.quick-analysis-target>div{display:grid;gap:2px}.quick-analysis-target>div span{font-size:.62rem;color:var(--accent);font-weight:800;letter-spacing:.12em}.quick-analysis-target>div strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-analysis-target label{display:grid;gap:3px;font-size:.65rem;color:var(--muted)}.quick-analysis-target input{min-height:36px;padding:5px 7px;font-size:.8rem}.quick-analysis-target button{min-height:36px;padding:7px 10px}
.moment-extra{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:6px}.moment-extra>div{padding:6px 7px;border:1px solid var(--line);border-radius:9px;background:rgba(7,19,29,.42)}.moment-extra b{display:block;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-extra small{display:block;color:var(--muted);font-size:.58rem;line-height:1.1;margin-top:2px}
@media(max-width:700px){.quick-analysis-target{grid-template-columns:1fr 1fr;gap:5px}.quick-analysis-target>div{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:center}.quick-analysis-target label{font-size:.6rem}.quick-analysis-target button{grid-column:1/-1;width:100%}.moment-extra{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.moment-extra>div{padding:6px}.moment-extra b{font-size:.72rem}.moment-extra small{font-size:.52rem}}
@media(max-width:380px){.quick-analysis-target{padding:7px}.moment-extra{grid-template-columns:repeat(2,minmax(0,1fr))}.moment-extra b{font-size:.7rem}}
.publication-mode .hero{padding:10px 0!important}.publication-mode .station-brandline,.publication-mode .station-lead{display:none}.publication-mode .quick-analysis-target{display:grid;margin:5px 0 7px}.publication-mode .moment-extra{display:grid}.publication-mode #radarDiagnostics{display:none}.publication-mode #radar .indicator-details{margin-top:5px}.publication-mode #radar .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.publication-mode #radar .cards article{min-height:58px!important;padding:5px!important}.publication-mode #radar .cards article>span{font-size:.75rem}.publication-mode #radar .cards strong{font-size:.76rem!important}.publication-mode #radar .cards small{font-size:.48rem}.publication-mode #inteligencia .analysis-target{display:none}.publication-mode #inteligencia #runFishingAnalysis{display:none}.publication-mode #inteligencia{margin-top:8px}.publication-mode #inteligencia .objective-reading{font-size:.72rem;padding:7px}.publication-mode #inteligencia .objective-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.publication-mode #inteligencia .objective-grid span{padding:5px;font-size:.62rem}.publication-mode #inteligencia .intel-story,.publication-mode #inteligencia .intel-history{display:none}.publication-mode #tideForecast,.publication-mode #fishingOutlook{max-height:170px;overflow:hidden}.publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.publication-mode #rainForecast .forecast-day{padding:5px;font-size:.65rem}.publication-mode #rainForecast .period-grid{display:none}
@media(max-width:600px){.publication-mode main{width:calc(100% - 10px)!important}.publication-mode .location-context{margin:4px 0;padding:6px 8px}.publication-mode .display-header{padding:5px 0}.publication-mode .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.publication-mode .moment-extra{grid-template-columns:repeat(3,minmax(0,1fr))}.publication-mode #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.publication-mode #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-mode #inteligencia .objective-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.totem-mode .topbar,.totem-mode .hero .actions,.totem-mode #pescaria,.totem-mode #mapa,.totem-mode #inteligencia,.totem-mode #historico,.totem-mode #padroes,.totem-mode #dashboard,.totem-mode #ia,.totem-mode #gerenciar,.totem-mode #torneios,.totem-mode footer{display:none!important}.totem-mode #totemView{display:block!important}.totem-mode main{max-width:1500px}.totem-mode .totem-current{font-size:1.1rem}.totem-mode .totem-columns{grid-template-columns:1fr 1fr}
@media(max-width:700px){.totem-mode .totem-columns{grid-template-columns:1fr}.totem-mode #totemView{padding:10px}}

/* Radar compacto: prioridade para informação em telas pequenas, posts e totens */
@media(max-width:700px){
  .hero{min-height:auto!important;padding:12px 0 14px!important}
  .commercial-title{font-size:clamp(2rem,10vw,3.2rem)!important;line-height:.98}
  .hero .lead{font-size:.9rem;line-height:1.3;margin:6px 0}
  .actions{display:grid;grid-template-columns:1.35fr 1fr;gap:7px;margin:8px 0}
  .actions button,.actions a{min-height:42px;padding:9px 10px;font-size:.78rem}
  .location-context{margin:7px 0;gap:5px 8px}
  .location-context strong{font-size:.9rem}
  .location-context small,.location-context span{font-size:.65rem}
  .quick-analysis-target{margin:6px 0;padding:7px;grid-template-columns:1fr 1fr!important}
  .quick-analysis-target>div{grid-column:1/-1!important}
  .quick-analysis-target button{grid-column:1/-1!important}
  .display-header{margin:6px 0 8px;padding:9px 10px}
  .moment-readout{margin:6px 0!important;padding:8px!important}
  .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .moment-grid>div{padding:6px}
  .moment-grid b{font-size:.78rem}
  .moment-extra{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .indicator-details{margin-top:6px}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .cards article{min-height:76px!important;padding:7px!important;border-radius:11px!important}
  .cards span{font-size:.9rem!important}
  .cards strong{font-size:.9rem!important;margin-top:3px!important}
  .cards small{font-size:.53rem!important;line-height:1.05!important}
  section{padding:18px 0!important}
  .section-head{margin-bottom:8px}
  .section-head h2{font-size:1.35rem}
  .lead{font-size:.82rem}
  .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;padding:5px!important}
  .radar-snapshot>div{padding:5px!important}
  .radar-snapshot b{font-size:.7rem}
  .radar-snapshot small{font-size:.52rem}
  .outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .tide-mini-grid article{padding:7px!important}
  .tide-mini-grid strong{font-size:.8rem!important}
  .analysis-target{padding:7px!important}
}
@media(max-width:380px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .cards article{min-height:70px!important;padding:6px!important}
  .cards strong{font-size:.82rem!important}
  .cards small{font-size:.48rem!important}
}
@media(min-width:701px){
  .hero{min-height:auto!important;padding:28px 0 22px!important}
}

/* ===== FINAL UX PASS ===== */
.page-station .quick-analysis-target{display:none!important}
.page-pescaria #inteligencia .analysis-target,.page-pescaria #inteligencia>#runFishingAnalysis{display:none!important}
.analysis-dock{z-index:20}
.location-context,.display-header{min-width:0}
.location-context strong,.display-header h3{overflow-wrap:anywhere}
.change-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.tide-mini-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.tide-mini-grid article{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#07131d}
.tide-mini-grid strong,.tide-mini-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tide-mini-grid small{color:var(--muted);font-size:.62rem;margin-top:2px}
.history-item{display:flex;justify-content:space-between;gap:12px;align-items:center}
.history-item strong,.history-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){
 main,.topbar,footer{width:min(100% - 20px,1120px)}
 .hero{padding:14px 0 18px!important}
 .hero h1{font-size:clamp(2.15rem,11vw,3.4rem)!important}
 .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .actions>*{width:100%;min-width:0}
 .location-context{padding:9px 11px;margin-top:6px}
 .display-header{padding:9px 10px;margin:6px 0 9px}
 .moment-grid,.moment-extra{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .change-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px}
 .change-grid>div{min-width:0;padding:6px}
 .change-grid b{font-size:.78rem}
 .change-grid small{font-size:.55rem}
 .tide-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px}
 .tide-mini-grid article{padding:7px}
 .tide-mini-grid strong{font-size:.84rem}
 .tide-mini-grid small{font-size:.54rem}
 .analysis-dock{grid-template-columns:1fr 1fr!important}
 .analysis-dock>div,.analysis-dock button{grid-column:1/-1}
 #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px}
 #radar .cards article{min-height:74px!important;padding:8px!important}
 #radar .cards article strong{font-size:clamp(.88rem,4vw,1.08rem)!important}
 #radar .cards article small{font-size:.57rem!important}
}
@media(max-width:420px){
 main,.topbar,footer{width:calc(100% - 14px)}
 .actions{grid-template-columns:1fr}
 .moment-grid,.moment-extra{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .change-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px}
 .change-grid b{font-size:.7rem}
 .change-grid small{font-size:.5rem}
 .tide-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px}
 .tide-mini-grid strong{font-size:.76rem}
 .tide-mini-grid small{font-size:.48rem}
}
@media(min-width:701px){.hero{min-height:auto!important;padding:24px 0!important}}

/* Station is an environmental display: date/time analysis controls belong to Pescaria. */
.page-station #inteligencia .analysis-target,
.page-station #inteligencia>#runFishingAnalysis{display:none!important}
.page-station.station-general #inteligencia{margin-top:8px}

/* ===== Estação / publicação / totem: densidade informativa sem perder leitura ===== */
.page-station .hero{min-height:auto!important;display:block!important;padding:20px 0 14px!important}
.page-station .hero>div{max-width:none!important}
.page-station .commercial-title{max-width:900px}
.page-station .station-lead{margin:6px 0 10px}
.page-station .actions{margin:8px 0 7px}
.page-station .location-context{margin:6px 0}
.page-station .display-header{margin:7px 0}
.page-station #radar{padding-top:12px!important}
.page-station #radar .section-head{margin-bottom:8px}
.page-station #radar .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.page-station #radar .cards article{min-height:82px;padding:9px 10px;border-radius:12px}
.page-station #radar .cards article span{font-size:1rem}
.page-station #radar .cards article strong{font-size:1.15rem;margin-top:4px}
.page-station #radar .cards article small{font-size:.62rem;line-height:1.1}
.page-station .data-transparency{padding:5px 0}
.page-station #rainForecast .forecast-grid{gap:5px}
.page-station #tidePanel .history-list{gap:5px}
@media(max-width:900px){
 .page-station #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 .page-station .hero{padding:10px 0 12px!important}
 .page-station .commercial-title{font-size:clamp(2rem,10vw,3.2rem)!important;line-height:.95!important}
 .page-station .station-lead{font-size:.8rem}
 .page-station .actions{grid-template-columns:1fr 1fr!important}
 .page-station .actions>*{min-height:40px}
 .page-station #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
 .page-station #radar .cards article{min-height:70px!important;padding:7px!important}
 .page-station #radar .cards article strong{font-size:.84rem!important}
 .page-station #radar .cards article small{font-size:.5rem!important}
 .page-station #rainForecast .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-station #tidePanel .history-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:380px){
 .page-station #radar .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .page-station #tidePanel .history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
 body{background:#fff!important;color:#111!important}
 .topbar,.actions,footer,.menu-toggle{display:none!important}
 main{width:100%!important;max-width:1100px!important}
 .hero{min-height:auto!important;padding:8px 0!important}
 section{padding:8px 0!important}
 .cards{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}
 .cards article{padding:6px!important;min-height:58px!important}
 .cards strong{font-size:1rem!important}
 .cards small{font-size:.55rem!important}
 .panel,.moment-readout,.location-context,.display-header{break-inside:avoid}
}

/* Estação pública: densidade informativa, captura de tela e Raspberry/totem */
.page-station .radar-city-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:6px}
.page-station .radar-city-line strong{font-size:clamp(1rem,2vw,1.35rem)}
.page-station .radar-city-line span{font-size:.72rem;color:var(--muted)}
.page-station #radar .section-head{margin-bottom:10px}
.page-station #radar .radar-diagnostics{padding:9px 12px;margin:8px 0;border-radius:11px}
.page-station #radar .indicator-details{margin:8px 0}
.page-station #radar .indicator-details summary{font-size:.78rem}
.page-station #radar .cards article{min-height:82px;padding:10px}
.page-station #radar .cards article strong{font-size:clamp(1rem,2.5vw,1.5rem)}
.page-station #radar .cards article small{font-size:.66rem}
.page-station .forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.page-station .forecast-day{padding:7px}
.page-station .forecast-day strong{font-size:.72rem}
.page-station .forecast-day span{font-size:.85rem}
.page-station .forecast-day small{font-size:.62rem}
.page-station .panel{backdrop-filter:blur(10px)}
@media(max-width:700px){
  .page-station .hero{padding:12px 0 10px!important}
  .page-station .station-brandline,.page-station .station-lead{display:none}
  .page-station .actions{grid-template-columns:repeat(2,minmax(0,1fr));margin:6px 0}
  .page-station .actions #shareRadar,.page-station .actions #installApp{display:none}
  .page-station .location-context{margin:4px 0;padding:7px 9px}
  .page-station .quick-analysis-target{margin:6px 0}
  .page-station .display-header,.page-station .environment-change-board{display:none}
  .page-station .moment-readout{margin:7px 0}
  .page-station .moment-grid,.page-station .moment-extra{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .page-station .moment-grid>div,.page-station .moment-extra>div{padding:7px}
  .page-station .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:6px 0}
  .page-station .radar-snapshot>div{padding:7px}
  .page-station #radar{padding-top:18px!important}
  .page-station #radar .section-head{flex-direction:row;align-items:end}
  .page-station #radar .section-head h2{font-size:1.55rem}
  .page-station #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .page-station #radar .cards article{min-height:68px;padding:7px;border-radius:11px}
  .page-station #radar .cards article strong{font-size:.9rem}
  .page-station #radar .cards article small{font-size:.54rem}
  .page-station #radar .cards span{font-size:.9rem}
  .page-station .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .page-station .forecast-day{padding:7px}
}
@media(max-width:380px){
  .page-station .actions{grid-template-columns:1fr}
  .page-station .moment-grid,.page-station .moment-extra,.page-station .radar-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-station #radar .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:900px){
  .page-station .hero{max-width:1180px;margin:auto}
  .page-station #radar,.page-station #inteligencia,.page-station #mapa{max-width:1180px;margin-left:auto;margin-right:auto}
}
@media print{
  .topbar,.actions,.privacy-banner,footer,nav,.map-actions{display:none!important}
  body,.page-station{background:#fff!important;color:#111!important}
  .page-station main{width:100%!important;max-width:none!important}
  .page-station section{padding:10px 0!important}
  .page-station .cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .page-station .cards article,.page-station .panel,.page-station .radar-diagnostics{background:#fff!important;color:#111!important}
}
/* Estação compacta: informação densa sem perder leitura */
.page-station .hero{background:linear-gradient(180deg,rgba(8,25,36,.18),rgba(8,25,36,.02));}
.page-station .cards article,.page-station .moment-grid>div,.page-station .radar-snapshot,.page-station .panel,.page-station .radar-diagnostics{background:rgba(6,18,27,.34);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.page-station .location-context{background:rgba(70,214,181,.06);border-color:rgba(70,214,181,.45);}
.page-station .radar-city-line{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-top:5px}
.page-station .radar-city-line strong{font-size:1rem}
.page-station .radar-city-line span{font-size:.7rem;color:var(--muted)}
.page-station .cards article{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-content:center}
.page-station .cards article>span{grid-row:1/3;align-self:start}
.page-station .cards article strong{margin:0}
.page-station .cards article small{grid-column:2}
.publication-mode main{width:min(980px,calc(100% - 18px))}
.publication-mode .hero{padding:8px 0!important}
.publication-mode .hero h1{display:none}
.publication-mode .station-lead{display:none}
.publication-mode .location-context{margin:3px 0}
.publication-mode .display-header{margin:3px 0}
.publication-mode #radar{padding:8px 0}
.publication-mode .cards{grid-template-columns:repeat(5,minmax(0,1fr))}
.publication-mode .cards article{min-height:54px}
.publication-mode .moment-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.publication-mode .panel{padding:7px}
.publication-mode #inteligencia{padding:8px 0}
.publication-mode #inteligencia .ai-box{padding:8px}
@media(max-width:700px){
 .page-station .hero{padding:12px 0 16px}
 .page-station .cards{grid-template-columns:repeat(3,minmax(0,1fr));}
 .page-station .cards article{min-height:66px;padding:7px}
 .page-station .cards article strong{font-size:.88rem}
 .page-station .cards article small{font-size:.54rem}
 .page-station .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-station .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-station .radar-snapshot>div:first-child{grid-column:1/-1}
 .publication-mode .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
 .publication-mode .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .publication-mode .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1000px) and (orientation:landscape){
 body.totem-mode{overflow:hidden}
 body.totem-mode main{height:100vh;overflow:hidden}
 body.totem-mode .hero{padding:8px 0!important}
 body.totem-mode #radar{padding:8px 0!important}
 body.totem-mode .cards article{min-height:58px}
 body.totem-mode .panel{padding:7px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

/* Mobile/totem compact presentation */
.radar-city-line{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:.35rem}
.radar-city-line strong{font-size:1.05rem}
.radar-city-line span{font-size:.78rem;opacity:.72}
.location-context{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.location-context strong{font-size:1rem}
.location-context span,.location-context small{opacity:.72}
.radar-diagnostics{min-height:0}
.indicator-details .cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
.indicator-details .cards article{min-width:0;padding:.8rem;border-radius:16px}
.indicator-details .cards strong{font-size:1.15rem;line-height:1.15;display:block;overflow-wrap:anywhere}
.indicator-details .cards small{font-size:.72rem}
.tide-mini-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
.tide-mini-grid article{min-width:0;padding:.7rem;border-radius:14px}
.tide-mini-grid strong,.tide-mini-grid small{display:block;overflow-wrap:anywhere}
.tide-mini-grid strong{font-size:.95rem}
#rainForecast .outlook-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}
#rainForecast .outlook-card{min-width:0;padding:.65rem}
#rainForecast .outlook-card strong,#rainForecast .outlook-card span,#rainForecast .outlook-card small,#rainForecast .outlook-card em{display:block;overflow-wrap:anywhere}
@media(max-width:760px){
  .hero h1{font-size:clamp(2.35rem,11vw,4.2rem);line-height:.94}
  .hero{padding-block:1.4rem 1rem}
  .actions{gap:.5rem}
  .actions button,.actions a{min-height:48px}
  .indicator-details .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .indicator-details .cards article{padding:.7rem;min-height:92px}
  .indicator-details .cards strong{font-size:1.05rem}
  .tide-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tide-mini-grid article:last-child{grid-column:1/-1}
  #rainForecast .outlook-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.55rem;padding-bottom:.35rem;scrollbar-width:none}
  #rainForecast .outlook-grid::-webkit-scrollbar{display:none}
  #rainForecast .outlook-card{flex:0 0 72%;scroll-snap-align:start}
  .display-header{gap:.5rem}
  .display-header h3{font-size:1.25rem}
  .display-clock{font-size:1.05rem}
}
@media(min-width:761px){
  body.totem-mode .hero{padding-block:1rem}
  body.totem-mode .hero h1{font-size:clamp(2.4rem,5vw,5rem)}
  body.totem-mode main{max-width:1500px}
  body.totem-mode .indicator-details .cards{grid-template-columns:repeat(6,minmax(0,1fr))}
  body.totem-mode .panel{padding:1rem}
}

/* Publication / Instagram mode: dense but legible, no decorative dead space */
body.publication-mode .hero{padding-block:1rem .65rem}
body.publication-mode .hero h1{font-size:clamp(2rem,5vw,4.8rem);line-height:.95}
body.publication-mode .hero .lead{max-width:70ch}
body.publication-mode #pescaria,body.publication-mode #dashboard,body.publication-mode #assistente,body.publication-mode #torneios,body.publication-mode #gerenciar{display:none}
body.publication-mode #radar{padding-top:.5rem}
body.publication-mode .panel{margin-block:.6rem}
body.publication-mode .indicator-details .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem}
body.publication-mode .indicator-details .cards article{min-height:74px;padding:.55rem}
body.publication-mode .indicator-details .cards article span{font-size:.9rem}
body.publication-mode .indicator-details .cards strong{font-size:.95rem}
body.publication-mode .indicator-details .cards small{font-size:.62rem}
body.publication-mode .fishing-intel,body.publication-mode .analysis-panel{padding:.7rem}
body.publication-mode .radar-diagnostics{padding:.55rem}
@media(max-width:760px){
  body.publication-mode .hero h1{font-size:clamp(2.15rem,10vw,3.6rem)}
  body.publication-mode .hero .actions{display:grid;grid-template-columns:1fr 1fr}
  body.publication-mode .hero .actions button:first-child{grid-column:1/-1}
  body.publication-mode .indicator-details .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.publication-mode .indicator-details .cards article{min-height:82px}
  body.publication-mode .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.publication-mode .radar-snapshot>div:first-child{grid-column:1/-1}
}
@media(min-width:761px) and (max-width:1100px){
  body.publication-mode .indicator-details .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ===== Compact radar / mobile / Instagram / Raspberry ===== */
@media(max-width:760px){
  body{overflow-x:hidden}
  main{width:min(100% - 16px,1100px)}
  .hero{min-height:auto!important;padding:12px 0 8px!important}
  .hero h1{font-size:clamp(2.25rem,10.5vw,3.7rem)!important;line-height:.94!important;margin:6px 0 8px!important}
  .hero .lead{font-size:.95rem;line-height:1.35;margin:5px 0 9px}
  .hero .actions{margin:6px 0;gap:6px}
  .hero .actions button,.hero .actions a{min-height:44px;padding:10px 12px}
  .location-context{margin:5px 0!important;padding:6px 8px!important}
  .display-header{margin:5px 0!important}
  .moment-readout{margin:6px 0!important}
  section{padding:18px 0!important}
  #radar{padding-top:10px!important}
  #radar .section-head{margin-bottom:6px}
  #radar .section-head h2{font-size:1.75rem}
  .radar-city-line strong{font-size:.95rem}
  .radar-city-line span{font-size:.68rem}
  .radar-diagnostics{padding:8px 10px!important;margin:6px 0!important}
  .indicator-details summary{font-size:.78rem}
  .indicator-details .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .indicator-details .cards article{min-height:72px!important;padding:7px!important;border-radius:11px}
  .indicator-details .cards article span{font-size:.9rem}
  .indicator-details .cards strong{font-size:.88rem!important;line-height:1.08}
  .indicator-details .cards small{font-size:.52rem;line-height:1.05}
  #rainForecast .outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tidePanel .history-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  #tidePanel .history-item{padding:6px!important}
  #tidePanel .history-item strong{font-size:.8rem}
  #tidePanel .history-item span{font-size:.7rem}
  #inteligencia .section-head{gap:7px}
  #inteligencia .analysis-target{width:100%}
}
@media(max-width:420px){
  main{width:calc(100% - 12px)}
  .hero h1{font-size:clamp(2rem,10vw,3rem)!important}
  .hero .lead{font-size:.88rem}
  .hero .actions{grid-template-columns:1fr 1fr}
  .hero .actions #locate{grid-column:1/-1}
  .indicator-details .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .indicator-details .cards article{min-height:78px!important}
  #tidePanel .history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:761px){
  .hero{min-height:auto!important}
}


/* Final information-density pass: phone, Instagram capture and Raspberry Pi */
.hero{min-height:0!important;align-items:start!important}
.hero>div{max-width:1200px!important}
.station-lead{max-width:72ch!important}
.location-context{background:rgba(7,19,29,.55);border:1px solid var(--line);border-radius:12px;padding:7px 10px}
.location-context strong{font-size:1rem}
.display-header{margin-top:8px}
.moment-readout,.environment-change-board,.radar-snapshot{margin-top:8px}
.moment-readout{padding:9px!important}
.moment-grid,.moment-extra,.change-grid{gap:5px!important}
.moment-grid>div,.moment-extra>div,.change-grid>div{padding:7px!important;min-width:0}
.radar-snapshot{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px!important}
.radar-snapshot>div{padding:7px!important}
.radar-snapshot b{font-size:.82rem}
.radar-snapshot small{font-size:.58rem}
#radar .section-head{margin-bottom:6px}
#radar .cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px!important}
#radar .cards article{padding:7px!important;min-height:70px!important;border-radius:11px}
#radar .cards article span{font-size:.8rem}
#radar .cards article strong{font-size:.92rem;line-height:1.05;margin-top:4px}
#radar .cards article small{font-size:.52rem;line-height:1.05}
#tidePanel .forecast-summary{padding:7px!important}
#tidePanel .history-list{gap:5px!important}
#tidePanel .history-item{padding:6px!important}
.data-transparency{font-size:.66rem;line-height:1.3}

body.publication-mode .hero{padding:10px 0 6px!important}
body.publication-mode .station-brandline,
body.publication-mode .station-lead,
body.publication-mode .quick-analysis-target,
body.publication-mode .display-header,
body.publication-mode .environment-change-board{display:none!important}
body.publication-mode .location-context{margin:2px 0!important}
body.publication-mode .moment-readout{margin-top:4px!important}
body.publication-mode #radar{padding-top:4px!important}
body.publication-mode #radar .section-head h2{font-size:1.45rem}
body.publication-mode #radar .cards{grid-template-columns:repeat(7,minmax(0,1fr))}
body.publication-mode #radar .cards article{min-height:62px!important;padding:5px!important}
body.publication-mode #radar .cards article strong{font-size:.82rem}
body.publication-mode #radar .cards article small{font-size:.48rem}
body.publication-mode #radar .panel{margin-top:5px!important;padding:7px!important}

@media(max-width:900px){
  .radar-snapshot{grid-template-columns:repeat(4,minmax(0,1fr))}
  #radar .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:600px){
  main{width:calc(100% - 10px)!important}
  .hero{padding:8px 0 6px!important}
  .hero .actions{margin:7px 0!important;gap:5px!important}
  .hero .actions button,.hero .actions a{min-height:42px!important;padding:9px 8px!important;font-size:.78rem!important}
  .location-context{font-size:.78rem;margin:4px 0!important;padding:6px 8px!important}
  .location-context small{font-size:.62rem}
  .moment-readout{padding:7px!important}
  .moment-head h3{font-size:1rem}
  .moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .moment-extra{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .moment-grid>div,.moment-extra>div{padding:5px!important}
  .moment-grid b,.moment-extra b{font-size:.78rem!important}
  .moment-grid small,.moment-extra small{font-size:.5rem!important}
  .radar-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important}
  .radar-snapshot>div{padding:6px!important}
  .radar-snapshot b{font-size:.72rem}
  .radar-snapshot small{font-size:.5rem}
  #radar .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px!important}
  #radar .cards article{min-height:68px!important}
  #radar .cards article strong{font-size:.82rem!important}
  #radar .cards article small{font-size:.49rem!important}
  #radar .cards article span{font-size:.75rem!important}
  #radar .section-head h2{font-size:1.55rem}
  #radar .radar-city-line strong{font-size:.82rem}
  #radar .radar-city-line span{font-size:.58rem}
  #tidePanel .history-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  section{padding:18px 0!important}
  .panel{padding:9px!important}
}
@media(max-width:380px){
  .moment-grid,.moment-extra{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .radar-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
  #radar .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tidePanel .history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:901px){
  body:not(.totem-mode):not(.publication-mode) .hero{padding:16px 0 12px!important}
  body:not(.totem-mode):not(.publication-mode) section{padding:22px 0!important}
}


/* Totem v2: painel realmente funcional, legível e responsivo */
body.totem-mode{background:var(--bg);color:var(--text);overflow:hidden}
body.totem-mode .topbar{height:52px;margin-bottom:0}
body.totem-mode .topbar .brand{font-size:1.05rem}
body.totem-mode .topbar .menu-toggle{display:none}
body.totem-mode main{height:calc(100vh - 52px);width:min(1500px,calc(100% - 24px));max-width:none;overflow:hidden}
body.totem-mode #totemView{display:flex!important;flex-direction:column;height:100%;padding:8px 0;overflow:hidden;gap:7px}
body.totem-mode #totemView .totem-exit{top:7px;right:12px;padding:7px 10px;font-size:.75rem}
body.totem-mode .totem-head{padding:0 110px 7px 0;min-height:46px}
body.totem-mode .totem-current{grid-template-columns:repeat(8,minmax(0,1fr));margin:0}
body.totem-mode .totem-columns{grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);min-height:0;flex:1}
body.totem-mode .totem-columns .panel{min-height:0;overflow:hidden}
body.totem-mode .totem-mode .forecast-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
body.totem-mode .totem-fishing{min-height:92px;max-height:150px;overflow:auto}
body.totem-mode .totem-current>div{padding:6px}
body.totem-mode .totem-current strong{font-size:.95rem}
body.totem-mode .totem-current small{font-size:.56rem}
@media(max-width:900px){
 body.totem-mode{overflow:auto}
 body.totem-mode main{height:auto;min-height:calc(100vh - 52px);overflow:visible}
 body.totem-mode #totemView{height:auto;min-height:calc(100vh - 52px);overflow:visible}
 body.totem-mode .totem-current{grid-template-columns:repeat(4,minmax(0,1fr))}
 body.totem-mode .totem-columns{grid-template-columns:1fr}
 body.totem-mode .totem-head{padding-right:95px}
}
@media(max-width:520px){
 body.totem-mode .totem-current{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 body.totem-mode .totem-head h2{font-size:1.1rem}
 body.totem-mode .totem-clock-block strong{font-size:.95rem}
 body.totem-mode #totemView .totem-exit{font-size:.68rem}
}


/* Mapa explorador + tábua de maré responsiva */
.map-actions{display:flex;flex-wrap:wrap;gap:6px}
.map-actions .map-mode-btn{flex:1 1 auto;min-width:92px}
.map-actions .map-mode-btn.active{background:var(--accent);color:#041117;border-color:var(--accent)}
.tide-forecast-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.tide-forecast-grid .history-item{min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px!important;background:rgba(5,20,30,.35);display:grid;grid-template-columns:minmax(72px,.7fr) minmax(0,1.3fr);gap:7px;align-items:center}
.tide-forecast-grid .history-item strong{white-space:nowrap;font-size:.8rem}
.tide-forecast-grid .history-item span{display:block;min-width:0;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35;font-size:.76rem;color:var(--muted)}
#tideForecast .forecast-summary{margin-top:8px}
#tideForecast .status{margin-top:7px}
@media(max-width:700px){
  .map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-actions .map-mode-btn{min-width:0;padding:8px 6px;font-size:.72rem}
  .tide-forecast-grid{grid-template-columns:1fr}
  .tide-forecast-grid .history-item{grid-template-columns:82px minmax(0,1fr);padding:8px!important}
  .tide-forecast-grid .history-item span{font-size:.72rem}
}
@media(max-width:380px){
  .map-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-actions .map-mode-btn{font-size:.68rem;padding:7px 4px}
}

.nav-install{appearance:none;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;width:100%}
.nav-install:hover{background:rgba(70,214,181,.1)}
#map{min-height:360px}
@media(max-width:700px){#map{min-height:320px}}

.radar-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-action{padding:8px 10px;font-size:.75rem}
#map{touch-action:pan-x pan-y;isolation:isolate}
.map-actions{align-items:stretch}
.tide-forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){
  .radar-head-actions{width:100%;justify-content:space-between}
  .radar-head-actions .compact-action{padding:7px 9px}
  .forecast-grid{grid-template-columns:1fr!important}
  .forecast-day{min-width:0!important;overflow:hidden}
  .period-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .period-grid>*{min-width:0!important;overflow:hidden}
  .tide-forecast-grid{grid-template-columns:1fr!important}
  .tide-forecast-grid .history-item{grid-template-columns:76px minmax(0,1fr)!important}
  .tide-forecast-grid .history-item span{white-space:normal!important;line-height:1.25}
  .map-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-actions button{min-width:0!important}
}
/* Totem: fixed kiosk screen, no page scroll, summarized mirror of the station */
body.totem-mode{height:100dvh;overflow:hidden}
body.totem-mode main{height:calc(100dvh - 52px);overflow:hidden}
body.totem-mode #totemView{height:100%;min-height:0;overflow:hidden;display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:7px;padding:8px 0}
body.totem-mode .totem-head{min-height:42px;padding-right:100px}
body.totem-mode .totem-current{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;min-height:0}
body.totem-mode .totem-current>div{min-width:0;padding:6px;overflow:hidden}
body.totem-mode .totem-current strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.totem-mode .totem-current small{font-size:.58rem}
body.totem-mode .totem-change{min-height:0;padding:7px 10px;overflow:hidden}
body.totem-mode .totem-change .change-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
body.totem-mode .totem-change p{margin:3px 0;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.totem-mode .totem-columns{min-height:0;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:7px}
body.totem-mode .totem-columns>.panel{min-height:0;overflow:hidden;padding:9px}
body.totem-mode #totemRainForecast,.totem-mode #totemTide{max-height:none;overflow:hidden}
body.totem-mode #totemRainForecast .forecast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
body.totem-mode #totemRainForecast .forecast-day{padding:6px!important}
body.totem-mode #totemRainForecast .period-grid{display:none}
body.totem-mode #totemTide .history-list{display:grid;gap:4px}
body.totem-mode #totemTide .history-item{padding:6px!important}
body.totem-mode .totem-fishing{min-height:0;max-height:90px;overflow:hidden;padding:7px 10px}
body.totem-mode .totem-footer{font-size:.62rem;padding:3px 0}
@media(max-width:700px){
  body.totem-mode #totemView{grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:5px}
  body.totem-mode .totem-current{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.totem-mode .totem-change .change-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.totem-mode .totem-columns{grid-template-columns:1fr 1fr}
  body.totem-mode .totem-columns>.panel{padding:6px}
  body.totem-mode #totemRainForecast .forecast-grid{grid-template-columns:1fr}
  body.totem-mode #totemRainForecast .forecast-day{display:grid;grid-template-columns:auto auto;gap:3px}
  body.totem-mode .totem-fishing{max-height:68px}
  body.totem-mode .totem-footer{display:none}
}

/* Final mobile tide/forecast readability */
.tide-event{display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:rgba(5,20,30,.35)}
.tide-event strong{font-size:.8rem}.tide-event span{font-size:.78rem;font-weight:800}.tide-event small{grid-column:1/-1;color:var(--muted);font-size:.66rem;white-space:normal;overflow-wrap:anywhere}
.history-list{min-width:0}
.tide-day{min-width:0;padding:9px;border:1px solid var(--line);border-radius:11px;background:rgba(5,20,30,.25)}
.tide-day>b{display:block;margin-bottom:6px;font-size:.8rem}
.tide-events{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0}
#tideForecast .history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
@media(max-width:700px){
  #tideForecast .history-list{grid-template-columns:1fr}
  .tide-events{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tide-event{padding:6px}
  .tide-event strong,.tide-event span{font-size:.74rem}
  .tide-event small{font-size:.62rem}
}

/* Tide forecast hardening: never allow long labels to overlap or force horizontal overflow. */
.tide-days,.tide-day,.tide-times,.tide-event{min-width:0;max-width:100%;box-sizing:border-box}
.tide-day header{min-width:0}
.tide-day header>div{min-width:0}
.tide-day header strong,.tide-day header span,.tide-event-time,.tide-event-level,.tide-event-kind{min-width:0;overflow-wrap:anywhere}
.tide-event-time,.tide-event-level{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){
  .tide-days{gap:8px}
  .tide-day{padding:9px 8px}
  .tide-day header{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .tide-day header>span{font-size:.65rem;white-space:nowrap}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .tide-event{grid-template-columns:minmax(0,1fr) auto;gap:2px 5px;padding:7px 6px}
  .tide-event-kind{grid-column:1/-1;font-size:.65rem;line-height:1.15;white-space:normal}
}
@media(max-width:360px){
  .tide-times{grid-template-columns:1fr}
}

/* Mobile hardening + public visitor mode */
.feature-disabled{display:none!important}
.nav-share{background:transparent!important;color:var(--accent)!important;border:1px solid var(--line)!important;border-radius:10px;padding:8px 11px!important;font:inherit;font-weight:800}
.nav-install[aria-disabled="true"]{opacity:.7;cursor:default}
.tide-forecast-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin-bottom:8px;border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.62)}
.tide-forecast-head strong,.tide-forecast-head small{display:block}
.tide-forecast-head small{margin-top:3px;color:var(--muted)}
.tide-days{display:grid;gap:7px}
.tide-day{border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.48);padding:9px 10px}
.tide-day header{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:8px}
.tide-day header>strong{text-transform:lowercase;font-size:.9rem}
.tide-day header>span{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.tide-day-event{min-width:0;text-align:center;padding:6px 3px;border-left:1px solid var(--line)}
.tide-day-event strong,.tide-day-event span,.tide-day-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tide-day-event strong{font-size:.9rem}
.tide-day-event span{font-size:.76rem;color:var(--text);margin-top:2px}
.tide-day-event small{font-size:.58rem;color:var(--muted);margin-top:1px;text-transform:uppercase}
.totem-mode{height:100dvh;min-height:100dvh;overflow:hidden}
.totem-mode main{height:100dvh;width:min(1500px,calc(100% - 24px));margin:auto;overflow:hidden}
.totem-mode section{padding:0}
.totem-mode #totemView{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:7px;height:100%;overflow:hidden}
.totem-mode #totemView .totem-head{padding:8px 0 2px}
.totem-mode #totemView .totem-head h2{font-size:clamp(1.1rem,2.6vw,2rem);margin:2px 0}
.totem-mode #totemView .totem-current{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;min-height:0;overflow:hidden}
.totem-mode #totemView .totem-current>div{min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:rgba(7,19,29,.65)}
.totem-mode #totemView .totem-current article{margin:0;padding:0;border:0;background:none;min-height:0}
.totem-mode #totemView .totem-current article span{font-size:.9rem}
.totem-mode #totemView .totem-current article strong{font-size:1rem;line-height:1.1;margin-top:2px}
.totem-mode #totemView .totem-current article small{font-size:.55rem}
.totem-mode #totemView .totem-change{margin:0;min-height:0;overflow:hidden}
.totem-mode #totemView .totem-columns{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-height:0;overflow:hidden}
.totem-mode #totemView .totem-columns>.panel{min-height:0;overflow:hidden;padding:9px 10px}
.totem-mode #totemView .totem-columns #totemRainForecast,.totem-mode #totemView .totem-columns #totemTide{max-height:100%;overflow:hidden}
.totem-mode #totemView .totem-columns .forecast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.totem-mode #totemView .totem-columns .forecast-day:nth-child(n+4){display:none}
.totem-mode #totemView .totem-columns .tide-day:nth-child(n+4){display:none}
.totem-mode #totemView .totem-fishing{display:none}
.totem-mode #totemView .totem-footer{font-size:.58rem;padding:3px 0}
.totem-mode #exitTotem{display:none}
@media(max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  main,section{max-width:100%}
  .section-head{min-width:0}
  .section-head>div{min-width:0;width:100%}
  .map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .map-actions button{width:100%;min-width:0;padding:9px 7px;font-size:.72rem}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .change-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .change-grid>div{min-width:0}
  .change-grid b{white-space:normal;overflow-wrap:anywhere}
  .tide-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tide-day header{grid-template-columns:62px 1fr}
  .tide-day header>span{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tide-day-event{border-left:0;border-top:1px solid var(--line);padding:5px 2px}
  .nav-share{width:100%;text-align:left;border:0!important;border-radius:0;padding:12px 14px!important}
  .totem-mode main{width:calc(100% - 10px)}
  .totem-mode #totemView{grid-template-rows:auto minmax(0,1fr) auto auto;gap:5px}
  .totem-mode #totemView .totem-current{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .totem-mode #totemView .totem-current>div{padding:5px}
  .totem-mode #totemView .totem-current article strong{font-size:.82rem}
  .totem-mode #totemView .totem-current article small{font-size:.5rem}
  .totem-mode #totemView .totem-change #totemChangeBoard{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .totem-mode #totemView .totem-columns{grid-template-columns:1fr 1fr}
  .totem-mode #totemView .totem-columns .panel{padding:6px}
  .totem-mode #totemView .totem-columns .forecast-grid{grid-template-columns:1fr}
  .totem-mode #totemView .totem-columns .forecast-day:nth-child(n+4){display:none}
  .totem-mode #totemView .totem-columns .forecast-day:nth-child(n+3){display:none}
  .totem-mode #totemView .totem-columns .tide-day:nth-child(n+4){display:none}
  .totem-mode #totemView .tide-day header{grid-template-columns:45px 1fr}
  .totem-mode #totemView .tide-day header>span{grid-template-columns:repeat(2,minmax(0,1fr))}
  .totem-mode #totemView .tide-day-event strong{font-size:.72rem}
  .totem-mode #totemView .tide-day-event span{font-size:.62rem}
  .totem-mode #totemView .tide-day-event small{font-size:.46rem}
}
@media(max-width:380px){
  .tide-day header{grid-template-columns:1fr}
  .tide-day header>span{grid-template-columns:repeat(4,minmax(0,1fr))}
  .totem-mode #totemView .totem-current{grid-template-columns:repeat(2,minmax(0,1fr))}
  .totem-mode #totemView .totem-change #totemChangeBoard{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tide cards: never allow event text to force horizontal overflow */
.tide-events{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:7px}
.tide-event{min-width:0;padding:8px 6px;border:1px solid var(--line);border-radius:10px;background:rgba(7,19,29,.52);text-align:center}
.tide-event strong,.tide-event span,.tide-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tide-event strong{font-size:.95rem}.tide-event span{font-size:.76rem;margin-top:2px}.tide-event small{font-size:.58rem;color:var(--muted);margin-top:2px}
@media(max-width:700px){.tide-events{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.tide-event{padding:7px 5px}.tide-event strong{font-size:.88rem}.tide-event span{font-size:.72rem}.tide-event small{font-size:.55rem}}
@media(max-width:380px){.tide-events{grid-template-columns:repeat(2,minmax(0,1fr))}.tide-mini-grid{display:none}}

@media(max-width:700px){
  #mainNav{left:50%;right:auto;transform:translateX(-50%);width:min(300px,calc(100vw - 20px));min-width:0}
}


/* Native map fallback: funciona sem Leaflet, API key ou biblioteca externa */
.map-fallback{height:100%;min-height:320px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0b1720}
.map-fallback-canvas{position:relative;width:100%;height:100%;min-height:320px;overflow:hidden;background:#0b1720}
.map-fallback-tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);transform:scale(1.02)}
.map-fallback-tile{width:100%;height:100%;object-fit:cover;display:block}
.map-fallback-nautical{position:absolute;width:33.333%;height:33.333%;object-fit:cover;left:33.333%;top:33.333%;pointer-events:none}
.map-fallback-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:30px;filter:drop-shadow(0 2px 4px #000);pointer-events:none}
.map-fallback-credit{position:absolute;right:6px;bottom:5px;padding:3px 6px;border-radius:5px;background:rgba(0,0,0,.62);color:#fff;font-size:10px;line-height:1.2}
@media(max-width:700px){.map-fallback,.map-fallback-canvas{min-height:300px}.map-actions{position:relative;z-index:5}}


/* Station mobile v4 */
.season-context{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(7,24,34,.62)}
.season-context span{font-weight:800;color:var(--text)}
.season-context small{color:var(--muted)}
.tide-next-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.42)}
.tide-next-compact strong{font-size:.85rem}.tide-next-compact span{font-size:1.15rem;font-weight:900}
@media(max-width:700px){.season-context{font-size:.8rem}.season-context small{font-size:.68rem}.tide-next-compact{margin-top:6px}.tide-next-compact span{font-size:1rem}}


/* Final mobile correction: environmental changes and tide */
@media(max-width:700px){
  .environment-change-board{padding:9px!important}
  .change-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}
  .change-grid>div{padding:8px 7px!important;min-width:0!important}
  .change-grid b{font-size:.88rem!important;white-space:normal!important;line-height:1.15!important}
  .change-grid small{font-size:.58rem!important;white-space:normal!important;line-height:1.15!important}
  .environment-change-board>p{font-size:.68rem!important;line-height:1.35!important}
  #tidePanel .history-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  #tidePanel .tide-event{grid-template-columns:1fr!important;text-align:center!important;padding:9px 5px!important}
  #tidePanel .tide-event strong{font-size:1rem!important}
  #tidePanel .tide-event span{font-size:.68rem!important}
}
@media(max-width:380px){
  .change-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tidePanel .history-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* Mobile-first station cleanup */
.tide-forecast-head{display:flex;flex-direction:column;gap:3px;padding:10px 0}
.tide-forecast-head strong{font-size:1rem;line-height:1.3}
.tide-forecast-head small{color:var(--muted);font-size:.78rem}
.tide-days{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.tide-day{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.tide-day-date{text-transform:capitalize;font-size:.84rem}
.tide-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.tide-time{min-width:0;text-align:center;padding:6px 3px;border:1px solid var(--line);border-radius:9px;background:rgba(5,20,30,.28)}
.tide-time strong{display:block;font-size:.88rem;white-space:nowrap}
.tide-time small{display:block;margin-top:2px;color:var(--muted);font-size:.62rem;white-space:nowrap}
.tide-loading{padding:12px 0;color:var(--muted)}
@media(max-width:700px){
  .tide-day{grid-template-columns:1fr;gap:7px}
  .tide-day-date{font-size:.9rem}
  .tide-times{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .tide-time{padding:7px 2px}
  .tide-time strong{font-size:.8rem}
  .tide-time small{font-size:.57rem}
}
@media(max-width:390px){
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.location-context{overflow:hidden}
.location-context small{display:block;white-space:normal;overflow-wrap:anywhere}


/* Legacy public Totem is intentionally disabled. */
#totemView{display:none!important}
@media(max-width:700px){
  .change-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .change-grid>div{min-width:0!important;overflow:hidden}
  .change-grid b,.change-grid small{white-space:normal!important;overflow-wrap:anywhere!important}
  .map-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Estação v20 — dados sazonais, maré e instalação */
.season-indicator-card strong{font-size:1.02rem}
.season-indicator-card small{display:block}
.location-context{display:grid;gap:5px}
.location-context strong{font-size:1.05rem}
.location-context small{font-variant-numeric:tabular-nums}
.tide-current-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(5,20,30,.45)}
.tide-current-head>div{display:grid;gap:3px;min-width:0}
.tide-current-head strong{font-size:1rem}
.tide-current-head small,.tide-current-head>span{color:var(--muted);font-size:.78rem}
.tide-today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tide-event{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:#06131d}
.tide-event strong{font-size:1.08rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.tide-event span{min-width:0;color:var(--muted);font-size:.8rem}
.tide-caveat{margin-top:8px}
.tide-forecast-head{display:grid;gap:3px;margin-bottom:8px}
.tide-forecast-head strong{font-size:1rem}
.tide-forecast-head small{color:var(--muted)}
.tide-days{display:grid;gap:7px}
.tide-day{border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#06131d}
.tide-day-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.tide-day-head strong{text-transform:capitalize}
.tide-day-head span{color:var(--muted);font-size:.72rem}
.tide-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.tide-time{display:grid;gap:2px;text-align:center;padding:7px 4px;border-radius:9px;background:rgba(16,39,53,.55)}
.tide-time strong{font-size:.88rem;font-variant-numeric:tabular-nums}
.tide-time small{font-size:.64rem;color:var(--muted)}
.tide-empty{display:grid;gap:5px;padding:14px;border:1px dashed var(--line);border-radius:13px}
.tide-empty small{color:var(--muted)}
.app-removal-help{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.65)}
.app-removal-card{position:relative;width:min(420px,100%);padding:22px;border:1px solid var(--line);border-radius:18px;background:#07131d;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.app-removal-close{position:relative}
.app-removal-card>button.app-removal-close:first-child{position:absolute;right:12px;top:10px;background:transparent;border:0;color:var(--muted);font-size:1.6rem}
body.totem-mode #totemView,body.totem #totemView{display:none!important}
@media(max-width:700px){
  .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .tide-event{grid-template-columns:1fr;text-align:center;padding:10px 6px;gap:2px}
  .tide-event strong{font-size:1rem}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .tide-day{padding:9px}
  .tide-current-head{align-items:flex-start}
}
@media(max-width:380px){
  .tide-today-grid{grid-template-columns:1fr 1fr}
  .tide-event strong{font-size:.94rem}
  .tide-time strong{font-size:.82rem}
  .tide-time small{font-size:.58rem}
}


/* Estação v21 — composição final mobile */
.geo-title{display:grid;gap:3px;min-width:0}
.geo-title span{color:var(--muted);font-size:.78rem;line-height:1.3}
.geo-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;width:100%}
.geo-detail-grid>div{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(5,20,30,.38)}
.geo-detail-grid b,.geo-detail-grid small{display:block;overflow:hidden;text-overflow:ellipsis}
.geo-detail-grid b{font-size:.78rem;font-variant-numeric:tabular-nums}
.geo-detail-grid small{margin-top:2px;color:var(--muted);font-size:.6rem}
.geo-debug{display:none!important}

.season-indicator-card{display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto!important;column-gap:8px!important;align-items:center!important}
.season-indicator-card>span{grid-row:1 / span 2}
.season-indicator-card strong{font-size:.98rem!important;line-height:1.1!important}
.season-indicator-card small{font-size:.62rem!important;color:var(--muted)!important;line-height:1.2!important}

.tide-current-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.tide-current-head>div{min-width:0!important}
.tide-current-head strong{display:block!important}
.tide-current-head small{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tide-event{display:grid!important;grid-template-columns:minmax(58px,.65fr) minmax(58px,.8fr) minmax(70px,1fr)!important;align-items:center!important;gap:8px!important;min-width:0!important;padding:11px 10px!important}
.tide-event strong,.tide-event-level,.tide-event small{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.tide-event strong{font-size:1.02rem!important;font-variant-numeric:tabular-nums!important}
.tide-event-level{font-size:.9rem!important;color:var(--text)!important}
.tide-event small{font-size:.68rem!important;color:var(--muted)!important;text-align:right!important}

.tide-forecast-head{padding:10px 0 7px!important}
.tide-days{gap:6px!important}
.tide-day{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;gap:9px!important;border:1px solid var(--line)!important;padding:9px 10px!important}
.tide-times{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.tide-time{min-width:0!important}
.tide-time strong,.tide-time small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

#totemView,body.totem,body.totem-mode{display:none!important}

@media(max-width:700px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .geo-detail-grid>div{padding:7px}
  .geo-detail-grid b{font-size:.72rem}
  .geo-detail-grid small{font-size:.57rem}
  .tide-current-head{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;padding:10px!important}
  .tide-current-head>span{font-size:.68rem!important}
  .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .tide-event{grid-template-columns:1fr!important;text-align:center!important;gap:2px!important;padding:10px 5px!important}
  .tide-event strong{font-size:.98rem!important}
  .tide-event-level{font-size:.78rem!important}
  .tide-event small{text-align:center!important;font-size:.62rem!important}
  .tide-day{grid-template-columns:1fr!important;gap:6px!important;padding:9px!important}
  .tide-day-head{margin-bottom:3px!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}
  .tide-time{padding:7px 4px!important}
}
@media(max-width:380px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tide-today-grid{grid-template-columns:1fr 1fr!important}
  .tide-event{padding:8px 4px!important}
  .tide-event strong{font-size:.9rem!important}
  .tide-event-level{font-size:.72rem!important}
  .tide-event small{font-size:.57rem!important}
}

.tide-time span{display:block;font-size:.72rem;font-weight:800;color:var(--text);margin-top:1px}
@media(max-width:700px){.tide-time span{font-size:.68rem}}


/* PescaRadar v21 — harmonização final mobile */
.moment-season-card{border-color:rgba(67,211,180,.38)!important}
.moment-season-card b{color:var(--accent)}
.tide-current-head{min-width:0}
.tide-current-head>div{min-width:0}
.tide-current-head small{display:block;white-space:normal;line-height:1.3}
.tide-today-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tide-event{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:3px;min-height:78px}
.tide-event strong{font-size:1.08rem}
.tide-event-level{font-weight:800!important;color:var(--text)!important}
.tide-event small{white-space:nowrap}
.tide-forecast-head{display:grid;gap:3px;padding:12px 0 8px}
.tide-days{display:grid;gap:8px}
.tide-day{min-width:0}
.tide-times{min-width:0}
.tide-time{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(7,24,34,.55);padding:7px 4px}
.tide-time strong,.tide-time span,.tide-time small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-removal-help{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.7)}
.app-removal-card{width:min(100%,430px);padding:22px;border:1px solid var(--line);border-radius:18px;background:#07131d;box-shadow:0 24px 80px rgba(0,0,0,.55)}
@media(max-width:700px){
  .tide-current-head{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:12px!important}
  .tide-current-head>span{justify-self:start!important}
  .tide-today-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .tide-event{min-height:74px;padding:9px 4px!important}
  .tide-event strong{font-size:.92rem!important}
  .tide-event-level{font-size:.76rem!important}
  .tide-event small{font-size:.58rem!important}
  .tide-day{grid-template-columns:1fr!important;gap:7px!important;padding:10px!important}
  .tide-day-head{display:flex;justify-content:space-between;gap:8px;min-width:0}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}
  .geo-title strong{display:block;line-height:1.2;overflow-wrap:anywhere}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:380px){
  .tide-today-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .tide-event{min-height:70px}
  .tide-event strong{font-size:.84rem!important}
  .tide-event small{font-size:.55rem!important}
}


/* Environmental dashboard chart */
.panel-subcard{margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(5,20,30,.42)}
.chart-head{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:6px}
.chart-head>div{display:grid;gap:2px}
.chart-head strong{font-size:.9rem}
.chart-head small{color:var(--muted);font-size:.68rem}
.environment-trend-svg{width:100%;height:auto;display:block;overflow:visible}
.environment-trend-svg text{fill:var(--muted);font-size:11px;font-family:inherit}
.environment-trend-svg .chart-axis{stroke:rgba(255,255,255,.12);stroke-width:1}
.environment-trend-svg .chart-pressure{fill:none;stroke:#42d3b4;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.environment-trend-svg .chart-temp{fill:none;stroke:#f0c15a;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 4}
.chart-legend{display:flex;gap:16px;margin-top:2px;font-size:.68rem;color:var(--muted)}
.pressure-key{color:#42d3b4}.temp-key{color:#f0c15a}
@media(max-width:700px){.panel-subcard{padding:9px}.chart-head{align-items:start}.chart-head small{font-size:.62rem}.chart-legend{font-size:.62rem}}

/* Tide redesign: mobile-first event cards */
.tide-current-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;padding:4px 2px 10px!important}
.tide-current-head>div{min-width:0!important}
.tide-current-head strong{font-size:.98rem!important;line-height:1.2!important}
.tide-current-head small{display:block!important;margin-top:3px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important}
.tide-current-head>span{flex:0 0 auto!important;font-size:.72rem!important;color:var(--muted)!important}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tide-event{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;min-width:0!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:rgba(5,20,30,.42)!important}
.tide-event strong{font-size:1.15rem!important;line-height:1.05!important;white-space:nowrap!important;overflow:visible!important}
.tide-event-level{font-size:.92rem!important;color:var(--text)!important;white-space:nowrap!important}
.tide-event small{font-size:.7rem!important;color:var(--accent)!important;text-align:left!important;white-space:normal!important;overflow:visible!important}
.tide-caveat{line-height:1.4!important;margin-top:9px!important}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tide-day{min-width:0!important;padding:11px!important;border:1px solid var(--line)!important;border-radius:15px!important;background:rgba(5,20,30,.34)!important}
.tide-day-head{display:flex!important;justify-content:space-between!important;gap:7px!important;align-items:center!important;margin-bottom:8px!important}
.tide-day-date{font-size:.84rem!important}
.tide-day-head span{font-size:.65rem!important;color:var(--muted)!important}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-time{min-width:0!important;padding:8px!important;border-radius:10px!important;background:rgba(7,19,29,.7)!important;display:grid!important;gap:2px!important}
.tide-time strong{font-size:.9rem!important;white-space:nowrap!important}
.tide-time span{font-size:.78rem!important}
.tide-time small{font-size:.62rem!important;color:var(--accent)!important}
.season-indicator-card{min-height:92px!important;padding:12px!important;border:1px solid rgba(66,211,180,.22)!important;background:rgba(7,24,34,.52)!important}
.season-indicator-card strong{white-space:normal!important}
@media(max-width:700px){
  .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-event{padding:10px!important}
  .tide-event strong{font-size:1.02rem!important}
  .tide-days{grid-template-columns:1fr!important}
}
@media(max-width:380px){
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* Station readability + fishing decision */
.objective-decision{margin:10px 0 12px;padding:12px 14px;border:1px solid rgba(65,214,182,.38);border-radius:14px;background:rgba(65,214,182,.08);font-weight:800;line-height:1.45}
.geo-debug{display:none!important}
.season-indicator-card{border-color:rgba(65,214,182,.34)!important}
@media(max-width:700px){
  html{font-size:16px}
  body{font-size:16px;line-height:1.48}
  .status,.badge{font-size:.88rem}
  .cards article small,.moment-grid small,.moment-extra small{font-size:.72rem;line-height:1.25}
  .cards article strong{font-size:1.04rem;line-height:1.2}
  .objective-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .objective-grid span{font-size:.82rem;line-height:1.35}
}


/* PescaRadar v22 — acessibilidade, localização e previsão mobile */
.location-context{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;overflow:hidden!important}
.location-context .geo-title{grid-column:1/-1!important;min-width:0!important}
.location-context .geo-detail-grid{grid-column:1/-1!important;width:100%!important}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.forecast-summary{padding:9px 0!important;gap:2px!important}
.forecast-summary strong{font-size:.95rem!important}
.forecast-summary span{font-size:.72rem!important}
.forecast-grid{display:grid!important;grid-template-columns:repeat(7,minmax(88px,1fr))!important;gap:6px!important;overflow-x:auto!important;padding-bottom:3px!important}
.forecast-day{min-width:88px!important;padding:8px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:rgba(5,20,30,.34)!important}
.forecast-day>strong{font-size:.76rem!important;white-space:nowrap!important}
.forecast-day>span{font-size:.95rem!important;font-weight:900!important}
.forecast-day>small{font-size:.62rem!important;line-height:1.2!important}
.period-grid{gap:3px!important;margin-top:5px!important}
.period-grid>*{padding:4px!important;font-size:.58rem!important}
.forecast-bar{height:3px!important;margin-top:5px!important}
@media(max-width:700px){
  .location-context{padding:11px!important}
  .geo-title strong{font-size:1.05rem!important}
  .geo-title span{font-size:.72rem!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid>div{padding:8px!important}
  .geo-detail-grid b{font-size:.82rem!important}
  .geo-detail-grid small{font-size:.65rem!important}
  .forecast-grid{grid-template-columns:repeat(7,92px)!important}
  .forecast-day{min-height:108px!important}
}
@media(max-width:390px){
  .forecast-grid{grid-template-columns:repeat(7,86px)!important}
  .forecast-day{min-width:86px!important;padding:7px!important}
  .forecast-day>strong{font-size:.7rem!important}
}

/* Alto contraste / baixa visão */
@media(max-width:700px){
  :root{--muted:#a9bac5}
  .lead{font-size:.93rem!important}
  .eyebrow{font-size:.72rem!important;letter-spacing:.16em!important}
  .cards article,.moment-grid>div,.moment-extra>div{min-height:64px!important}
  .cards article strong,.moment-grid b,.moment-extra b{font-size:1rem!important}
  .cards article small,.moment-grid small,.moment-extra small{font-size:.74rem!important}
  button,.secondary,.primary{min-height:48px!important;font-size:.94rem!important}
}


/* PescaRadar v22 — decisão de pescaria */
.station-fishing-note{margin-top:12px;padding:14px;border:1px solid rgba(66,211,180,.28);border-radius:16px;background:linear-gradient(180deg,rgba(7,28,39,.92),rgba(5,20,30,.86));}
.station-decision-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}
.station-decision-head b{font-size:1rem}
.station-decision-head span{font-size:.72rem;color:var(--muted);text-align:right}
.station-fishing-note .objective-decision{margin:0 0 10px;font-size:.92rem}
.station-fishing-note .objective-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.station-fishing-note .objective-grid span{display:block;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(3,14,22,.48);font-size:.78rem;line-height:1.3}
.station-fishing-note>small{display:block;margin-top:9px;color:var(--muted);line-height:1.35}
@media(max-width:700px){
  .station-fishing-note{padding:11px}
  .station-decision-head{display:grid;gap:2px}
  .station-decision-head span{text-align:left}
  .station-fishing-note .objective-grid{grid-template-columns:1fr}
  .station-fishing-note .objective-grid span{font-size:.82rem;padding:9px}
  .station-fishing-note .objective-decision{font-size:.9rem;line-height:1.4}
}


/* PescaRadar v23 — estação compacta, maré legível e mapa explorador */
.location-context{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:10px!important}
.location-context .geo-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px 10px!important;align-items:end!important}
.location-context .geo-title strong{min-width:0!important;line-height:1.2!important}
.location-context .geo-title span{min-width:0!important;line-height:1.3!important}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.geo-detail-grid>div{display:grid!important;align-content:center!important;min-height:58px!important}
.geo-detail-grid b{font-size:.9rem!important;line-height:1.15!important}
.geo-detail-grid small{font-size:.68rem!important}
.season-indicator-card{min-height:72px!important}
.map-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin-top:9px!important}
.map-actions .map-mode-btn{min-width:0!important;min-height:46px!important;padding:8px 6px!important}
.map-actions .map-mode-btn.active{box-shadow:0 0 0 1px rgba(65,214,182,.28) inset}
.tide-current-head{padding:4px 2px 8px!important}
.tide-current-head>div{min-width:0!important}
.tide-current-head strong{font-size:1rem!important}
.tide-current-head small{font-size:.72rem!important;color:var(--muted)!important;line-height:1.3!important;white-space:normal!important}
.tide-current-head>span{flex:0 0 auto!important;font-size:.72rem!important;color:var(--muted)!important}
.tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tide-event{grid-template-columns:72px 76px minmax(0,1fr)!important;min-height:62px!important;padding:10px 11px!important}
.tide-event strong{font-size:1rem!important}
.tide-event-level{font-size:.9rem!important;font-weight:800!important}
.tide-event small{font-size:.68rem!important}
.tide-forecast-head{display:grid!important;gap:3px!important;padding:7px 0 9px!important}
.tide-forecast-head strong{font-size:1rem!important;line-height:1.25!important}
.tide-forecast-head small{font-size:.72rem!important;color:var(--muted)!important}
.tide-days{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tide-day{padding:10px!important}
.tide-day-head{margin-bottom:7px!important}
.tide-day-date{font-size:.86rem!important}
.tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}
.tide-time{padding:8px!important;min-height:61px!important}
.tide-time strong{font-size:.92rem!important}
.tide-time span{font-size:.8rem!important;font-weight:700!important}
.tide-time small{font-size:.62rem!important}
.tide-caveat{font-size:.72rem!important;line-height:1.4!important}
.objective-decision{font-size:.94rem!important;letter-spacing:.005em!important}
.objective-grid span{min-width:0!important;overflow-wrap:anywhere!important}
.app-removal-help{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.62)}
.app-removal-card{width:min(440px,100%);padding:20px;border:1px solid var(--line);border-radius:20px;background:#07131d;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.app-removal-close{float:right}
@media(max-width:700px){
  .location-context .geo-title{grid-template-columns:1fr!important}
  .location-context .geo-title span{font-size:.74rem!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .geo-detail-grid>div{min-height:56px!important}
  .geo-detail-grid b{font-size:.9rem!important}
  .map-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-actions .map-mode-btn{font-size:.78rem!important}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:76px 82px minmax(0,1fr)!important}
  .tide-days{grid-template-columns:1fr!important}
  .tide-day{padding:11px!important}
  .tide-time{min-height:58px!important}
  .tide-forecast-head strong{font-size:.98rem!important}
}
@media(max-width:390px){
  html{font-size:16px!important}
  .location-context{padding:12px!important}
  .geo-detail-grid b{font-size:.86rem!important}
  .map-actions{grid-template-columns:1fr 1fr!important}
  .map-actions .map-mode-btn{font-size:.74rem!important}
  .tide-event{grid-template-columns:68px 74px minmax(0,1fr)!important;padding:9px!important}
  .tide-event strong{font-size:.95rem!important}
  .tide-event-level{font-size:.84rem!important}
}


/* Final station mobile harmonization */
.station-fishing-note{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(9,30,42,.92),rgba(5,19,28,.92));box-shadow:0 10px 30px rgba(0,0,0,.12)}
.station-decision-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.station-decision-head b{font-size:1rem}.station-decision-head span{color:var(--muted);font-size:.78rem;text-align:right}
.station-fishing-note .objective-decision{margin-bottom:12px;padding:12px;border-radius:12px;background:rgba(65,214,182,.07);border:1px solid rgba(65,214,182,.18);line-height:1.45}
.station-fishing-note .objective-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.station-fishing-note .objective-grid span{padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid var(--line);font-size:.78rem;line-height:1.3}
.location-context .geo-title{min-width:0}.location-context .geo-title strong{display:block;line-height:1.2}.location-context .geo-title span{display:block;margin-top:4px}
.geo-detail-grid{margin-top:10px}.geo-detail-grid>div{min-width:0}.geo-detail-grid b{display:block;overflow-wrap:anywhere}
#tidePanel .tide-today-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
#tidePanel .tide-event{display:grid!important;grid-template-columns:76px 86px minmax(0,1fr)!important;align-items:center!important;text-align:left!important;gap:9px!important;padding:11px 12px!important;min-width:0!important}
#tidePanel .tide-event strong,#tidePanel .tide-event-level,#tidePanel .tide-event small{min-width:0!important;white-space:nowrap!important}
#tidePanel .tide-event small{overflow:hidden;text-overflow:ellipsis}
.tide-forecast-head{margin-top:10px;padding:12px!important;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.32)}
.tide-day{border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.22)!important}
.tide-day-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
@media(max-width:700px){
 .station-fishing-note{padding:13px;margin-top:11px}.station-decision-head{display:block}.station-decision-head span{display:block;text-align:left;margin-top:3px}
 .station-fishing-note .objective-grid{grid-template-columns:1fr 1fr;gap:6px}.station-fishing-note .objective-grid span{font-size:.72rem;padding:7px}
 #tidePanel .tide-event{grid-template-columns:70px 76px minmax(0,1fr)!important;padding:10px!important}
 #tidePanel .tide-event strong{font-size:.9rem!important}#tidePanel .tide-event-level{font-size:.82rem!important}#tidePanel .tide-event small{font-size:.7rem!important}
 .tide-days{display:flex!important;flex-direction:column!important}.tide-day{padding:10px!important}.tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
 .station-fishing-note .objective-grid{grid-template-columns:1fr}
 #tidePanel .tide-event{grid-template-columns:64px 72px minmax(0,1fr)!important;gap:6px!important}#tidePanel .tide-event small{font-size:.66rem!important}
}

/* PescaRadar v24 — mobile-first station polish */
html{font-size:16px}
body{line-height:1.45}
button,input,select,textarea{font:inherit}
.location-context{padding:14px!important;border-radius:16px!important}
.location-context .geo-title{display:block!important;min-width:0!important}
.location-context .geo-title strong{display:block;font-size:1.12rem;line-height:1.25;overflow-wrap:anywhere}
.location-context .geo-title span{display:block;margin-top:5px;font-size:.76rem;line-height:1.35;color:var(--muted)}
.geo-detail-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;margin-top:12px!important}
.geo-detail-grid>div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(3,14,22,.42)}
.geo-detail-grid b{font-size:.94rem;line-height:1.2;font-variant-numeric:tabular-nums}
.geo-detail-grid small{display:block;margin-top:3px;font-size:.68rem;color:var(--muted)}
.season-indicator-card{display:grid!important;align-content:center;min-width:0}
.season-indicator-card strong{font-size:1rem!important;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.season-indicator-card small{font-size:.68rem!important;line-height:1.25;margin-top:4px}
.moment-season-card{border:1px solid rgba(65,214,182,.22)!important;background:rgba(65,214,182,.05)!important}
.moment-season-card b{white-space:normal!important;overflow-wrap:anywhere}

#tidePanel{min-width:0}
#tidePanel .tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
#tidePanel .tide-today-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
#tidePanel .tide-event{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;align-content:center!important;min-width:0!important;min-height:78px!important;padding:10px!important;text-align:left!important}
#tidePanel .tide-event strong{font-size:1rem!important;font-variant-numeric:tabular-nums}
#tidePanel .tide-event-level{font-size:.86rem!important;font-weight:800!important;color:var(--text)!important}
#tidePanel .tide-event small{font-size:.7rem!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tidePanel .tide-forecast-head{padding:12px 0 8px!important}
#tidePanel .tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#tidePanel .tide-day{min-width:0!important;padding:10px!important}
#tidePanel .tide-day-head{min-width:0}
#tidePanel .tide-day-date{font-size:.86rem!important}
#tidePanel .tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
#tidePanel .tide-time{display:grid!important;gap:2px!important;min-width:0!important;padding:8px!important;border:1px solid var(--line);border-radius:10px;background:rgba(3,14,22,.38)}
#tidePanel .tide-time strong{font-size:.88rem!important}
#tidePanel .tide-time span{font-size:.76rem!important}
#tidePanel .tide-time small{font-size:.64rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.station-fishing-note{font-size:.9rem}
.station-fishing-note .decision-block{margin:8px 0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(3,14,22,.34)}
.station-fishing-note .decision-block strong{display:block;font-size:.78rem;letter-spacing:.02em}
.station-fishing-note .decision-block p{margin:3px 0 0;line-height:1.4;color:var(--muted)}
.station-fishing-note .objective-grid span{line-height:1.4}

#map{min-height:360px}
#mapFallback{min-height:360px}
.map-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.map-actions .map-mode-btn{min-height:44px!important;line-height:1.15!important}
@media(max-width:700px){
  body{font-size:15px}
  .lead{line-height:1.45}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid>div{padding:9px}
  .geo-detail-grid b{font-size:.9rem}
  #tidePanel .tide-current-head{grid-template-columns:1fr!important;gap:4px!important}
  #tidePanel .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tidePanel .tide-event{min-height:82px!important}
  #tidePanel .tide-days{grid-template-columns:1fr!important}
  #tidePanel .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .station-fishing-note .objective-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #map,#mapFallback,#mapFallback .map-fallback-canvas{min-height:300px}
}
@media(max-width:380px){
  body{font-size:14px}
  .geo-detail-grid b{font-size:.82rem}
  #tidePanel .tide-today-grid{grid-template-columns:1fr!important}
  #tidePanel .tide-times{grid-template-columns:1fr 1fr!important}
  #tidePanel .tide-event{min-height:76px!important}
  .station-fishing-note .objective-grid{grid-template-columns:1fr!important}
  .map-actions .map-mode-btn{font-size:.72rem!important;padding:7px 5px!important}
}


/* PescaRadar v25 — readability for environmental changes and compact screens */
.environment-change-board{overflow:hidden}
.environment-change-board .change-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px!important}
.environment-change-board .change-grid>div{min-width:0!important;padding:9px 8px!important;border:1px solid var(--line);border-radius:11px;background:rgba(3,14,22,.4)}
.environment-change-board .change-grid b{display:block;font-size:.9rem;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.environment-change-board .change-grid small{display:block;margin-top:4px;font-size:.68rem;line-height:1.25;color:var(--muted);white-space:normal!important;overflow-wrap:anywhere}
@media(max-width:900px){.environment-change-board .change-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.environment-change-board .change-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.environment-change-board .change-grid>div{padding:8px!important}.environment-change-board .change-grid b{font-size:.86rem}.environment-change-board .change-grid small{font-size:.67rem}}
@media(max-width:380px){.environment-change-board .change-grid{grid-template-columns:1fr 1fr!important}.environment-change-board .change-grid b{font-size:.8rem}.environment-change-board .change-grid small{font-size:.64rem}}


/* Estação estável — mobile first: previsão vertical, sem scroll horizontal */
#rainForecast{min-width:0;overflow:hidden}
.forecast-days{display:grid;gap:10px}
.forecast-day{display:block!important;min-width:0!important;padding:12px!important;border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.52)}
.forecast-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:9px}
.forecast-day-head>div:first-child{min-width:0}
.forecast-day-head strong{display:block;font-size:1rem;text-transform:capitalize;line-height:1.25}
.forecast-day-head small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
.forecast-day-main{display:grid;justify-items:end;flex:0 0 auto}
.forecast-day-main b{font-size:1.15rem;color:var(--accent)}
.forecast-day-main span{font-size:.72rem;color:var(--muted)}
.forecast-bar{height:5px!important;margin-top:8px;border-radius:99px;background:#17303d;overflow:hidden}
.forecast-bar span{display:block;height:100%;border-radius:99px;background:var(--accent)}
.forecast-extended{display:grid;gap:0;margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(7,19,29,.42)}
.forecast-extended>strong{padding:11px 12px;border-bottom:1px solid var(--line)}
.forecast-extended-row{display:grid;grid-template-columns:minmax(0,1fr) 52px 70px;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.forecast-extended-row:last-child{border-bottom:0}
.forecast-extended-row strong{text-transform:capitalize}
.forecast-extended-row span{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.forecast-empty{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(7,19,29,.5)}
.forecast-empty span{color:var(--muted)}
.period-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.period-card{min-width:0!important;padding:9px!important}
.period-card b{font-size:.68rem!important}
.period-card span{white-space:normal!important;font-size:.75rem!important;line-height:1.25}
.period-card small{font-size:.66rem!important;line-height:1.3}
.moment-season-card{display:none!important}

/* Dados de localização: uma fonte única, maior e sem duplicação textual */
.geo-title strong{font-size:clamp(1.05rem,4.5vw,1.35rem)!important;line-height:1.2}
.geo-title span{font-size:.82rem!important;line-height:1.35}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.geo-detail-grid b{font-size:.86rem!important}
.geo-detail-grid small{font-size:.68rem!important}
#status{font-size:.82rem;line-height:1.35}
.cards article small{font-size:.68rem!important;line-height:1.25!important}
.cards article strong{line-height:1.2}
.season-indicator-card{min-height:68px!important}
.season-indicator-card strong{font-size:1rem!important}
.season-indicator-card small{font-size:.68rem!important}

/* Tábua: hierarquia clara e legível em telas estreitas */
#tideForecast{min-width:0;overflow:visible}
.tide-forecast-head{align-items:flex-start!important;gap:10px!important}
.tide-forecast-head strong{font-size:.95rem;line-height:1.25}
.tide-forecast-head small{font-size:.7rem;white-space:normal!important;line-height:1.3}
.tide-days{gap:8px!important}
.tide-day{padding:11px!important}
.tide-day-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.tide-day-head strong{text-transform:capitalize;font-size:.88rem}
.tide-day-head span{font-size:.68rem;color:var(--muted)}
.tide-times{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important}
.tide-time{padding:9px 5px!important}
.tide-time strong{font-size:.86rem!important}
.tide-time span{display:block;margin-top:2px;font-size:.76rem}
.tide-time small{font-size:.62rem!important}
@media(max-width:520px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .period-grid{grid-template-columns:1fr!important}
  .period-card{grid-template-columns:72px minmax(0,1fr)!important}
  .period-card b{grid-row:1 / span 2}
  .period-card small{font-size:.67rem!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-time{padding:9px 6px!important}
  .forecast-day-head{align-items:flex-start}
}
@media(max-width:360px){
  .forecast-day{padding:10px!important}
  .forecast-day-head{gap:7px}
  .forecast-day-head strong{font-size:.9rem}
  .forecast-day-main b{font-size:1rem}
  .forecast-extended-row{grid-template-columns:minmax(0,1fr) 44px 58px;padding:9px}
}


/* PescaRadar v26 — mobile-first readability and harmonized tide cards */
body{font-size:16px;line-height:1.45}
small,.status{line-height:1.35}
.lead{line-height:1.45}
.location-context{overflow:hidden}
.geo-title{min-width:0}
.geo-title strong{display:block;overflow-wrap:anywhere}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.geo-detail-grid>div{min-width:0}
.geo-detail-grid b{display:block;overflow-wrap:anywhere}
#tidePanel{overflow:hidden}
#tidePanel .tide-current-head{gap:10px;margin-bottom:10px;padding:10px 0;border-bottom:1px solid var(--line)}
#tidePanel .tide-current-head strong{font-size:1rem;display:block}
#tidePanel .tide-current-head small{display:block;margin-top:3px;line-height:1.35;overflow-wrap:anywhere}
#tidePanel .tide-current-head>span{font-size:.8rem;color:var(--muted);white-space:nowrap}
#tidePanel .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#tidePanel .tide-event{min-width:0!important;min-height:88px!important;padding:11px!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left!important}
#tidePanel .tide-event strong{font-size:1.05rem!important;grid-row:1 / span 2}
#tidePanel .tide-event-level{font-size:.9rem!important}
#tidePanel .tide-event small{font-size:.72rem!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#tidePanel .tide-forecast-head{margin-top:14px;padding:13px 0 9px;border-top:1px solid var(--line)}
#tidePanel .tide-forecast-head strong{display:block;font-size:1rem}
#tidePanel .tide-forecast-head small{display:block;margin-top:3px}
#tidePanel .tide-days{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
#tidePanel .tide-day{min-width:0!important;overflow:hidden}
#tidePanel .tide-day-head{min-width:0}
#tidePanel .tide-day-date{overflow-wrap:anywhere}
#tidePanel .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#tidePanel .tide-time{min-width:0!important;overflow:hidden}
#tidePanel .tide-time strong,#tidePanel .tide-time span,#tidePanel .tide-time small{min-width:0;overflow:hidden;text-overflow:ellipsis}
.season-indicator-card{min-width:0!important}
.season-indicator-card strong{overflow-wrap:anywhere}
@media(max-width:700px){
  body{font-size:16px}
  .lead{font-size:.92rem}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid b{font-size:.95rem}
  #tidePanel .tide-current-head>span{white-space:normal;text-align:right}
  #tidePanel .tide-today-grid{grid-template-columns:1fr 1fr!important}
  #tidePanel .tide-days{grid-template-columns:1fr!important}
  #tidePanel .tide-time{padding:10px!important}
  #tidePanel .tide-time strong{font-size:.9rem!important}
  #tidePanel .tide-time span{font-size:.8rem!important}
  #tidePanel .tide-time small{font-size:.68rem!important}
  .environment-change-board .change-grid b{font-size:.9rem!important}
  .environment-change-board .change-grid small{font-size:.72rem!important}
}
@media(max-width:380px){
  body{font-size:16px}
  .geo-detail-grid{gap:6px!important}
  .geo-detail-grid>div{padding:9px 8px!important}
  #tidePanel .tide-today-grid{grid-template-columns:1fr!important}
  #tidePanel .tide-event{min-height:76px!important}
  #tidePanel .tide-days{grid-template-columns:1fr!important}
  #tidePanel .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* Sistema visual acessível — PescaRadar */
:root{
  --bg:#041019;
  --surface:#0a1b27;
  --surface2:#102c3a;
  --text:#f5fbff;
  --muted:#b8cbd4;
  --accent:#55e2c3;
  --accent-strong:#7af2d8;
  --focus:#73dcff;
  --warning:#ffd166;
  --danger:#ff8b8b;
  --line:rgba(225,245,252,.20);
}
html{font-size:16px}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55;letter-spacing:.005em}
.brand{display:flex;align-items:center;gap:8px}
.brand-logo{width:34px;height:34px;display:block;flex:none;border-radius:9px}
.brand-word{font-weight:900}
.station-brandline{gap:9px}
.station-brandline .station-brand-icon{display:none}
.station-brandline:before{content:"";width:32px;height:32px;display:block;flex:none;background:url("/logo.svg") center/contain no-repeat}
.eyebrow{font-size:.82rem;letter-spacing:.13em;color:var(--accent-strong)}
.lead,.status,.badge,.cards small,.location-context span,.location-context small{color:var(--muted)}
button,a,input,select,textarea{font-size:1rem}
button,.secondary{min-height:48px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.cards article,.panel,.ai-box,.environment-change-board,.forecast-dashboard{border-color:var(--line)}
.cards article strong{color:var(--text)}
.cards article small{font-size:.78rem}
.location-context{border-left-width:4px}
.geo-detail-grid>div{padding:10px}
.geo-detail-grid b{font-size:.9rem}
.geo-detail-grid small{font-size:.72rem}
.season-indicator-card{border-color:rgba(85,226,195,.35)!important;background:linear-gradient(145deg,rgba(20,57,67,.85),rgba(7,25,34,.9))!important}
.change-grid b{font-size:.92rem}
.change-grid small{font-size:.68rem}
.forecast-dashboard-svg,.environment-trend-svg{width:100%;height:auto;min-height:150px;display:block}
.forecast-dashboard-svg text,.environment-trend-svg text{fill:var(--muted);font-size:12px}
.forecast-dashboard-svg .rain-bar{fill:rgba(85,226,195,.48);stroke:var(--accent);stroke-width:1}
.forecast-dashboard-svg .chart-temp{fill:none;stroke:var(--warning);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chart-axis{stroke:rgba(225,245,252,.25);stroke-width:1}
.chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:.78rem}
.rain-key{color:var(--accent-strong)}
.temp-key{color:var(--warning)}
.nav-accessibility{background:transparent;color:var(--text);border:1px solid var(--line);padding:8px 10px;min-height:42px}
.high-contrast{--bg:#000;--surface:#080808;--surface2:#181818;--text:#fff;--muted:#e2e2e2;--accent:#5fffe0;--accent-strong:#8fffea;--line:rgba(255,255,255,.42);--focus:#fff;--warning:#ffe36e}
.high-contrast .cards article,.high-contrast .panel,.high-contrast .ai-box,.high-contrast .environment-change-board{background:#050505;border-color:var(--line)}
.high-contrast .muted,.high-contrast .status{color:#eee}
@media(max-width:700px){
  body{font-size:16px}
  .topbar,main,footer{width:min(100% - 18px,1120px)}
  .brand-logo{width:32px;height:32px}
  .cards{gap:8px}
  .cards article{padding:12px;min-height:100px}
  .cards article strong{font-size:1.28rem}
  .cards article small{font-size:.76rem}
  .change-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .change-grid b{font-size:.88rem}
  .change-grid small{font-size:.67rem;white-space:normal;line-height:1.15}
  .forecast-dashboard-svg,.environment-trend-svg{min-height:170px}
}
@media(max-width:390px){
  .brand-logo{width:29px;height:29px}
  .brand-word{font-size:1.08rem}
  .actions{grid-template-columns:1fr}
  .actions .primary{grid-column:auto}
  .cards{grid-template-columns:1fr 1fr!important}
  .cards article{min-height:94px;padding:10px}
  .cards article strong{font-size:1.12rem}
  .cards article small{font-size:.74rem}
  .change-grid{grid-template-columns:1fr 1fr}
}
@media(prefers-contrast:more){
  :root{--muted:#d6e4e9;--line:rgba(255,255,255,.38);--focus:#fff}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* PescaRadar v27 — acessibilidade, marca e dashboards */
:root{
  --bg:#041019;
  --surface:#091b27;
  --surface2:#102b3a;
  --text:#f5fbff;
  --muted:#b5c8d3;
  --accent:#4fe0be;
  --accent-strong:#79f0d1;
  --line:rgba(208,235,245,.20);
}
body{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;letter-spacing:.005em}
.brand{display:flex;align-items:center;gap:9px;font-size:1.28rem}
.brand img{width:34px;height:34px;display:block;flex:0 0 34px;border-radius:9px}
.brand>span{color:var(--text)}
.brand>span span{color:var(--accent)}
nav a,nav button{font-size:.94rem;color:var(--text)}
nav a:hover,nav button:hover{color:var(--accent)}
.location-context{background:#081a25!important;border:1px solid rgba(79,224,190,.34)!important;box-shadow:0 6px 24px rgba(0,0,0,.12)}
.location-context .geo-title{display:block!important}
.location-context .geo-title strong{font-size:clamp(1.08rem,3.8vw,1.35rem)!important;color:var(--text)!important}
.location-context .geo-title span{font-size:.86rem!important;color:var(--muted)!important}
.geo-detail-grid{margin-top:12px!important}
.geo-detail-grid>div{background:#071620!important;border-color:rgba(208,235,245,.18)!important}
.geo-detail-grid b{font-size:1rem!important;color:var(--text)!important}
.geo-detail-grid small{font-size:.74rem!important;color:var(--muted)!important}
.cards article,.panel,.ai-box,.forecast-summary,.environment-change-board,.mini-chart-card{background:#081923!important;border-color:rgba(208,235,245,.18)!important}
.cards article strong,.moment-grid b,.change-grid b{color:var(--text)}
.cards article small,.moment-grid small,.change-grid small{color:var(--muted)!important}
.season-indicator-card{background:linear-gradient(145deg,#0b2a28,#081923)!important;border-color:rgba(79,224,190,.36)!important}
.season-indicator-card strong{color:var(--accent-strong)!important}
.station-mini-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.mini-chart-card{border:1px solid var(--line);border-radius:16px;padding:13px;min-width:0}
.mini-chart-card>div:first-child{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-bottom:8px}
.mini-chart-card .eyebrow{margin:0;font-size:.66rem}
.mini-chart-card strong{font-size:.95rem}
.mini-chart-svg{width:100%;height:auto;display:block;overflow:visible}
.mini-chart-svg text{fill:var(--muted);font:600 11px Arial,Helvetica,sans-serif}
.chart-rain-bar{fill:var(--accent)}
.chart-wind-line{fill:none;stroke:var(--accent-strong);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.tide-trend-chart{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#071721;overflow:hidden}
.tide-chart-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:5px}
.tide-chart-head strong{font-size:.95rem}
.tide-chart-head span{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}
.tide-chart-svg{width:100%;height:auto;display:block}
.tide-chart-svg text{fill:var(--muted);font:600 11px Arial,Helvetica,sans-serif}
.chart-tide-line{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.tide-time{background:#071721!important;border-color:rgba(208,235,245,.18)!important}
.tide-time strong{color:var(--text)!important}
.tide-time span,.tide-time small{color:var(--muted)!important}
.tide-day{background:#091a24!important;border-color:rgba(208,235,245,.18)!important}
.tide-day-head strong{color:var(--text)!important}
.tide-day-head span{color:var(--muted)!important}
.high-visibility{--text:#ffffff;--muted:#d0dee5;--line:rgba(255,255,255,.30)}
.high-visibility body,.high-visibility{font-size:17px;line-height:1.55}
.high-visibility .lead{font-size:1.02rem!important}
.high-visibility small,.high-visibility .status{font-size:.82rem!important}
.high-visibility .cards article small,.high-visibility .moment-grid small,.high-visibility .change-grid small{font-size:.76rem!important}
.high-visibility button,.high-visibility input,.high-visibility select{font-size:1rem}
.high-visibility .eyebrow{font-size:.78rem!important}
.high-visibility .cards article strong{font-size:1.25rem!important}
.high-visibility .geo-detail-grid b{font-size:1.05rem!important}
.high-visibility .geo-detail-grid small{font-size:.8rem!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffffff!important;outline-offset:3px}
@media(max-width:700px){
  .brand img{width:30px;height:30px;flex-basis:30px}
  .station-mini-dashboard{grid-template-columns:1fr}
  .mini-chart-card{padding:12px}
  .tide-chart-head{align-items:flex-start;flex-direction:column}
  .tide-chart-svg{min-height:145px}
  .location-context{padding:14px!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid b{font-size:1rem!important}
  .geo-detail-grid small{font-size:.75rem!important}
  #tidePanel .tide-event{grid-template-columns:72px 78px minmax(0,1fr)!important}
}
@media(max-width:390px){
  .brand{font-size:1.12rem}
  .brand img{width:28px;height:28px;flex-basis:28px}
  .actions button{font-size:.82rem!important}
  .tide-chart-svg{min-height:130px}
}


/* PescaRadar visual system v2 — alto contraste, baixa visão e leitura outdoor */
:root{
  --bg:#06131c;
  --surface:#0b202d;
  --surface2:#123447;
  --text:#f4fbff;
  --muted:#b6c8d1;
  --accent:#43e0bd;
  --accent-strong:#76f3d6;
  --gold:#f4c95d;
  --line:rgba(220,245,255,.20);
  --focus:#fff;
}
body{font-size:16px;line-height:1.58}
.brand{display:inline-flex;align-items:center;gap:9px;min-height:44px}
.brand img{width:38px;height:38px;display:block;flex:0 0 auto}
.brand span{color:var(--accent);font-weight:950}
button,.secondary,input,select{min-height:46px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.location-context{padding:16px!important;border-radius:18px!important;background:rgba(9,34,47,.82)!important;border-color:rgba(67,224,189,.45)!important}
.geo-title{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important}
.geo-title strong{font-size:1.12rem!important;line-height:1.3!important}
.geo-title span{color:var(--muted)!important;font-size:.86rem!important}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.geo-detail-grid>div{background:rgba(4,17,25,.60)!important;border-color:var(--line)!important;min-height:66px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.geo-detail-grid b{font-size:1rem!important;color:var(--text)!important}
.geo-detail-grid small{font-size:.72rem!important;color:var(--muted)!important}
.moment-grid,.moment-extra,.cards{gap:8px!important}
.moment-grid>div,.moment-extra>div,.cards article{background:rgba(5,19,28,.82)!important;border-color:var(--line)!important}
.cards article strong{font-size:1.55rem}
.cards article small,.status,.lead{color:var(--muted)}
.eyebrow{color:var(--accent-strong);font-size:.76rem}
.panel,.ai-box,.dashboard-card{box-shadow:0 8px 28px rgba(0,0,0,.14)}
.station-dashboard{padding-top:34px}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dashboard-card{min-width:0;background:rgba(9,27,39,.88);border:1px solid var(--line);border-radius:18px;padding:16px}
.dashboard-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.dashboard-card-head strong,.dashboard-card-head small{display:block}
.dashboard-card-head small{color:var(--accent-strong);font-weight:800;white-space:nowrap}
.dashboard-chart{min-height:170px;display:grid;place-items:center;overflow:hidden}
.dashboard-svg{width:100%;height:auto;min-height:160px}
.dashboard-svg text{fill:var(--muted);font-size:12px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.dashboard-axis{stroke:rgba(255,255,255,.18);stroke-width:1}
.dashboard-line{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.dashboard-bar{fill:var(--gold)}
.fishing-decision{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:start;margin:14px 0;padding:16px;border:1px solid rgba(67,224,189,.35);border-radius:16px;background:linear-gradient(135deg,rgba(14,50,62,.95),rgba(8,26,37,.92))}
.decision-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:rgba(67,224,189,.13);font-size:1.5rem}
.fishing-decision strong{display:block;font-size:1.25rem;line-height:1.2;margin-top:2px}
.fishing-decision p{margin:6px 0 0;color:var(--muted)}
.map-actions .map-mode-btn.active{background:var(--accent)!important;color:#031117!important;border-color:var(--accent)!important}
.tide-current-head{padding:14px 16px!important;margin-top:12px!important;background:linear-gradient(135deg,rgba(10,39,51,.95),rgba(7,23,33,.92))!important}
.tide-current-head strong{font-size:1.05rem!important}
.tide-current-head>span{padding:7px 10px;border-radius:10px;background:rgba(67,224,189,.09);color:var(--text)!important;white-space:nowrap}
.tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.tide-event{grid-template-columns:76px 1fr auto!important;min-height:66px!important;padding:12px 13px!important;background:#071923!important;border-color:rgba(220,245,255,.18)!important}
.tide-event strong{font-size:1.1rem!important;color:var(--text)!important}
.tide-event-level{font-size:1rem!important;font-weight:850!important;color:var(--gold)!important}
.tide-event small{font-size:.76rem!important;color:var(--muted)!important;text-transform:none!important}
.tide-forecast-head{padding:15px 16px!important;background:rgba(9,30,42,.88)!important}
.tide-days{gap:9px!important}
.tide-day{padding:12px!important;background:#071923!important}
.tide-day-head{margin-bottom:9px!important}
.tide-day-head strong{font-size:1rem!important}
.tide-times{gap:7px!important}
.tide-time{padding:10px 6px!important;background:rgba(16,52,67,.45)!important;border-color:rgba(220,245,255,.16)!important}
.tide-time strong{font-size:1rem!important;color:var(--text)!important}
.tide-time span{font-size:.9rem!important;color:var(--gold)!important;font-weight:850!important}
.tide-time small{font-size:.7rem!important;color:var(--muted)!important}
.high-visibility{font-size:18px!important;line-height:1.7!important}
.high-visibility .topbar{height:76px}
.high-visibility h2{font-size:clamp(2.1rem,7vw,3.8rem)}
.high-visibility h3,.high-visibility .section-head h3{font-size:1.55rem}
.high-visibility .cards article strong,.high-visibility .moment-grid b,.high-visibility .moment-extra b{font-size:1.35rem}
.high-visibility .cards article small,.high-visibility .moment-grid small,.high-visibility .moment-extra small,.high-visibility .status{font-size:.9rem}
.high-visibility .lead{font-size:1.15rem;color:#d1e0e6}
.high-visibility .eyebrow{font-size:.82rem;letter-spacing:.14em}
.high-visibility .geo-detail-grid b{font-size:1.12rem!important}
.high-visibility .geo-detail-grid small{font-size:.82rem!important}
.high-visibility button{min-height:52px;font-size:1rem}
.high-contrast{background:#000!important;color:#fff!important}
.high-contrast .panel,.high-contrast .ai-box,.high-contrast .dashboard-card,.high-contrast .location-context,.high-contrast .moment-readout,.high-contrast .cards article{background:#000!important;border-color:#fff!important}
.high-contrast .muted,.high-contrast .status,.high-contrast .lead,.high-contrast small{color:#f0f0f0!important}
.high-contrast .dashboard-line{stroke:#fff}
.high-contrast .dashboard-bar{fill:var(--gold)}
@media(max-width:700px){
  .brand img{width:34px;height:34px}
  .brand{font-size:1.12rem}
  .dashboard-grid{grid-template-columns:1fr;gap:10px}
  .dashboard-card{padding:14px}
  .dashboard-chart{min-height:145px}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:72px minmax(70px,1fr) minmax(90px,auto)!important}
  .tide-forecast-head{display:grid!important;gap:5px!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-time{min-height:72px}
}
@media(max-width:390px){
  .topbar,main,footer{width:calc(100% - 14px)}
  .actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .actions button{min-width:0!important;padding:12px 8px!important;font-size:.86rem!important}
  .geo-detail-grid{gap:6px!important}
  .geo-detail-grid>div{min-height:62px!important}
  .tide-event{grid-template-columns:64px 1fr!important}
  .tide-event small{grid-column:1/-1!important}
  .tide-times{grid-template-columns:1fr 1fr!important}
  .tide-time{min-height:68px}
}
@media(prefers-contrast:more){
  :root{--muted:#dce9ee;--line:rgba(255,255,255,.42)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}


@media (prefers-contrast: more){
  :root{--bg:#02080d;--surface:#07131c;--surface2:#0c2533;--text:#ffffff;--muted:#d4e1e7;--line:rgba(255,255,255,.42);--accent:#58f0c8}
  .cards article,.panel,.ai-box,.location-context,.mini-chart-card,.tide-trend-chart{border-width:2px!important}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* Dashboard ambiental responsivo */
.station-chart-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.station-chart-dashboard .mini-chart-card{background:rgba(7,19,29,.72)!important}
.forecast-chart-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:end;min-height:170px;padding:8px 2px 2px}
.forecast-chart-day{min-width:0;height:160px;display:grid;grid-template-rows:auto 1fr auto;gap:5px;align-items:end;text-align:center}
.forecast-chart-values{display:grid;gap:1px;font-size:.67rem;color:var(--muted);font-variant-numeric:tabular-nums}
.forecast-chart-values b{font-size:.82rem;color:var(--text)}
.forecast-chart-track{height:105px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,rgba(255,255,255,.045),transparent);border-radius:8px 8px 3px 3px}
.forecast-chart-track i{display:block;width:min(28px,65%);min-height:4px;border-radius:7px 7px 3px 3px;background:linear-gradient(to top,var(--accent),var(--accent-strong))}
.forecast-chart-day small{font-size:.7rem;color:var(--muted);text-transform:capitalize}
@media(max-width:760px){
  .station-chart-dashboard{grid-template-columns:1fr}
  .station-chart-dashboard .mini-chart-card{min-height:150px}
  .forecast-chart-bars{gap:4px;min-height:155px}
  .forecast-chart-day{height:145px}
  .forecast-chart-track{height:88px}
  .forecast-chart-track i{width:22px}
}
@media(max-width:390px){
  .forecast-chart-values{font-size:.62rem}
  .forecast-chart-values b{font-size:.76rem}
  .forecast-chart-day small{font-size:.64rem}
}

.station-brandline{display:flex;align-items:center;gap:10px;margin-bottom:14px}.station-brandline img{width:44px;height:44px;border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.2)}.station-brandline strong{font-size:1.15rem}.station-brandline>span{color:var(--muted);font-size:.88rem}@media(max-width:390px){.station-brandline img{width:38px;height:38px}.station-brandline>span{font-size:.76rem}}


/* PescaRadar v28 — final field readability and mobile harmonization */
:root{
  --bg:#06131c;
  --surface:#0a202d;
  --surface2:#103849;
  --text:#f7fcff;
  --muted:#c0d1d9;
  --accent:#48dfbe;
  --accent-strong:#79f2d6;
  --gold:#ffd76a;
  --line:rgba(230,246,252,.24);
  --focus:#ffffff;
}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);font-size:16px;line-height:1.58}
p,small,.status{line-height:1.45}
small,.status{color:var(--muted)}
button,a,input,select,textarea{font-size:1rem}
button,a{min-height:46px}
.brand-logo,.brand img{object-fit:contain}
.station-brandline:before{width:38px;height:38px}
.location-context{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin:12px 0!important;padding:16px!important;border:1px solid rgba(72,223,190,.42)!important;border-left:1px solid rgba(72,223,190,.42)!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(11,45,58,.96),rgba(7,25,36,.94))!important}
.location-context .geo-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}
.location-context .geo-title strong{font-size:clamp(1.15rem,4.5vw,1.65rem);line-height:1.2}
.location-context .geo-title span{font-size:.82rem;text-align:right}
.geo-detail-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important}
.geo-detail-grid>div{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(2,14,22,.48)}
.geo-detail-grid b,.geo-detail-grid small{display:block}
.geo-detail-grid b{font-size:1.05rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geo-detail-grid small{margin-top:3px;font-size:.72rem;color:var(--muted)}
.moment-season-card{border-color:rgba(72,223,190,.36)!important;background:rgba(21,70,70,.22)!important}
.moment-season-card b{color:var(--accent-strong)!important}
.station-decision-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:start;margin:12px 0 16px;padding:15px;border:1px solid rgba(72,223,190,.42);border-radius:16px;background:linear-gradient(135deg,rgba(14,54,65,.95),rgba(7,27,38,.96));box-shadow:0 10px 30px rgba(0,0,0,.14)}
.station-decision-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:rgba(72,223,190,.13);font-size:1.45rem}
.station-decision-card strong{display:block;font-size:1.15rem;line-height:1.25;margin-top:2px}
.station-decision-card p{margin:6px 0 0;color:var(--muted)}
.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px!important;align-items:center!important;border-radius:15px!important}
.tide-current-head>div{min-width:0}
.tide-current-head small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin-top:9px}
.tide-event{display:grid!important;grid-template-columns:76px minmax(70px,1fr) auto!important;align-items:center!important;gap:8px!important;min-width:0!important;border-radius:13px!important}
.tide-event strong,.tide-event-level,.tide-event small{min-width:0;white-space:nowrap}
.tide-event small{overflow:hidden;text-overflow:ellipsis}
.tide-forecast-head{display:flex!important;justify-content:space-between;gap:12px;align-items:flex-end;margin-top:12px;border-radius:15px!important}
.tide-forecast-head strong{min-width:0;font-size:1rem}
.tide-forecast-head small{white-space:nowrap}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin-top:9px}
.tide-day{min-width:0;border-radius:14px!important}
.tide-day-head{display:flex!important;justify-content:space-between;gap:8px;align-items:center}
.tide-day-head strong{font-size:.98rem}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
.tide-time{min-width:0!important;border-radius:11px!important}
.tide-time strong,.tide-time span,.tide-time small{display:block;min-width:0}
.tide-time strong{font-size:1rem}
.tide-time span{margin-top:2px}
.tide-time small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forecast-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
.forecast-day{min-width:0!important;padding:12px!important;border:1px solid var(--line);border-radius:14px;background:#071923}
.forecast-day-head{display:flex!important;justify-content:space-between;gap:10px;align-items:start}
.forecast-day-head>div:first-child{min-width:0}
.forecast-day-head strong{display:block;font-size:.95rem}
.forecast-day-head small{display:block;margin-top:3px}
.forecast-day-main{display:grid;justify-items:end}
.forecast-day-main b{font-size:1.25rem;color:var(--accent-strong)}
.forecast-day-main span{font-size:.8rem;color:var(--gold)}
.period-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;margin-top:9px}
.period-card{min-width:0!important;padding:8px!important;border-radius:10px!important;background:rgba(16,52,67,.45)!important;border:1px solid var(--line)!important}
.period-card b,.period-card span,.period-card small{display:block;min-width:0}
.period-card b{font-size:.72rem;text-transform:capitalize}
.period-card span{font-size:.82rem;font-weight:800;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.period-card small{font-size:.66rem;margin-top:2px}
.outlook-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.outlook-card{min-width:0!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#071923!important}
.outlook-card>b,.outlook-card>strong,.outlook-card>span,.outlook-card>small,.outlook-card>em{display:block}
.outlook-card>b{font-size:.86rem}
.outlook-card>strong{font-size:.95rem;margin-top:3px}
.outlook-card>span{font-size:1rem;font-weight:850;margin-top:5px}
.outlook-card>small{font-size:.72rem;margin-top:4px}
.outlook-card>em{font-style:normal;color:var(--gold);font-size:.76rem;margin-top:7px}
.objective-reading{font-size:1rem!important;line-height:1.55!important}
.objective-decision{margin:10px 0;padding:10px 12px;border-left:4px solid var(--accent);border-radius:10px;background:rgba(72,223,190,.08);font-weight:750}
.objective-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.objective-grid span{min-width:0;line-height:1.35!important}
.map-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px!important}
.map-actions .map-mode-btn{min-width:0!important}
.map-actions #toggleRainRadar{grid-column:span 2}
#map,#mapFallback{min-height:360px;border-radius:16px;overflow:hidden}
@media(max-width:700px){
  .location-context .geo-title{display:grid;grid-template-columns:1fr;gap:4px}
  .location-context .geo-title span{text-align:left}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .station-decision-card{padding:13px}
  .tide-current-head{grid-template-columns:1fr!important}
  .tide-current-head>span{justify-self:start}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:76px minmax(0,1fr) auto!important}
  .tide-forecast-head{display:grid!important;grid-template-columns:1fr!important}
  .tide-forecast-head small{white-space:normal}
  .tide-days{grid-template-columns:1fr!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .forecast-days{grid-template-columns:1fr!important}
  .forecast-day-head{align-items:start}
  .period-grid{grid-template-columns:1fr!important}
  .period-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:4px 8px;align-items:center}
  .period-card b{grid-row:span 2}
  .period-card span,.period-card small{margin:0}
  .outlook-grid{grid-template-columns:1fr!important}
  .objective-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-actions #toggleRainRadar{grid-column:span 2}
  #map,#mapFallback{min-height:300px}
}
@media(max-width:390px){
  body{font-size:16px!important}
  .geo-detail-grid b{font-size:1rem}
  .geo-detail-grid small{font-size:.72rem}
  .tide-event{grid-template-columns:68px minmax(0,1fr) auto!important}
  .tide-event strong,.tide-event-level{font-size:.92rem!important}
  .tide-event small{font-size:.7rem!important}
  .tide-times{grid-template-columns:1fr!important}
  .map-actions button{font-size:.82rem!important;padding:9px 7px}
}
@media(min-width:900px){
  .forecast-days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tide-days{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.high-visibility body,.high-visibility{font-size:18px!important;line-height:1.62!important}
.high-visibility small,.high-visibility .status{font-size:.9rem!important}
.high-visibility .geo-detail-grid b{font-size:1.2rem!important}
.high-visibility .geo-detail-grid small{font-size:.82rem!important}
.high-visibility .tide-event strong,.high-visibility .tide-event-level{font-size:1.1rem!important}
.high-visibility .tide-event small{font-size:.82rem!important}
.high-visibility .outlook-card>span{font-size:1.1rem}
.high-visibility .map-actions button{font-size:1rem!important}


.historical-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.history-compare-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(5,20,30,.34);min-width:0}
.history-compare-card>small{display:block;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
.history-compare-card>strong{display:block;margin:3px 0 10px;font-size:.95rem}
.history-compare-card>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.history-compare-card span{font-size:.68rem;color:var(--muted);line-height:1.25}
.history-compare-card b{display:block;color:var(--text);font-size:.82rem;margin-top:3px}
.history-empty{color:var(--muted);padding:12px 0}
@media(max-width:700px){
 .historical-comparison-grid{grid-template-columns:1fr}
 .history-compare-card>div{grid-template-columns:repeat(3,minmax(0,1fr))}
 .history-compare-card{padding:10px}
 .history-compare-card b{font-size:.78rem}
}


/* v29 — estação mobile: leitura limpa, sem blocos espremidos */
.location-context{padding:14px!important}
.location-context .geo-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
.location-context .geo-title strong{min-width:0}
.location-context .geo-title span{max-width:230px}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.geo-detail-grid>div{min-width:0;min-height:64px;display:flex;flex-direction:column;justify-content:center}
.geo-detail-grid b{font-variant-numeric:tabular-nums}
.tide-current-head{padding:14px!important}
.tide-today-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tide-event{grid-template-columns:1fr auto!important;grid-template-areas:"time level" "kind kind"!important;padding:11px 12px!important;min-height:76px!important}
.tide-event strong{grid-area:time;font-size:1.08rem!important}
.tide-event-level{grid-area:level;font-size:1rem!important}
.tide-event small{grid-area:kind;margin-top:5px}
.tide-forecast-head{margin-top:14px!important}
.tide-days{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-day{padding:12px!important}
.tide-day-head span{font-size:.72rem;color:var(--muted)}
.tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-time{display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:"time level" "kind kind";gap:2px 7px;align-items:center}
.tide-time strong{grid-area:time}
.tide-time span{grid-area:level;text-align:right}
.tide-time small{grid-area:kind}
.tide-caveat,.data-transparency{line-height:1.4!important}
.forecast-summary{display:flex!important;justify-content:space-between;align-items:end;gap:12px;padding:13px 14px!important;border:1px solid var(--line);border-radius:14px;background:#071923}
.forecast-summary strong{font-size:1rem}
.forecast-summary span{font-size:.8rem;color:var(--muted);text-align:right}
.forecast-extended{margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(7,25,36,.55)}
.forecast-extended>strong{display:block;margin-bottom:8px}
.forecast-extended-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 68px;gap:8px;padding:8px 0;border-top:1px solid rgba(230,246,252,.10);align-items:center}
.forecast-extended-row span{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.station-decision-card{min-width:0}
.station-decision-card p{line-height:1.5}
.app-removal-help{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.68)}
.app-removal-card{width:min(460px,100%);padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.45)}
.app-removal-card h3{margin:5px 0 8px}
.app-removal-card p{color:var(--muted)}
.app-removal-close{margin-top:8px}
@media(max-width:700px){
  .location-context .geo-title{grid-template-columns:1fr!important}
  .location-context .geo-title span{max-width:none;text-align:left!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-days{grid-template-columns:1fr!important}
  .forecast-summary{display:grid!important;gap:4px}
  .forecast-summary span{text-align:left}
  .forecast-extended-row{grid-template-columns:minmax(0,1fr) 52px 62px;font-size:.8rem}
}
@media(max-width:390px){
  .location-context{padding:12px!important}
  .geo-detail-grid>div{min-height:58px;padding:8px!important}
  .geo-detail-grid b{font-size:.92rem!important}
  .geo-detail-grid small{font-size:.67rem!important}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{min-height:68px!important}
  .tide-days{gap:7px!important}
  .tide-times{grid-template-columns:1fr 1fr!important}
  .forecast-day{padding:10px!important}
}


/* v30 — comparação ambiental e legibilidade mobile */
.comparison-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:12px 0 10px}
.comparison-intro strong{font-size:1.05rem}
.comparison-intro span{max-width:420px;color:var(--muted);font-size:.78rem;line-height:1.35}
.historical-comparison-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.history-compare-card{padding:14px;background:linear-gradient(145deg,rgba(12,31,43,.9),rgba(6,19,29,.72));box-shadow:0 8px 24px rgba(0,0,0,.12)}
.history-compare-card header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.history-compare-card header strong{font-size:.92rem}
.history-day-label{color:var(--accent);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.history-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important;margin-top:10px}
.history-metrics div{min-width:0;padding:8px;border-radius:10px;background:rgba(2,12,19,.42)}
.history-metrics small{display:block;color:var(--muted);font-size:.66rem}
.history-metrics b{display:block;margin-top:3px;font-size:.86rem;white-space:nowrap}
.history-reading{margin:10px 0 5px!important;color:var(--text)!important;font-size:.8rem;line-height:1.4}
.history-change{display:block;color:var(--muted);font-size:.67rem;line-height:1.35}
.install-app.installed{color:var(--accent);border-color:rgba(67,211,180,.38)}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.location-context .geo-title{min-width:0}
.location-context .geo-title strong{overflow-wrap:anywhere}
.moment-season-card{grid-column:span 1;min-width:0}
@media(max-width:700px){
  .comparison-intro{display:grid;gap:4px}
  .comparison-intro span{max-width:none}
  .historical-comparison-cards{grid-template-columns:1fr}
  .history-compare-card{padding:12px}
  .history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .history-metrics b{font-size:.82rem}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid>div{min-width:0}
}
@media(max-width:380px){
  .history-metrics{gap:5px!important}
  .history-metrics div{padding:7px 5px}
  .history-metrics small{font-size:.62rem}
  .history-metrics b{font-size:.76rem}
}


/* v31 — leitura mobile, maré e comparação harmonizadas */
.tide-forecast-head{display:grid!important;gap:3px!important;padding:14px 16px!important;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(8,28,39,.96),rgba(5,18,27,.9));margin-top:12px!important}
.tide-forecast-head strong{font-size:1.02rem;line-height:1.25}
.tide-forecast-head small{color:var(--muted);font-size:.76rem}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:9px}
.tide-day{min-width:0!important;padding:11px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:rgba(5,20,30,.62)!important}
.tide-day-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin-bottom:8px}
.tide-day-date{font-size:.86rem!important}
.tide-day-head span{font-size:.68rem!important;color:var(--muted)!important;white-space:nowrap}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-time{min-width:0!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"time" "meta" "kind"!important;gap:2px!important;padding:9px 8px!important;border-radius:11px!important;background:#071923!important;border:1px solid rgba(230,246,252,.08)!important}
.tide-time strong{grid-area:time!important;font-size:1.05rem!important;line-height:1!important;font-variant-numeric:tabular-nums}
.tide-time span{grid-area:meta!important;text-align:left!important;color:var(--muted)!important;font-size:.72rem!important}
.tide-time small{grid-area:kind!important;color:var(--accent)!important;font-size:.67rem!important;font-weight:800!important;text-transform:uppercase}
.tide-caveat,.tide-forecast-head+.tide-days+.status{font-size:.74rem!important;line-height:1.45!important;color:var(--muted)!important;margin-top:8px!important}
.comparison-intro{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;align-items:end!important;gap:14px!important;padding:14px 0 10px!important}
.comparison-intro h3{margin:3px 0 0!important;font-size:1.15rem!important}
.comparison-intro p{margin:0!important;color:var(--muted)!important;font-size:.78rem!important;line-height:1.4!important}
.historical-comparison-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.history-compare-card{min-width:0!important;padding:12px!important;border-radius:15px!important;border:1px solid var(--line)!important}
.history-compare-card header{padding-bottom:8px!important}
.history-metrics{gap:5px!important}
.history-metrics div{padding:7px 6px!important}
.history-metrics small{font-size:.62rem!important}
.history-metrics b{font-size:.8rem!important}
.comparison-signal{display:grid!important;grid-template-columns:auto 1fr!important;gap:3px 10px!important;margin-top:9px!important;padding:12px 14px!important;border:1px solid rgba(66,218,185,.32)!important;border-radius:14px!important;background:rgba(15,67,68,.18)!important}
.comparison-signal span{grid-column:1/-1!important;color:var(--accent)!important;font-size:.68rem!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase}
.comparison-signal strong{font-size:.95rem!important}
.comparison-signal small{align-self:center!important;color:var(--muted)!important;line-height:1.35!important}
.geo-detail-grid{font-size:1rem!important}
.geo-detail-grid b{font-size:1.02rem!important;font-variant-numeric:tabular-nums}
.geo-detail-grid small{font-size:.72rem!important}
.high-visibility .geo-detail-grid b,.high-visibility .moment-grid b{font-size:1.12rem!important}
.high-visibility .geo-detail-grid small,.high-visibility .moment-grid small{font-size:.8rem!important}
.install-app.installed{border-color:rgba(66,218,185,.35)!important;color:var(--accent)!important}
@media(max-width:700px){
  .tide-days{grid-template-columns:1fr!important}
  .tide-day{padding:10px!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-time strong{font-size:1rem!important}
  .comparison-intro{grid-template-columns:1fr!important;gap:5px!important}
  .historical-comparison-cards{grid-template-columns:1fr!important}
  .history-compare-card{padding:11px!important}
  .history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .comparison-signal{grid-template-columns:1fr!important}
  .comparison-signal small{grid-column:1!important}
  .geo-detail-grid{gap:7px!important}
}
@media(max-width:380px){
  .tide-times{gap:5px!important}
  .tide-time{padding:8px 6px!important}
  .tide-time strong{font-size:.94rem!important}
  .tide-time span,.tide-time small{font-size:.64rem!important}
  .history-metrics b{font-size:.74rem!important}
}


/* v31 — legibilidade, localização e maré mobile */
:root{--muted:#a9bbc5}
body{font-size:16px;line-height:1.55}
.status,.badge{font-size:.92rem}
.location-context{display:grid!important;gap:12px!important}
.location-context .geo-title{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;align-items:start!important}
.location-context .geo-title strong{font-size:clamp(1rem,4.4vw,1.25rem)!important;line-height:1.2!important}
.location-context .geo-title span{max-width:none!important;font-size:.82rem!important;line-height:1.35!important;color:var(--muted)}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.geo-detail-grid>div{min-height:62px!important;padding:9px!important}
.geo-detail-grid b{font-size:.86rem!important}
.geo-detail-grid small{font-size:.68rem!important}
.comparison-intro{padding:10px 0 12px!important}
.comparison-intro strong{display:block;line-height:1.35}
.history-trend{color:var(--accent);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.history-compare-card{min-width:0}
.tide-current-head{margin-top:8px!important}
.tide-current-head span{white-space:nowrap}
.tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-event{grid-template-columns:minmax(58px,.7fr) minmax(70px,.9fr) minmax(78px,1fr)!important;min-height:74px!important}
.tide-event strong{font-size:1rem!important}
.tide-event-level{font-weight:800!important;color:var(--text)!important}
.tide-event small{font-size:.72rem!important;color:var(--accent)!important}
.tide-days{gap:8px!important}
.tide-day{padding:11px!important}
.tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-time{padding:9px 6px!important}
.tide-time strong{font-size:.92rem!important}
.tide-time small{font-size:.68rem!important}
.install-app.installed{font-weight:900}
@media(max-width:700px){
  .location-context{padding:12px!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid>div{min-height:58px!important}
  .tide-current-head{display:grid!important;grid-template-columns:1fr!important;gap:3px!important}
  .tide-current-head>span{justify-self:start;font-size:.72rem!important}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:72px minmax(70px,1fr) minmax(82px,1fr)!important}
  .historical-comparison-cards{grid-template-columns:1fr!important}
  .history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:380px){
  body{font-size:15.5px}
  .history-metrics{grid-template-columns:1fr!important}
  .history-metrics div{display:flex;justify-content:space-between;gap:8px;align-items:center}
  .history-metrics small{font-size:.7rem}
  .tide-event{grid-template-columns:64px minmax(64px,1fr) minmax(74px,1fr)!important;gap:5px!important;padding:9px!important}
  .tide-event strong{font-size:.9rem!important}
  .tide-event small{font-size:.65rem!important}
}


/* Fishing comparison: compact, narrative-first, mobile-safe */
.historical-comparison-grid,.historical-comparison-cards{display:grid;gap:10px}
.comparison-intro{display:grid;gap:6px;padding:12px 14px;border:1px solid rgba(65,214,182,.24);border-radius:14px;background:rgba(65,214,182,.055)}
.comparison-intro strong{display:block;font-size:1rem;line-height:1.45}
.comparison-intro small{color:var(--muted);line-height:1.45}
.historical-comparison-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}
.history-compare-card{min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(5,20,30,.42)}
.history-compare-card header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:9px}
.history-compare-card header>div{min-width:0}
.history-compare-card header strong{display:block;font-size:.95rem}
.history-day-label{display:block;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.history-trend{color:var(--muted);font-size:.68rem;text-align:right;max-width:48%}
.history-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.history-metrics div{min-width:0}
.history-metrics small{display:block;color:var(--muted);font-size:.68rem}
.history-metrics b{display:block;margin-top:2px;font-size:.88rem;white-space:nowrap}
@media(max-width:700px){
  .historical-comparison-cards{grid-template-columns:1fr}
  .history-compare-card{padding:11px}
  .history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .history-metrics b{font-size:.82rem}
}


/* Tide timeline — mobile first */
.tide-forecast-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:12px 0 8px}
.tide-forecast-head>div{min-width:0}
.tide-forecast-head strong{display:block;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.tide-forecast-head>small{color:var(--muted);text-align:right;max-width:42%}
.tide-next-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 12px}
.tide-next-summary>div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.42);text-align:center}
.tide-next-summary b{display:block;font-size:1rem}
.tide-next-summary small{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}
.tide-days{display:grid;gap:8px}
.tide-day{border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(5,20,30,.3)}
.tide-day-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.tide-day-head>div{min-width:0}
.tide-day-head .eyebrow{display:block;font-size:.62rem;margin:0 0 1px}
.tide-day-date{font-size:.92rem}
.tide-day-head>span{color:var(--muted);font-size:.68rem;white-space:nowrap}
.tide-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.tide-time{min-width:0;padding:8px 6px;border:1px solid var(--line);border-radius:10px;text-align:center}
.tide-time-clock{display:block;font-size:.9rem;font-weight:800}
.tide-time-level{display:block;font-size:.78rem;margin-top:2px}
.tide-time small{display:block;color:var(--muted);font-size:.62rem;margin-top:2px}
@media(max-width:700px){
 .tide-forecast-head{display:block}
 .tide-forecast-head>small{display:block;text-align:left;max-width:none;margin-top:4px}
 .tide-next-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .tide-next-summary>div{padding:8px 4px}
 .tide-next-summary b{font-size:.86rem}
 .tide-next-summary small{font-size:.6rem}
 .tide-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .tide-time{padding:8px 5px}
 .tide-time-clock{font-size:.9rem}
 .tide-time-level{font-size:.75rem}
}
@media(max-width:360px){
 .tide-next-summary{grid-template-columns:1fr 1fr}
 .tide-next-summary>div:last-child{grid-column:span 2}
 .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Station location hierarchy + readability */
.geo-location-live{display:grid;gap:10px}
.geo-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.geo-title strong{font-size:clamp(1.05rem,3vw,1.35rem);line-height:1.2}
.geo-title span{color:var(--muted);font-size:.76rem}
.geo-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.geo-detail-grid>div{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(5,20,30,.34)}
.geo-detail-grid b{display:block;font-size:.88rem;overflow-wrap:anywhere}
.geo-detail-grid small{display:block;color:var(--muted);font-size:.66rem;margin-top:2px}
.high-visibility .geo-detail-grid b,.high-visibility .moment-grid b{font-size:1rem}
.high-visibility .geo-detail-grid small,.high-visibility .moment-grid small{font-size:.76rem}
@media(max-width:700px){
 .geo-title{display:block}
 .geo-title span{display:block;margin-top:4px}
 .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .geo-detail-grid>div{padding:8px}
}


/* Environmental comparison — decision-oriented, mobile first */
.comparison-reading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:12px;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(5,20,30,.34)}
.comparison-reading>div{min-width:0}
.comparison-reading .eyebrow{display:block;margin-bottom:4px}
.comparison-reading strong{display:block;font-size:1.05rem;line-height:1.3}
.comparison-reading p{margin:7px 0 0;color:var(--muted);line-height:1.45}
.comparison-guidance{display:flex;flex-direction:column;justify-content:center;padding:10px 12px;border-left:1px solid var(--line);gap:4px}
.comparison-guidance b{font-size:.78rem}
.comparison-guidance span{color:var(--muted);font-size:.74rem;line-height:1.4}
.comparison-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
.comparison-signal{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.42)}
.comparison-signal-icon{font-size:1.1rem;flex:0 0 auto}
.comparison-signal div{min-width:0}
.comparison-signal small,.comparison-signal span{display:block;color:var(--muted)}
.comparison-signal small{font-size:.68rem}
.comparison-signal strong{display:block;font-size:.95rem;margin:1px 0}
.comparison-signal span{font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comparison-days{display:flex;gap:7px;margin-top:8px;overflow-x:auto;padding-bottom:2px}
.comparison-days>span{min-width:120px;flex:1;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(5,20,30,.2)}
.comparison-days b{display:block;font-size:.72rem}
.comparison-days small{display:block;color:var(--muted);font-size:.67rem;margin-top:2px}
@media(max-width:700px){
 .comparison-reading{grid-template-columns:1fr;padding:11px}
 .comparison-guidance{border-left:0;border-top:1px solid var(--line);padding:9px 0 0}
 .comparison-signals{grid-template-columns:1fr;gap:6px}
 .comparison-signal{padding:9px}
 .comparison-days>span{min-width:108px}
}


/* Tide forecast — mobile-first */
#tideForecast{min-width:0}
.tide-forecast-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:16px 0 12px;border-bottom:1px solid var(--line)}
.tide-forecast-head>div{min-width:0}
.tide-forecast-head strong{display:block;font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}
.tide-forecast-head small{color:var(--muted);text-align:right}
.tide-next-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.tide-next-summary>div{min-width:0;padding:11px 8px;border:1px solid var(--line);border-radius:12px;text-align:center;background:rgba(5,20,30,.38)}
.tide-next-summary b{display:block;font-size:1.05rem;line-height:1.2}
.tide-next-summary small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
.tide-days{display:grid;gap:8px}
.tide-day{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(5,20,30,.24);min-width:0}
.tide-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.tide-day-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.tide-day-head .eyebrow{font-size:.66rem;white-space:nowrap}
.tide-day-date{font-size:1rem;white-space:nowrap}
.tide-day-head>span{color:var(--muted);font-size:.72rem;white-space:nowrap}
.tide-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.tide-time{min-width:0;padding:9px 5px;border:1px solid var(--line);border-radius:10px;text-align:center;background:rgba(2,14,22,.32)}
.tide-time-clock{display:block;font-size:.95rem;font-weight:800}
.tide-time-level{display:block;margin-top:2px;font-size:.78rem}
.tide-time small{display:block;margin-top:3px;color:var(--muted);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tide-forecast-head+.tide-next-summary{}
@media(max-width:560px){
  .tide-forecast-head{display:block;padding:12px 0}
  .tide-forecast-head small{display:block;text-align:left;margin-top:5px}
  .tide-next-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .tide-next-summary>div{padding:9px 4px}
  .tide-next-summary b{font-size:.92rem}
  .tide-next-summary small{font-size:.64rem}
  .tide-day{padding:10px}
  .tide-day-head{margin-bottom:8px}
  .tide-day-head>div{gap:5px}
  .tide-day-head .eyebrow{font-size:.6rem}
  .tide-day-date{font-size:.92rem}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .tide-time{padding:8px 4px}
}
@media(max-width:360px){
  .tide-next-summary{grid-template-columns:1fr}
  .tide-next-summary>div{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:8px 10px}
  .tide-next-summary small{margin-top:0}
  .tide-times{grid-template-columns:1fr 1fr}
}

/* Recent environmental comparison — hierarchy */
#historicalComparison .comparison-reading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(5,20,30,.3)}
#historicalComparison .comparison-reading strong{display:block;margin-top:4px;font-size:1.35rem;line-height:1.2}
#historicalComparison .comparison-reading p{margin:7px 0 0;color:var(--muted);line-height:1.5}
#historicalComparison .comparison-guidance{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px;border-radius:12px;background:rgba(0,0,0,.12)}
#historicalComparison .comparison-guidance b{font-size:.82rem}
#historicalComparison .comparison-guidance span{font-size:.78rem;line-height:1.45;color:var(--muted)}
#historicalComparison .comparison-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
#historicalComparison .comparison-signal{min-width:0}
#historicalComparison .comparison-days{display:flex;gap:7px;margin-top:8px}
#historicalComparison .comparison-days>span{flex:1;min-width:0;padding:9px;border:1px solid var(--line);border-radius:10px}
#historicalComparison .comparison-days b,#historicalComparison .comparison-days small{display:block}
#historicalComparison .comparison-days b{font-size:.78rem}
#historicalComparison .comparison-days small{margin-top:3px;color:var(--muted)}
@media(max-width:650px){
 #historicalComparison .comparison-reading{grid-template-columns:1fr;padding:13px}
 #historicalComparison .comparison-signals{grid-template-columns:1fr 1fr}
 #historicalComparison .comparison-signal:last-child{grid-column:1/-1}
 #historicalComparison .comparison-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:390px){
 #historicalComparison .comparison-signals{grid-template-columns:1fr}
 #historicalComparison .comparison-signal:last-child{grid-column:auto}
 #historicalComparison .comparison-days{grid-template-columns:1fr}
}


/* Station polish v6 — mobile-first readability */
.location-context{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);gap:14px;align-items:center;padding:15px!important}
.geo-title strong{font-size:1.18rem;line-height:1.25;display:block}
.geo-title span{display:block;color:var(--muted);margin-top:5px;line-height:1.35}
.geo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.geo-detail-grid>div{min-width:0;padding:9px 10px!important;border:1px solid var(--line);border-radius:11px;background:rgba(5,20,30,.3)}
.geo-detail-grid b{display:block;font-size:.98rem;line-height:1.15;font-variant-numeric:tabular-nums}
.geo-detail-grid small{display:block;color:var(--muted);font-size:.66rem;margin-top:3px}
.moment-season-card{border-color:rgba(79,224,190,.36)!important;background:linear-gradient(145deg,rgba(11,42,40,.82),rgba(8,25,35,.82))!important}
.moment-season-card b{color:var(--accent-strong)!important}
.decision-reading{display:grid;gap:9px;padding:14px;border:1px solid rgba(79,224,190,.28);border-radius:16px;background:linear-gradient(145deg,rgba(9,42,43,.62),rgba(5,20,30,.42))}
.decision-reading strong{font-size:1.08rem;line-height:1.3}
.decision-reading p{margin:0;color:var(--muted);line-height:1.45}
.decision-reading-metrics{display:flex;flex-wrap:wrap;gap:6px;color:var(--text);font-size:.78rem}
.decision-reading-metrics{padding-top:3px}
.decision-reading>div:not(.decision-reading-metrics){line-height:1.45}
.decision-reading small{color:var(--muted);line-height:1.35}
.tide-timeline{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.tide-event{display:grid!important;grid-template-columns:78px minmax(55px,1fr) auto!important;align-items:center;gap:8px!important;min-width:0;padding:11px 10px!important;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.42)}
.tide-event strong{font-size:1.05rem!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.tide-event-level{font-weight:800;font-variant-numeric:tabular-nums}
.tide-event small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tide-event small::first-letter{color:var(--accent-strong)}
.tide-day{min-width:0}
.tide-day-head{min-width:0}
.tide-day-head strong,.tide-day-head span{overflow-wrap:anywhere}
.comparison-intro{gap:7px!important}
.comparison-intro p{margin:0!important;line-height:1.45}
.comparison-signal{min-height:74px}
.high-visibility{font-size:18px}
.high-visibility .lead,.high-visibility .status,.high-visibility small{line-height:1.45}
.high-visibility .moment-grid b,.high-visibility .change-grid b{font-size:1.05rem}
.high-visibility button{min-height:48px}
.high-visibility .geo-detail-grid b{font-size:1.05rem}
@media(max-width:700px){
 .location-context{grid-template-columns:1fr!important;gap:10px!important}
 .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tide-timeline{grid-template-columns:1fr!important}
 .tide-event{grid-template-columns:76px minmax(55px,1fr) auto!important}
 .tide-event strong{font-size:1rem!important}
 .tide-event small{font-size:.7rem!important}
 #historicalComparison .comparison-reading{padding:12px!important}
 #historicalComparison .comparison-signals{grid-template-columns:1fr!important}
 #historicalComparison .comparison-signal:last-child{grid-column:auto!important}
 #historicalComparison .comparison-days{display:grid!important;grid-template-columns:1fr!important}
 .comparison-days>span{min-width:0}
}
@media(max-width:380px){
 .geo-detail-grid>div{padding:8px!important}
 .tide-event{grid-template-columns:68px minmax(48px,1fr) auto!important;padding:9px 8px!important}
 .tide-event small{font-size:.64rem!important}
 .tide-event strong{font-size:.94rem!important}
}


/* v32 — mobile field readability, tide cards and decision context */
:root{--muted:#b5c5ce}
body{font-size:16px;line-height:1.55}
button,a,input,select{font-size:1rem}
.status,.badge{font-size:.94rem}
.location-context,.moment-readout,.panel,.ai-box{border-radius:18px}
.geo-detail-grid{gap:10px}
.geo-detail-grid>div{min-width:0;padding:9px 10px;border-radius:12px;background:rgba(3,16,24,.46);border:1px solid rgba(255,255,255,.08)}
.geo-detail-grid b{display:block;overflow-wrap:anywhere}
.geo-detail-grid small{display:block;margin-top:2px}
.tide-next-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px!important;margin:10px 0!important}
.tide-next-summary>div{min-width:0;padding:12px 9px;border:1px solid var(--line);border-radius:14px;background:rgba(5,20,30,.62);text-align:center}
.tide-next-summary b{display:block;font-size:1.08rem;font-variant-numeric:tabular-nums}
.tide-next-summary small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
.tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-time{grid-template-areas:"time" "level" "kind"!important}
.tide-time-clock{grid-area:time!important;display:block!important;font-size:1.08rem!important;font-weight:850!important;white-space:nowrap}
.tide-time-level{grid-area:level!important;display:block!important;font-size:.8rem!important;color:var(--text)!important;white-space:nowrap}
.tide-time small{grid-area:kind!important}
.context-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.context-day{min-width:0;padding:12px;border:1px solid var(--line);border-radius:15px;background:rgba(5,20,30,.62)}
.context-day header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}
.context-day header span{font-weight:850}
.context-day header b{font-size:.68rem;color:var(--accent);text-transform:uppercase}
.context-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.context-metrics div{min-width:0;padding:7px;border-radius:9px;background:rgba(2,12,19,.38)}
.context-metrics small{display:block;color:var(--muted);font-size:.68rem}
.context-metrics strong{display:block;margin-top:2px;font-size:.82rem;white-space:nowrap}
.context-summary{padding:11px 13px;border:1px solid rgba(70,214,181,.28);border-radius:14px;background:rgba(70,214,181,.07)}
.context-summary span{display:block;color:var(--muted);font-size:.72rem}
.context-summary strong{display:block;margin-top:3px;font-size:.98rem}
.comparison-note{display:block;margin-top:9px;color:var(--muted);font-size:.78rem;line-height:1.45}
.comparison-empty{padding:14px;border:1px solid var(--line);border-radius:14px;color:var(--muted)}
@media(max-width:700px){
  .tide-next-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important}
  .tide-next-summary>div{padding:10px 5px}
  .tide-next-summary b{font-size:.95rem}
  .tide-next-summary small{font-size:.66rem}
  .tide-days{grid-template-columns:1fr!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .context-days{grid-template-columns:1fr!important}
  .context-day{padding:11px}
  .context-metrics strong{font-size:.8rem}
}
@media(max-width:380px){
  .tide-next-summary{grid-template-columns:1fr!important}
  .tide-next-summary>div{display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:left;padding:9px 11px}
  .tide-next-summary b{font-size:1rem}
  .tide-next-summary small{text-align:right}
  .tide-times{grid-template-columns:1fr!important}
  .geo-detail-grid{grid-template-columns:1fr 1fr!important}
}
.high-visibility body,.high-visibility{letter-spacing:.01em}
.high-visibility .muted,.high-visibility small,.high-visibility .status{color:#c5d2d9}


/* Comparativo ambiental — leitura rápida e mobile-first */
.historical-comparison-grid{display:block!important}
.historical-comparison-grid .comparison-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(190px,.8fr);gap:14px;align-items:stretch;padding:12px 0}
.historical-comparison-grid .comparison-intro h3{margin:4px 0 5px;font-size:1.08rem}
.historical-comparison-grid .comparison-intro p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}
.historical-comparison-grid .context-summary{display:flex;flex-direction:column;justify-content:center}
.historical-comparison-grid .context-days{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.historical-comparison-grid .context-day{min-width:0;padding:12px}
.historical-comparison-grid .context-day header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.historical-comparison-grid .context-day header>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.historical-comparison-grid .context-day header strong{font-size:.9rem}
.historical-comparison-grid .context-day header>b{font-size:.62rem;color:var(--accent);letter-spacing:.08em}
.historical-comparison-grid .context-day.current{border-color:rgba(67,211,180,.45);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.historical-comparison-grid .context-metrics{grid-template-columns:1fr!important;gap:6px}
.historical-comparison-grid .context-metrics div{padding:8px 9px}
.historical-comparison-grid .context-metrics strong{font-size:.88rem}
.historical-comparison-grid .history-change{margin-top:8px;color:var(--muted);font-size:.7rem;line-height:1.35}
@media(max-width:700px){
  .historical-comparison-grid .comparison-intro{grid-template-columns:1fr;gap:8px}
  .historical-comparison-grid .context-summary{padding:10px 12px}
  .historical-comparison-grid .context-days{grid-template-columns:1fr!important;gap:7px}
  .historical-comparison-grid .context-day{padding:11px}
  .historical-comparison-grid .context-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .historical-comparison-grid .context-metrics div{padding:7px 6px}
  .historical-comparison-grid .context-metrics small{font-size:.62rem}
  .historical-comparison-grid .context-metrics strong{font-size:.78rem}
}
@media(max-width:380px){
  .historical-comparison-grid .context-metrics{grid-template-columns:1fr!important}
}

/* Dados geográficos: uma única apresentação, sem duplicação visual */
.location-context .geo-detail-grid{gap:7px}
.location-context .geo-detail-grid>div{overflow:hidden}
.location-context .geo-detail-grid b{font-size:clamp(.82rem,3.1vw,1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.location-context .geo-detail-grid small{font-size:.65rem}


/* Leitura de contexto: compacta, hierárquica e legível no celular */
.comparison-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.85fr);gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(12,39,50,.92),rgba(4,19,28,.96));align-items:stretch}
.comparison-intro h3{margin:4px 0 6px;font-size:1.15rem}
.comparison-intro p{margin:0;color:var(--muted);line-height:1.55}
.context-summary{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.025)}
.context-summary small{color:var(--muted)}
.context-summary strong{font-size:1rem}
.context-summary span{font-size:.82rem;color:var(--muted)}
.context-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.context-day{min-width:0;padding:13px;border:1px solid var(--line);border-radius:14px;background:#071721}
.context-day.current{border-color:rgba(67,211,181,.55);box-shadow:inset 0 0 0 1px rgba(67,211,181,.08)}
.context-day-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}
.context-day-top span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.context-day-top strong{font-size:.85rem}
.context-signal{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
.context-signal span{color:var(--muted);font-size:.76rem}
.context-signal b{font-size:.82rem}
.comparison-reading{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:12px 14px;border-left:3px solid var(--accent);border-radius:0 12px 12px 0;background:rgba(67,211,181,.06)}
.comparison-reading span{color:var(--accent);font-weight:700;font-size:.78rem;white-space:nowrap}
.comparison-reading strong{font-size:.86rem;line-height:1.45}
.comparison-note{display:block;margin-top:8px;color:var(--muted)}
.geo-location-live{overflow:hidden}
.geo-title{min-width:0}
.geo-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geo-title span{display:block;margin-top:3px}
.geo-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.geo-detail-grid>div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(4,17,25,.55)}
.geo-detail-grid b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}
.geo-detail-grid small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}
.install-app.installed{opacity:.82}
@media(max-width:700px){
 .comparison-intro{grid-template-columns:1fr;padding:13px}
 .context-days{grid-template-columns:1fr}
 .context-day{padding:11px}
 .context-day:not(.current){background:rgba(7,23,33,.7)}
 .comparison-reading{display:block}
 .comparison-reading span{display:block;margin-bottom:4px}
 .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .geo-detail-grid>div{padding:8px}
}
@media(max-width:380px){
 .geo-detail-grid{grid-template-columns:1fr 1fr}
 .context-summary strong{font-size:.9rem}
}


/* Maré: hierarquia visual própria, sem texto comprimido */
.tide-today-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.tide-event{min-width:0;padding:11px;border:1px solid var(--line);border-radius:13px;background:#071721;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}
.tide-event strong{font-size:1rem;white-space:nowrap}
.tide-event-level{font-size:.9rem;font-weight:700;white-space:nowrap}
.tide-event small{grid-column:1/-1;margin-top:4px;color:var(--muted);font-size:.72rem}
.tide-forecast-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:#071721}
.tide-forecast-head strong{display:block;margin-top:4px;font-size:1rem;line-height:1.3}
.tide-forecast-head small{color:var(--muted);text-align:right}
.tide-next-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.tide-next-summary>div{padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.55);text-align:center}
.tide-next-summary b{display:block;font-size:.95rem}
.tide-next-summary small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}
.tide-days{display:grid;gap:7px;margin-top:9px}
.tide-day{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.35)}
.tide-day-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.tide-day-head>div{display:flex;align-items:baseline;gap:8px}
.tide-day-head .eyebrow{font-size:.65rem}
.tide-day-head>span{color:var(--muted);font-size:.7rem}
.tide-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.tide-time{min-width:0;padding:7px 6px;border-radius:9px;background:rgba(255,255,255,.025);text-align:center}
.tide-time-clock{display:block;font-size:.85rem;font-weight:800}
.tide-time-level{display:block;margin-top:2px;font-size:.75rem}
.tide-time small{display:block;margin-top:2px;color:var(--muted);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tide-caveat{line-height:1.45}
@media(max-width:700px){
 .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tide-event{padding:9px}
 .tide-event strong{font-size:.9rem}
 .tide-event-level{font-size:.8rem}
 .tide-forecast-head{display:block;padding:12px}
 .tide-forecast-head small{display:block;margin-top:5px;text-align:left}
 .tide-next-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .tide-next-summary>div{padding:8px 4px}
 .tide-next-summary b{font-size:.82rem}
 .tide-next-summary small{font-size:.62rem}
 .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tide-time{padding:8px 5px}
}
@media(max-width:390px){
 .tide-today-grid{grid-template-columns:1fr}
 .tide-next-summary{grid-template-columns:1fr 1fr}
 .tide-next-summary>div:last-child{grid-column:1/-1}
 .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v34 — mobile-first final harmonization */
.location-context{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid rgba(67,224,189,.42)!important;
  border-left:1px solid rgba(67,224,189,.42)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(15,53,64,.82),rgba(6,25,35,.88))!important;
}
.location-context .geo-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:end}
.location-context .geo-title strong{font-size:1.05rem!important;line-height:1.2}
.location-context .geo-title span{font-size:.72rem!important;text-align:right}
.location-context .geo-detail-grid{margin-top:0!important}
.geo-detail-grid>div{display:flex;flex-direction:column;justify-content:center;min-height:56px}
.geo-detail-grid b{font-size:.92rem!important}
.geo-detail-grid small{font-size:.67rem!important}
.comparison-decision{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:12px;padding:14px;border:1px solid rgba(67,224,189,.34);border-radius:16px;background:linear-gradient(145deg,rgba(11,39,49,.84),rgba(5,20,29,.82))}
.comparison-decision h3{margin:3px 0 5px;font-size:1.08rem}
.comparison-decision p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}
.comparison-action{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:11px 13px;border-left:1px solid var(--line)}
.comparison-action small{color:var(--accent);font-size:.68rem;font-weight:900;letter-spacing:.08em}
.comparison-action strong{font-size:.82rem;line-height:1.4}
.comparison-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
.comparison-signal{display:flex;gap:8px;align-items:center;min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.52)}
.comparison-signal-icon{font-size:1.05rem;flex:0 0 auto}
.comparison-signal div{min-width:0}
.comparison-signal small,.comparison-signal span{display:block;color:var(--muted)}
.comparison-signal small{font-size:.64rem}
.comparison-signal strong{display:block;font-size:.9rem;line-height:1.15}
.comparison-signal span{font-size:.62rem;margin-top:2px}
.comparison-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
.comparison-day{min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.44)}
.comparison-day.active{border-color:rgba(67,224,189,.42);background:rgba(67,224,189,.07)}
.comparison-day-head{display:flex;justify-content:space-between;gap:7px;align-items:center;padding-bottom:7px;border-bottom:1px solid var(--line)}
.comparison-day-head span{font-weight:850;font-size:.78rem}
.comparison-day-head b{color:var(--accent);font-size:.67rem}
.comparison-day-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.comparison-day-main div{min-width:0}
.comparison-day-main small{display:block;color:var(--muted);font-size:.62rem}
.comparison-day-main strong{display:block;font-size:.78rem;margin-top:2px;white-space:nowrap}
.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:13px!important;border:1px solid var(--line)!important;border-radius:15px!important;background:rgba(5,20,30,.55)!important}
.tide-current-head strong{font-size:1rem!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.tide-current-head small{display:block!important;margin-top:4px!important;white-space:normal!important;line-height:1.3!important}
.tide-current-badge{min-width:84px;text-align:center;padding:8px 9px;border-radius:12px;background:rgba(67,224,189,.10);border:1px solid rgba(67,224,189,.28)}
.tide-current-badge b{display:block;font-size:1.05rem}
.tide-current-badge small{margin-top:1px!important;font-size:.62rem}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:9px}
.tide-event{display:grid!important;grid-template-columns:1fr!important;gap:2px!important;align-content:center!important;min-height:70px!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:rgba(5,20,30,.48)!important}
.tide-event strong{font-size:1.05rem!important;font-variant-numeric:tabular-nums!important}
.tide-event-level{font-size:.82rem!important;color:var(--text)!important}
.tide-event small{text-align:left!important;font-size:.64rem!important;white-space:normal!important}
.tide-reading{display:grid;grid-template-columns:auto 1fr;gap:4px 9px;margin-top:9px;padding:10px 12px;border-radius:13px;background:rgba(67,224,189,.06);border:1px solid rgba(67,224,189,.18)}
.tide-reading span{color:var(--muted);font-size:.7rem}
.tide-reading strong{font-size:.78rem}
.tide-reading small{grid-column:1/-1;color:var(--muted);font-size:.67rem}
.tide-caveat{line-height:1.4!important}
.install-app.installed{color:var(--accent)!important;border-color:rgba(67,224,189,.38)!important}
@media(max-width:700px){
  .location-context .geo-title{grid-template-columns:1fr!important}
  .location-context .geo-title span{text-align:left!important}
  .comparison-decision{grid-template-columns:1fr!important;gap:9px!important}
  .comparison-action{border-left:0!important;border-top:1px solid var(--line);padding:9px 0 0}
  .comparison-signals{grid-template-columns:1fr!important}
  .comparison-days{grid-template-columns:1fr!important}
  .comparison-day-main{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:74px 80px minmax(0,1fr)!important;min-height:54px!important;align-items:center!important}
  .tide-event small{text-align:right!important}
  .tide-current-head{grid-template-columns:minmax(0,1fr) 82px!important}
}
@media(max-width:380px){
  body{font-size:16px!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid b{font-size:.88rem!important}
  .geo-detail-grid small{font-size:.64rem!important}
  .tide-event{grid-template-columns:68px 70px minmax(0,1fr)!important;padding:8px!important}
  .tide-event strong{font-size:.96rem!important}
  .tide-event-level{font-size:.76rem!important}
  .tide-event small{font-size:.6rem!important}
}
.high-visibility .location-context,.high-visibility .comparison-decision,.high-visibility .tide-event{font-size:1.02rem!important}
.high-visibility .comparison-signal strong,.high-visibility .comparison-day-main strong,.high-visibility .tide-event strong{font-size:1rem!important}


/* v35 — forecast and decision cards, strict small-screen rhythm */
.forecast-days{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px!important}
.forecast-day{min-width:0!important;border:1px solid var(--line)!important;border-radius:14px!important;background:rgba(5,20,30,.48)!important;padding:11px!important}
.forecast-day-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:start!important}
.forecast-day-head strong{display:block!important;overflow-wrap:anywhere!important}
.forecast-day-main{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:2px!important}
.period-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin-top:8px!important}
.period-card{min-width:0!important;padding:7px!important;border:1px solid rgba(220,245,255,.12)!important;border-radius:10px!important;background:rgba(2,12,19,.36)!important}
.period-card b{display:block!important;font-size:.68rem!important;color:var(--accent)!important}
.period-card span{display:block!important;font-size:.7rem!important;white-space:nowrap!important}
.period-card small{display:block!important;font-size:.58rem!important;color:var(--muted)!important;line-height:1.25!important}
@media(max-width:700px){
  .forecast-days{grid-template-columns:1fr!important}
  .forecast-day{padding:11px!important}
  .period-grid{grid-template-columns:1fr!important}
  .period-card{display:grid!important;grid-template-columns:60px minmax(0,1fr)!important;gap:3px 7px!important;align-items:center!important}
  .period-card b{grid-row:1 / span 2}
  .period-card span,.period-card small{margin:0!important}
  .forecast-day-main{align-items:flex-end!important}
}
@media(max-width:380px){
  .forecast-day-head{grid-template-columns:minmax(0,1fr) 72px!important}
  .forecast-day-main b{font-size:1rem!important}
  .forecast-day-main span{font-size:.7rem!important}
}


/* Final UX pass — mobile legibility, tide rhythm and comparison hierarchy */
:root{--muted:#a8bbc6}
.status,.badge{font-size:.9rem}
.geo-location-live .geo-title span,.data-transparency,.comparison-note,.tide-caveat{color:#a8bbc6}
.comparison-days-title{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:10px 0 6px}
.comparison-days-title span{font-weight:800}
.comparison-days-title small{color:var(--muted)}
.tide-current-head{align-items:center}
.tide-current-badge{min-width:92px;text-align:center}
.tide-timeline{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
.tide-event{min-width:0!important;border:1px solid var(--line)!important;border-radius:14px!important;background:rgba(7,22,31,.72)!important;padding:11px!important;display:grid!important;grid-template-columns:1fr!important;gap:3px!important;text-align:center!important}
.tide-event strong{font-size:1.05rem!important}
.tide-event-level{font-size:.9rem!important;color:var(--text)!important}
.tide-event small{font-size:.72rem!important;color:var(--muted)!important;text-align:center!important;white-space:normal!important}
.tide-reading{margin-top:8px!important}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
.tide-day{min-width:0!important;border:1px solid var(--line)!important;border-radius:14px!important;background:rgba(7,22,31,.6)!important;padding:11px!important}
.tide-day-head{display:flex!important;justify-content:space-between!important;gap:8px!important;align-items:center!important}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;margin-top:8px!important}
.tide-time{min-width:0!important;border-radius:10px!important;padding:8px 6px!important;background:rgba(2,12,19,.5)!important;text-align:center!important}
.tide-time-clock{display:block!important;font-size:1rem!important;font-weight:900!important}
.tide-time-level{display:block!important;font-size:.78rem!important;margin-top:2px!important}
.tide-time small{display:block!important;font-size:.65rem!important;color:var(--muted)!important;margin-top:2px!important}
.map-actions{gap:7px!important}
.map-actions .map-mode-btn{min-height:42px!important}
@media(max-width:700px){
  body{font-size:16px}
  .comparison-days-title{display:block}
  .comparison-days-title small{display:block;margin-top:2px}
  .comparison-days{gap:7px!important}
  .comparison-day{padding:10px!important}
  .comparison-day-main{gap:5px!important}
  .comparison-day-main small{font-size:.68rem!important}
  .comparison-day-main strong{font-size:.9rem!important}
  .comparison-signals{gap:7px!important}
  .comparison-signal{padding:9px!important}
  .comparison-signal strong{font-size:1rem!important}
  .tide-timeline{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:82px 86px minmax(0,1fr)!important;text-align:left!important;align-items:center!important}
  .tide-event small{text-align:right!important}
  .tide-days{grid-template-columns:1fr!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-forecast-head{padding:6px 0 8px!important}
  .tide-next-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .tide-next-summary>div{padding:8px 5px!important}
  .tide-next-summary b{font-size:.9rem!important}
  .tide-next-summary small{font-size:.62rem!important}
  .location-context{padding:12px!important}
  .location-context .geo-title strong{font-size:1.05rem!important}
  .location-context .geo-title span{font-size:.82rem!important}
  .geo-detail-grid{gap:7px!important}
  .geo-detail-grid b{font-size:1rem!important}
  .geo-detail-grid small{font-size:.7rem!important;color:#a8bbc6!important}
  .display-header p{font-size:.88rem!important}
  .status{font-size:.88rem!important}
}
@media(max-width:380px){
  .tide-event{grid-template-columns:74px 74px minmax(0,1fr)!important;padding:9px 7px!important}
  .tide-event strong{font-size:.95rem!important}
  .tide-event-level{font-size:.8rem!important}
  .tide-event small{font-size:.62rem!important}
  .tide-time-clock{font-size:.92rem!important}
}


/* v36 — mobile-first maré, comparação e baixa visão */
.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(92px,120px)!important;gap:12px!important;align-items:center!important;padding:12px 0!important}
.tide-current-head>div:first-child{min-width:0!important}
.tide-current-head strong{display:block!important;font-size:clamp(.9rem,2.5vw,1.05rem)!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.tide-current-head small{display:block!important;margin-top:4px!important;color:var(--muted)!important;line-height:1.35!important}
.tide-current-badge{min-width:0!important;padding:10px 8px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(67,211,181,.06)!important}
.tide-current-badge b,.tide-current-badge small{display:block!important;text-align:center!important}
.tide-current-badge b{font-size:1.05rem!important}
.tide-timeline{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.tide-event{min-width:0!important;padding:10px!important;display:grid!important;grid-template-columns:1fr!important;gap:3px!important;text-align:center!important}
.tide-event strong{font-size:1rem!important}
.tide-event-level{font-size:.82rem!important}
.tide-event small{font-size:.7rem!important;white-space:normal!important}
.tide-reading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.42)!important}
.tide-reading span,.tide-reading strong,.tide-reading small{display:block!important}
.tide-reading small{color:var(--muted)!important;margin-top:3px!important}
.tide-forecast-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important;padding:12px 0!important}
.tide-forecast-head>div{min-width:0!important}
.tide-forecast-head strong{display:block!important;overflow-wrap:anywhere!important;line-height:1.3!important}
.tide-forecast-head>small{color:var(--muted)!important;text-align:right!important}
.tide-next-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:8px 0 12px!important}
.tide-next-summary>div{min-width:0!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.42)!important;text-align:center!important}
.tide-next-summary b,.tide-next-summary small{display:block!important}
.tide-next-summary b{font-size:1rem!important}
.tide-next-summary small{font-size:.68rem!important;color:var(--muted)!important;margin-top:3px!important}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.tide-day{min-width:0!important;padding:10px!important}
.tide-day-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.tide-day-head>div{min-width:0!important}
.tide-day-head strong{display:block!important}
.tide-day-head>span{white-space:nowrap!important;color:var(--muted)!important;font-size:.7rem!important}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-time{min-width:0!important;padding:8px 5px!important}
.tide-time-clock,.tide-time-level,.tide-time small{display:block!important}
.tide-time-clock{font-size:.95rem!important}
.tide-time-level{font-size:.78rem!important}
.tide-time small{font-size:.63rem!important;color:var(--muted)!important;white-space:normal!important}
.tide-caveat{line-height:1.4!important}

.comparison-decision{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(220px,.85fr)!important;gap:12px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(10,37,48,.9),rgba(5,18,27,.96))!important}
.comparison-decision-main{min-width:0!important}
.comparison-decision h3{margin:4px 0 5px!important;font-size:1.15rem!important}
.comparison-decision p{margin:0!important;line-height:1.45!important;color:var(--muted)!important}
.comparison-action{display:flex!important;flex-direction:column!important;justify-content:center!important;padding:12px!important;border-radius:12px!important;background:rgba(67,211,181,.06)!important}
.comparison-action small{color:var(--accent)!important;font-weight:900!important;letter-spacing:.06em!important}
.comparison-action strong{margin-top:5px!important;line-height:1.35!important}
.comparison-deltas{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:9px 0!important}
.comparison-deltas>div{min-width:0!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.4)!important}
.comparison-deltas span,.comparison-deltas b,.comparison-deltas small{display:block!important}
.comparison-deltas span{font-size:.72rem!important;color:var(--muted)!important}
.comparison-deltas b{font-size:1rem!important;margin-top:3px!important}
.comparison-deltas small{font-size:.65rem!important;color:var(--muted)!important;margin-top:2px!important}
.historical-comparison-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.history-compare-card{min-width:0!important;padding:11px!important}
.history-compare-card header{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:8px!important;margin-bottom:9px!important}
.history-compare-card header strong{font-size:.84rem!important}
.history-metric-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
.history-metric-row>div{min-width:0!important}
.history-metric-row small,.history-metric-row b{display:block!important}
.history-metric-row small{font-size:.62rem!important;color:var(--muted)!important}
.history-metric-row b{font-size:.8rem!important;margin-top:2px!important;overflow-wrap:anywhere!important}

.high-visibility{font-size:18px!important}
.high-visibility .status,.high-visibility small,.high-visibility .lead,.high-visibility .geo-title span,.high-visibility .geo-detail-grid small{font-size:1rem!important;line-height:1.45!important}
.high-visibility .location-context,.high-visibility .panel,.high-visibility .ai-box{line-height:1.5!important}
.high-visibility button,.high-visibility a{font-size:1rem!important}
.high-visibility .moment-grid b,.high-visibility .moment-extra b{font-size:1.05rem!important}
.high-visibility .moment-grid small,.high-visibility .moment-extra small{font-size:.82rem!important}

@media(max-width:700px){
 .tide-current-head{grid-template-columns:minmax(0,1fr) 88px!important;gap:8px!important}
 .tide-current-badge{padding:8px 5px!important}
 .tide-current-badge b{font-size:.95rem!important}
 .tide-timeline{grid-template-columns:1fr!important}
 .tide-event{grid-template-columns:72px 78px minmax(0,1fr)!important;text-align:left!important;align-items:center!important}
 .tide-event small{text-align:right!important}
 .tide-reading{grid-template-columns:1fr!important}
 .tide-forecast-head{grid-template-columns:1fr!important;align-items:start!important}
 .tide-forecast-head>small{text-align:left!important}
 .tide-next-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
 .tide-next-summary>div{padding:8px 4px!important}
 .tide-next-summary b{font-size:.88rem!important}
 .tide-next-summary small{font-size:.61rem!important}
 .tide-days{grid-template-columns:1fr!important}
 .comparison-decision{grid-template-columns:1fr!important}
 .comparison-action{margin-top:2px!important}
 .comparison-deltas{grid-template-columns:1fr!important}
 .historical-comparison-grid{grid-template-columns:1fr!important}
 .history-metric-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:380px){
 .tide-current-head{grid-template-columns:minmax(0,1fr) 80px!important}
 .tide-event{grid-template-columns:64px 68px minmax(0,1fr)!important;padding:8px 6px!important}
 .tide-event strong{font-size:.9rem!important}
 .tide-event-level{font-size:.74rem!important}
 .tide-event small{font-size:.58rem!important}
 .history-metric-row b{font-size:.74rem!important}
}

/* Comparação ambiental v2: síntese primeiro, números como apoio */
.history-comparison.panel-subcard{padding:14px!important}
.historical-comparison-grid{display:block!important}
.compare-insight{padding:2px 2px 12px}
.compare-insight h3{margin:5px 0 7px;font-size:1.18rem;line-height:1.2}
.compare-insight p{margin:0;color:#bfd0d9;line-height:1.48;max-width:72ch}
.compare-action{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:10px 11px;border:1px solid rgba(67,214,185,.28);border-radius:12px;background:rgba(67,214,185,.07)}
.compare-action b{white-space:nowrap;color:#70e5cf}.compare-action span{line-height:1.38}
.compare-delta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 9px}
.compare-delta-strip>div{padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(3,16,24,.5)}
.compare-delta-strip small,.compare-delta-strip b{display:block}.compare-delta-strip small{color:var(--muted);font-size:.7rem}.compare-delta-strip b{margin-top:2px;font-size:.98rem}
.compare-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.compare-day{min-width:0;padding:9px 10px;border-radius:11px;background:rgba(7,22,31,.55)}
.compare-day span,.compare-day strong,.compare-day small{display:block}.compare-day span{font-size:.62rem;letter-spacing:.12em;color:#70e5cf;font-weight:900}.compare-day strong{font-size:.86rem;margin:2px 0}.compare-day small{font-size:.72rem;color:#a8bbc6;white-space:normal;line-height:1.35}
.comparison-note{display:block;margin-top:8px;color:#8fa4af}
@media(max-width:700px){
 .compare-insight h3{font-size:1.08rem}
 .compare-action{display:block}.compare-action b{display:block;margin-bottom:4px}
 .compare-delta-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .compare-delta-strip>div{padding:8px 6px}.compare-delta-strip b{font-size:.82rem}
 .compare-days{grid-template-columns:1fr}
 .compare-day{display:grid;grid-template-columns:52px 82px minmax(0,1fr);align-items:center;gap:6px}
 .compare-day strong{margin:0}.compare-day small{text-align:right}
}
@media(max-width:380px){
 .compare-delta-strip{grid-template-columns:1fr}
 .compare-delta-strip>div{display:flex;justify-content:space-between;align-items:center}
 .compare-day{grid-template-columns:48px 76px minmax(0,1fr)}
}


/* v32 — acabamento final mobile: maré, comparação, localização e acessibilidade */
.location-context{padding:14px!important;border-radius:18px!important;display:grid!important;gap:12px!important}
.location-context .geo-title{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
.location-context .geo-title strong{font-size:clamp(1.02rem,4.8vw,1.3rem)!important;line-height:1.25!important}
.location-context .geo-title span{font-size:.82rem!important;line-height:1.4!important;color:var(--muted)!important}
.geo-detail-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.geo-detail-grid>div{min-width:0!important;min-height:64px!important;padding:9px 8px!important;border:1px solid rgba(220,240,248,.11)!important;border-radius:12px!important;background:rgba(3,15,23,.34)!important}
.geo-detail-grid b{display:block!important;font-size:.92rem!important;line-height:1.2!important;overflow-wrap:anywhere!important;font-variant-numeric:tabular-nums!important}
.geo-detail-grid small{display:block!important;margin-top:4px!important;font-size:.68rem!important;line-height:1.25!important;color:var(--muted)!important}

.moment-grid{gap:6px!important}
.moment-grid>div,.moment-extra>div,.moment-season-card{min-width:0!important;overflow:hidden!important}
.moment-season-card{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;padding:9px 10px!important;margin-top:6px!important;border:1px solid rgba(66,218,185,.22)!important;border-radius:12px!important;background:rgba(17,72,71,.16)!important}
.moment-season-card b{font-size:.9rem!important;line-height:1.2!important;color:var(--accent-strong)!important}
.moment-season-card small{font-size:.68rem!important;color:var(--muted)!important}

.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(104px,128px)!important;gap:10px!important;align-items:center!important;padding:13px!important;margin-top:10px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(8,30,41,.94),rgba(5,18,27,.88))!important}
.tide-current-head>div:first-child{min-width:0!important}
.tide-current-head .eyebrow{display:block!important;margin-bottom:3px!important}
.tide-current-head strong{display:block!important;font-size:1rem!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.tide-current-head small{display:block!important;margin-top:4px!important;color:var(--muted)!important;font-size:.72rem!important;line-height:1.3!important}
.tide-current-badge{min-width:0!important;text-align:center!important;padding:10px 7px!important;border:1px solid rgba(66,218,185,.25)!important;border-radius:13px!important;background:rgba(16,74,72,.18)!important}
.tide-current-badge b{display:block!important;font-size:1.15rem!important;line-height:1.1!important;font-variant-numeric:tabular-nums!important}
.tide-current-badge small{margin-top:4px!important;font-size:.67rem!important;color:var(--accent-strong)!important}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:8px!important}
.tide-event{min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:3px 7px!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:rgba(5,20,30,.42)!important}
.tide-event strong{font-size:1rem!important;line-height:1.1!important;font-variant-numeric:tabular-nums!important}
.tide-event-level{font-size:.9rem!important;font-weight:800!important;text-align:right!important;white-space:nowrap!important}
.tide-event small{grid-column:1/-1!important;font-size:.67rem!important;line-height:1.25!important;color:var(--accent)!important;white-space:normal!important}
.tide-reading{display:grid!important;gap:3px!important;margin-top:8px!important;padding:11px 12px!important;border-left:3px solid var(--accent)!important;border-radius:10px!important;background:rgba(9,43,49,.25)!important}
.tide-reading span{font-size:.7rem!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--muted)!important}
.tide-reading strong{font-size:.95rem!important;line-height:1.3!important}
.tide-reading small{font-size:.72rem!important;color:var(--muted)!important;line-height:1.35!important}
.tide-forecast-head{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:center!important;padding:13px!important;margin-top:12px!important}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important}
.tide-day{min-width:0!important;padding:10px!important;border-radius:14px!important}
.tide-day-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px!important;margin-bottom:8px!important}
.tide-day-head>div{min-width:0!important}
.tide-day-date{display:block!important;font-size:.9rem!important;line-height:1.2!important}
.tide-day-head span{font-size:.65rem!important;white-space:nowrap!important;color:var(--muted)!important}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-time{min-width:0!important;display:grid!important;gap:3px!important;padding:8px!important;border-radius:11px!important}
.tide-time-clock{font-size:1rem!important;font-weight:900!important;font-variant-numeric:tabular-nums!important}
.tide-time-level{font-size:.78rem!important;color:var(--text)!important;font-weight:800!important}
.tide-time small{font-size:.63rem!important;color:var(--accent)!important;line-height:1.2!important;white-space:normal!important}
.tide-caveat{font-size:.73rem!important;line-height:1.4!important;margin-top:8px!important}

.comparison-intro{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:12px!important;align-items:end!important;margin-top:8px!important}
.comparison-intro h3{margin:3px 0 0!important;font-size:1.08rem!important;line-height:1.25!important}
.comparison-intro>span{font-size:.76rem!important;line-height:1.4!important;color:var(--muted)!important}
.comparison-signal{display:grid!important;gap:5px!important;margin-top:8px!important;padding:12px 13px!important;border:1px solid rgba(66,218,185,.25)!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(13,64,64,.25),rgba(5,22,30,.5))!important}
.comparison-signal span{font-size:.66rem!important;color:var(--accent)!important;font-weight:900!important;letter-spacing:.09em!important}
.comparison-signal strong{font-size:.9rem!important;line-height:1.4!important}
.comparison-signal small{font-size:.68rem!important;color:var(--muted)!important}
.comparison-deltas{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:8px!important}
.comparison-deltas>div{min-width:0!important;padding:9px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.38)!important}
.comparison-deltas span,.comparison-deltas small{display:block!important;font-size:.66rem!important;color:var(--muted)!important}
.comparison-deltas b{display:block!important;margin:3px 0!important;font-size:.9rem!important}
.historical-comparison-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important}
.history-compare-card{min-width:0!important;padding:10px!important}
.history-compare-card header{display:flex!important;justify-content:space-between!important;gap:5px!important}
.history-compare-card header strong{font-size:.76rem!important}
.history-day-label{font-size:.62rem!important}
.history-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin-top:8px!important}
.history-metrics div{min-width:0!important;padding:6px 5px!important}
.history-metrics small{font-size:.58rem!important}
.history-metrics b{font-size:.72rem!important;overflow-wrap:anywhere!important}

.station-decision-card{margin-top:10px!important;padding:14px!important;border-radius:16px!important}
.station-decision-card strong{font-size:1.08rem!important;line-height:1.25!important}
.station-decision-card p{font-size:.86rem!important;line-height:1.45!important}

@media(max-width:700px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-current-head{grid-template-columns:minmax(0,1fr) 104px!important}
  .tide-days{grid-template-columns:1fr!important}
  .comparison-intro{grid-template-columns:1fr!important;gap:5px!important}
  .historical-comparison-cards{grid-template-columns:1fr!important}
  .history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:390px){
  .geo-detail-grid{gap:6px!important}
  .geo-detail-grid>div{min-height:58px!important;padding:8px 7px!important}
  .geo-detail-grid b{font-size:.84rem!important}
  .geo-detail-grid small{font-size:.64rem!important}
  .tide-current-head{grid-template-columns:1fr!important}
  .tide-current-badge{width:100%!important}
  .tide-today-grid{grid-template-columns:1fr 1fr!important}
  .tide-event{padding:8px!important}
  .tide-event strong{font-size:.92rem!important}
  .tide-event-level{font-size:.78rem!important}
  .tide-event small{font-size:.6rem!important}
  .tide-times{gap:5px!important}
  .tide-time{padding:7px!important}
  .tide-time-clock{font-size:.9rem!important}
  .tide-time-level{font-size:.72rem!important}
  .tide-time small{font-size:.58rem!important}
  .comparison-deltas{grid-template-columns:1fr!important}
  .history-metrics{gap:4px!important}
}
.high-visibility{font-size:18px!important;line-height:1.6!important}
.high-visibility small,.high-visibility .status,.high-visibility .lead{font-size:.92rem!important}
.high-visibility .geo-detail-grid b{font-size:1.05rem!important}


/* v30 — harmonização mobile da estação, maré e comparação ambiental */
.season-indicator-card{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;align-items:center!important;gap:7px!important}
.season-indicator-card>span{font-size:1.25rem}
.season-indicator-card div{min-width:0}
.season-indicator-card b{display:block!important;font-size:.92rem!important;line-height:1.15!important}
.season-indicator-card small{display:block!important;font-size:.62rem!important;line-height:1.15!important}
.comparison-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;align-items:center;padding:12px 0}
.comparison-intro h3{margin:3px 0 0;font-size:1.08rem}
.comparison-intro p{margin:0;color:var(--muted);line-height:1.45}
.comparison-deltas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:4px 0 10px}
.comparison-deltas>div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.4)}
.comparison-deltas span,.comparison-deltas small{display:block;color:var(--muted);font-size:.68rem}
.comparison-deltas b{display:block;margin:3px 0;font-size:.95rem;font-variant-numeric:tabular-nums}
.comparison-decision{display:grid;gap:4px;padding:11px 12px;border-left:3px solid var(--accent);border-radius:10px;background:rgba(79,224,190,.06);margin-bottom:10px}
.comparison-decision span{font-size:.67rem;font-weight:900;letter-spacing:.1em;color:var(--accent)}
.comparison-decision strong{font-size:.9rem;line-height:1.4}
.historical-comparison-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.history-compare-card{min-width:0;padding:10px!important}
.history-card-head{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:8px}
.history-card-head span{font-size:.67rem;color:var(--accent);font-weight:900;letter-spacing:.08em}
.history-card-head strong{font-size:.78rem;white-space:nowrap}
.history-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.history-metric-row>div{min-width:0;padding:7px 5px;border-radius:8px;background:rgba(16,39,53,.5)}
.history-metric-row small{display:block;color:var(--muted);font-size:.58rem;line-height:1.15}
.history-metric-row b{display:block;margin-top:3px;font-size:.72rem;overflow-wrap:anywhere}
.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;margin:10px 0!important}
.tide-current-badge{min-width:82px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(79,224,190,.07);text-align:center}
.tide-current-badge b{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums}
.tide-current-badge small{display:block;color:var(--muted);font-size:.62rem}
.tide-timeline{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.tide-event{grid-template-columns:1fr!important;grid-template-areas:"time" "level" "kind"!important;text-align:center!important;gap:2px!important;padding:10px 6px!important;min-height:82px!important}
.tide-event strong{grid-area:time!important;font-size:1rem!important}
.tide-event .tide-event-level{grid-area:level!important;font-size:.9rem!important;font-weight:800!important}
.tide-event small{grid-area:kind!important;white-space:normal!important;text-overflow:clip!important;line-height:1.1!important}
.tide-reading{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin-top:9px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(5,20,30,.4)}
.tide-reading span{color:var(--muted);font-size:.72rem}
.tide-reading strong{font-size:.82rem}
.tide-reading small{grid-column:1/-1;color:var(--muted);font-size:.68rem}
.tide-forecast-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tide-day{min-width:0!important}
@media(max-width:700px){
 .comparison-intro{grid-template-columns:1fr;gap:5px}
 .comparison-deltas{grid-template-columns:1fr 1fr 1fr}
 .comparison-deltas>div{padding:8px 6px}
 .comparison-deltas b{font-size:.82rem}
 .comparison-deltas span,.comparison-deltas small{font-size:.59rem}
 .historical-comparison-cards{grid-template-columns:1fr}
 .history-card-head{margin-bottom:6px}
 .history-metric-row b{font-size:.78rem}
 .tide-current-head{grid-template-columns:1fr!important}
 .tide-current-badge{justify-self:start;min-width:100px}
 .tide-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tide-event{min-height:76px!important}
 .tide-forecast-head{grid-template-columns:1fr!important;gap:4px!important}
 .tide-days{grid-template-columns:1fr!important}
}
@media(max-width:390px){
 .comparison-deltas{gap:5px}
 .comparison-deltas>div{padding:7px 5px}
 .comparison-decision{padding:9px}
 .tide-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tide-event strong{font-size:.92rem!important}
 .tide-event .tide-event-level{font-size:.82rem!important}
}


/* v31 — leitura confortável para baixa visão */
body{font-size:16px;line-height:1.5}
.lead,.status,.data-transparency,.tide-caveat,.tide-forecast-head small{line-height:1.5}
.location-context .geo-title span{font-size:.82rem;line-height:1.35}
.geo-detail-grid b{font-size:.9rem!important}
.geo-detail-grid small{font-size:.7rem!important}
.tide-event strong{font-size:1.05rem!important}
.tide-event .tide-event-level{font-size:.92rem!important}
.tide-event small{font-size:.7rem!important}
@media(max-width:700px){
 body{font-size:16px}
 .location-context .geo-title{grid-template-columns:1fr!important;gap:5px}
 .location-context .geo-title span{max-width:none;font-size:.82rem}
 .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .geo-detail-grid>div{min-height:58px}
 .geo-detail-grid b{font-size:.92rem!important}
 .geo-detail-grid small{font-size:.7rem!important}
 .section-head h2{line-height:1.12}
 .tide-event strong{font-size:1rem!important}
}
.high-contrast .tide-event,.high-contrast .history-compare-card,.high-contrast .comparison-deltas>div,.high-contrast .comparison-decision{border-color:#fff}
.high-contrast .muted,.high-contrast small,.high-contrast .status{color:#f2f2f2}


/* v32 — mobile-first fishing station harmonization */
.season-indicator-card{min-width:0!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center!important;gap:7px!important;padding:9px!important}
.season-indicator-card>span{font-size:1.2rem!important}
.season-indicator-card b{display:block!important;font-size:.9rem!important;line-height:1.2!important}
.season-indicator-card small{display:block!important;font-size:.66rem!important;line-height:1.25!important;color:var(--muted)}
.tide-forecast-head{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:4px 0 10px;min-width:0}
.tide-forecast-head>div{min-width:0}
.tide-forecast-head strong{display:block;font-size:1rem;line-height:1.25;overflow-wrap:anywhere}
.tide-forecast-head small{color:var(--muted);white-space:nowrap}
.tide-forecast-note{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;margin-bottom:10px;border:1px solid rgba(67,214,185,.2);border-radius:12px;background:rgba(67,214,185,.05)}
.tide-forecast-note>span{font-size:1.15rem;line-height:1}
.tide-forecast-note p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
.tide-day{min-width:0!important;border:1px solid var(--line)!important;border-radius:14px!important;background:rgba(5,20,30,.58)!important;padding:10px!important}
.tide-day header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;min-width:0}
.tide-day header>div{min-width:0}
.tide-day header .eyebrow{display:block;font-size:.62rem!important;margin:0 0 2px}
.tide-day header strong{display:block;font-size:.92rem;line-height:1.2}
.tide-day header>span{font-size:.65rem;color:var(--muted);white-space:nowrap}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}
.tide-event{min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"time level" "kind kind"!important;align-items:center!important;gap:2px 7px!important;padding:8px 9px!important;border-radius:10px!important;background:rgba(2,12,19,.55)!important;border:1px solid rgba(120,155,170,.18)!important;text-align:left!important}
.tide-event-time{grid-area:time;font-size:.98rem;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.tide-event-level{grid-area:level;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.tide-event-kind{grid-area:kind;font-size:.67rem;color:var(--muted);line-height:1.2}
.tide-event.high{border-left:3px solid #49d8b7!important}.tide-event.low{border-left:3px solid #7ca8ff!important}
.tide-source-note{display:block;margin-top:9px;color:var(--muted);line-height:1.4;font-size:.68rem}
.tide-empty,.tide-loading{padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);line-height:1.45}
.tide-empty strong{display:block;color:var(--text);margin-bottom:4px}
.compare-insight{padding:2px 0 10px}
.compare-insight h3{margin:4px 0 6px;font-size:1.15rem;line-height:1.2}
.compare-insight p{margin:0;max-width:70ch;color:var(--muted);line-height:1.48}
.compare-action{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important;margin-top:10px!important;padding:10px!important;border:1px solid rgba(67,214,185,.22)!important;border-radius:12px!important;background:rgba(67,214,185,.05)!important}
.compare-action>span{font-size:1.2rem}.compare-action div{display:grid;gap:2px}.compare-action b{font-size:.72rem;color:var(--accent)}.compare-action span{font-size:.8rem;line-height:1.4;color:var(--text)}
.compare-delta-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0 0 10px!important}
.compare-delta-strip>div{min-width:0!important;padding:9px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:rgba(3,16,24,.5)!important}
.compare-delta-strip small,.compare-delta-strip b,.compare-delta-strip span{display:block}.compare-delta-strip small{font-size:.65rem;color:var(--muted)}.compare-delta-strip b{font-size:.9rem;margin:2px 0}.compare-delta-strip span{font-size:.62rem;color:var(--muted)}
.historical-comparison-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.history-compare-card{min-width:0!important;padding:9px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.42)!important}
.history-card-head{display:flex!important;justify-content:space-between!important;gap:6px!important;align-items:center!important;margin-bottom:7px!important}
.history-card-head span{font-size:.62rem!important;letter-spacing:.07em;color:var(--accent);font-weight:900}
.history-card-head strong{font-size:.72rem!important;white-space:nowrap}
.history-metric-row{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
.history-metric-row>div{display:flex!important;justify-content:space-between!important;gap:8px!important;padding:5px 6px!important;border-radius:7px!important;background:rgba(16,39,53,.45)!important}
.history-metric-row small{font-size:.62rem!important;color:var(--muted)!important}.history-metric-row b{font-size:.72rem!important;font-variant-numeric:tabular-nums}
.comparison-note{display:block;margin-top:8px;color:var(--muted);line-height:1.4}
.high-visibility .tide-event-time{font-size:1.05rem}.high-visibility .tide-event-level{font-size:.92rem}.high-visibility .tide-event-kind{font-size:.75rem}.high-visibility .compare-insight p,.high-visibility .compare-action span{font-size:.95rem}
@media(max-width:700px){
  .tide-forecast-head{display:block;padding-bottom:8px}.tide-forecast-head small{display:block;margin-top:3px;white-space:normal}
  .tide-days{grid-template-columns:1fr!important;gap:7px!important}
  .tide-day{padding:9px!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-event{padding:8px!important}
  .historical-comparison-cards{grid-template-columns:1fr!important}
  .compare-delta-strip{grid-template-columns:1fr!important}
  .compare-delta-strip>div{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:6px}
  .compare-delta-strip small,.compare-delta-strip b,.compare-delta-strip span{margin:0}
  .season-indicator-card{min-height:58px!important}
}
@media(max-width:380px){
  .tide-times{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:minmax(0,1fr) auto!important}
}

/* Keep the station readable for low-vision users without forcing huge headings. */
body{font-size:16px;line-height:1.55}
body,.panel,.moment-readout,.location-context,.station-decision-card,.environment-change-board{color:var(--text)}
small,.status,.lead,.data-transparency,.comparison-note{color:#b5c7d0}
button{font-size:.92rem}


.station-decision-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.station-decision-details>div{min-width:0;padding:8px 9px;border:1px solid rgba(120,155,170,.2);border-radius:10px;background:rgba(2,12,19,.35)}
.station-decision-details small{display:block;font-size:.62rem;letter-spacing:.08em;font-weight:900;color:var(--accent);margin-bottom:3px}
.station-decision-details b{display:block;font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:700px){.station-decision-details{grid-template-columns:1fr}.station-decision-details>div{padding:8px}}


/* v33 — mobile integrity: never allow tide/metric text to overlap */
.tide-day{overflow:hidden!important}
.tide-day header{min-width:0!important}
.tide-day header>div{min-width:0!important}
.tide-day header strong{overflow-wrap:anywhere!important}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tide-event{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"kind kind" "time level"!important;
  align-items:center!important;
  gap:5px 8px!important;
  min-width:0!important;
  min-height:76px!important;
  overflow:hidden!important;
}
.tide-event-time{grid-area:time!important;min-width:0!important;white-space:nowrap!important;font-size:1rem!important;line-height:1.1!important}
.tide-event-level{grid-area:level!important;min-width:0!important;white-space:nowrap!important;font-size:.88rem!important;line-height:1.1!important}
.tide-event-kind{grid-area:kind!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:.7rem!important;line-height:1.15!important}
.tide-forecast-head{min-width:0!important}
.tide-forecast-head strong{overflow-wrap:anywhere!important;word-break:normal!important}
.tide-source-note{overflow-wrap:anywhere!important}
.compare-insight{min-width:0!important}
.compare-insight h3,.compare-insight p{overflow-wrap:anywhere!important}
.compare-action{min-width:0!important}
.compare-action>div{min-width:0!important}
.compare-action span{overflow-wrap:anywhere!important}
.compare-delta-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.compare-metric{min-width:0!important;padding:10px!important;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.42)}
.compare-metric small,.compare-metric b,.compare-metric span{display:block!important;min-width:0!important}
.compare-metric b{margin-top:2px!important;font-size:.95rem!important;line-height:1.2!important;overflow-wrap:anywhere!important}
.compare-metric span{margin-top:3px!important;color:var(--muted)!important;font-size:.7rem!important;line-height:1.3!important}
.compare-days{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.compare-day-card{min-width:0!important;padding:11px!important;border:1px solid var(--line);border-radius:13px;background:rgba(7,22,31,.55)}
.compare-day-title{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:8px!important;min-width:0!important;margin-bottom:8px!important}
.compare-day-title span,.compare-day-title strong{min-width:0!important}
.compare-day-title span{color:var(--accent)!important;font-size:.7rem!important;font-weight:900!important;letter-spacing:.08em!important}
.compare-day-title strong{font-size:.88rem!important;white-space:nowrap!important}
.compare-day-values{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
.compare-day-values .compare-metric{padding:7px 8px!important}
.comparison-note{display:block!important;overflow-wrap:anywhere!important}
.forecast-row,.forecast-summary,.station-decision-details,.location-context,.moment-grid,.change-grid{min-width:0}
.forecast-row>*{min-width:0!important;overflow-wrap:anywhere!important}
.forecast-row .forecast-day{white-space:normal!important}
@media(max-width:700px){
  .tide-forecast-note{align-items:flex-start!important}
  .tide-forecast-note p{min-width:0!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-event{min-height:74px!important;padding:9px!important}
  .tide-event-time{font-size:.95rem!important}
  .tide-event-level{font-size:.82rem!important}
  .compare-delta-strip{grid-template-columns:1fr!important}
  .compare-days{grid-template-columns:1fr!important}
  .compare-day-card{padding:10px!important}
}
@media(max-width:380px){
  .tide-times{grid-template-columns:1fr!important}
  .tide-event{min-height:70px!important}
  .compare-day-title{align-items:flex-start!important;flex-direction:column!important;gap:2px!important}
}

/* Low-vision readability: avoid decorative tiny labels carrying essential information. */
.tide-event-kind,.compare-metric small,.compare-metric span{font-size:.74rem!important}
.tide-event-time,.tide-event-level,.compare-metric b{font-variant-numeric:tabular-nums}


/* v30 — mobile-first comparison and tide readability */
.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important}
.tide-current-head>div:first-child{min-width:0!important}
.tide-current-head strong{display:block!important;font-size:1rem!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.tide-current-head small{display:block!important;margin-top:4px!important;line-height:1.35!important}
.tide-current-badge{min-width:88px!important;text-align:center!important;padding:10px!important;border:1px solid var(--line);border-radius:14px;background:rgba(58,211,184,.08)}
.tide-current-badge b{display:block!important;font-size:1.1rem!important;font-variant-numeric:tabular-nums}
.tide-current-badge small{font-size:.72rem!important}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.tide-event{min-width:0!important;overflow:hidden!important}
.tide-event-time,.tide-event-level,.tide-event-kind{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
.tide-event-time{font-variant-numeric:tabular-nums!important;font-size:1rem!important}
.tide-event-level{font-variant-numeric:tabular-nums!important}
.tide-event-kind{white-space:normal!important}
.tide-reading{display:grid!important;gap:3px!important;margin-top:10px!important;padding:12px!important;border:1px solid var(--line);border-radius:14px;background:rgba(5,20,30,.38)}
.tide-reading strong{font-size:.95rem!important}
.tide-reading small{color:var(--muted)!important}
.tide-forecast-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important}
.tide-forecast-head strong{display:block!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.tide-days{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:10px!important}
.tide-day{min-width:0!important}
.tide-day>header{display:flex!important;justify-content:space-between!important;gap:8px!important;align-items:baseline!important}
.tide-day>header strong{font-size:.95rem!important}
.tide-times{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-top:7px!important}
.tide-event{padding:9px!important;border:1px solid var(--line);border-radius:11px!important;background:rgba(7,22,31,.55)}
.tide-event-time{grid-area:time!important}
.tide-event-level{grid-area:level!important}
.tide-event-kind{grid-area:kind!important;font-size:.72rem!important}
.compare-insight{padding:12px!important;border-radius:14px!important;background:rgba(7,22,31,.42)!important}
.compare-insight h3{margin:5px 0 6px!important;font-size:1rem!important}
.compare-insight p{margin:0!important;line-height:1.45!important}
.compare-action{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:9px!important;margin-top:10px!important;padding:10px!important;border:1px solid var(--line);border-radius:12px!important}
.compare-action>div{display:grid!important;gap:3px!important}
.compare-action>div span{line-height:1.4!important;color:var(--muted)!important}
.compare-delta-strip{margin-top:9px!important}
.compare-days{margin-top:9px!important}
.compare-day-values{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.compare-day-values .compare-metric{padding:8px!important}
@media(max-width:700px){
 .tide-current-head{grid-template-columns:1fr!important}
 .tide-current-badge{justify-self:start!important;min-width:112px!important}
 .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .compare-day-values{grid-template-columns:1fr!important}
 .compare-day-title{display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important}
}
@media(max-width:380px){
 .tide-today-grid{grid-template-columns:1fr!important}
 .tide-times{grid-template-columns:1fr!important}
 .compare-day-title{grid-template-columns:1fr!important}
}


/* v34 — final mobile harmonization: decision, comparison, tide and location */
.location-context{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:16px!important}
.location-context .geo-title{min-width:0!important}
.location-context .geo-title strong{display:block!important;font-size:1.12rem!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.location-context .geo-title span{display:block!important;margin-top:4px!important;color:var(--muted)!important;font-size:.78rem!important}
.geo-detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(92px,1fr))!important;gap:8px!important;min-width:190px!important}
.geo-detail-grid>div{min-width:0!important;padding:7px 8px!important;border:1px solid rgba(120,155,170,.18)!important;border-radius:10px!important;background:rgba(2,12,19,.28)!important}
.geo-detail-grid b{display:block!important;font-size:.92rem!important;line-height:1.15!important;font-variant-numeric:tabular-nums!important;overflow-wrap:anywhere!important}
.geo-detail-grid small{display:block!important;margin-top:2px!important;font-size:.65rem!important;color:var(--muted)!important}
.station-decision-card{margin-top:10px!important}
.station-decision-card>div:last-child{min-width:0!important}
.station-decision-card p{max-width:72ch!important;line-height:1.55!important}
.historical-comparison-grid{display:block!important}
.compare-insight{padding:14px!important;border:1px solid rgba(67,214,185,.18)!important;border-radius:15px!important;background:linear-gradient(135deg,rgba(67,214,185,.07),rgba(2,12,19,.24))!important}
.compare-insight h3{margin:5px 0 6px!important;font-size:1.08rem!important;line-height:1.3!important}
.compare-insight p{margin:0!important;line-height:1.5!important;color:var(--muted)!important}
.compare-action{display:flex!important;gap:10px!important;align-items:flex-start!important;margin-top:11px!important;padding:10px!important;border-radius:11px!important;background:rgba(2,12,19,.34)!important}
.compare-action>span{font-size:1.15rem!important;flex:0 0 auto}
.compare-action>div{min-width:0!important}
.compare-action b,.compare-action span{display:block!important}
.compare-action span{color:var(--muted)!important;line-height:1.4!important}
.compare-delta-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:8px!important}
.compare-delta-strip>div{min-width:0!important;padding:9px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:rgba(5,20,30,.45)!important}
.compare-delta-strip small,.compare-delta-strip b,.compare-delta-strip span{display:block!important;line-height:1.25!important}
.compare-delta-strip b{font-size:.94rem!important;margin:2px 0!important;font-variant-numeric:tabular-nums}
.compare-delta-strip span{font-size:.66rem!important;color:var(--muted)!important}
.compare-days{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important}
.compare-day-card{min-width:0!important;padding:11px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:rgba(5,20,30,.35)!important}
.compare-day-title{display:flex!important;justify-content:space-between!important;gap:8px!important;align-items:center!important;margin-bottom:8px!important}
.compare-day-title span{font-size:.7rem!important;color:var(--muted)!important}
.compare-day-title strong{font-size:.84rem!important;white-space:nowrap!important}
.compare-day-values{display:grid!important;gap:5px!important}
.compare-metric{min-width:0!important;display:grid!important;grid-template-columns:1fr auto!important;gap:3px 8px!important;align-items:end!important}
.compare-metric small{grid-column:1/-1!important;font-size:.64rem!important;color:var(--muted)!important}
.compare-metric b{font-size:.88rem!important;font-variant-numeric:tabular-nums!important}
.compare-metric span{font-size:.6rem!important;color:var(--muted)!important;text-align:right!important}
.comparison-note{display:block!important;margin-top:8px!important;line-height:1.4!important}
.tide-current-head{grid-template-columns:minmax(0,1fr) 108px!important}
.tide-current-badge{min-width:0!important}
.tide-today-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tide-event{min-width:0!important;padding:10px!important;border-radius:12px!important}
.tide-event-time{font-size:1rem!important;font-weight:700!important;font-variant-numeric:tabular-nums!important}
.tide-event-level{font-size:.8rem!important;margin-top:3px!important}
.tide-event-kind{font-size:.68rem!important;margin-top:3px!important}
.tide-reading{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:5px 10px!important;margin-top:9px!important;padding:10px 11px!important;border-radius:12px!important;background:rgba(67,214,185,.05)!important}
.tide-reading span{font-size:.72rem!important;color:var(--muted)!important}
.tide-reading strong{font-size:.9rem!important;overflow-wrap:anywhere!important}
.tide-reading small{grid-column:1/-1!important;color:var(--muted)!important}
.tide-days{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-day header strong{font-size:.88rem!important}
.tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-event-time,.tide-event-level,.tide-event-kind{min-width:0!important}
.nav-install.installed{opacity:.82!important}
@media(max-width:700px){
  .location-context{grid-template-columns:1fr!important;gap:10px!important}
  .geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;min-width:0!important}
  .geo-detail-grid>div{padding:7px 5px!important}
  .geo-detail-grid b{font-size:.8rem!important}
  .geo-detail-grid small{font-size:.6rem!important}
  .compare-delta-strip,.compare-days{grid-template-columns:1fr!important}
  .compare-delta-strip>div{grid-template-columns:78px minmax(0,1fr) auto!important;display:grid!important;align-items:center!important}
  .compare-delta-strip small{grid-column:auto!important}
  .compare-delta-strip span{text-align:right!important}
  .tide-current-head{grid-template-columns:1fr!important}
  .tide-current-badge{justify-self:start!important;min-width:108px!important}
  .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-days{grid-template-columns:1fr!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-today-grid,.tide-times{grid-template-columns:1fr!important}
  .compare-insight{padding:12px!important}
  .compare-action{padding:9px!important}
  .compare-day-card{padding:10px!important}
  .station-decision-details{grid-template-columns:1fr!important}
}


/* v36 — leitura ambiental e pesca: hierarquia mobile */
.compare-insight{display:block!important;min-width:0!important;padding:14px!important;border:1px solid rgba(67,214,185,.22);border-radius:16px;background:linear-gradient(135deg,rgba(67,214,185,.08),rgba(5,18,28,.5))}
.compare-insight>*{min-width:0}
.compare-insight>.eyebrow{display:block!important;margin:0 0 6px!important}
.compare-insight h3{display:block!important;margin:4px 0 6px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
.compare-insight p{display:block!important;width:auto!important;max-width:70ch!important}
.compare-insight-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(67,214,185,.12);font-size:1.25rem}
.compare-insight h3{margin:3px 0 5px;font-size:1.12rem;line-height:1.25}
.compare-insight p{margin:0;color:#c4d3da;line-height:1.5}
.compare-action{margin-top:8px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:11px 12px!important;border-radius:13px!important}
.compare-action>b,.compare-action b{display:block;margin-bottom:2px}
.compare-action>span{font-size:1.05rem}
.compare-delta-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:9px 0!important}
.compare-delta-strip>div{min-width:0!important;padding:9px!important}
.compare-delta-strip small{font-size:.68rem!important;line-height:1.25}
.compare-delta-strip b{font-size:.9rem!important;overflow-wrap:anywhere}
.compare-days{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.compare-day-card{min-width:0;padding:10px!important;border:1px solid var(--line);border-radius:13px;background:rgba(5,19,29,.45)}
.compare-day-title{display:flex;justify-content:space-between;gap:6px;align-items:baseline;margin-bottom:7px}
.compare-day-title span{font-size:.65rem;letter-spacing:.08em;color:var(--accent);font-weight:900}
.compare-day-title strong{font-size:.78rem;white-space:nowrap}
.compare-day-values{display:grid;gap:5px}
.compare-metric{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:baseline;padding:5px 0;border-bottom:1px solid rgba(120,155,170,.12)}
.compare-metric:last-child{border-bottom:0}
.compare-metric small{color:var(--muted);font-size:.65rem}
.compare-metric b{font-size:.78rem;text-align:right}
.compare-metric span{grid-column:1/-1;color:#8fa5b0;font-size:.62rem;line-height:1.25}
.comparison-note{line-height:1.4}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px!important}
.geo-detail-grid>div{min-width:0;padding:9px!important;border-radius:12px}
.geo-detail-grid b{font-size:clamp(.86rem,3.4vw,1.05rem)!important;overflow-wrap:anywhere}
.geo-detail-grid small{font-size:.68rem!important}
.season-indicator-card{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-width:0!important}
.season-indicator-card>div{min-width:0}
.season-indicator-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.season-indicator-card small{white-space:normal!important;line-height:1.2}
@media(max-width:700px){
  .compare-insight{grid-template-columns:38px minmax(0,1fr);padding:12px!important}
  .compare-insight-icon{width:38px;height:38px}
  .compare-delta-strip{grid-template-columns:1fr!important}
  .compare-delta-strip>div{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;align-items:center}
  .compare-delta-strip small{grid-column:1}
  .compare-delta-strip b{grid-column:2;text-align:right}
  .compare-days{grid-template-columns:1fr!important}
  .compare-day-card{padding:11px!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .compare-insight h3{font-size:1rem}
  .compare-insight p,.compare-action span{font-size:.86rem}
}

/* v36 — baixa visão sem quebrar a estação */
body.high-visibility{font-size:17px}
body.high-visibility .lead{font-size:1.05rem}
body.high-visibility .moment-grid b,
body.high-visibility .geo-detail-grid b,
body.high-visibility .station-decision-card strong{font-size:1.08rem}
body.high-visibility small{font-size:.78rem}
body.high-visibility button{min-height:46px}
body.high-visibility .section-head h2{line-height:1.2}


/* v37 — maré: leitura compacta e estável em telas pequenas */
.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important}
.tide-current-head>div:first-child{min-width:0}
.tide-current-head strong{display:block;line-height:1.25;overflow-wrap:anywhere}
.tide-current-head small{display:block;margin-top:4px;line-height:1.35;overflow-wrap:anywhere}
.tide-current-badge{min-width:108px;max-width:150px;padding:9px 10px!important;border:1px solid rgba(67,214,185,.24);border-radius:12px;background:rgba(67,214,185,.07);text-align:center}
.tide-current-badge b,.tide-current-badge small{display:block!important}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:9px}
.tide-event{min-width:0!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:2px 8px!important;padding:9px!important;border:1px solid var(--line);border-radius:12px;background:rgba(5,19,29,.48)}
.tide-event strong{font-size:.82rem;white-space:nowrap}
.tide-event-level{font-size:.82rem;text-align:right;white-space:nowrap}
.tide-event small{grid-column:1/-1;color:var(--muted);font-size:.67rem;line-height:1.25}
.tide-reading{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;align-items:center!important;margin-top:8px;padding:10px 11px!important;border-radius:12px!important}
.tide-reading span{font-size:.72rem;color:var(--accent);font-weight:800}
.tide-reading strong{font-size:.8rem;overflow-wrap:anywhere}
.tide-reading small{grid-column:1/-1}
.tide-caveat{line-height:1.4}
.tide-forecast-head{display:flex!important;justify-content:space-between;gap:10px;align-items:flex-end}
.tide-forecast-head>div{min-width:0}
.tide-forecast-head strong{display:block;overflow-wrap:anywhere;line-height:1.25}
.tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:9px}
.tide-day{min-width:0!important;padding:10px!important;border:1px solid var(--line);border-radius:13px;background:rgba(5,19,29,.42)}
.tide-day header{display:flex!important;justify-content:space-between;gap:7px;align-items:baseline;margin-bottom:7px}
.tide-day header>div{min-width:0}
.tide-day header strong{display:block;font-size:.82rem;white-space:nowrap}
.tide-day header span{font-size:.65rem;color:var(--muted);white-space:nowrap}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-day .tide-event{grid-template-columns:auto auto!important}
.tide-day .tide-event-kind{grid-column:1/-1;font-size:.65rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){
  .tide-current-head{grid-template-columns:1fr!important}
  .tide-current-badge{justify-self:start;min-width:116px}
  .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-days{grid-template-columns:1fr!important}
  .tide-day .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-day .tide-times{grid-template-columns:1fr!important}
  .tide-event-level{text-align:left}
  .tide-forecast-head{display:block!important}
  .tide-forecast-head small{display:block;margin-top:4px}
}

.map-fallback-nautical{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none;z-index:2}
.map-fallback-nautical img{width:100%;height:100%;object-fit:cover;opacity:.92}
.map-fallback-center{z-index:4}
.map-fallback-credit{z-index:5}


/* v36 — acabamento mobile definitivo: maré, localização, comparação e tipografia */
.location-context{padding:14px 14px 12px!important;gap:12px!important}
.location-context .geo-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important}
.location-context .geo-title strong{font-size:clamp(1rem,4.2vw,1.18rem)!important;line-height:1.18!important}
.location-context .geo-title span{font-size:.72rem!important;color:var(--muted)!important;text-align:right!important;max-width:220px!important;line-height:1.25!important}
.geo-detail-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.geo-detail-grid>div{padding:9px 8px!important;border:1px solid rgba(130,170,185,.16)!important;border-radius:11px!important;background:rgba(3,16,24,.38)!important;min-width:0!important}
.geo-detail-grid b{font-size:.82rem!important;line-height:1.15!important;overflow-wrap:anywhere!important}
.geo-detail-grid small{font-size:.62rem!important;margin-top:3px!important}
.season-main-indicator strong{color:var(--accent)!important}
.high-visibility .geo-detail-grid b,.high-visibility .moment-grid b,.high-visibility .cards strong{font-size:1.02rem!important}
.high-visibility .geo-detail-grid small,.high-visibility .moment-grid small,.high-visibility .cards small{font-size:.74rem!important}
.high-visibility body,.high-visibility{font-size:1.04rem}

#tidePanel .tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;padding:13px!important;margin:10px 0!important;align-items:center!important}
#tidePanel .tide-current-head strong{display:block!important;font-size:.95rem!important;line-height:1.2!important;overflow-wrap:anywhere!important}
#tidePanel .tide-current-head small{display:block!important;font-size:.7rem!important;line-height:1.3!important;color:var(--muted)!important;white-space:normal!important}
#tidePanel .tide-current-badge{min-width:92px!important;padding:8px!important;border:1px solid rgba(67,214,185,.25)!important;border-radius:12px!important;text-align:center!important;background:rgba(67,214,185,.06)!important}
#tidePanel .tide-current-badge b{display:block!important;font-size:1.05rem!important;font-variant-numeric:tabular-nums!important}
#tidePanel .tide-current-badge small{font-size:.63rem!important;color:var(--accent)!important}
#tidePanel .tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:8px 0!important}
#tidePanel .tide-event{display:grid!important;grid-template-columns:1fr auto!important;grid-template-areas:"time level" "kind kind"!important;gap:4px 8px!important;padding:10px!important;min-width:0!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.48)!important}
#tidePanel .tide-event strong{grid-area:time!important;font-size:1rem!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
#tidePanel .tide-event .tide-event-level{grid-area:level!important;font-size:.9rem!important;font-weight:800!important;text-align:right!important;white-space:nowrap!important}
#tidePanel .tide-event small{grid-area:kind!important;font-size:.67rem!important;color:var(--muted)!important;white-space:normal!important}
#tidePanel .tide-event.high{border-color:rgba(67,214,185,.3)!important}
#tidePanel .tide-event.low{border-color:rgba(255,194,92,.25)!important}
#tidePanel .tide-reading{display:grid!important;gap:3px!important;margin-top:8px!important;padding:10px 12px!important;border-radius:12px!important;background:rgba(7,19,29,.5)!important}
#tidePanel .tide-reading strong{font-size:.88rem!important}
#tidePanel .tide-reading small{color:var(--muted)!important}
#tideForecast .tide-forecast-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:12px 13px!important}
#tideForecast .tide-days{display:grid!important;gap:8px!important}
#tideForecast .tide-day{padding:10px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:rgba(5,20,30,.38)!important}
#tideForecast .tide-day header{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;margin-bottom:8px!important}
#tideForecast .tide-day header>div{min-width:0!important}
#tideForecast .tide-day header .eyebrow{font-size:.61rem!important}
#tideForecast .tide-day header strong{display:block!important;font-size:.86rem!important;line-height:1.2!important}
#tideForecast .tide-day header>span{justify-self:end!important;color:var(--muted)!important;font-size:.66rem!important}
#tideForecast .tide-times{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
#tideForecast .tide-event{display:grid!important;grid-template-columns:1fr!important;gap:2px!important;align-content:center!important;min-height:62px!important;padding:8px 5px!important;text-align:center!important;border:1px solid rgba(130,170,185,.16)!important;border-radius:10px!important;background:rgba(3,16,24,.42)!important}
#tideForecast .tide-event-time{font-size:.82rem!important;font-weight:900!important;font-variant-numeric:tabular-nums!important}
#tideForecast .tide-event-level{font-size:.76rem!important;font-weight:800!important}
#tideForecast .tide-event-kind{font-size:.6rem!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:700px){
  .location-context .geo-title{grid-template-columns:1fr!important;align-items:start!important}
  .location-context .geo-title span{text-align:left!important;max-width:none!important}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tidePanel .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tideForecast .tide-day header{grid-template-columns:1fr auto!important}
  #tideForecast .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tideForecast .tide-event{min-height:68px!important}
}
@media(max-width:380px){
  #tidePanel .tide-today-grid{grid-template-columns:1fr!important}
  #tideForecast .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* Correções de legibilidade e composição mobile */
.location-context{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
.geo-title{min-width:0}
.geo-title strong{display:block;line-height:1.18;overflow-wrap:anywhere}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.geo-detail-grid>div{min-width:0;display:grid;gap:3px;align-content:center}
.geo-detail-grid b{font-size:clamp(.78rem,2.4vw,.95rem);line-height:1.1;overflow-wrap:anywhere}
.geo-detail-grid small{font-size:.68rem;line-height:1.1}
@media(max-width:520px){
  .location-context{padding:12px 13px;margin:8px 0}
  .geo-title strong{font-size:1.05rem}
  .geo-title span{font-size:.72rem}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .geo-detail-grid>div{min-height:52px;padding:8px}
  .geo-detail-grid b{font-size:.9rem}
  .geo-detail-grid small{font-size:.67rem}
  .moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .moment-grid .season-indicator-card{grid-column:1/-1}
  .objective-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:360px){
  .geo-detail-grid{grid-template-columns:1fr 1fr}
  .geo-detail-grid b{font-size:.82rem}
  .geo-detail-grid small{font-size:.62rem}
  .objective-grid{grid-template-columns:1fr!important}
}


/* v39 — maré: grade explícita para impedir sobreposição de horário e nível */
#tideForecast .tide-times{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
#tideForecast .tide-event{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"time level" "kind kind"!important;
  align-items:center!important;
  gap:5px 8px!important;
  min-width:0!important;
  min-height:76px!important;
  padding:10px!important;
  overflow:hidden!important;
  text-align:left!important;
}
#tideForecast .tide-event-time{
  grid-area:time!important;
  min-width:0!important;
  font-size:.95rem!important;
  line-height:1.15!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}
#tideForecast .tide-event-level{
  grid-area:level!important;
  min-width:0!important;
  font-size:.82rem!important;
  line-height:1.15!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
  text-align:right!important;
}
#tideForecast .tide-event-kind{
  grid-area:kind!important;
  min-width:0!important;
  font-size:.68rem!important;
  line-height:1.2!important;
  color:var(--muted)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:390px){
  #tideForecast .tide-times{grid-template-columns:1fr!important}
  #tideForecast .tide-event{min-height:70px!important}
}


/* v38 — localização: cidade única, detalhes técnicos sob demanda */
.location-context.geo-location-live{
  gap:8px!important;
  padding:10px 12px!important;
  border-left:0!important;
  border:1px solid rgba(130,170,185,.16)!important;
  background:rgba(7,19,29,.38)!important;
}
.location-context .geo-title{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
.location-context .geo-title span{display:block!important;min-width:0!important;color:var(--muted)!important;font-size:.72rem!important;line-height:1.3!important}
.location-context .geo-details-toggle{min-width:0}
.geo-details-toggle summary{
  cursor:pointer;
  list-style:none;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  background:rgba(5,18,28,.5);
  font-size:.76rem;
  font-weight:800;
}
.geo-details-toggle summary::-webkit-details-marker{display:none}
.geo-details-toggle summary::before{content:"＋";margin-right:6px;color:var(--accent);font-weight:900}
.geo-details-toggle[open] summary::before{content:"−"}
.geo-details-toggle[open] summary{color:var(--accent)}
.location-context .geo-detail-grid{margin-top:8px!important}
@media(max-width:520px){
  .location-context.geo-location-live{padding:9px 10px!important}
  .location-context .geo-title{align-items:flex-start!important}
  .location-context .geo-title span{font-size:.7rem!important}
  .geo-details-toggle summary{width:100%;justify-content:space-between;font-size:.72rem}
}


/* v40 — Estação: uma ação principal + painel multidisciplinar */
.station-primary-action{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  margin:12px 0 16px;
}
.station-refresh-button{
  width:min(100%,560px)!important;
  min-height:58px!important;
  border-radius:18px!important;
  font-size:1rem!important;
  font-weight:900!important;
  letter-spacing:.01em;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.station-action-hint{
  max-width:560px;
  text-align:center;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.35;
}
.specialist-panel{
  margin:14px 0 0;
  padding:16px;
  border:1px solid rgba(67,220,195,.22);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,31,42,.96),rgba(5,20,29,.96));
}
.specialist-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.specialist-panel-head strong{
  display:block;
  margin-top:3px;
  font-size:1rem;
}
.specialist-panel-head small{
  color:var(--muted);
  font-size:.65rem;
  white-space:nowrap;
}
.specialist-intro{
  margin:10px 0 12px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.45;
}
.specialist-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.specialist-card{
  min-width:0;
  padding:11px;
  border:1px solid rgba(130,170,185,.16);
  border-radius:13px;
  background:rgba(3,15,24,.58);
}
.specialist-card b{
  display:block;
  font-size:.8rem;
  margin-bottom:5px;
}
.specialist-card p{
  margin:0;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.4;
}
.specialist-card small{
  display:block;
  margin-top:7px;
  color:var(--accent);
  font-size:.6rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.specialist-synthesis{
  margin-top:10px;
  padding:11px 12px;
  border-radius:13px;
  background:rgba(67,220,195,.07);
  border:1px solid rgba(67,220,195,.14);
  font-size:.78rem;
  line-height:1.45;
}
.specialist-synthesis b{display:block;margin-bottom:4px}
@media(max-width:520px){
  .station-primary-action{margin:10px 0 14px}
  .station-refresh-button{width:100%!important;min-height:54px!important}
  .specialist-grid{grid-template-columns:1fr}
  .specialist-panel{padding:13px}
  .specialist-panel-head{align-items:flex-start}
}


/* v41 — grade de leitura otimizada para telas estreitas */
@media(max-width:600px){
  .page-station .moment-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .page-station .moment-grid>div{
    padding:9px!important;
    border-radius:11px!important;
  }
  .page-station .moment-grid b{
    font-size:.94rem!important;
  }
  .page-station .moment-grid small{
    font-size:.62rem!important;
  }
  .page-station .moment-extra{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .page-station .moment-extra>div{
    padding:8px!important;
    border-radius:10px!important;
  }
  .page-station .moment-extra b{font-size:.78rem!important}
  .page-station .display-header{
    align-items:flex-start!important;
    margin-top:12px!important;
    padding-top:12px!important;
  }
  .page-station .display-clock{font-size:.78rem!important}
}
@media(max-width:380px){
  .page-station .moment-grid{grid-template-columns:1fr 1fr!important}
  .page-station .moment-extra{grid-template-columns:1fr 1fr!important}
  .page-station .moment-grid b{font-size:.88rem!important}
}


/* v31 — mobile readability, tide hierarchy, comparison cards and location integrity */
body{font-size:16px;line-height:1.45}
button,input,select,textarea{font-size:1rem}
.location-context{overflow:hidden}
.location-context .geo-title{min-width:0}
.location-context .geo-title span{overflow-wrap:anywhere;line-height:1.35}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.geo-detail-grid b{font-size:.96rem!important;line-height:1.25!important;overflow-wrap:anywhere}
.geo-detail-grid small{font-size:.72rem!important;line-height:1.2!important}
.season-indicator-card{min-width:0}
.season-indicator-card b,.season-indicator-card small{min-width:0;overflow-wrap:anywhere}
.tide-current-head{min-width:0}
.tide-current-head>div,.tide-current-badge{min-width:0}
.tide-current-head strong{font-size:1rem!important;line-height:1.25!important;overflow-wrap:anywhere}
.tide-current-head small{white-space:normal!important;line-height:1.3!important}
.tide-current-badge{min-width:92px;text-align:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(67,214,185,.07)}
.tide-current-badge b{display:block;font-size:1.15rem}
.tide-current-badge small{display:block!important;white-space:normal!important;overflow:visible!important}
.tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-event{min-width:0!important;grid-template-columns:minmax(58px,.7fr) minmax(64px,.8fr) minmax(80px,1fr)!important}
.tide-event strong,.tide-event-level,.tide-event small{white-space:normal!important;overflow-wrap:anywhere!important}
.tide-event strong{font-size:1rem!important}
.tide-event-level{font-size:.88rem!important}
.tide-event small{font-size:.74rem!important}
.tide-reading{display:grid;gap:4px;margin-top:9px;padding:11px 12px;border:1px solid rgba(67,214,185,.25);border-radius:13px;background:rgba(67,214,185,.05)}
.tide-reading span{font-size:.72rem;font-weight:900;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}
.tide-reading strong{font-size:.94rem}
.tide-reading small{color:var(--muted);line-height:1.35}
.tide-forecast-head{min-width:0}
.tide-forecast-head strong{line-height:1.25;overflow-wrap:anywhere}
.tide-forecast-note{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;margin:8px 0;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.32)}
.tide-forecast-note span{font-size:1.1rem}
.tide-forecast-note p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}
.tide-days{grid-template-columns:1fr!important}
.tide-day{min-width:0}
.tide-day header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.tide-day header>div{min-width:0}
.tide-day header strong{display:block;font-size:.96rem}
.tide-day header span{color:var(--muted);font-size:.72rem;white-space:nowrap}
.tide-times{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.tide-time{min-width:0}
.tide-time strong,.tide-time small{overflow-wrap:anywhere}
.tide-source-note{display:block;margin-top:8px;line-height:1.4;overflow-wrap:anywhere}
.comparison-reading{grid-template-columns:minmax(0,1fr) minmax(210px,.65fr)!important}
.comparison-reading strong{font-size:1.12rem!important}
.comparison-reading p{font-size:.9rem;line-height:1.5}
.comparison-signals{margin-top:9px;display:grid;gap:7px}
.comparison-signals-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.comparison-signals-head span{font-weight:850}
.comparison-signals-head small{color:var(--muted)}
.comparison-signals>.compare-metric{min-width:0}
.compare-days{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.compare-day-card.featured{border-color:rgba(67,214,185,.5);background:rgba(67,214,185,.06)}
.compare-day-values{min-width:0}
.compare-metric{min-width:0}
.compare-metric b{font-variant-numeric:tabular-nums}
.high-visibility .comparison-reading p,.high-visibility .comparison-guidance span,.high-visibility .comparison-note,.high-visibility .tide-forecast-note p{font-size:.9rem!important}
.high-visibility .tide-event strong{font-size:1.08rem!important}
@media(max-width:700px){
  body{font-size:16px}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .geo-detail-grid>div{min-height:70px}
  .tide-current-head{grid-template-columns:minmax(0,1fr) 96px!important;display:grid!important}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:74px minmax(76px,.8fr) minmax(0,1fr)!important;padding:11px!important}
  .tide-event strong{font-size:1.02rem!important}
  .tide-event-level{font-size:.9rem!important}
  .tide-event small{font-size:.76rem!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .comparison-reading{grid-template-columns:1fr!important}
  .comparison-guidance{border-left:0;border-top:1px solid var(--line);padding:9px 0 0;margin-top:2px}
  .comparison-signals{grid-template-columns:1fr!important}
  .comparison-signals-head{display:block}
  .comparison-signals-head small{display:block;margin-top:2px}
  .compare-days{grid-template-columns:1fr!important}
  .compare-day-card{padding:12px!important}
}
@media(max-width:420px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .geo-detail-grid>div{padding:9px 8px!important}
  .tide-current-head{grid-template-columns:1fr!important}
  .tide-current-badge{width:100%}
  .tide-event{grid-template-columns:68px 86px minmax(0,1fr)!important}
  .tide-times{grid-template-columns:1fr!important}
  .tide-day header{align-items:flex-start}
  .tide-day header span{white-space:normal;text-align:right}
  .comparison-reading{padding:12px!important}
  .compare-metric{padding:9px!important}
}


/* v33 — legibilidade, maré e comparação em mobile */
body{font-size:16px}
.geo-detail-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.geo-detail-grid>div{min-width:0;padding:10px 9px;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.34)}
.geo-detail-grid b{display:block;font-size:.98rem;line-height:1.2;overflow-wrap:anywhere}
.geo-detail-grid small{display:block;margin-top:4px;font-size:.76rem;color:var(--muted);line-height:1.3}
.tide-current-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.tide-current-head strong{display:block;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.tide-current-head small{display:block;color:var(--muted);margin-top:4px;font-size:.78rem;line-height:1.35}
.tide-current-badge{min-width:96px;padding:10px;border:1px solid var(--line);border-radius:14px;text-align:center;background:rgba(5,20,30,.45)}
.tide-current-badge b{display:block;font-size:1.15rem}
.tide-current-badge small{margin-top:2px}
.tide-summary-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.tide-summary-grid article{min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.32)}
.tide-summary-grid span,.tide-summary-grid b,.tide-summary-grid small{display:block}
.tide-summary-grid span{font-size:.7rem;color:var(--muted)}
.tide-summary-grid b{font-size:1rem;margin:3px 0}
.tide-summary-grid small{font-size:.7rem;color:var(--muted);line-height:1.3}
.tide-events-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:12px 0 7px}
.tide-events-head strong{font-size:.88rem}
.tide-events-head small{color:var(--muted);font-size:.72rem}
.tide-timeline{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tide-event{min-width:0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.3)!important}
.tide-event-main{min-width:0}
.tide-event-main strong{display:block;font-size:1rem}
.tide-event-main span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
.tide-event-level{font-size:.9rem!important;font-weight:800!important;white-space:nowrap}
.tide-caveat{line-height:1.4!important;overflow-wrap:anywhere}
.comparison-reading{grid-template-columns:minmax(0,1fr) minmax(190px,.55fr)!important}
.comparison-reading strong{font-size:1.15rem!important}
.comparison-reading p{font-size:.9rem!important}
.comparison-signal{min-height:72px}
.compare-days{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.compare-day{min-width:0!important}
.compare-day small{font-size:.74rem!important;overflow-wrap:anywhere}
@media(max-width:700px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .geo-detail-grid>div{padding:9px}
  .geo-detail-grid b{font-size:.92rem}
  .tide-current-head{grid-template-columns:minmax(0,1fr) 92px;gap:8px}
  .tide-current-badge{min-width:0;padding:8px}
  .tide-current-badge b{font-size:1rem}
  .tide-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .tide-summary-grid article{padding:8px}
  .tide-summary-grid b{font-size:.9rem}
  .tide-summary-grid span,.tide-summary-grid small{font-size:.67rem}
  .tide-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-event{padding:9px!important}
  .comparison-reading{grid-template-columns:1fr!important}
  .comparison-guidance{border-left:0!important;border-top:1px solid var(--line);padding:9px 0 0}
  .comparison-signals{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .comparison-signal{padding:8px;gap:6px}
  .comparison-signal small{font-size:.67rem}
  .comparison-signal strong{font-size:.84rem}
  .comparison-signal span{font-size:.64rem}
  .compare-days{grid-template-columns:1fr!important}
}
@media(max-width:380px){
  .tide-current-head{grid-template-columns:1fr}
  .tide-current-badge{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}
  .tide-summary-grid{grid-template-columns:1fr!important}
  .tide-timeline{grid-template-columns:1fr!important}
  .comparison-signals{grid-template-columns:1fr!important}
}


/* v36 — composição mobile: maré, comparação, localização e leitura */
.location-context{background:linear-gradient(135deg,rgba(12,46,57,.88),rgba(5,23,33,.96));border:1px solid rgba(72,223,190,.32);box-shadow:0 8px 26px rgba(0,0,0,.12)}
.location-context .geo-title{font-size:1rem;line-height:1.35}
.geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.geo-detail-grid>div{padding:10px 11px!important}
.geo-detail-grid b{font-size:.94rem!important;color:#eef7fa!important}
.geo-detail-grid small{font-size:.7rem!important}
.season-indicator-card{min-height:58px;padding:9px!important;border:1px solid rgba(72,223,190,.24);border-radius:12px;background:rgba(10,39,48,.5)}
.season-indicator-card>span{font-size:1.35rem}

.tide-current-head{padding:14px!important}
.tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tide-event{grid-template-columns:minmax(58px,.8fr) minmax(58px,.8fr) minmax(72px,1fr)!important;min-height:52px!important;padding:10px!important}
.tide-event-time,.tide-event-level,.tide-event-kind{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tide-event-time{font-size:1rem;font-weight:900;color:#f0fafb;font-variant-numeric:tabular-nums}
.tide-event-level{font-size:.88rem;font-weight:800;color:#b7cbd4}
.tide-event-kind{font-size:.72rem;color:#70e5cf;white-space:nowrap}
.tide-event.high .tide-event-kind{color:#70e5cf}
.tide-event.low .tide-event-kind{color:#9fc0cc}
.tide-forecast-head{margin-top:14px!important}
.tide-day{padding:12px!important}
.tide-day header{grid-template-columns:minmax(0,1fr) auto!important;margin-bottom:9px}
.tide-day header>div{display:grid;gap:2px;min-width:0}
.tide-day header strong{font-size:.95rem!important}
.tide-day header>span{font-size:.68rem;color:var(--muted);white-space:nowrap}
.tide-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tide-event{background:rgba(5,20,30,.6)!important}
@media(max-width:700px){
 .tide-current-head{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
 .tide-today-grid{grid-template-columns:1fr!important}
 .tide-times{grid-template-columns:1fr!important}
 .tide-event{grid-template-columns:72px 72px minmax(0,1fr)!important}
 .tide-event-time{font-size:.95rem}
 .tide-event-level{font-size:.84rem}
 .tide-event-kind{font-size:.7rem}
}
@media(max-width:380px){
 .geo-detail-grid{grid-template-columns:1fr 1fr!important}
 .tide-event{grid-template-columns:62px 62px minmax(0,1fr)!important;padding:9px!important}
 .tide-event-time{font-size:.88rem}
 .tide-event-level{font-size:.78rem}
}

.comparison-reading{box-shadow:0 7px 22px rgba(0,0,0,.1)!important}
.comparison-signals{margin-top:10px!important}
.compare-days{gap:8px!important}
.compare-day{border:1px solid var(--line)!important;background:linear-gradient(145deg,rgba(8,28,39,.78),rgba(5,19,28,.55))!important;padding:11px!important}
.compare-day>span{font-size:.66rem!important}
.compare-day>strong{font-size:.95rem!important}
.compare-day-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}
.compare-day-metrics span{padding:7px 5px;border-radius:9px;background:rgba(0,0,0,.14);text-align:center}
.compare-day-metrics b,.compare-day-metrics small{display:block}
.compare-day-metrics b{font-size:.82rem}
.compare-day-metrics small{font-size:.58rem;color:var(--muted)}
@media(max-width:700px){
 .comparison-reading{padding:13px!important}
 .comparison-guidance{margin-top:4px}
 .comparison-signals{grid-template-columns:1fr!important}
 .comparison-signal{min-height:54px}
 .compare-days{grid-template-columns:1fr!important}
 .compare-day{display:block!important}
 .compare-day-metrics{margin-top:8px}
}

/* Texto padrão mais legível; a opção Alta visibilidade pode ampliar ainda mais. */
body{font-size:16px}
body.high-visibility{font-size:17px}
body.high-visibility .lead,body.high-visibility p,body.high-visibility small{font-size:1em}
body.high-visibility button,body.high-visibility a{font-size:1em}


/* v40 — mobile-first environmental dashboard */
.environment-change-board .change-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.environment-change-board .change-grid>div{min-width:0;padding:10px 8px;border:1px solid var(--line);border-radius:12px;background:rgba(5,19,29,.52)}
.environment-change-board .change-grid b{display:block;font-size:1rem;line-height:1.15;overflow-wrap:anywhere}
.environment-change-board .change-grid small{display:block;margin-top:4px;line-height:1.25}
.comparison-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:10px;padding:14px;border:1px solid rgba(67,214,185,.25);border-radius:16px;background:linear-gradient(145deg,rgba(9,39,49,.82),rgba(5,20,30,.72))}
.comparison-hero h3{margin:4px 0 6px;font-size:1.18rem}
.comparison-hero p{margin:0;line-height:1.55}
.comparison-action{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:11px;border-radius:12px;background:rgba(0,0,0,.14)}
.comparison-action b{font-size:.75rem;letter-spacing:.08em;color:var(--accent)}
.comparison-action span{line-height:1.4;font-size:.86rem;color:var(--muted)}
.compare-days{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px!important;margin-top:10px}
.compare-day{min-width:0!important}
.compare-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.compare-day-head span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.compare-day-head strong{font-size:.9rem}
.compare-day.is-today{border-color:rgba(67,214,185,.5)!important}
.comparison-signals{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
.comparison-signal{min-width:0;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:10px!important}
.comparison-signal-icon{font-size:1.1rem}
.comparison-signal small,.comparison-signal span{display:block}
.comparison-signal strong{display:block;font-size:.95rem;margin:2px 0}
.comparison-signal span{font-size:.68rem;color:var(--muted)}
.tide-forecast-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0}
.tide-forecast-head>div{min-width:0}
.tide-forecast-head strong{display:block;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.tide-forecast-head small{color:var(--muted);white-space:nowrap}
.tide-forecast-note{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(5,19,29,.38)}
.tide-forecast-note span{font-size:1.15rem}
.tide-forecast-note p{margin:0;line-height:1.4;font-size:.78rem;color:var(--muted)}
.tide-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}
.tide-day{min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(5,19,29,.42)}
.tide-day header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}
.tide-day header div{min-width:0}
.tide-day header .eyebrow{margin:0}
.tide-day header strong{display:block;font-size:.86rem}
.tide-day header>span{font-size:.66rem;color:var(--muted);white-space:nowrap}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-times .tide-event{min-width:0!important;display:grid!important;grid-template-columns:minmax(48px,auto) minmax(0,1fr)!important;gap:3px 7px!important;padding:8px!important}
.tide-event-time{font-size:.86rem;font-weight:800}
.tide-event-level{text-align:right;font-size:.8rem}
.tide-event-kind{grid-column:1/-1;font-size:.67rem;color:var(--muted)}
.tide-source-note{display:block;margin-top:9px;line-height:1.35;color:var(--muted)}
@media(max-width:700px){
  body{font-size:16.5px}
  .environment-change-board .change-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .comparison-hero{grid-template-columns:1fr;padding:12px}
  .comparison-hero h3{font-size:1.08rem}
  .comparison-action{margin-top:2px}
  .comparison-signals{grid-template-columns:1fr!important}
  .compare-days{grid-template-columns:1fr!important}
  .tide-days{grid-template-columns:1fr}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-forecast-head{display:block}
  .tide-forecast-head small{display:block;margin-top:4px}
  .tide-day{padding:9px}
  .tide-day header strong{font-size:.82rem}
  .tide-times .tide-event{grid-template-columns:64px minmax(0,1fr)!important}
}
@media(max-width:380px){
  body{font-size:16px}
  .environment-change-board .change-grid{grid-template-columns:1fr 1fr}
  .tide-times{grid-template-columns:1fr!important}
  .tide-times .tide-event{grid-template-columns:68px minmax(0,1fr)!important}
  .geo-detail-grid{grid-template-columns:1fr 1fr!important}
}


/* v34 — acabamento mobile: decisão, comparação, maré, localização e legibilidade */
.station-decision-card,.decision-reading,.comparison-hero{overflow:hidden}
.comparison-hero.compact{grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);align-items:stretch}
.comparison-hero.compact h3{font-size:1.25rem}
.comparison-hero.compact p{max-width:68ch}
.comparison-signals{margin-top:10px}
.compare-days{margin-top:10px}
.compare-day{border:1px solid var(--line);padding:11px;border-radius:13px;background:rgba(5,20,30,.48)}
.compare-day.featured{border-color:rgba(67,214,185,.48);background:rgba(10,45,52,.5)}
.compare-day-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}
.compare-day-values>div{min-width:0;padding:7px;border-radius:9px;background:rgba(255,255,255,.025)}
.compare-day-values b,.compare-day-values small{display:block}
.compare-day-values b{font-size:.92rem}
.compare-day-values small{color:var(--muted);font-size:.65rem;margin-top:2px}
.comparison-note{line-height:1.45;padding:8px 2px}
.location-context .geo-details-toggle{min-width:0}
.location-context .geo-detail-grid{gap:7px}
.location-context .geo-detail-grid>div{min-width:0}
.location-context .geo-detail-grid b{overflow-wrap:anywhere}
.tide-current-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.tide-current-head>div:first-child{min-width:0}
.tide-current-head strong{display:block;overflow-wrap:anywhere;line-height:1.25}
.tide-current-head small{display:block;line-height:1.4}
.tide-summary-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.tide-summary-grid article{min-width:0;padding:11px;border:1px solid var(--line);border-radius:13px;background:rgba(5,20,30,.42)}
.tide-summary-grid span,.tide-summary-grid b,.tide-summary-grid small{display:block}
.tide-summary-grid span{font-size:.67rem;color:var(--muted)}
.tide-summary-grid b{font-size:1.05rem;margin:3px 0;overflow-wrap:anywhere}
.tide-summary-grid small{font-size:.7rem;color:var(--muted);line-height:1.3}
.tide-events-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0 7px}
.tide-events-head small{color:var(--muted)}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tide-event{min-width:0;display:grid!important;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px!important;border:1px solid var(--line);border-radius:12px;background:rgba(5,20,30,.42)}
.tide-event-time,.tide-event-level,.tide-event-kind{min-width:0}
.tide-event-time{font-weight:800;font-size:.92rem}
.tide-event-level{font-weight:800;text-align:center}
.tide-event-kind{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tide-event.high{border-color:rgba(67,214,185,.35)}
.tide-event.low{border-color:rgba(255,205,90,.28)}
.tide-forecast-head{min-width:0}
.tide-days{display:grid;gap:8px}
.tide-day{min-width:0}
.tide-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.tide-times .tide-event{grid-template-columns:64px 62px minmax(0,1fr)}
.tide-source-note,.tide-forecast-note p{line-height:1.4}
.install-app.installed{border-color:rgba(255,205,90,.45)}

@media(max-width:700px){
  .comparison-hero.compact{grid-template-columns:1fr;gap:8px;padding:12px}
  .comparison-hero.compact h3{font-size:1.08rem}
  .comparison-action{border-top:1px solid var(--line);border-left:0!important;padding:9px 0 0}
  .comparison-signals{grid-template-columns:1fr}
  .comparison-signal{padding:9px}
  .compare-days{grid-template-columns:1fr!important}
  .compare-day{display:block!important}
  .compare-day-head{gap:5px}
  .compare-day-values{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tide-current-head{grid-template-columns:1fr}
  .tide-current-badge{justify-self:start}
  .tide-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tide-summary-grid article:last-child{grid-column:span 2}
  .tide-today-grid{grid-template-columns:1fr}
  .tide-event{grid-template-columns:76px minmax(70px,1fr) auto}
  .tide-times{grid-template-columns:1fr}
  .tide-times .tide-event{grid-template-columns:76px 62px minmax(0,1fr)}
}
@media(max-width:390px){
  .comparison-signal strong{font-size:.88rem}
  .compare-day-values b{font-size:.82rem}
  .tide-summary-grid{grid-template-columns:1fr}
  .tide-summary-grid article:last-child{grid-column:auto}
  .tide-event{grid-template-columns:64px minmax(0,1fr)!important}
  .tide-event-kind{grid-column:2;font-size:.68rem}
  .tide-event-level{text-align:left}
}

/* Low-vision readability: slightly larger controls and prevent dense dashboard text */
.high-visibility .comparison-hero.compact h3{font-size:1.35rem}
.high-visibility .comparison-signal strong,.high-visibility .tide-summary-grid b{font-size:1.05rem}
.high-visibility .tide-event{font-size:1rem}


/* v35 — decisão visual, localização limpa e leitura de baixa visão */
.location-context{background:linear-gradient(145deg,rgba(12,47,58,.92),rgba(5,25,34,.96));border:1px solid rgba(67,214,185,.42);border-radius:18px;padding:14px;margin-top:10px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.location-context .geo-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.location-context .geo-title span{font-size:.82rem;color:var(--muted)}
.geo-detail-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.geo-detail-grid>div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(2,13,20,.42)}
.geo-detail-grid b{display:block;font-size:1rem!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.geo-detail-grid small{display:block;margin-top:3px;font-size:.68rem!important;color:var(--muted)}
.comparison-decision{border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(145deg,rgba(5,28,39,.72),rgba(4,18,27,.92))}
.comparison-decision-head{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:stretch}
.comparison-decision-head h3{margin:3px 0 5px;font-size:1.2rem}
.comparison-decision-head p{margin:0;color:var(--muted);line-height:1.5}
.comparison-verdict{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(67,214,185,.35);border-radius:14px;padding:10px;background:rgba(67,214,185,.06)}
.comparison-verdict span,.comparison-verdict small{font-size:.65rem;color:var(--muted)}
.comparison-verdict strong{font-size:1rem;margin:4px 0}
.decision-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.decision-metric{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(2,13,20,.42);min-width:0}
.decision-metric>span{font-size:1.25rem}
.decision-metric small,.decision-metric strong,.decision-metric em{display:block}
.decision-metric small{font-size:.67rem;color:var(--muted)}
.decision-metric strong{font-size:.9rem}
.decision-metric em{font-style:normal;font-size:.67rem;color:var(--muted);margin-top:2px}
.compare-days{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.compare-day{min-width:0!important;border:1px solid var(--line);border-radius:12px;padding:10px!important;background:rgba(2,13,20,.3)}
.compare-day>div{display:flex;justify-content:space-between;gap:6px;align-items:center}
.compare-day>div span{font-weight:800;font-size:.78rem}
.compare-day>div small{font-size:.67rem;color:var(--muted)}
.compare-day p{margin:9px 0 0;padding-top:7px;border-top:1px solid var(--line)}
.compare-day p b,.compare-day p span{display:block}
.compare-day p b{font-size:.95rem}
.compare-day p span{font-size:.65rem;color:var(--muted)}
.comparison-guidance{display:flex;gap:8px;margin-top:11px;padding:10px;border-radius:12px;background:rgba(67,214,185,.055);line-height:1.4}
.comparison-guidance b{white-space:nowrap;font-size:.78rem}.comparison-guidance span{font-size:.75rem;color:var(--muted)}
.app-removal-help{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.62)}
.app-removal-card{width:min(430px,100%);padding:20px;border:1px solid var(--line);border-radius:18px;background:#071923;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.app-removal-card h3{margin:5px 0 8px}.app-removal-card p{color:var(--muted);line-height:1.5}.app-removal-close{float:right}
@media(max-width:700px){
 .location-context{padding:11px;border-radius:15px}
 .location-context .geo-title{align-items:flex-start;flex-direction:column;gap:3px}
 .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .comparison-decision{padding:11px}
 .comparison-decision-head{grid-template-columns:1fr;gap:9px}
 .comparison-verdict{align-items:flex-start;text-align:left}
 .decision-metrics{grid-template-columns:1fr}
 .compare-days{grid-template-columns:1fr!important}
 .compare-day p{display:inline-block;width:48%;vertical-align:top;border-top:0;padding-top:0}
 .comparison-guidance{display:block}
 .comparison-guidance b{display:block;margin-bottom:4px}
}
@media(max-width:380px){
 .geo-detail-grid{gap:6px!important}
 .geo-detail-grid>div{padding:8px}
 .geo-detail-grid b{font-size:.9rem!important}
}
.high-visibility .location-context,.high-visibility .comparison-decision{font-size:1.05rem}
.high-visibility .geo-detail-grid b,.high-visibility .decision-metric strong{font-size:1.05rem!important}


/* v40 — acabamento final: decisão, maré, localização, acessibilidade e instalação */
.station-primary-action{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;max-width:760px}
.station-action-hint{font-size:.78rem;color:var(--muted);padding-left:4px}
.location-context{overflow:hidden}
.location-context .geo-title{min-width:0}
.location-context .geo-title span{overflow-wrap:anywhere}
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.geo-detail-grid b{font-size:clamp(.9rem,2.4vw,1rem)!important}
.tide-current-head{min-width:0!important}
.tide-current-head strong,.tide-current-head small{overflow-wrap:anywhere}
.tide-summary-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:9px!important}
.tide-summary-grid article{min-width:0!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(3,16,24,.48)!important}
.tide-summary-grid article span,.tide-summary-grid article b,.tide-summary-grid article small{display:block!important}
.tide-summary-grid article span{font-size:.68rem!important;color:var(--muted)!important}
.tide-summary-grid article b{font-size:1rem!important;margin:2px 0!important;white-space:nowrap!important}
.tide-summary-grid article small{font-size:.68rem!important;color:var(--muted)!important;overflow-wrap:anywhere}
.tide-events-head{display:flex!important;justify-content:space-between;gap:8px;align-items:center;margin:12px 2px 7px!important}
.tide-events-head small{color:var(--muted)}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.tide-event{min-width:0!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(5,20,30,.5)!important}
.tide-event-main{min-width:0}
.tide-event-main strong{font-variant-numeric:tabular-nums}
.tide-event-main span{color:var(--muted);font-size:.7rem}
.tide-event-level{font-variant-numeric:tabular-nums;white-space:nowrap}
.tide-caveat{margin-top:9px!important;font-size:.72rem!important}
.tide-forecast-head strong{overflow-wrap:anywhere}
.tide-day{min-width:0!important}
.tide-day header strong{overflow-wrap:anywhere}
.tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.tide-times .tide-event{min-width:0!important;padding:8px!important}
.tide-event-time{font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.tide-event-level{font-weight:800}
.tide-event-kind{font-size:.68rem;color:var(--muted);overflow-wrap:anywhere}
.compare-insight{min-width:0}
.compare-delta-strip>div{min-width:0!important;overflow:hidden}
.compare-delta-strip b{white-space:normal!important;overflow-wrap:anywhere}
.compare-days{min-width:0}
.compare-day{min-width:0!important}
.compare-day strong{overflow-wrap:anywhere}
.comparison-note{line-height:1.4}
.high-visibility .station-action-hint,.high-visibility .tide-summary-grid article span,.high-visibility .tide-summary-grid article small,.high-visibility .tide-event-kind,.high-visibility .comparison-note{font-size:.82rem!important}
.high-visibility .tide-summary-grid article b{font-size:1.12rem!important}
.high-visibility .compare-insight h3{font-size:1.3rem!important}
.install-app.installed{font-weight:900}
@media(max-width:700px){
 .station-primary-action{max-width:none}
 .station-action-hint{font-size:.72rem}
 .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tide-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tide-summary-grid article:last-child{grid-column:1/-1}
 .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tide-times{grid-template-columns:1fr!important}
 .tide-forecast-head{display:grid!important;gap:4px!important}
 .tide-forecast-head small{text-align:left!important}
 .compare-delta-strip{grid-template-columns:1fr!important}
 .compare-delta-strip>div{display:grid!important;grid-template-columns:90px minmax(0,1fr)!important;align-items:center!important;gap:7px!important}
 .compare-delta-strip small{grid-row:1/3}
 .compare-days{grid-template-columns:1fr!important}
 .compare-day{display:grid!important;grid-template-columns:82px 92px minmax(0,1fr)!important;gap:7px!important;align-items:center!important}
 .compare-day small{text-align:right!important}
}
@media(max-width:390px){
 .tide-summary-grid{grid-template-columns:1fr!important}
 .tide-summary-grid article:last-child{grid-column:auto}
 .tide-today-grid{grid-template-columns:1fr!important}
 .compare-day{grid-template-columns:72px 82px minmax(0,1fr)!important}
}


/* 2026-09-23 visual stabilization */
.geo-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.geo-detail-grid>div{min-width:0;padding:10px 9px;border:1px solid var(--line);border-radius:12px;background:rgba(4,18,27,.55)}
.geo-detail-grid b,.geo-detail-grid small{display:block;overflow-wrap:anywhere}
.geo-detail-grid b{font-size:1rem;line-height:1.2}.geo-detail-grid small{margin-top:4px;font-size:.7rem}
.compare-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.compare-metric{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(4,18,27,.52)}
.compare-metric>span{font-size:1.05rem;flex:0 0 auto}.compare-metric div{min-width:0}.compare-metric small,.compare-metric strong,.compare-metric em{display:block}.compare-metric small{color:var(--muted);font-size:.68rem}.compare-metric strong{font-size:.88rem;line-height:1.2}.compare-metric em{font-style:normal;color:#8fa9b5;font-size:.72rem;margin-top:3px}
.compare-action{display:flex!important;align-items:flex-start!important;gap:10px!important;margin-top:10px!important}
.compare-action>span{font-size:1.15rem;flex:0 0 auto}.compare-action p{margin:3px 0 0;line-height:1.42}
.compare-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.compare-day{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:7px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(4,18,27,.35);min-width:0}
.compare-day small,.compare-day strong{display:block}.compare-day small{color:var(--muted);font-size:.68rem}.compare-day strong{font-size:.88rem}.compare-day span{min-width:0}.compare-day span b{display:block;font-size:.8rem}.compare-day span small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compare-empty{padding:12px;border:1px dashed var(--line);border-radius:12px;display:grid;gap:4px}.compare-empty span{color:var(--muted);line-height:1.4}
.tide-events-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:12px}
.tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin-top:8px}
.tide-event{display:grid!important;grid-template-columns:74px minmax(0,1fr) auto!important;align-items:center;gap:8px!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(4,18,27,.42)!important;min-width:0}
.tide-event-main{display:contents}.tide-event-main strong,.tide-event-time{font-size:1rem!important}.tide-event-main span,.tide-event-kind{color:var(--muted);font-size:.74rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tide-event-level{font-size:.88rem!important;font-weight:800!important;white-space:nowrap}
.tide-day{min-width:0}.tide-day header{display:flex;justify-content:space-between;gap:8px;align-items:end}.tide-day header strong{font-size:.92rem}.tide-day header span{color:var(--muted);font-size:.7rem}
.tide-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.tide-forecast-head strong{display:block;line-height:1.25;overflow-wrap:anywhere}.tide-forecast-head small{white-space:nowrap}
@media(max-width:700px){
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compare-metrics,.compare-days{grid-template-columns:1fr}
  .compare-day{grid-template-columns:1.1fr .9fr .9fr}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-event{grid-template-columns:66px minmax(0,1fr) auto!important;padding:9px!important}
  .tide-times{grid-template-columns:1fr}
  .tide-forecast-head{align-items:flex-start!important;flex-direction:column}
}
@media(max-width:390px){
  .geo-detail-grid b{font-size:.9rem}.geo-detail-grid small{font-size:.64rem}
  .compare-day{grid-template-columns:1fr 1fr}.compare-day>div{grid-column:1/-1}
  .tide-event{grid-template-columns:58px minmax(0,1fr) auto!important}
  .tide-event-main span,.tide-event-kind{font-size:.68rem!important}
}


/* Outdoor/mobile readability */
@media(max-width:700px){
  body{font-size:16px}
  .status,.location-context,.comparison-note,.tide-source-note{font-size:.86rem;line-height:1.45}
  .moment-grid small,.moment-extra small,.change-grid small,.cards small{font-size:.72rem;line-height:1.25}
  .moment-grid b,.moment-extra b,.change-grid b{font-size:1rem}
  .location-context strong,.display-header h3{font-size:1.05rem}
  .section-head .lead{font-size:.94rem;line-height:1.45}
  .tide-event-time,.tide-event-level{font-size:.94rem!important}
}
@media(max-width:390px){
  body{font-size:16px}
  .moment-grid small,.moment-extra small,.change-grid small,.cards small{font-size:.7rem}
}

/* 2026-09-24 readability + comparison cleanup */
/* Reduz a aparência de tabela no comparativo e melhora leitura externa/mobile. */
#cmpMoon,#cmpTide,#cmpColor,#cmpRig,#cmpRetrieve{display:grid;gap:3px;line-height:1.25;min-width:0}
#cmpMoon strong,#cmpTide strong,#cmpColor strong,#cmpRig strong,#cmpRetrieve strong{font-size:.92rem;overflow-wrap:anywhere}
#cmpMoon small,#cmpTide small,#cmpColor small,#cmpRig small,#cmpRetrieve small{font-size:.68rem;color:var(--muted);line-height:1.3}
.high-visibility #cmpMoon strong,.high-visibility #cmpTide strong,.high-visibility #cmpColor strong,.high-visibility #cmpRig strong,.high-visibility #cmpRetrieve strong{font-size:1rem}
.high-visibility #cmpMoon small,.high-visibility #cmpTide small,.high-visibility #cmpColor small,.high-visibility #cmpRig small,.high-visibility #cmpRetrieve small{font-size:.8rem}
@media(max-width:700px){
  .geo-details-toggle summary{font-size:.82rem;font-weight:800}
  .geo-detail-grid{margin-top:7px}
  .location-context .geo-title span{font-size:.8rem;line-height:1.35}
}

/* 2026-09-24 objective reading structure */
.objective-decision{margin-top:9px;padding:12px 13px;border:1px solid rgba(67,214,185,.3);border-radius:13px;background:rgba(67,214,185,.055);line-height:1.45}
.objective-decision>strong{display:block;font-size:1rem;margin-bottom:7px}
.objective-decision p{margin:6px 0;color:var(--muted)}
.objective-decision p b{color:var(--text)}
.objective-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}
.objective-grid>article{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(4,18,27,.45)}
.objective-grid article small{display:block;color:var(--muted);font-size:.66rem}
.objective-grid article strong{display:block;margin-top:2px;font-size:.82rem;overflow-wrap:anywhere}
.high-visibility .objective-decision{font-size:1rem}
.high-visibility .objective-grid article strong{font-size:.95rem}
.high-visibility .objective-grid article small{font-size:.78rem}
@media(max-width:700px){
 .objective-decision{padding:11px}
 .objective-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .objective-grid>article{padding:9px}
}


/* Legibilidade mobile — prioridade para baixa visão */
@media(max-width:700px){
  body{font-size:16px;line-height:1.55}
  .hero .eyebrow{font-size:.72rem!important}
  .hero .lead{font-size:.95rem!important;line-height:1.45!important}
  .location-context strong{font-size:1rem!important}
  .location-context span,.location-context small{font-size:.78rem!important}
  #radar .cards article strong{font-size:.95rem!important;line-height:1.15!important}
  #radar .cards article small,.cards article small{font-size:.72rem!important;line-height:1.25!important}
  .radar-diagnostics{font-size:.82rem!important}
  .radar-diagnostics small{font-size:.72rem!important}
  .analysis-target label{font-size:.82rem!important}
  .intel-story{font-size:.86rem!important;line-height:1.5!important}
  .status{font-size:.9rem!important;line-height:1.45!important}
  .comparison-grid strong{font-size:.78rem!important}
  .comparison-grid p{font-size:.95rem!important}
  .manage-help span,.manage-meta{font-size:.82rem!important}
}


/* Mobile stability: maré sem sobreposição e sem conteúdo comprimido. */
#tidePanel,#tideForecast,#tideTrendChart{min-width:0;overflow:hidden}
.tide-current-head,.tide-forecast-head{min-width:0;flex-wrap:wrap}
.tide-current-head>div,.tide-forecast-head>div{min-width:0;max-width:100%}
.tide-current-head strong,.tide-current-head small,.tide-forecast-head strong,.tide-forecast-head small{overflow-wrap:anywhere}
.tide-summary-grid{min-width:0}
.tide-summary-grid article{min-width:0;overflow:hidden}
.tide-summary-grid article b,.tide-summary-grid article small{overflow-wrap:anywhere}
.tide-today-grid,.tide-times,.tide-days{min-width:0}
.tide-event,.tide-time{min-width:0;overflow:hidden}
.tide-event-main,.tide-event-level,.tide-event-time,.tide-event-kind{min-width:0}
.tide-event-main strong,.tide-event-main span,.tide-event-level,.tide-event-time,.tide-event-kind{overflow-wrap:anywhere}
.tide-chart-svg{display:block;width:100%;height:auto;max-width:100%}
@media(max-width:700px){
  .tide-current-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .tide-current-badge{justify-self:start;max-width:100%}
  .tide-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-today-grid{grid-template-columns:1fr!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-day header{grid-template-columns:1fr!important;gap:5px}
  .tide-day header>span{display:block}
  .tide-day header>span::after{content:""}
  .tide-day header>span{font-size:.72rem;color:var(--muted)}
  .tide-event{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:380px){
  .tide-summary-grid{grid-template-columns:1fr!important}
  .tide-times{grid-template-columns:1fr!important}
}

/* Final mobile stability pass — prevent tide/forecast text overlap */
.tide-forecast-head,.tide-forecast-note,.tide-day,.tide-day header,.tide-day header>div,.tide-times,.tide-event,.tide-current-head,.tide-summary-grid,.tide-summary-grid article{min-width:0;max-width:100%;box-sizing:border-box}
.tide-forecast-head strong,.tide-forecast-head small,.tide-forecast-note p,.tide-day header strong,.tide-day header span,.tide-event strong,.tide-event span,.tide-event-level,.tide-event-kind,.tide-caveat{overflow-wrap:anywhere;word-break:normal}
.tide-days{width:100%;overflow:visible}
.tide-day{overflow:hidden}
.tide-times{width:100%}
.tide-event{overflow:hidden}
@media(max-width:700px){
  #tideForecast{width:100%;overflow:visible}
  .tide-forecast-head{align-items:flex-start}
  .tide-day{grid-template-columns:1fr;gap:7px}
  .tide-day header{grid-template-columns:1fr;gap:3px}
  .tide-day header>span{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .tide-event{grid-template-columns:minmax(0,1fr) auto;gap:4px 7px;text-align:left;padding:8px;}
  .tide-event strong,.tide-event-level{font-size:.82rem}
  .tide-event span,.tide-event-kind{font-size:.68rem;line-height:1.2}
  .tide-event-level{white-space:nowrap}
  .tide-current-head{align-items:flex-start;flex-wrap:wrap}
  .tide-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:380px){
  .tide-summary-grid{grid-template-columns:1fr 1fr}
  .tide-day header>span{grid-template-columns:1fr 1fr}
  .tide-event{grid-template-columns:1fr}
  .tide-event-level{justify-self:start}
}

/* Mobile hardening: forecast/tide cards must never widen the viewport. */
.tide-panel,.tide-forecast-head,.tide-day,.tide-times,.tide-event,.forecast-days,.forecast-day,.forecast-extended-row{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}
.tide-times{overflow-x:auto}.tide-trend-chart{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.tide-chart-svg{display:block;width:100%;min-width:560px;max-width:none}
@media(max-width:700px){.tide-forecast-head,.tide-day header,.forecast-summary,.forecast-extended-row{gap:8px}.tide-event{grid-template-columns:minmax(58px,auto) minmax(58px,auto) minmax(70px,1fr)}.forecast-days{grid-template-columns:minmax(0,1fr)}.tide-chart-svg{min-width:520px}}


/* v2026-09-26 — correções de leitura mobile e maré */
.tide-forecast-head,.tide-current-head{min-width:0;overflow:hidden}
.tide-forecast-head>div,.tide-current-head>div{min-width:0}
.tide-days{min-width:0}
.tide-day{min-width:0;overflow:hidden}
.tide-day header{min-width:0}
.tide-day header>div,.tide-day header>span{min-width:0}
.tide-day header>span{overflow:hidden}
.tide-day-event,.tide-event{min-width:0;overflow:hidden}
.tide-day-event strong,.tide-day-event span,.tide-day-event small,.tide-event strong,.tide-event span,.tide-event small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){
  .tide-forecast-head{align-items:flex-start;gap:8px;flex-wrap:wrap}
  .tide-forecast-head>small{max-width:100%;overflow-wrap:anywhere}
  .tide-day header{grid-template-columns:1fr;gap:6px}
  .tide-day header>span{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .tide-day-event{border:1px solid var(--line);border-radius:8px;padding:7px 5px}
  .tide-current-head{flex-wrap:wrap}
  .tide-current-badge{margin-left:auto;max-width:48%;overflow:hidden}
  .tide-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .tide-summary-grid article{min-width:0;overflow:hidden}
  .tide-summary-grid b,.tide-summary-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .comparison-grid>div{min-width:0;overflow:hidden}
  .comparison-grid p{overflow-wrap:anywhere;line-height:1.35}
}
@media(max-width:380px){
  body{font-size:15px}
  .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tide-summary-grid{grid-template-columns:1fr 1fr}
  .tide-current-badge{max-width:100%;margin-left:0}
  .comparison-grid{grid-template-columns:1fr}
}
/* Evita que números ambientais longos criem cartões ilegíveis. */
.cards article strong,.geo-detail-grid b,.radar-snapshot b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:normal}

/* v2026-09-28 — mobile hardening final: maré/previsão sem sobreposição */
@media(max-width:700px){
  #tidePanel,#tideForecast,.tide-panel,.tide-days,.tide-day,.tide-times,.tide-event,.forecast-days,.forecast-day{min-width:0;max-width:100%;box-sizing:border-box;}
  .tide-times{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;overflow:visible!important;}
  .tide-event{display:grid!important;grid-template-columns:72px minmax(0,1fr) 64px!important;align-items:center!important;gap:6px!important;padding:9px!important;}
  .tide-event strong,.tide-event span,.tide-event small,.tide-event-level,.tide-event-kind{min-width:0;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;}
  .tide-event-level,.tide-event-kind{justify-self:start!important;}
  .tide-current-badge{max-width:100%!important;margin-left:0!important;}
  .tide-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  .tide-summary-grid article{min-width:0!important;overflow:hidden!important;}
  .tide-chart-svg{width:100%!important;min-width:0!important;height:auto!important;}
  .tide-trend-chart{overflow:hidden!important;}
  .tide-forecast-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  .forecast-days{grid-template-columns:1fr!important;}
  .forecast-day-head{grid-template-columns:minmax(0,1fr) auto!important;}
  .period-grid{grid-template-columns:1fr!important;}
  .period-card{grid-template-columns:62px minmax(0,1fr)!important;}
}
@media(max-width:390px){
  .tide-event{grid-template-columns:64px minmax(0,1fr)!important;}
  .tide-event-level,.tide-event-kind{grid-column:2!important;}
  .tide-summary-grid{grid-template-columns:1fr!important;}
}

/* v2026-09-28 — authoritative mobile tide/forecast layout: no overlap */
@media(max-width:700px){
  #tideForecast .tide-days,
  #tideForecast .tide-day,
  #tideForecast .tide-times,
  #tideForecast .tide-event{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #tideForecast .tide-times{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    overflow:visible!important;
  }
  #tideForecast .tide-event{
    display:grid!important;
    grid-template-columns:minmax(62px,auto) minmax(0,1fr)!important;
    grid-template-areas:"time level" "kind kind"!important;
    align-items:center!important;
    gap:4px 8px!important;
    padding:9px 10px!important;
    text-align:left!important;
  }
  #tideForecast .tide-event-time{grid-area:time!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #tideForecast .tide-event-level{grid-area:level!important;justify-self:end!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #tideForecast .tide-event-kind{grid-area:kind!important;margin-top:1px!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.25!important}
  #tideForecast .tide-day header{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important}
  #tideForecast .tide-day header>div{flex:1 1 180px!important;min-width:0!important}
  #tideForecast .tide-day header>span{flex:0 1 auto!important;min-width:0!important}
}
@media(max-width:380px){
  #tideForecast .tide-event{grid-template-columns:56px minmax(0,1fr)!important}
  #tideForecast .tide-event-time{font-size:.78rem!important}
  #tideForecast .tide-event-level{font-size:.78rem!important}
  #tideForecast .tide-event-kind{font-size:.68rem!important}
}

/* 2026-09-27: mobile tide/forecast containment hardening */
#tidePanel,#tideTrendChart,#rainForecast,#fishingOutlook{min-width:0;max-width:100%;overflow:hidden}
.tide-forecast-head,.tide-forecast-note,.tide-days,.tide-day,.tide-day header,.tide-times,.tide-event{min-width:0;max-width:100%}
.tide-forecast-head{gap:10px;flex-wrap:wrap}.tide-forecast-head>div{min-width:0;flex:1 1 180px}.tide-forecast-head small{white-space:normal;overflow-wrap:anywhere}
.tide-day header{grid-template-columns:minmax(0,1fr) auto}.tide-day header strong{min-width:0;overflow-wrap:anywhere}.tide-day header>span{min-width:0;text-align:right}
.tide-event{overflow:hidden}.tide-event-level,.tide-event-time,.tide-event-kind{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.forecast-day,.forecast-day-head,.forecast-day-main,.period-grid,.period-card{min-width:0;max-width:100%}.forecast-day-head{gap:8px;flex-wrap:wrap}.forecast-day-main{margin-left:auto}.period-card span,.period-card small{overflow-wrap:anywhere;white-space:normal}
@media(max-width:430px){.tide-forecast-head{display:block}.tide-forecast-head>div{margin-bottom:4px}.tide-day header{grid-template-columns:1fr}.tide-day header>span{text-align:left}.tide-times{grid-template-columns:1fr!important}.tide-event{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.tide-event-kind{grid-column:1/-1}.forecast-day-main{margin-left:0;width:100%;display:flex;gap:10px;align-items:baseline}.forecast-day-main b,.forecast-day-main span{white-space:nowrap}}


/* Deploy integrity 2026-09-28: harden tide layout on narrow screens. */
@media(max-width:700px){
  .tide-days{grid-template-columns:1fr!important}
  .tide-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-current-head{align-items:start}
  .tide-forecast-note p{font-size:.76rem;overflow-wrap:anywhere}
}
@media(max-width:380px){
  .tide-summary-grid{grid-template-columns:1fr!important}
  .tide-event-time{font-size:.94rem}
}

/* v41 — correção definitiva de leitura mobile, maré e baixa visão */
#tidePanel,#objectiveFishingReading,#stationFishingNote{min-width:0;max-width:100%;overflow:hidden}
#tidePanel .tide-current-head,#tideForecast .tide-forecast-head{min-width:0;max-width:100%;box-sizing:border-box}
#tidePanel .tide-current-head>div,#tideForecast .tide-forecast-head>div{min-width:0;max-width:100%}
#tidePanel .tide-current-head strong,#tidePanel .tide-current-head small,#tideForecast .tide-forecast-head strong,#tideForecast .tide-forecast-head small{overflow-wrap:anywhere;white-space:normal}
#tidePanel .tide-today-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#tidePanel .tide-event{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:3px!important;min-width:0!important;overflow:hidden!important}
#tidePanel .tide-event strong,#tidePanel .tide-event-level,#tidePanel .tide-event small{max-width:100%;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#tideForecast .tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
#tideForecast .tide-day{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;padding:10px!important}
#tideForecast .tide-day header{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:8px!important;min-width:0!important;margin-bottom:8px!important}
#tideForecast .tide-day header>div{min-width:0!important;overflow:hidden!important}
#tideForecast .tide-day header strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#tideForecast .tide-day header span{flex:0 0 auto;white-space:nowrap!important}
#tideForecast .tide-times{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;min-width:0!important}
#tideForecast .tide-event{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:3px 6px!important;min-width:0!important;overflow:hidden!important;padding:8px!important}
#tideForecast .tide-event-time,#tideForecast .tide-event-level{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#tideForecast .tide-event-kind{grid-column:1/-1!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.decision-reading-v2{display:grid;gap:9px!important}
.decision-reading-v2>strong{font-size:1.08rem;line-height:1.25}
.decision-reading-reason{margin:0!important;line-height:1.45}
.decision-reading-step{display:grid;grid-template-columns:minmax(76px,auto) minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(5,19,29,.35)}
.decision-reading-step b{color:var(--accent);font-size:.78rem}
.decision-reading-step span{line-height:1.4;overflow-wrap:anywhere}
.decision-reading-v2 .decision-reading-metrics{margin-top:1px!important;line-height:1.45!important}
.objective-decision-v2{font-size:1.04rem!important;line-height:1.3!important}
.objective-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.objective-grid-compact span{min-width:0;overflow-wrap:anywhere}
body.high-visibility{font-size:18px!important;line-height:1.62!important}
body.high-visibility .lead{font-size:1.08rem!important}
body.high-visibility .eyebrow{font-size:.84rem!important}
body.high-visibility small,.high-visibility .status{font-size:.88rem!important}
body.high-visibility button,body.high-visibility input,body.high-visibility select,body.high-visibility textarea{font-size:1rem!important;line-height:1.35!important}
body.high-visibility .cards article strong{font-size:1.35rem!important}
@media(max-width:700px){
  #tideForecast .tide-days{grid-template-columns:1fr!important}
  #tideForecast .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tideForecast .tide-event{grid-template-columns:minmax(0,1fr) auto!important}
  #tidePanel .tide-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .objective-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .decision-reading-step{grid-template-columns:1fr!important;gap:3px}
  body.high-visibility .section-head h2{font-size:1.45rem!important}
}
@media(max-width:380px){
  #tideForecast .tide-times,#tidePanel .tide-today-grid{grid-template-columns:1fr!important}
  .objective-grid-compact{grid-template-columns:1fr!important}
}


/* PescaRadar v28 — mobile stability pass: leitura e maré */
@media (max-width:700px){
  .station-decision-card{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:13px}
  .station-decision-card strong{font-size:1.08rem}
  .station-decision-card p{font-size:.92rem;line-height:1.42}
  .station-decision-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
  .station-decision-details>div{min-width:0;padding:7px;border-radius:9px;background:rgba(255,255,255,.035)}
  .station-decision-details small,.station-decision-details b{display:block;overflow:hidden;text-overflow:ellipsis}
  .station-decision-details small{font-size:.62rem;line-height:1.15}
  .station-decision-details b{font-size:.76rem;line-height:1.25}
  .tide-days{grid-template-columns:1fr!important}
  .tide-day{padding:10px!important}
  .tide-day-head{align-items:flex-start!important}
  .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-time{padding:8px 7px!important}
  .tide-time strong{font-size:.88rem!important}
  .tide-time span{font-size:.74rem!important}
  .tide-time small{font-size:.62rem!important;line-height:1.25!important;white-space:normal!important}
}
@media (max-width:380px){
  .station-decision-details{grid-template-columns:1fr}
  .station-decision-details>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:6px;align-items:center}
  .tide-today-grid{grid-template-columns:1fr!important}
}


/* Visual system 2026 · clean futuristic / interactive
   Camada final: hierarquia, profundidade, estados de interação e leitura mobile. */
:root{
  --bg:#050b12;--surface:#0a151f;--surface2:#0e202c;--text:#edf8fb;--muted:#8da5b3;
  --accent:#35e0c0;--accent-2:#35d7ff;--line:rgba(167,222,235,.13);
  --line-strong:rgba(53,224,192,.28);--glass:rgba(7,18,27,.72);--shadow:0 18px 55px rgba(0,0,0,.28)
}
html{background:var(--bg)}
body{
  background:radial-gradient(900px 520px at 92% -8%,rgba(53,215,255,.10),transparent 62%),
    radial-gradient(760px 520px at -8% 18%,rgba(53,224,192,.07),transparent 60%),
    linear-gradient(180deg,#050b12 0%,#07111a 52%,#050b12 100%);
  color:var(--text)
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.20;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:32px 32px;mask-image:linear-gradient(to bottom,black,transparent 85%)
}
.topbar{height:64px;border-bottom:1px solid rgba(167,222,235,.08)}
.brand{display:flex;align-items:center;gap:8px;letter-spacing:-.02em}
.brand-logo,.station-brandline img{filter:drop-shadow(0 0 12px rgba(53,224,192,.18))}
nav a,nav button{transition:color .18s ease,border-color .18s ease,background .18s ease}
nav a:hover,nav a:focus-visible{color:var(--text)}
.hero{position:relative}
.hero:after{content:"";position:absolute;left:0;top:18px;width:92px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.7}
.station-brandline strong{letter-spacing:-.03em}
.station-brandline>span:last-child{border-left:1px solid var(--line);padding-left:8px}
.primary,.secondary,.map-actions button,.chips button,.nav-install{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease
}
.primary{background:linear-gradient(135deg,var(--accent),#6eead4);box-shadow:0 8px 26px rgba(53,224,192,.12)}
.primary:hover,.primary:focus-visible{transform:translateY(-1px);box-shadow:0 11px 30px rgba(53,224,192,.20)}
.secondary,.map-actions button,.chips button{background:rgba(14,32,44,.78);border-color:var(--line)}
.secondary:hover,.map-actions button:hover,.chips button:hover{border-color:var(--line-strong);background:rgba(18,42,55,.92)}
.location-context,.moment-readout,.radar-snapshot,.panel,.ai-box,.cards article,.mini-chart-card,.lunar-card,
.environment-change-board,.history-comparison,.specialist-panel,.station-decision-card{
  background:linear-gradient(145deg,rgba(11,27,39,.78),rgba(6,16,24,.64));
  border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(14px)
}
.location-context{border-color:rgba(53,224,192,.18);position:relative;overflow:hidden}
.location-context:after{content:"";position:absolute;width:110px;height:110px;right:-45px;top:-45px;border:1px solid rgba(53,215,255,.12);border-radius:50%}
.display-header{border-bottom:1px solid rgba(167,222,235,.08)}
.display-header h3{letter-spacing:-.025em}
.moment-readout{border-color:rgba(53,224,192,.20)}
.moment-grid>div,.moment-extra>div,.lunar-grid>div{
  background:rgba(255,255,255,.018);border-color:rgba(167,222,235,.09);
  transition:border-color .16s ease,background .16s ease,transform .16s ease
}
.moment-grid>div:hover,.moment-extra>div:hover,.lunar-grid>div:hover{
  background:rgba(53,224,192,.045);border-color:rgba(53,224,192,.22);transform:translateY(-1px)
}
.cards article{position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.cards article:before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-2),transparent);opacity:.28}
.cards article:hover{transform:translateY(-2px);border-color:rgba(53,224,192,.24);background:rgba(10,29,41,.86)}
.cards article strong{letter-spacing:-.035em}
.cards article small{color:#91aab7}
.section-head h2,.section-head h3{letter-spacing:-.035em}
.eyebrow{color:var(--accent);text-shadow:0 0 18px rgba(53,224,192,.12)}
#map{border-color:rgba(53,215,255,.20);box-shadow:var(--shadow)}
.forecast-row,.history-item,.tournament-item{border-color:rgba(167,222,235,.09)}
.forecast-fill{background:linear-gradient(90deg,var(--accent-2),var(--accent))}
.forecast-summary,.manage-help,.manage-card,.condition-auto,.quick-snapshot>div{background:rgba(6,17,26,.68);border-color:var(--line)}
.chat-row input,.chat-row select,.manage-form input,.manage-form select,.form-grid input,.form-grid select,.full-field textarea{
  background:rgba(5,14,21,.78);border-color:var(--line);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.chat-row input:focus,.chat-row select:focus,.manage-form input:focus,.manage-form select:focus,.form-grid input:focus,.form-grid select:focus,.full-field textarea:focus{
  border-color:rgba(53,224,192,.55);box-shadow:0 0 0 3px rgba(53,224,192,.08);background:rgba(7,19,28,.94)
}
.radar-diagnostics{border-color:rgba(53,215,255,.14);background:linear-gradient(90deg,rgba(53,215,255,.045),rgba(53,224,192,.025))}
.lunar-card{border-color:rgba(126,104,255,.18)}.lunar-card .eyebrow{color:#a9a0ff}
.station-decision-card{border-color:rgba(53,224,192,.18)}.specialist-panel{border-color:rgba(53,215,255,.15)}
button:disabled{cursor:not-allowed;opacity:.48;transform:none!important;box-shadow:none!important}
.status{color:#91aab7}
@media(max-width:700px){
  body:before{background-size:28px 28px;opacity:.14}
  .hero:after{top:8px;width:62px}
  .cards article:hover{transform:none}
  .cards article:active{transform:scale(.985)}
  .moment-grid>div:hover,.moment-extra>div:hover,.lunar-grid>div:hover{transform:none}
  .primary:active,.secondary:active{transform:scale(.985)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* Theme states: interactive visual modes */
html[data-visual-theme="aqua"]{
  --bg:#031218;--surface:#071c24;--surface2:#0b2b35;--accent:#50f0cf;--accent-2:#35d7ff;
}
html[data-visual-theme="high"]{
  --bg:#000609;--surface:#06131a;--surface2:#0b2029;--text:#ffffff;--muted:#c2d6de;
  --accent:#5fffe0;--accent-2:#62ddff;--line:rgba(255,255,255,.24);
}
html[data-visual-theme="midnight"]{
  --bg:#03050b;--surface:#090d18;--surface2:#111827;--accent:#8ee7ff;--accent-2:#b1a7ff;
}
.theme-pulse{animation:themePulse .5s ease}
@keyframes themePulse{0%{filter:brightness(1)}45%{filter:brightness(1.16)}100%{filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.theme-pulse{animation:none}}

/* Tema interativo: controles já existentes na navegação */
html[data-visual-theme="aqua"] body{
  --accent:#63f3d1;--accent-2:#5de6ff;
  background:radial-gradient(900px 520px at 85% -5%,rgba(93,230,255,.14),transparent 60%),radial-gradient(700px 500px at -5% 25%,rgba(99,243,209,.10),transparent 62%),var(--bg);
}
html[data-visual-theme="high"] body{--text:#fff;--muted:#b7cbd4;--line:rgba(255,255,255,.20)}
html[data-visual-theme="high"] .cards article,html[data-visual-theme="high"] .panel,html[data-visual-theme="high"] .ai-box,html[data-visual-theme="high"] .location-context{border-color:rgba(255,255,255,.22);box-shadow:0 14px 36px rgba(0,0,0,.34)}
.nav-accessibility{font-size:.78rem!important;padding:8px 10px!important;min-height:40px!important;white-space:nowrap}
.nav-accessibility[aria-pressed="true"]{color:#041117!important;background:var(--accent)!important;border-color:var(--accent)!important;box-shadow:0 0 20px rgba(53,224,192,.18)}
@media(max-width:700px){.nav-accessibility{width:100%;text-align:left}.topbar{backdrop-filter:blur(14px)}}
\n.tide-howto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px}.tide-howto>div{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;padding:9px 10px;border:1px solid var(--line,rgba(167,222,235,.13));border-radius:12px;background:rgba(255,255,255,.025)}.tide-howto b{grid-row:span 2;font-size:1.25rem}.tide-howto span{font-weight:800}.tide-howto small{opacity:.7;font-size:.72rem}.dashboard-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:8px}.dashboard-chart-card{min-width:0}.dashboard-bars{display:grid;gap:8px}.dash-bar-row{display:grid;grid-template-columns:minmax(72px,1fr) minmax(90px,2fr) 28px;gap:8px;align-items:center;width:100%;padding:7px 8px;border:0;background:transparent;color:inherit;text-align:left;border-radius:10px;cursor:pointer}.dash-bar-row:hover,.dash-bar-row:focus-visible{background:rgba(53,224,192,.06);outline:none}.dash-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.dash-bar-row>i{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.dash-bar-row>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent,#35e0c0),var(--accent-2,#35d7ff))}.dash-bar-row>strong{text-align:right;font-size:.82rem}.dashboard-empty{padding:14px;border:1px dashed var(--line,rgba(167,222,235,.13));border-radius:10px;opacity:.72;font-size:.84rem}@media(max-width:700px){.tide-howto{grid-template-columns:1fr}.dashboard-visual-grid{grid-template-columns:1fr}.dash-bar-row{grid-template-columns:minmax(80px,1fr) minmax(90px,1.5fr) 28px}}@media(prefers-reduced-motion:no-preference){.dash-bar-row>i>b{transition:width .45s ease}.dash-bar-row:hover{transform:translateX(2px)}}\n
/* Interactive tide + dashboard refinement */
.tide-days{display:grid;gap:10px}
.tide-day{overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.tide-day[open]{border-color:var(--line-strong,rgba(53,224,192,.28));box-shadow:0 12px 30px rgba(0,0,0,.16)}
.tide-day>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.tide-day>summary::-webkit-details-marker{display:none}
.tide-day>summary:after{content:"＋";font-size:1.1rem;opacity:.7;transition:transform .2s ease}
.tide-day[open]>summary:after{content:"−"}
.tide-day>summary>div:first-child{display:grid;gap:3px;min-width:0}
.tide-day>summary strong{font-size:1rem}
.tide-day-summary{display:grid;justify-items:end;gap:3px;color:var(--muted);font-size:.76rem}
.tide-day-summary small{opacity:.8}
.tide-event{position:relative;min-height:94px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 10px;align-content:center;padding:12px 13px;overflow:hidden}
.tide-event-help{grid-column:1/-1;opacity:.58;font-size:.7rem}
.tide-event.high{background:linear-gradient(135deg,rgba(53,224,192,.07),transparent)}
.tide-event.low{background:linear-gradient(135deg,rgba(53,215,255,.06),transparent)}
.tide-event-time{font-size:1.12rem;font-weight:850}
.tide-event-level{font-size:1rem;font-weight:800}
.tide-event-kind{font-size:.78rem;color:var(--muted)}
.tide-howto{margin:12px 0;}
.tide-forecast-note>div{min-width:0}
.tide-forecast-note strong{display:block;margin-bottom:2px}
.dashboard-bars{min-height:160px;align-content:start}
.dash-bar-row{position:relative;overflow:hidden}
.dash-bar-row:after{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .2s ease}
.dash-bar-row:focus-visible:after{box-shadow:inset 0 0 0 1px var(--accent)}
.dashboard-chart-card{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent)}
@media(max-width:700px){
  .tide-day>summary{padding:13px 12px}
  .tide-event{min-height:88px;padding:11px}
  .tide-event-help{font-size:.68rem}
  .dashboard-bars{min-height:120px}
}
@media(prefers-reduced-motion:no-preference){.tide-day[open]{transform:translateY(-1px)}.tide-day>summary:after{transition:transform .2s ease}}


/* === 2026-10 visual readability: tide + dashboard === */
.tide-forecast-note{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.tide-forecast-note>span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(53,215,255,.14),rgba(53,224,192,.08));
  border:1px solid rgba(53,215,255,.18);
  font-size:1.45rem;
}
.tide-howto{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.tide-howto>div{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:9px;
  align-items:center;
  padding:11px;
  border:1px solid var(--line);
  border-radius:15px;
  background:rgba(255,255,255,.025);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.tide-howto>div:hover{transform:translateY(-2px);border-color:var(--line-strong);background:rgba(53,224,192,.045)}
.tide-howto b{grid-row:span 2;font-size:1.35rem}
.tide-howto span{font-weight:800;font-size:.84rem}
.tide-howto small{font-size:.7rem;opacity:.68;margin-top:2px}
.tide-day{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:rgba(5,16,24,.62);margin:10px 0;transition:border-color .2s ease,box-shadow .2s ease}
.tide-day[open]{border-color:rgba(53,224,192,.25);box-shadow:0 12px 34px rgba(0,0,0,.14)}
.tide-day>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 16px}
.tide-day>summary::-webkit-details-marker{display:none}
.tide-day-title{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0}
.tide-day-title strong{font-size:1.05rem;letter-spacing:-.01em}
.tide-day-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(53,224,192,.11);
  border:1px solid rgba(53,224,192,.2);
  color:var(--accent);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.08em;
}
.tide-day-summary{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}
.tide-day-summary span{font-size:.78rem;font-weight:800}
.tide-day-summary small{font-size:.68rem;opacity:.65}
.tide-day-body{padding:0 12px 12px}
.tide-day-guide{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin:0 4px 10px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(53,215,255,.045);
  border:1px solid rgba(53,215,255,.1);
}
.tide-day-guide span{font-size:.95rem}
.tide-day-guide small{font-size:.72rem;line-height:1.4;opacity:.76}
.tide-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tide-event{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  min-width:0;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.018);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.tide-event:hover{transform:translateY(-2px);border-color:var(--line-strong);background:rgba(255,255,255,.035)}
.tide-event-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:1rem;background:rgba(255,255,255,.05)}
.tide-event.high .tide-event-icon{background:rgba(53,224,192,.1)}
.tide-event.low .tide-event-icon{background:rgba(53,215,255,.1)}
.tide-event-main{min-width:0}
.tide-event-time{font-size:1.05rem;font-weight:900;letter-spacing:.01em}
.tide-event-kind{font-size:.75rem;font-weight:800;margin-top:2px}
.tide-event-help{display:block;font-size:.66rem;opacity:.62;margin-top:2px}
.tide-event-level{font-size:1rem;font-weight:900;white-space:nowrap}
.tide-source-note{display:block;line-height:1.45;margin-top:10px}
.dashboard-chart-card{overflow:hidden}
.dashboard-bars{display:grid;gap:8px}
.dash-bar-row{
  appearance:none;
  width:100%;
  display:grid;
  grid-template-columns:minmax(72px,24%) minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  border:0;
  padding:5px 0;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.dash-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750}
.dash-bar-row>i{display:block;height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.04)}
.dash-bar-row>i>b{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .35s cubic-bezier(.2,.8,.2,1)}
.dash-bar-row>strong{font-size:.78rem;min-width:22px;text-align:right}
.dash-bar-row:hover>i,.dash-bar-row:focus-visible>i{background:rgba(53,224,192,.11)}
.dash-bar-row:hover>i>b,.dash-bar-row:focus-visible>i>b{filter:brightness(1.16)}
.dash-bar-row:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.dashboard-empty{padding:14px;border:1px dashed var(--line);border-radius:12px;font-size:.78rem;opacity:.7}
@media(max-width:640px){
  .tide-howto{grid-template-columns:1fr}
  .tide-howto>div{grid-template-columns:auto minmax(0,1fr)}
  .tide-times{grid-template-columns:1fr}
  .tide-day>summary{align-items:flex-start;padding:14px}
  .tide-day-summary{align-items:flex-end}
  .tide-event{grid-template-columns:34px minmax(0,1fr) auto}
  .dash-bar-row{grid-template-columns:minmax(68px,28%) minmax(0,1fr) auto}
}
@media(prefers-reduced-motion:reduce){
  .tide-howto>div,.tide-day,.tide-event,.dash-bar-row>i>b{transition:none}
}

/* Interactive data visualization layer */
.dashboard-svg{width:100%;height:auto;min-height:150px;overflow:visible}
.dashboard-point{opacity:.18;transition:opacity .18s,transform .18s;transform-box:fill-box;transform-origin:center}
.dashboard-point:hover,.dashboard-point:focus{opacity:1;transform:scale(1.6)}
.dashboard-bar{cursor:help;transition:opacity .18s,transform .18s;transform-box:fill-box;transform-origin:center bottom}
.dashboard-bar:hover{opacity:.82;transform:scaleY(1.03)}
.tide-day{transition:border-color .2s,background .2s,transform .2s}
.tide-day:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.tide-day>summary{cursor:pointer;list-style:none}
.tide-day>summary::-webkit-details-marker{display:none}
.tide-day-title{display:flex;align-items:center;gap:10px;min-width:0}
.tide-day-title strong{white-space:nowrap}
.tide-day-badge{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tide-day-visual{display:grid;grid-template-columns:minmax(150px,220px) 1fr;align-items:center;gap:12px;margin:10px 0 12px;padding:9px 11px;border:1px solid rgba(167,222,235,.1);border-radius:14px;background:rgba(255,255,255,.018)}
.tide-day-visual svg{width:100%;height:auto}
.tide-mini-wave{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;opacity:.75}
.tide-day-visual circle{fill:currentColor;opacity:.72}
.tide-day-visual b{display:block;font-size:.92rem}
.tide-day-visual small{display:block;margin-top:3px;opacity:.68}
.tide-event{transition:transform .18s,border-color .18s,box-shadow .18s}
.tide-event:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 10px 28px rgba(0,0,0,.16)}
@media(max-width:640px){
  .tide-day-visual{grid-template-columns:1fr}
  .tide-day-visual svg{max-height:70px}
  .dashboard-point{opacity:.32}
}
@media(prefers-reduced-motion:reduce){
  .dashboard-point,.dashboard-bar,.tide-day,.tide-event{transition:none}
}


/* Final interaction polish: dashboard + tide */
.dashboard-chart-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.dashboard-chart-card::before{
  content:"";
  position:absolute;
  inset:-35% -15% auto;
  height:120px;
  background:radial-gradient(circle,rgba(53,224,192,.09),transparent 68%);
  pointer-events:none;
  z-index:-1;
}
.dashboard-chart-card .chart-head{
  position:relative;
  z-index:1;
}
.dash-bar-row{
  border-radius:11px;
  padding:7px 6px;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.dash-bar-row:hover{
  background:rgba(255,255,255,.028);
}
.dash-bar-row.is-active,
.dash-bar-row[aria-pressed="true"]{
  background:linear-gradient(90deg,rgba(53,224,192,.10),rgba(53,215,255,.035));
  box-shadow:inset 2px 0 0 var(--accent),0 8px 22px rgba(0,0,0,.12);
}
.dash-bar-row.is-active>span,
.dash-bar-row[aria-pressed="true"]>span{
  color:var(--text);
}
.dash-bar-row.is-active>i,
.dash-bar-row[aria-pressed="true"]>i{
  background:rgba(53,224,192,.14);
}
.dash-bar-row.is-active>i>b,
.dash-bar-row[aria-pressed="true"]>i>b{
  filter:brightness(1.2);
}
.tide-day-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border:1px solid rgba(53,224,192,.22);
  border-radius:999px;
  background:rgba(53,224,192,.07);
}
.tide-day[open] .tide-day-badge{
  box-shadow:0 0 0 3px rgba(53,224,192,.035);
}
.tide-event:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.tide-day-visual{
  background:
    linear-gradient(90deg,rgba(53,224,192,.045),transparent 48%,rgba(53,215,255,.035)),
    rgba(255,255,255,.018);
}
@media(max-width:640px){
  .dashboard-chart-card{padding:12px}
  .dash-bar-row{grid-template-columns:minmax(62px,30%) minmax(0,1fr) 26px;padding:8px 5px}
  .dash-bar-row>span{font-size:.74rem}
  .tide-day-visual{padding:8px}
}
@media(prefers-reduced-motion:reduce){
  .dashboard-chart-card,.dash-bar-row,.tide-event{transition:none}
}


/* v-futura — visualização interativa de maré e dashboard */
.tide-interactive-readout{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 10px;
  align-items:center;
  margin:10px 0;
  padding:11px 13px;
  border:1px solid var(--line-strong);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(53,224,192,.08),rgba(53,215,255,.04));
}
.tide-interactive-readout strong{font-size:.88rem}
.tide-interactive-readout span{font-size:.78rem;color:var(--text)}
.tide-interactive-readout small{grid-column:1/-1;color:var(--muted);font-size:.68rem}
.tide-day-visual{
  display:grid!important;
  grid-template-columns:minmax(130px,190px) 1fr;
  gap:10px;
  align-items:center;
  margin:8px 0 10px;
  padding:9px 10px;
  border:1px solid rgba(167,222,235,.1);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
.tide-mini-wave-svg{display:block;width:100%;height:42px;color:var(--accent)}
.tide-mini-wave-svg polyline{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tide-day-visual b{display:block;font-size:.78rem}
.tide-day-visual small{display:block;margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.3}
#tideForecast .tide-event{
  position:relative;
  cursor:pointer;
  appearance:none;
  color:inherit;
  font:inherit;
  transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;
}
#tideForecast .tide-event:hover,
#tideForecast .tide-event:focus-visible{
  transform:translateY(-2px);
  border-color:var(--line-strong)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  outline:none;
}
#tideForecast .tide-event.is-selected{border-color:var(--accent)!important;background:rgba(53,224,192,.08)!important}
#tideForecast .tide-event-icon{font-size:.9rem;line-height:1}
#tideForecast .tide-event small{font-size:.58rem!important;color:var(--muted)!important}
.dashboard-visual-grid{align-items:stretch}
.dashboard-chart-card{min-width:0}
.dashboard-bars{display:grid;gap:7px;margin-top:8px}
.dash-bar-row{
  display:grid;
  grid-template-columns:minmax(92px,34%) minmax(0,1fr);
  gap:9px;
  width:100%;
  padding:7px 0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.dash-bar-row:hover .dash-bar-track,.dash-bar-row:focus-visible .dash-bar-track{border-color:var(--line-strong);background:rgba(53,224,192,.06)}
.dash-bar-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.dash-bar-label{min-width:0;display:grid;gap:2px}
.dash-bar-label b{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-bar-label small{font-size:.61rem;color:var(--muted)}
.dash-bar-track{min-width:0;height:26px;display:block;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);overflow:hidden;padding:2px;transition:border-color .16s,background .16s}
.dash-bar-track i{display:flex;align-items:center;justify-content:flex-end;min-width:6%;height:100%;padding:0 7px;border-radius:6px;background:linear-gradient(90deg,rgba(53,224,192,.2),rgba(53,215,255,.72));font-style:normal;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.dash-bar-track i b{font-size:.68rem;color:#031016}
.dashboard-empty{padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.76rem}
.cards>article{transition:transform .18s,border-color .18s,box-shadow .18s}
.cards>article:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 10px 28px rgba(0,0,0,.16)}
@media(max-width:640px){
  .tide-day-visual{grid-template-columns:1fr}
  .tide-mini-wave-svg{height:36px}
  .dash-bar-row{grid-template-columns:minmax(82px,39%) minmax(0,1fr)}
  .dash-bar-label b{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  #tideForecast .tide-event,.cards>article,.dash-bar-track i{transition:none}
}

/* 2026-10-02 — mobile navigation stacking correction
   Keep the navigation above hero/cards/maps regardless of local stacking contexts. */
@media(max-width:700px){
  .topbar{
    position:relative !important;
    z-index:2147483000 !important;
    overflow:visible !important;
    isolation:isolate !important;
  }
  .topbar .menu-toggle{
    position:relative !important;
    z-index:2147483646 !important;
  }
  #mainNav{
    position:fixed !important;
    top:calc(env(safe-area-inset-top, 0px) + 66px) !important;
    right:10px !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    z-index:2147483647 !important;
    width:min(300px,calc(100vw - 20px)) !important;
    max-height:calc(100dvh - env(safe-area-inset-top, 0px) - 82px) !important;
    overflow:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    isolation:isolate !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
  }
  #mainNav.open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  #mainNav a,
  #mainNav button{
    position:relative;
    z-index:1;
    width:100%;
    min-height:44px;
    box-sizing:border-box;
    text-align:left;
    flex:0 0 auto;
  }
  body.page-station #mainNav.open{
    background:#07131d !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.72),0 0 0 100vmax rgba(0,0,0,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  main{
    position:relative;
    z-index:1;
  }
}


/* 2026-10-02 — field-friendly tide + dashboard visual layer */
.tide-forecast-head strong{display:block;font-size:clamp(1rem,3.4vw,1.35rem);line-height:1.18;max-width:32ch}
.tide-day>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px 11px;border-bottom:1px solid rgba(230,246,252,.1)}
.tide-day>header>span{color:var(--muted);font-size:.72rem;text-align:right;line-height:1.25}
.tide-day-title{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px}
.tide-day-title .eyebrow{margin:0;font-size:.62rem}
.tide-day-title strong{font-size:1.05rem;line-height:1.2}
.tide-day-visual{margin:10px 12px!important}
.tide-day-visual>div:last-child{min-width:0}
#tideForecast .tide-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}
#tideForecast .tide-event{min-height:98px;padding:11px!important;border:1px solid var(--line)!important;background:rgba(255,255,255,.018);border-radius:14px!important}
#tideForecast .tide-event.high{border-left:3px solid var(--accent)!important}
#tideForecast .tide-event.low{border-left:3px solid var(--accent-2,#35d7ff)!important}
#tideForecast .tide-event.neutral{border-left:3px solid rgba(255,255,255,.25)!important}
#tideForecast .tide-event-icon{grid-row:1 / span 2;align-self:start;margin-top:3px}
#tideForecast .tide-event-time{font-size:1.2rem}
#tideForecast .tide-event-level{justify-self:end}
#tideForecast .tide-event-kind{font-size:.76rem;font-weight:800}
#tideForecast .tide-event small{grid-column:1/-1;line-height:1.25}
#tideForecast .tide-source-note{display:block;padding:0 12px 14px;line-height:1.4}
#tideInteractiveReadout{position:sticky;bottom:10px;z-index:4;backdrop-filter:blur(10px)}
.dashboard-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.dashboard-chart-card{min-width:0;display:flex;flex-direction:column}
.dashboard-chart-card .dashboard-bars{flex:1}
.dashboard-reading-guide{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin:10px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,rgba(53,224,192,.06),rgba(53,215,255,.035))}
.dashboard-reading-guide>span{font-size:1.45rem}
.dashboard-reading-guide strong{display:block;font-size:.82rem}
.dashboard-reading-guide small{display:block;margin-top:2px;color:var(--muted);font-size:.71rem;line-height:1.35}
.dash-bar-row.is-selected{border-radius:10px;background:rgba(72,223,190,.06)}
.dash-bar-row.is-selected .dash-bar-track{border-color:var(--accent)}
.dash-bar-row.is-selected .dash-bar-track i{filter:brightness(1.08)}
@media(max-width:820px){
  .dashboard-visual-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  #tideForecast .tide-times{grid-template-columns:1fr}
  .tide-day>header{padding:13px 12px 9px}
  .tide-day>header>span{max-width:42%;font-size:.66rem}
  .dashboard-reading-guide{align-items:start}
}
@media(prefers-reduced-motion:reduce){
  .dash-bar-row,.dash-bar-track i,#tideForecast .tide-event{transition:none!important}
}


/* 2026-10-02 — responsive system pass: station, navigation, cards and touch layout
   Final cascade: prevent clipping, keep reading hierarchy and adapt at tablet/phone widths. */
html,body{max-width:100%;overflow-x:hidden}
body.page-station main,body.page-station section,body.page-station .hero,body.page-station .ai-box,
body.page-station .panel,body.page-station .location-context,body.page-station .moment-readout,
body.page-station .station-decision-card,body.page-station .specialist-panel{min-width:0}
img,svg,canvas,video,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
.section-head>div,.chart-head>div,.station-brandline,.geo-title,.moment-head,
.station-decision-card>div,.specialist-panel-head>div{min-width:0}

@media(max-width:860px){
  body.page-station .topbar{
    width:calc(100% - 20px)!important;
    min-height:58px!important;
    height:auto!important;
    padding:7px 0!important;
    gap:8px!important;
    align-items:center!important;
  }
  body.page-station .topbar .brand{
    min-width:0;
    flex:1 1 auto;
    font-size:1.08rem;
  }
  body.page-station .topbar .brand span{
    min-width:0;
    overflow-wrap:anywhere;
  }
  body.page-station .menu-toggle{
    display:grid!important;
    place-items:center;
    flex:0 0 auto;
    width:46px;
    height:46px;
    min-height:46px!important;
    padding:0!important;
    border-radius:12px;
    font-size:1.2rem;
  }
  body.page-station #mainNav{
    display:none!important;
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 66px)!important;
    right:10px!important;
    left:auto!important;
    width:min(320px,calc(100vw - 20px))!important;
    max-height:calc(100dvh - env(safe-area-inset-top,0px) - 82px)!important;
    overflow:auto!important;
    flex-direction:column!important;
    gap:0!important;
    padding:6px!important;
    border-radius:16px!important;
    z-index:2147483647!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.page-station #mainNav.open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.page-station #mainNav a,
  body.page-station #mainNav button{
    width:100%!important;
    min-height:46px!important;
    padding:11px 13px!important;
    text-align:left!important;
    flex:0 0 auto!important;
    white-space:normal!important;
  }
  body.page-station #mainNav a+a{border-top:1px solid rgba(255,255,255,.07)}
  body.page-station main{width:calc(100% - 20px)!important}
  body.page-station .hero{padding:28px 0 24px!important}
  body.page-station .station-brandline{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:"logo title" "sub sub"!important;
    align-items:center!important;
    column-gap:9px!important;
    row-gap:4px!important;
    margin-bottom:12px!important;
  }
  body.page-station .station-brandline img{grid-area:logo;width:42px!important;height:42px!important}
  body.page-station .station-brandline strong{grid-area:title;font-size:1.1rem!important;min-width:0}
  body.page-station .station-brandline>span:last-child{
    grid-area:sub;
    border-left:0!important;
    padding-left:0!important;
    font-size:.78rem!important;
    line-height:1.35!important;
  }
  body.page-station .station-lead{max-width:60ch!important}
  body.page-station .station-primary-action{width:100%;margin:12px 0!important}
  body.page-station .station-refresh-button{width:100%!important;min-height:54px!important}
  body.page-station .station-action-hint{display:block!important;margin-top:7px!important;line-height:1.35!important}
  body.page-station .display-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:10px!important;
  }
  body.page-station .display-header h3{
    overflow-wrap:anywhere;
    font-size:clamp(1.25rem,5vw,1.65rem)!important;
  }
  body.page-station .display-clock{white-space:nowrap!important;padding-top:2px}
  body.page-station .moment-head{align-items:flex-start!important}
  body.page-station .moment-head>span{white-space:nowrap!important}
  body.page-station .specialist-panel-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  body.page-station .specialist-panel-head small{max-width:34vw!important;text-align:right!important}
  body.page-station .change-board-head{display:flex!important;justify-content:space-between!important;gap:8px!important}
  body.page-station .station-decision-details{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.page-station .station-decision-details>div{min-width:0!important}
  body.page-station .station-decision-details b,
  body.page-station .station-decision-details small{overflow-wrap:anywhere!important}
  body.page-station .lunar-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.page-station .lunar-grid>div{min-width:0!important;padding:9px!important}
  body.page-station .moment-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.page-station .moment-extra{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.page-station .moment-grid>div,
  body.page-station .moment-extra>div{min-width:0!important;overflow:hidden}
  body.page-station .moment-grid b,
  body.page-station .moment-extra b,
  body.page-station .lunar-grid b{overflow-wrap:anywhere!important}
  body.page-station .season-indicator-card{
    grid-column:1/-1!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }
  body.page-station .geo-title{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
  }
  body.page-station .location-context .geo-title span{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  body.page-station .geo-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-station .environment-change-board .change-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.page-station .station-chart-dashboard{grid-template-columns:1fr!important}
  body.page-station .map-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.page-station .map-actions button{width:100%!important;min-width:0!important}
}

@media(max-width:600px){
  body.page-station section{padding:28px 0!important}
  body.page-station .section-head{gap:10px!important}
  body.page-station .section-head h2{font-size:clamp(1.45rem,7vw,2rem)!important}
  body.page-station .section-head .lead{font-size:.9rem!important}
  body.page-station .moment-grid,
  body.page-station .moment-extra{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-station .season-indicator-card{grid-column:1/-1!important}
  body.page-station .station-decision-details{grid-template-columns:1fr!important}
  body.page-station .station-decision-card{grid-template-columns:42px minmax(0,1fr)!important;gap:9px!important;padding:13px!important}
  body.page-station .station-decision-icon{width:42px!important;height:42px!important}
  body.page-station .specialist-panel-head{grid-template-columns:1fr!important}
  body.page-station .specialist-panel-head small{max-width:none!important;text-align:left!important}
  body.page-station .environment-change-board .change-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-station .environment-change-board .change-grid>div{min-height:62px!important}
  body.page-station .radar-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-station .radar-snapshot>div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  body.page-station .radar-snapshot>div:last-child{border-bottom:0!important}
  body.page-station .analysis-target{grid-template-columns:1fr!important}
  body.page-station .quick-log-grid{grid-template-columns:1fr 1fr!important}
  body.page-station .form-grid{grid-template-columns:1fr!important}
  body.page-station .danger-zone{display:block!important}
  body.page-station .danger-zone button{width:100%!important;margin-top:10px!important}
  body.page-station .privacy-banner{left:8px!important;right:8px!important;bottom:8px!important;padding:13px!important}
  body.page-station .privacy-actions{display:grid!important;grid-template-columns:1fr!important}
}

@media(max-width:430px){
  body.page-station main{width:calc(100% - 16px)!important}
  body.page-station .topbar{width:calc(100% - 16px)!important}
  body.page-station .hero{padding-top:22px!important}
  body.page-station .station-brandline img{width:38px!important;height:38px!important}
  body.page-station .station-brandline strong{font-size:1.02rem!important}
  body.page-station .display-header{grid-template-columns:1fr!important}
  body.page-station .display-clock{justify-self:start;font-size:.76rem!important}
  body.page-station .moment-grid,
  body.page-station .moment-extra,
  body.page-station .lunar-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-station .moment-grid b,
  body.page-station .moment-extra b{font-size:.88rem!important}
  body.page-station .moment-grid small,
  body.page-station .moment-extra small,
  body.page-station .lunar-grid small{font-size:.62rem!important}
  body.page-station .geo-detail-grid{grid-template-columns:1fr 1fr!important}
  body.page-station .map-actions{grid-template-columns:1fr 1fr!important}
  body.page-station .map-actions button{min-height:44px!important;padding:8px 7px!important;font-size:.78rem!important}
}

@media(max-width:360px){
  body.page-station main{width:calc(100% - 12px)!important}
  body.page-station .topbar{width:calc(100% - 12px)!important}
  body.page-station .moment-grid,
  body.page-station .moment-extra,
  body.page-station .lunar-grid,
  body.page-station .geo-detail-grid,
  body.page-station .map-actions{grid-template-columns:1fr!important}
  body.page-station .season-indicator-card{grid-column:auto!important}
  body.page-station .station-refresh-button{font-size:.88rem!important}
  body.page-station .station-action-hint{font-size:.7rem!important}
  body.page-station .radar-snapshot{grid-template-columns:1fr!important}
}

/* 2026-10-02 — visual didático: transformar dados em leitura rápida */
.dashboard-visual-guide,.tide-at-a-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 12px}.dashboard-visual-guide article,.tide-at-a-glance article{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(53,224,192,.035));transition:transform .16s,border-color .16s,background .16s}.dashboard-visual-guide article:hover,.tide-at-a-glance article:hover{transform:translateY(-2px);border-color:var(--line-strong);background:linear-gradient(145deg,rgba(53,224,192,.07),rgba(53,215,255,.045))}.dashboard-visual-guide article>span,.tide-at-a-glance article>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(53,224,192,.08);font-size:1.25rem}.dashboard-visual-guide b,.tide-at-a-glance b{display:block;font-size:.78rem;line-height:1.2}.dashboard-visual-guide small,.tide-at-a-glance small{display:block;margin-top:3px;color:var(--muted);font-size:.65rem;line-height:1.3}.tide-at-a-glance{margin:10px 0}.tide-at-a-glance article:nth-child(2)>span{background:rgba(53,215,255,.08)}.tide-at-a-glance article:nth-child(3)>span{background:rgba(180,140,255,.08)}.tide-day-title small{display:block;margin-top:2px;color:var(--muted);font-size:.62rem;line-height:1.2}.tide-day-title strong{display:block}.dashboard-chart-card h3{font-size:1rem;line-height:1.2}.dashboard-chart-card .chart-head small{white-space:nowrap}@media(max-width:700px){.dashboard-visual-guide,.tide-at-a-glance{grid-template-columns:1fr}.dashboard-visual-guide article,.tide-at-a-glance article{min-height:56px}}@media(prefers-reduced-motion:reduce){.dashboard-visual-guide article,.tide-at-a-glance article{transition:none}}

/* Internationalization / locale selector */
.pesca-language-picker{display:flex;align-items:center;margin-left:auto}
.pesca-language-picker .language-select{min-height:42px;padding:8px 30px 8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text);font:inherit;font-size:.82rem;font-weight:750}
.pesca-language-picker .language-select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:700px){.pesca-language-picker{width:auto}.pesca-language-picker .language-select{max-width:154px;font-size:.76rem}}

/* Station header cleanup: one brand source, stable mobile hierarchy. */
.station-brandline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.station-brandline>strong{font-size:1.45rem;line-height:1;font-weight:900;letter-spacing:-.03em;color:var(--text)}
.station-brandline>strong span{color:var(--accent)}
.station-brandline>span{flex-basis:100%;margin-left:0;color:var(--muted);font-size:.9rem}
@media(max-width:700px){.station-brandline{gap:7px;margin-bottom:5px}.station-brandline>strong{font-size:1.3rem}.station-brandline>span{font-size:.82rem}.page-station .hero{padding-top:14px!important;padding-bottom:12px!important}.page-station .display-header{padding-top:10px}.page-station .moment-readout{margin-top:8px}}


/* Species biodiversity catalog */
.species-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end;margin-bottom:10px}.species-search-label{min-width:0}.species-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.species-card{min-width:0}.species-card-button{width:100%;padding:0;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface2);color:var(--text);overflow:hidden;cursor:pointer}.species-card-button:hover{border-color:var(--line-strong);transform:translateY(-1px)}.species-photo{height:150px;background:rgba(53,224,192,.05);overflow:hidden}.species-photo img{width:100%;height:100%;object-fit:cover;display:block}.species-photo-placeholder{height:100%;display:grid;place-items:center;font-size:3rem}.species-card-body{padding:11px}.species-card-body h3{margin:0 0 4px;font-size:1rem}.species-card-body p{margin:0 0 7px;color:var(--muted);font-size:.78rem}.species-card-body small{display:block;color:var(--muted);font-size:.67rem;line-height:1.35;margin-top:3px}.species-detail{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface2)}.species-detail-head{display:flex;gap:14px;align-items:flex-start}.species-detail-head img{width:150px;height:120px;object-fit:cover;border-radius:12px}.species-detail-head h3{margin:3px 0}.species-detail-head p{margin:3px 0;color:var(--muted)}.species-attribution{font-size:.67rem;color:var(--muted)}.species-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.species-detail-grid>div{padding:10px;border:1px solid var(--line);border-radius:12px}.species-detail-grid p{margin:.4rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}@media(max-width:700px){.species-toolbar{grid-template-columns:1fr 1fr}.species-search-label{grid-column:1/-1}.species-grid{grid-template-columns:1fr 1fr}.species-photo{height:125px}.species-detail-head{flex-direction:column}.species-detail-head img{width:100%;height:180px}.species-detail-grid{grid-template-columns:1fr}}@media(max-width:390px){.species-grid{grid-template-columns:1fr}}


/* Station header final: the HTML brand image is the only visual logo in the hero. */
.station-brandline:before{display:none!important;content:none!important}
@media(max-width:700px){
  body.page-station .station-brandline{padding:0!important}
  body.page-station .topbar{min-height:56px!important}
}

.species-inline-search{margin-top:6px;width:100%}.species-inline-results{display:grid;gap:6px;grid-column:1/-1}.species-inline-result{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center;text-align:left;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text);cursor:pointer}.species-inline-result span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;overflow:hidden;border-radius:8px}.species-inline-result img{width:100%;height:100%;object-fit:cover}.species-inline-result strong{font-size:.78rem}.species-inline-result em{font-size:.67rem;color:var(--muted)}.species-selected-note{font-size:.72rem;color:var(--muted)}


.species-history-panel{margin:12px 0 4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2,#f7f7f5)}
.species-history-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.species-history-head h4{margin:2px 0 0}
.species-history-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}
.species-history-summary>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.species-history-summary strong{display:block;font-size:1.05rem}
.species-history-summary small{display:block;margin-top:3px;color:var(--muted)}
.species-history-insights p{margin:5px 0}
.species-history-recent h5{margin:12px 0 6px}
.species-history-recent article{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:.9rem}
@media(max-width:700px){
  .species-history-head{display:block}
  .species-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .species-history-recent article{grid-template-columns:1fr 1fr}
}

/* PescaRadar responsive repair — single canonical override block (2026-10-16).
   Keep station/mobile rules and module-specific layout fixes consolidated in this final section. */
html,body{max-width:100%;overflow-x:clip}
body{min-width:0}
main,main>*,section,article,aside,footer,nav,form,.panel,.card,
[class*="-grid"],[class*="-panel"]{min-width:0;max-width:100%;box-sizing:border-box}
img,video{max-width:100%;height:auto}
svg,canvas,iframe{max-width:100%}
h1,h2,h3,h4,h5,p,li,small,strong,b,span,label,summary,a,button,output,dd,dt{
  min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal
}
button,input,select,textarea{min-width:0;max-width:100%;font:inherit;box-sizing:border-box}
button,a{white-space:normal}

/* The global topbar is the only brand/header. This selector intentionally
   outranks earlier mobile rules that used body.page-station and !important. */
body.page-station .station-brandline{display:none!important}
body.page-station .topbar{
  height:auto!important;min-height:56px;max-width:100%;width:100%;
  box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:8px;
  overflow:visible!important
}
body.page-station .topbar .brand{min-width:0;max-width:calc(100% - 52px);flex:0 1 auto}
body.page-station #mainNav{min-width:0;max-width:100%;flex-wrap:wrap}
body.page-station .hero,body.page-station .section-head,body.page-station .chart-head,
body.page-station .moment-head,body.page-station .display-header,body.page-station .change-board-head{
  min-width:0;max-width:100%;box-sizing:border-box
}
body.page-station .display-header,body.page-station .section-head,body.page-station .chart-head,
body.page-station .moment-head,body.page-station .change-board-head{
  flex-wrap:wrap;align-items:flex-start
}
body.page-station .moment-grid,body.page-station .moment-extra,body.page-station .lunar-grid,
body.page-station .station-decision-details,body.page-station .change-grid,
body.page-station .history-comparison-grid,body.page-station .intel-grid,
body.page-station .geo-detail-grid,body.page-station .radar-snapshot,
body.page-station .station-chart-dashboard,body.page-station .station-mini-dashboard,
body.page-station .cards,body.page-station .period-grid,
#fishingOutlook,#fishingOutlook .outlook-grid,#tideForecast,#tideForecast .tide-days,
#tideForecast .tide-day,#tideForecast .tide-times,#tideForecast .tide-event{
  min-width:0;max-width:100%;box-sizing:border-box
}
body.page-station .moment-grid>*,body.page-station .moment-extra>*,
body.page-station .lunar-grid>*,body.page-station .station-decision-details>*,
body.page-station .change-grid>*,body.page-station .history-comparison-grid>*,
body.page-station .intel-grid>*,body.page-station .geo-detail-grid>*,
body.page-station .radar-snapshot>*,body.page-station .cards>*,
body.page-station .period-grid>*,#fishingOutlook .outlook-grid>*,
#tideForecast .tide-day>*,#tideForecast .tide-times>*{
  min-width:0;max-width:100%;height:auto;overflow-wrap:anywhere;box-sizing:border-box
}

/* Fishing window: let cards size to content; never clip descriptions. */
#fishingOutlook{height:auto!important;max-height:none!important;overflow:visible!important}
#fishingOutlook .outlook-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px
}
#fishingOutlook .outlook-card{
  height:auto!important;min-height:0!important;max-width:100%;overflow:visible!important;white-space:normal!important
}
#fishingOutlook .outlook-card>*{
  max-width:100%;white-space:normal!important;overflow:visible!important;
  overflow-wrap:anywhere;line-height:1.45
}
#rainForecast .period-card{height:auto!important;min-height:0!important;align-content:start;overflow:visible!important;overflow-wrap:anywhere}

/* Tides: previous rules forced ellipsis/nowrap and clipped the forecast panel.
   Override those important declarations so labels and measurements remain readable. */
#tidePanel,#tideForecast,#tideTrendChart,#objectiveFishingReading,#stationFishingNote{
  min-width:0;max-width:100%;height:auto!important;max-height:none!important;overflow:visible!important;box-sizing:border-box
}
#tidePanel .tide-current-head,#tideForecast .tide-forecast-head,
#tidePanel .tide-current-head>div,#tideForecast .tide-forecast-head>div{
  min-width:0;max-width:100%;box-sizing:border-box
}
#tidePanel .tide-current-head strong,#tidePanel .tide-current-head small,
#tideForecast .tide-forecast-head strong,#tideForecast .tide-forecast-head small{
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere
}
#tideForecast .tide-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
#tideForecast .tide-day{
  display:block!important;min-width:0!important;max-width:100%!important;
  height:auto!important;max-height:none!important;overflow:visible!important;padding:12px!important
}
#tideForecast .tide-day>header{
  display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
  justify-content:space-between!important;gap:8px!important;min-width:0!important;margin-bottom:8px!important
}
#tideForecast .tide-day>header>*{flex:1 1 120px;min-width:0!important;max-width:100%!important}
#tideForecast .tide-day>header strong,#tideForecast .tide-day>header span{
  display:block!important;min-width:0!important;white-space:normal!important;
  overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere
}
#tideForecast .tide-day-visual{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
#tideForecast .tide-day-visual svg{display:block;width:100%;max-width:100%;height:auto}
#tideForecast .tide-times{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;min-width:0!important;overflow:visible!important
}
#tideForecast .tide-event{
  display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;gap:5px 8px!important;
  min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;
  max-height:none!important;overflow:visible!important;align-items:start!important;
  padding:9px!important;box-sizing:border-box
}
#tideForecast .tide-event-time,#tideForecast .tide-event-level,#tideForecast .tide-event-kind,
#tideForecast .tide-event small{
  min-width:0!important;max-width:100%!important;white-space:normal!important;
  overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.35
}
#tideForecast .tide-event-kind{grid-column:1/-1!important}
#tideForecast .tide-event small{grid-column:1/-1!important}
#tideForecast .tide-source-note{display:block;padding:0 12px 14px;line-height:1.45;overflow-wrap:anywhere}
.tide-howto{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tide-howto>div{min-width:0;grid-template-columns:auto minmax(0,1fr);overflow-wrap:anywhere}
.tide-howto small,.tide-howto span{min-width:0;overflow-wrap:anywhere}

/* Map and fallback share a stable, bounded viewport without hiding real tiles. */
#map,.leaflet-container,.map-fallback,.map-fallback-canvas{
  width:100%;min-width:0;max-width:100%;box-sizing:border-box
}
#map{height:clamp(280px,55vh,560px);min-height:280px}
#map .leaflet-control-container{max-width:100%}
.map-fallback[hidden]{display:none!important}
.map-fallback:not([hidden]){display:block!important}
.map-fallback-canvas{position:relative;min-height:280px;aspect-ratio:4/3;overflow:hidden}
.map-fallback-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:100%;min-height:280px;overflow:hidden}
.map-fallback-tile{display:block;width:100%;height:100%;min-height:0;aspect-ratio:1;object-fit:cover}
.map-fallback-nautical{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;pointer-events:none}
.map-fallback-nautical img{display:block;width:100%;height:100%;object-fit:cover}
.map-fallback-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}
.map-fallback-credit{position:absolute;right:6px;bottom:6px;z-index:2;max-width:calc(100% - 12px);padding:3px 6px;border-radius:5px;background:rgba(0,0,0,.72);color:#fff;font-size:.65rem;overflow-wrap:anywhere}
.map-actions,.map-controls,.map-toolbar{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}
.map-actions>*,.map-controls>*,.map-toolbar>*{min-width:0;max-width:100%;box-sizing:border-box}

@media(max-width:760px){
  body.page-station main{width:100%;max-width:100%;padding-left:12px!important;padding-right:12px!important;box-sizing:border-box}
  body.page-station #mainNav:not(.open){display:none}
  body.page-station #mainNav.open{display:flex;flex-direction:column;align-items:stretch;width:100%}
  body.page-station #mainNav>a,body.page-station #mainNav>button{width:100%;text-align:left}
  body.page-station .section-head,body.page-station .chart-head,body.page-station .moment-head,
  body.page-station .display-header,body.page-station .change-board-head{gap:10px}
  body.page-station .station-decision-details{grid-template-columns:minmax(0,1fr)}
  body.page-station .moment-grid,body.page-station .moment-extra,body.page-station .lunar-grid,
  body.page-station .change-grid,body.page-station .history-comparison-grid,
  body.page-station .intel-grid,body.page-station .geo-detail-grid,
  body.page-station .radar-snapshot,body.page-station .cards,
  body.page-station .station-chart-dashboard,body.page-station .station-mini-dashboard,
  #fishingOutlook .outlook-grid,#rainForecast .period-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
  }
  #tideForecast .tide-days{grid-template-columns:minmax(0,1fr)!important}
  #tideForecast .tide-times{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tide-howto{grid-template-columns:minmax(0,1fr)}
  #map{height:clamp(280px,52vh,440px);min-height:280px}
  body.page-station .panel,body.page-station .card{padding:12px}
}
@media(max-width:420px){
  body.page-station main{padding-left:8px!important;padding-right:8px!important}
  body.page-station .moment-grid,body.page-station .moment-extra,body.page-station .lunar-grid,
  body.page-station .change-grid,body.page-station .history-comparison-grid,
  body.page-station .intel-grid,body.page-station .geo-detail-grid,
  body.page-station .radar-snapshot,body.page-station .cards,
  body.page-station .station-chart-dashboard,body.page-station .station-mini-dashboard,
  #fishingOutlook .outlook-grid,#rainForecast .period-grid{
    grid-template-columns:minmax(0,1fr)
  }
  body.page-station .topbar .brand{max-width:calc(100% - 52px)}
  #tideForecast .tide-day>header>*{flex:1 1 100%}
  #tideForecast .tide-times{grid-template-columns:minmax(0,1fr)!important}
  #fishingOutlook .outlook-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #map{height:320px;min-height:280px}
}
@media(prefers-reduced-motion:reduce){
  body.page-station *,#fishingOutlook *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Final overflow guard: publication mode must not clip tide/fishing content. */
body.publication-mode #tideForecast,body.publication-mode #fishingOutlook{
  max-height:none!important;overflow:visible!important
}

/* Janela de Pesca: observações locais, separadas dos dados previstos. */
#fishingOutlook .outlook-local-observation{margin-top:14px;display:grid;gap:10px;min-width:0;overflow-wrap:anywhere}
#fishingOutlook .outlook-local-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}
#fishingOutlook .outlook-local-fields label{display:grid;gap:6px;min-width:0;color:var(--text);font-size:.82rem;line-height:1.35}
#fishingOutlook .outlook-local-fields select{width:100%;max-width:100%;min-width:0}
#fishingOutlook .outlook-local-observation p,#fishingOutlook .outlook-local-observation small{overflow-wrap:anywhere;word-break:normal}
#fishingOutlook #localFishingAdvice{margin:0;padding:10px;border-radius:10px;background:var(--surface2)}
@media(max-width:600px){
  #fishingOutlook .outlook-local-fields{grid-template-columns:minmax(0,1fr)}
  #fishingOutlook .outlook-local-observation{padding:12px}
}
@media(max-width:360px){
  #fishingOutlook .outlook-local-fields select{font-size:16px}
}

/* Janela de Pesca Bento Grid: cards com hierarquia e métricas legíveis. */
#fishingOutlook .outlook-bento-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
#fishingOutlook .outlook-day-card{display:grid;align-content:start;gap:12px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
#fishingOutlook .outlook-day-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
#fishingOutlook .outlook-day-header>div{display:grid;gap:6px;min-width:0}
#fishingOutlook .outlook-day-header b{font-size:.88rem;overflow-wrap:anywhere}
#fishingOutlook .outlook-day-header strong{font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
#fishingOutlook .outlook-badge{flex:0 0 auto;padding:4px 7px;border:1px solid var(--line);border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.04em;color:var(--muted)}
#fishingOutlook .outlook-temperature{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
#fishingOutlook .outlook-temperature>strong{font-size:1.22rem;line-height:1.2;overflow-wrap:anywhere}
#fishingOutlook .outlook-temperature>span{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
#fishingOutlook .outlook-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0}
#fishingOutlook .outlook-metric{display:grid;align-content:start;gap:5px;min-width:0;padding:8px;border-radius:10px;background:var(--surface2)}
#fishingOutlook .outlook-metric small{font-size:.68rem;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
#fishingOutlook .outlook-metric strong{font-size:.82rem;line-height:1.35;overflow-wrap:anywhere;word-break:normal}
#fishingOutlook .outlook-stability{min-width:0;padding:10px;border-radius:10px;background:var(--surface2)}
#fishingOutlook .outlook-stability>strong{font-size:.82rem}
#fishingOutlook .outlook-stability>p{margin:6px 0 0;font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:860px){#fishingOutlook .outlook-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#fishingOutlook .outlook-bento-grid{grid-template-columns:minmax(0,1fr)}#fishingOutlook .outlook-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){#fishingOutlook .outlook-metrics-grid{grid-template-columns:minmax(0,1fr)}}

/* Layout hardening: allow long forecast labels/badges to wrap on narrow screens. */
#fishingOutlook .outlook-day-header{flex-wrap:wrap}
#fishingOutlook .outlook-day-header>div{flex:1 1 150px;min-width:0;max-width:100%}
#fishingOutlook .outlook-day-header b,
#fishingOutlook .outlook-day-header strong{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#fishingOutlook .outlook-badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
@media(max-width:420px){
  #fishingOutlook .outlook-day-header{align-items:flex-start;gap:8px}
  #fishingOutlook .outlook-badge{flex:0 1 auto}
}

/* Accessible map loading/error feedback; status messages must never trap map gestures. */
.map-state-message{
  position:absolute;z-index:1000;left:12px;right:12px;top:12px;
  max-width:calc(100% - 24px);padding:10px 12px;
  border:1px solid var(--line);border-radius:12px;
  background:rgba(5,17,26,.94);color:var(--text);
  font-size:.85rem;line-height:1.4;overflow-wrap:anywhere;
  pointer-events:none;box-sizing:border-box
}
.map-state-message[hidden],.map-fallback-message[hidden]{display:none!important}
.map-fallback-message{
  position:absolute;z-index:5;left:12px;right:12px;bottom:12px;
  max-width:calc(100% - 24px);padding:12px;
  border:1px solid var(--line);border-radius:12px;
  background:rgba(5,17,26,.96);color:var(--text);
  font-size:.9rem;line-height:1.45;overflow-wrap:anywhere;
  box-sizing:border-box
}

/* End of the single canonical responsive repair section. */


/* Restored responsive forecast and detailed fishing outlook layouts from PR #105. */
#rainForecast .forecast-days,#totemRainForecast .forecast-days{
 display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))!important;
 align-items:stretch;gap:12px;min-width:0;max-width:100%
}
#rainForecast .forecast-day{
 min-width:0;max-width:100%;height:auto!important;min-height:0!important;max-height:none!important;
 overflow:visible!important;overflow-wrap:anywhere;white-space:normal!important;box-sizing:border-box
}
#rainForecast .forecast-day-head,#totemRainForecast .forecast-day-head{
 display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
 align-items:start;gap:10px;min-width:0
}
#rainForecast .forecast-day-head>div,#totemRainForecast .forecast-day-head>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
#rainForecast .forecast-day-main,#totemRainForecast .forecast-day-main{
 display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:6px;
 min-width:0;max-width:100%;margin:0!important;white-space:normal!important
}
#rainForecast .forecast-day-main b,#rainForecast .forecast-day-main span,#totemRainForecast .forecast-day-main b,#totemRainForecast .forecast-day-main span{
 white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere
}
#rainForecast .period-card{height:auto!important;min-height:0!important;align-content:start;overflow:visible!important;overflow-wrap:anywhere}
#rainForecast .period-card{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:start;gap:5px;
 height:auto!important;min-height:0!important;max-height:none!important;min-width:0!important;
 max-width:100%!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere;
 padding:10px;box-sizing:border-box
}
#rainForecast .period-card>*,#totemRainForecast .period-card>*{
 min-width:0!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;
 text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.4
}


/* Fishing outlook Bento Grid refactor — 2026-10-11 */
#fishingOutlook .outlook-bento-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  overflow:visible!important;
  padding:0!important;
}
#fishingOutlook .outlook-day-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  min-width:0!important;
  width:100%!important;
  flex:none!important;
  scroll-snap-align:unset!important;
  gap:14px!important;
  padding:clamp(14px,2.4vw,24px)!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  background:linear-gradient(155deg,rgba(13,31,43,.98),rgba(5,20,29,.98))!important;
  color:var(--text);
  overflow:visible!important;
}
#fishingOutlook .outlook-day-header,
#fishingOutlook .outlook-temperature{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
#fishingOutlook .outlook-day-header>div{display:grid;gap:7px;min-width:0}
#fishingOutlook .outlook-day-header b{font-size:clamp(1.05rem,3vw,1.3rem);text-transform:capitalize;overflow-wrap:anywhere}
#fishingOutlook .outlook-day-header strong{font-size:clamp(1.05rem,3vw,1.35rem);line-height:1.25;overflow-wrap:anywhere}
#fishingOutlook .outlook-badge{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800;letter-spacing:.07em;color:var(--muted)}
#fishingOutlook .outlook-temperature{flex-wrap:wrap}
#fishingOutlook .outlook-temperature>strong{font-size:clamp(1.35rem,4.5vw,2rem);line-height:1.2;overflow-wrap:anywhere}
#fishingOutlook .outlook-temperature>span{font-size:.88rem;color:var(--muted);overflow-wrap:anywhere}
#fishingOutlook .outlook-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#fishingOutlook .outlook-metric{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:start;gap:5px 8px;
  min-width:0;min-height:88px;padding:12px;border:1px solid var(--line);border-radius:18px;
  background:rgba(255,255,255,.025);
}
#fishingOutlook .outlook-metric-icon{grid-row:1;grid-column:1;font-size:1.1rem;line-height:1.3}
#fishingOutlook .outlook-metric>strong{grid-row:1;grid-column:2;font-size:clamp(.88rem,2.4vw,1.05rem);line-height:1.3;overflow-wrap:anywhere;word-break:normal}
#fishingOutlook .outlook-metric>small{grid-column:1/-1;color:var(--muted);font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
#fishingOutlook .outlook-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#fishingOutlook .outlook-period{display:grid;align-content:start;gap:7px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:17px;background:rgba(14,43,52,.45)}
#fishingOutlook .outlook-period>strong{font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
#fishingOutlook .outlook-period>b{font-size:.92rem;line-height:1.35;overflow-wrap:anywhere}
#fishingOutlook .outlook-period>span,#fishingOutlook .outlook-period>small{font-size:.77rem;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
#fishingOutlook .outlook-events{display:flex;flex-wrap:wrap;gap:8px}
#fishingOutlook .outlook-chip{display:inline-flex;align-items:center;max-width:100%;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.045);color:var(--muted);font-size:.78rem;line-height:1.3;overflow-wrap:anywhere}
#fishingOutlook .outlook-stability{border-left:4px solid var(--accent,#22d3b6);border-radius:0 16px 16px 0;padding:13px 15px;background:rgba(15,50,53,.36);min-width:0}
#fishingOutlook .outlook-stability>strong{font-size:.95rem;line-height:1.4;overflow-wrap:anywhere}
#fishingOutlook .outlook-stability>p{margin:7px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}
#fishingOutlook .outlook-bento-grid+.status{line-height:1.5}
@media(min-width:700px){
  #fishingOutlook .outlook-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}
}
@media(min-width:1120px){
  #fishingOutlook .outlook-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:430px){
  #fishingOutlook .outlook-day-card{padding:12px!important;border-radius:19px!important;gap:12px!important}
  #fishingOutlook .outlook-metrics-grid{gap:7px}
  #fishingOutlook .outlook-metric{padding:9px;min-height:80px;gap:5px}
  #fishingOutlook .outlook-metric>strong{font-size:.84rem}
  #fishingOutlook .outlook-metric>small{font-size:.72rem}
  #fishingOutlook .outlook-periods{gap:7px}
  #fishingOutlook .outlook-period{padding:9px;gap:6px}
  #fishingOutlook .outlook-period>strong{font-size:.8rem}
  #fishingOutlook .outlook-period>b{font-size:.82rem}
  #fishingOutlook .outlook-period>span,#fishingOutlook .outlook-period>small{font-size:.7rem}
}
@media(max-width:350px){
  #fishingOutlook .outlook-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #fishingOutlook .outlook-periods{grid-template-columns:minmax(0,1fr)}
  #fishingOutlook .outlook-day-header{align-items:flex-start}
  #fishingOutlook .outlook-badge{font-size:.62rem;padding:5px 7px}
}



@media(max-width:760px){
  #rainForecast .forecast-days,#totemRainForecast .forecast-days{grid-template-columns:minmax(0,1fr)!important}
  #rainForecast .forecast-day-head,#totemRainForecast .forecast-day-head{grid-template-columns:minmax(0,1fr)!important}
  #rainForecast .period-grid,#totemRainForecast .period-grid{grid-template-columns:minmax(0,1fr)!important}
  #rainForecast .period-card,#totemRainForecast .period-card{grid-template-columns:minmax(0,1fr) minmax(0,2fr)!important;align-items:start;gap:4px 10px}
  #rainForecast .period-card>b,#totemRainForecast .period-card>b{grid-column:1}
  #rainForecast .period-card>span,#totemRainForecast .period-card>span{grid-column:2}
  #rainForecast .period-card>small,#totemRainForecast .period-card>small{grid-column:1/-1}
  #fishingOutlook .outlook-bento-grid{grid-template-columns:minmax(0,1fr)!important}
  #fishingOutlook .outlook-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #fishingOutlook .outlook-periods{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #tideForecast .tide-event-kind,#tideForecast .tide-event small{grid-column:1/-1!important}
}
@media(max-width:430px){
  #rainForecast .period-card,#totemRainForecast .period-card{grid-template-columns:minmax(0,1fr)!important}
  #rainForecast .period-card>b,#rainForecast .period-card>span,#rainForecast .period-card>small,#totemRainForecast .period-card>b,#totemRainForecast .period-card>span,#totemRainForecast .period-card>small{grid-column:1!important}
  #fishingOutlook .outlook-metrics-grid{grid-template-columns:minmax(0,1fr)!important}
  #fishingOutlook .outlook-periods{grid-template-columns:minmax(0,1fr)!important}
}


/* Final regression guard: prevent tide/fishing/map content from forcing horizontal
   overflow or clipping long labels at narrow viewport widths. */
#tidePanel,#tideForecast,#tideInteractiveReadout,#tideTrendChart,#tideTransparency,
#fishingOutlook,#map,#mapFallback,.tide-day,.tide-event,.outlook-day-card,
.outlook-card,.outlook-local-observation,.outlook-local-fields{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
#tideForecast .tide-day,
#tideForecast .tide-event,
#fishingOutlook .outlook-day-card,
#fishingOutlook .outlook-card,
#fishingOutlook .outlook-local-observation{
  height:auto;
  min-height:0;
  overflow-wrap:anywhere;
  white-space:normal;
}
#tideForecast .tide-event{
  grid-template-columns:minmax(58px,auto) minmax(0,1fr) auto;
  align-items:start;
  gap:8px;
}
#tideForecast .tide-event>*,
#fishingOutlook .outlook-day-card>*,
#fishingOutlook .outlook-card>*,
#fishingOutlook .outlook-local-fields>*{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
#tideTrendChart svg{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}
#map,#mapFallback{
  width:100%;
  min-width:0;
  overflow:hidden;
}
@media(max-width:600px){
  #tideForecast .tide-event{
    grid-template-columns:minmax(0,1fr);
  }
  #tideForecast .tide-event>*{
    grid-column:1;
  }
  #fishingOutlook .outlook-local-fields{
    grid-template-columns:minmax(0,1fr);
  }
}


/* PescaRadar mobile visual recovery: enforce the intended dark marine palette.
   Keep components readable even when an older saved theme or stale CSS is present. */
:root,html[data-visual-theme="aqua"],html[data-visual-theme="auto"],html[data-visual-theme="midnight"]{
  color-scheme:dark;
  --bg:#06131d;
  --surface:#0b202c;
  --surface2:#102f3c;
  --text:#edf8fb;
  --muted:#a8bdc8;
  --accent:#4ce6c5;
  --accent-2:#36c9ee;
  --line:rgba(177,224,235,.18);
}
html,body{min-height:100%;background-color:#06131d;color:#edf8fb}
body{background-image:radial-gradient(ellipse at 50% 0,rgba(27,92,105,.28),transparent 58%),linear-gradient(180deg,#06131d 0%,#081a25 100%);background-attachment:scroll}
main{background:transparent}
.hero{background:transparent;color:var(--text)}
.hero h1,.hero h2,.station-hero-title{color:#edf8fb}
.lead,.station-lead,.station-action-hint,.status{color:#a8bdc8}
.station-primary-action{min-width:0}
.station-refresh-button{width:100%;min-height:56px;white-space:normal;overflow-wrap:anywhere;background:#087f6b;color:#fff;border:1px solid rgba(76,230,197,.35)}
.location-context,.location-card,.station-card,.station-decision-card,.station-moment-card,
.station-metrics,.station-metric,.station-reading-card,.station-section,.station-panel{
  color:var(--text);
}
.location-context,.station-decision-card,.station-moment-card,.station-metrics,.station-metric,
.station-reading-card,.station-section,.station-panel{
  background-color:#0b202c;
  border-color:var(--line);
}
.station-moment-card b,.station-metric b,.station-reading-card b{color:#edf8fb}
.station-moment-card small,.station-metric small,.station-reading-card small{color:#a8bdc8}
button:focus-visible,a:focus-visible{outline:3px solid #36c9ee;outline-offset:3px}
@media(max-width:600px){
  .topbar,main,footer{width:calc(100% - 24px);max-width:100%}
  .hero{min-height:0;padding:28px 0 20px;align-items:start}
  .hero h1,.station-hero-title{font-size:clamp(2.35rem,10vw,3.5rem);line-height:.98;letter-spacing:-.045em;overflow-wrap:normal}
  .eyebrow{font-size:.68rem;letter-spacing:.14em}
  .station-refresh-button{font-size:1rem;padding:14px 12px}
  .station-lead{font-size:.94rem!important;line-height:1.45}
}


/* Correct selectors for the actual station markup (mobile screenshot regression). */
.geo-location-live{
  background:#0b202c!important;
  color:#dcecf2!important;
  border:1px solid rgba(177,224,235,.2)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.geo-location-live #geoSource,.geo-location-live .geo-title,
.geo-location-live .geo-details-toggle{color:#b6cbd5!important}
.geo-location-live summary{color:#edf8fb!important}
.display-panel,.display-header,.moment-readout,.moment-head,.moment-grid{
  color:#edf8fb;
}
.display-panel{
  background:#0b202c!important;
  border:1px solid rgba(177,224,235,.18)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.18);
}
.display-header h3,.moment-head h3{color:#edf8fb}
.display-header p,.moment-head #momentUpdated{color:#a8bdc8}
.moment-readout{background:transparent!important}
.moment-grid>div{
  background:#102b38!important;
  border:1px solid rgba(177,224,235,.18)!important;
  color:#edf8fb!important;
}
.moment-grid>div b{color:#edf8fb!important}
.moment-grid>div small{color:#a8bdc8!important}
.location-context.geo-location-live{backdrop-filter:none}
@media(max-width:600px){
  .display-panel{padding:14px!important}
  .display-header{gap:8px;align-items:flex-start}
  .display-header h3{font-size:clamp(1.5rem,6.5vw,2rem);line-height:1.1}
  .moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .moment-grid>div{min-width:0;padding:12px!important}
}


/* PescaRadar stabilization hotfix — 2026-10-21
   Canonical station hero/layout overrides: prevent overlapping identity text and
   allow data cards to expand instead of clipping their contents. */
body.page-station main{width:min(1240px,calc(100% - 32px));margin-inline:auto;min-width:0}
body.page-station .hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;min-height:0!important;padding:24px 0 20px!important;gap:8px}
body.page-station .hero>div{width:100%;max-width:100%;min-width:0}
body.page-station .hero .eyebrow,body.page-station .hero .station-brandline{position:static!important;inset:auto!important;transform:none!important;display:block;max-width:100%;height:auto;min-height:0;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.4;margin:0 0 10px!important;z-index:auto}
body.page-station .hero h1,body.page-station .hero .station-hero-title{position:static!important;max-width:14ch;margin:0 0 12px!important;font-size:clamp(2.5rem,6.2vw,5rem)!important;line-height:.98!important;letter-spacing:-.045em;overflow:visible;overflow-wrap:normal;text-wrap:balance}
body.page-station .hero .lead{max-width:48rem;margin:0 0 12px!important;font-size:1rem!important;line-height:1.5!important}
body.page-station .station-primary-action,body.page-station .station-refresh-button{width:100%;max-width:100%;min-height:54px;white-space:normal;overflow-wrap:anywhere}
body.page-station .location-context,body.page-station .station-card,body.page-station .station-decision-card,body.page-station .station-moment-card,body.page-station .station-metrics,body.page-station .station-reading-card,body.page-station .station-section,body.page-station .station-panel{min-width:0;height:auto;min-height:0;overflow:visible;overflow-wrap:anywhere}
body.page-station .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px}
body.page-station .cards article{min-width:0;min-height:68px;height:auto;overflow:visible;overflow-wrap:anywhere}
body.page-station .cards article strong,body.page-station .cards article small{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){body.page-station main{width:calc(100% - 24px)}body.page-station .hero{padding:18px 0 16px!important}body.page-station .hero h1,body.page-station .hero .station-hero-title{font-size:clamp(2.35rem,11vw,3.5rem)!important;line-height:.99!important;max-width:12ch}body.page-station .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){body.page-station main{width:calc(100% - 20px)}body.page-station .hero h1,body.page-station .hero .station-hero-title{font-size:clamp(2.1rem,10.5vw,2.7rem)!important}body.page-station .cards{grid-template-columns:minmax(0,1fr)}}


/* CONTRASTE GLOBAL — formulários, estados inativos, modais e textos secundários */
:root{--text:#f0f6fc;--muted:#8b9bb4;--line:rgba(0,240,255,.3)}
html,body{color:#f0f6fc}
body :is(p,small,label,dt,dd,summary,.muted,.status,.admin-muted,.lead,.station-lead,.station-action-hint){
  color:#8b9bb4;
}
body :is(h1,h2,h3,h4,h5,h6,strong,b,legend,output){color:#f0f6fc}
body :is(input,select,textarea){
  color:#f0f6fc!important;background-color:#0c1622!important;
  border:1px solid rgba(0,240,255,.3)!important;opacity:1!important;caret-color:#00f0ff;
}
body :is(input,textarea)::placeholder{color:#8b9bb4!important;opacity:1!important}
body select option{color:#f0f6fc;background:#0c1622}
body :is(button,.button,.secondary,.chips button,.map-actions button){
  color:#f0f6fc;
}
body :is(button,.button,.secondary):disabled,body [aria-disabled="true"]{
  color:#f0f6fc!important;background:#10202e!important;
  border:1px solid rgba(0,240,255,.3)!important;opacity:1!important;
}
body :is(.city-result,.city-results button,.target-species-control select){
  color:#f0f6fc!important;background:#0c1622!important;
  border:1px solid rgba(0,240,255,.3)!important;
}
body :is(.modal,.dialog,[role="dialog"],.modal-content){color:#f0f6fc}
body :is(.modal,.dialog,[role="dialog"],.modal-content) :is(p,small,label){color:#8b9bb4}
:focus-visible{outline:2px solid #00f0ff!important;outline-offset:3px}
