@font-face{font-family:Barlow;src:url('/img/barlow-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('/img/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/img/manrope-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--azul:#087ea0;--marinho:#082e3b;--marinho-2:#124655;--amarelo:#ffcc49;--texto:#142e37;--cinza:#526971;--borda:#d5dedc;--ok:#168047;--alerta:#b86a00;--erro:#b83838;--titulo:Barlow,Arial,sans-serif;--corpo:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#edf2f1;color:var(--texto);font:14px/1.45 var(--corpo)}
body{display:flex;flex-direction:column;height:100dvh}
::selection{background:var(--amarelo);color:var(--marinho)}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px}
header{position:relative;flex:none;display:flex;align-items:center;gap:32px;min-height:174px;padding:16px clamp(18px,4vw,64px);padding-top:max(16px,env(safe-area-inset-top));padding-right:250px;overflow:hidden;background:var(--marinho);color:#fff}
.assinatura{display:block;flex:none;width:172px}
.assinatura img{display:block;width:100%;height:auto}
.foto{position:absolute;right:24px;bottom:0;width:auto;height:174px;pointer-events:none}
.texto{position:relative;z-index:1;min-width:0}
h1{font-family:var(--titulo);font-weight:700;margin:0;line-height:1;text-transform:uppercase}
h1 .t{display:block;font-size:clamp(34px,4vw,52px);letter-spacing:.015em}
h1 .s{display:block;font-size:22px;margin-top:6px;color:#d6e5e8;letter-spacing:.02em}
.bandeira{display:inline-block;width:22px;height:15px;margin-left:8px}
.info{display:flex;align-items:center;gap:12px;margin-top:13px}
.data{display:inline-flex;align-items:baseline;gap:4px;color:var(--amarelo);font-weight:700}
.data b{font-size:20px}.data span{font-size:12px;text-transform:uppercase}
.local{margin-top:5px;font-size:11px;color:#b9d1d8}.local b{color:#fff;font-weight:700;margin-left:4px}
.painel-sinal{display:flex;align-items:center;gap:18px;flex:none;background:#fff;padding:11px clamp(16px,3vw,40px);border-bottom:1px solid var(--borda)}
#status{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:13px;font-weight:700;line-height:1.2;color:var(--marinho)}
#status .ponto{width:9px;height:9px;border-radius:50%;background:#8f9b9e;flex:none}
#status.ok .ponto{background:var(--ok)}#status.instavel .ponto{background:var(--alerta)}#status.semsinal .ponto{background:#7d898d}
#telemetria{margin:0;font-size:12px;color:var(--cinza);font-variant-numeric:tabular-nums}
.atualiza{margin-left:auto;font-size:11px;color:var(--cinza);white-space:nowrap}
.etapas{display:flex;overflow:auto;scrollbar-width:thin;scrollbar-color:#adc3ca #edf2f1;gap:4px;padding:6px 12px;background:#edf2f1;flex:none}
.etapa{display:flex;align-items:center;gap:7px;flex:none;min-height:44px;background:transparent;border:0;border-radius:4px;color:var(--marinho);font:700 12px var(--corpo);padding:6px 12px;cursor:pointer;white-space:nowrap}
.etapa:hover{background:#dce8e8}.etapa i{display:grid;place-items:center;width:23px;height:23px;background:#fff;border:1px solid #bdced1;border-radius:50%;font-size:11px;font-style:normal}
.etapa.proxima{background:var(--marinho);color:#fff}.etapa.proxima i{background:var(--amarelo);border-color:var(--amarelo);color:var(--marinho)}
.etapa.passou{color:#536b71}.etapa.passou i{background:#d7eadd;border-color:#8eb79f}
#mapa{position:relative;flex:1;min-height:0;background:#e5eceb}
#aviso{display:none;position:absolute;z-index:5;top:12px;left:12px;right:64px;max-width:460px;border-radius:6px;background:#fff;padding:13px 32px 13px 16px;box-shadow:0 4px 18px rgba(8,46,59,.14);cursor:pointer}
#aviso.visivel{display:block}#aviso strong{display:block;font-size:13px;color:var(--marinho)}#aviso.erro strong{color:var(--erro)}
#aviso small{display:block;font-size:12px;color:var(--cinza);margin-top:4px;line-height:1.5}#aviso::after{content:'×';position:absolute;right:12px;top:8px;font-size:21px;color:var(--cinza)}
#centralizar{position:absolute;z-index:5;right:12px;bottom:28px;display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid #c9d9db;border-radius:5px;background:#fff;padding:9px 12px;box-shadow:0 3px 12px rgba(8,46,59,.12);font:700 12px var(--corpo);color:var(--marinho);cursor:pointer}
#centralizar[aria-pressed=true]{background:var(--marinho);color:#fff;border-color:var(--marinho)}#centralizar svg{stroke:currentColor}
footer{flex:none;position:relative;z-index:6;background:#fff;padding:11px 18px 0;border-top:1px solid var(--borda)}
#parada{margin:0 0 8px;font-size:13px;color:var(--cinza)}#parada strong{color:var(--marinho)}
.botoes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.botoes a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px;border-radius:5px;text-decoration:none;font-size:14px;font-weight:700}
#gmaps{background:var(--marinho);color:#fff}#waze{background:var(--amarelo);color:var(--marinho)}.botoes a:hover{filter:brightness(.94)}.botoes a[aria-disabled=true]{opacity:.5;pointer-events:none}
.chapa{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;align-items:center;margin:12px -18px 0;padding:8px 14px max(8px,env(safe-area-inset-bottom));background:var(--marinho);color:#fff;gap:8px}
.cand{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;line-height:1.1}.cand small{display:block;font-size:11px;color:#bed4db}.cand strong{display:block;font-size:11px;margin-top:2px;text-transform:uppercase}.cand em{font:700 29px/1 var(--titulo);color:var(--amarelo);font-style:normal}.cand .vice{font-size:11px;margin-top:2px}
.chapa.so-celina{grid-template-columns:1fr}.chapa.so-celina .cand{gap:18px}
.chapa .cand:first-child em{display:inline-block;background:var(--amarelo);color:var(--marinho);padding:3px 10px 2px;border-radius:8px;box-shadow:0 0 0 3px rgba(255,212,0,.25)}
.chapa.so-celina{padding:12px 18px max(12px,env(safe-area-inset-bottom))}.chapa.so-celina .cand{display:flex;align-items:center;justify-content:center;gap:18px;text-align:left}.chapa.so-celina .cand small{font-size:12px}.chapa.so-celina .cand strong{font-size:19px;margin-top:3px}.chapa.so-celina .cand .vice{display:block;margin-top:3px}.chapa.so-celina .cand em{display:block;font-size:54px;margin:0;padding:6px 18px 4px;border-radius:12px}
.marcador{width:28px;height:28px;border:4px solid #fff;border-radius:50%;background:var(--azul);box-shadow:0 3px 12px rgba(8,46,59,.3)}
.marcador::after{content:'';position:absolute;inset:-6px;border:1px solid var(--azul);border-radius:50%}.marcador.parado{background:var(--cinza)}
.pino{cursor:pointer;width:28px;height:36px}.pino b{position:absolute;left:1px;top:1px;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--amarelo);border:2px solid var(--marinho);box-shadow:0 2px 6px rgba(8,46,59,.2)}.pino span{position:absolute;left:0;top:3px;width:28px;text-align:center;font:700 14px/22px var(--titulo);color:var(--marinho)}.pino.fim b{background:var(--marinho);border-color:var(--amarelo)}.pino.fim span{color:var(--amarelo)}
.maplibregl-popup-content{font:700 13px var(--corpo);color:var(--marinho);border-radius:5px;padding:10px 14px}.maplibregl-ctrl-attrib{font-size:11px}.maplibregl-ctrl-group button{width:44px!important;height:44px!important}
@media(max-width:719px){header{gap:20px;min-height:150px;padding:14px 170px 14px 16px}.assinatura{width:112px}.foto{height:150px;right:-12px}h1 .t{font-size:31px}h1 .s{font-size:17px}.info{margin-top:9px}.local{font-size:11px}.local b{display:block;margin-left:0}.painel-sinal{flex-wrap:wrap;gap:5px 12px;padding:9px 16px}.atualiza{display:none}#telemetria{font-size:12px}.cand{gap:5px}.cand strong{font-size:11px}.cand em{font-size:25px}}
@media(max-width:539px){header{padding:12px 16px;gap:18px;min-height:125px}.assinatura{width:108px}.foto{display:none}h1 .t{font-size:32px}h1 .s{font-size:18px}.local{display:none}.info{margin-top:8px}.data b{font-size:17px}.data span{font-size:11px}.painel-sinal{display:block}#telemetria{margin-top:4px}#status{font-size:12px}.etapas{padding:3px 6px}.etapa{padding:5px 9px}footer{padding:9px 12px 0}.chapa{margin:10px -12px 0;padding:7px 9px;gap:4px}.cand{display:block;text-align:center}.cand em{display:block;font-size:22px;margin-top:3px}.cand small{font-size:11px}.cand strong{font-size:11px}.cand .vice{display:none}#parada{font-size:12px}.botoes a{font-size:13px;min-height:46px}#centralizar{font-size:11px}}
@media(max-width:359px){header{gap:14px}.assinatura{width:94px}h1 .t{font-size:29px}h1 .s{font-size:16px}.botoes{gap:7px}.botoes a{gap:5px}}
@media(orientation:landscape) and (max-height:500px){header{min-height:0;padding:6px 16px;gap:18px}.assinatura{width:76px}.foto,.local,.chapa{display:none}.texto{display:flex;align-items:center;gap:20px;width:100%}h1 .t{font-size:25px}h1 .s{font-size:15px;margin-top:2px}.info{margin:0 0 0 auto}.painel-sinal{padding:6px 16px}.etapas{padding:0 8px}.etapa{min-height:36px}footer{padding:6px 12px}#parada{display:none}.botoes a{min-height:40px}#aviso{top:8px;padding:8px 30px 8px 12px}#aviso small{font-size:11px}#centralizar{bottom:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(orientation:portrait) and (max-height:650px){header{min-height:98px;padding:8px 12px;gap:14px}.assinatura{width:86px}h1 .t{font-size:28px}h1 .s{font-size:16px}.info{margin-top:5px}.local,.chapa{display:none}.painel-sinal{padding:6px 12px}.etapas{scrollbar-width:none}.etapas::-webkit-scrollbar{display:none}footer{padding:8px 12px}#aviso{padding:10px 30px 10px 12px}#aviso small{font-size:11px}}
