/* Linguagem de estrada: atlas no mapa e placas de trânsito na interface. */
@font-face{font-family:Overpass;font-weight:100 900;font-display:swap;src:url(vendor/overpass-latin-wght-normal.woff2) format("woff2")}

:root{
  --placa:#00613a; --placa-escura:#004a2c; --azul:#0b4ea2; --marrom:#6b3a1e; --amarelo:#ffcc00; --vermelho:#c8102e;
  --asfalto:#1b1d1f; --cinza:#5d6369; --linha:#e4e3dc; --fundo:#f5f4ef; --branco:#fff;
  --topo-seg:env(safe-area-inset-top,0px); --base-seg:env(safe-area-inset-bottom,0px);
  --nav:calc(58px + var(--base-seg)); --vis:300px; --mola:cubic-bezier(.2,.9,.25,1);
  color-scheme:light;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{position:fixed;inset:0;margin:0;overflow:hidden;overscroll-behavior:none;background:#a7d6ec}
body{color:var(--asfalto);font:400 15px/1.35 Overpass,-apple-system,Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-user-select:none;user-select:none}
input,textarea{-webkit-user-select:text;user-select:text}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0;touch-action:manipulation}
a{color:inherit}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px}
.ic{width:1.35em;height:1.35em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

#mapa{position:fixed;inset:0}
.maplibregl-ctrl-attrib{font-size:10px!important}
.maplibregl-ctrl-bottom-right{bottom:var(--mapa-base,0px);transition:bottom .4s var(--mola)}
.farol{width:18px;height:18px;border-radius:50%;background:var(--azul);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.farol::after{content:"";position:absolute;inset:-9px;border-radius:50%;background:rgba(11,78,162,.2);animation:farol 2.2s ease-out infinite}
@keyframes farol{from{transform:scale(.5);opacity:1}to{transform:scale(1.7);opacity:0}}

.topo{position:fixed;z-index:5;top:0;left:0;right:0;padding:calc(var(--topo-seg) + 8px) 10px 0;pointer-events:none;transition:opacity .25s}
.topo>*{pointer-events:auto}
.campo-busca{display:flex;align-items:center;gap:10px;width:100%;height:50px;padding:0 14px 0 7px;border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.2);color:var(--cinza);font-size:16px;text-align:left}
.campo-busca span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Placa da marca: a seta de saída da estrada dentro do campo de busca. */
.sinal-marca{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:7px;background:var(--placa);box-shadow:inset 0 0 0 2px var(--placa),inset 0 0 0 3.2px #fff}
.sinal-marca svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.chips{display:flex;gap:6px;margin:8px -10px 0;padding:2px 10px 6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chips:empty{display:none}
.chip-topo{flex:none;display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 12px;border-radius:9px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.2);font-size:14px;font-weight:600;white-space:nowrap}
.chip-topo.ligado{background:var(--placa);color:#fff;box-shadow:inset 0 0 0 2px var(--placa),inset 0 0 0 3.2px #fff,0 1px 5px rgba(0,0,0,.25)}
.chip-topo .ic{width:17px;height:17px}
.dica-topo{flex:none;padding:7px 12px;border-radius:9px;background:var(--amarelo);font-size:14px;font-weight:700;box-shadow:0 1px 5px rgba(0,0,0,.2)}

.flutuantes{position:fixed;z-index:3;right:10px;bottom:calc(var(--nav) + var(--vis) + 12px);display:grid;gap:8px;transition:bottom .42s var(--mola),opacity .2s}
.flutuantes button{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25);color:var(--asfalto)}
.flutuantes button:active{background:var(--fundo)}
body[data-ponto=alto] .flutuantes{opacity:0;pointer-events:none}

/* Painel deslizante, como nos mapas nativos: baixo, meio e alto. */
.folha{position:fixed;z-index:4;left:0;right:0;bottom:var(--nav);height:var(--folha-h,70vh);display:flex;flex-direction:column;background:var(--fundo);border-radius:16px 16px 0 0;box-shadow:0 -3px 16px rgba(0,0,0,.2);transform:translate3d(0,var(--y,40vh),0);transition:transform .42s var(--mola);will-change:transform}
.folha.arrastando{transition:none}
.pegador{flex:none;padding:7px 0 0;background:#fff;border-radius:16px 16px 0 0;border-bottom:1px solid var(--linha);touch-action:none;cursor:grab}
.alca{display:block;width:38px;height:5px;margin:0 auto 7px;border-radius:3px;background:#c9c8c0}
.corpo{flex:1;min-height:0;overflow:hidden;padding-bottom:18px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.folha[data-ponto=alto] .corpo{overflow-y:auto}

.cab{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 14px 7px}
.cab h1{font-size:21px;font-weight:800;line-height:1.1;letter-spacing:-.01em}
.cab p{color:var(--cinza);font-size:13px;white-space:nowrap}
.segs{display:flex;overflow-x:auto;scrollbar-width:none;padding:0 6px;touch-action:pan-x}
.segs::-webkit-scrollbar{display:none}
.seg{flex:none;display:flex;align-items:baseline;gap:4px;padding:8px 9px 9px;border-bottom:3px solid transparent;color:var(--cinza);font-size:14.5px;font-weight:700;transition:color .2s,border-color .2s}
.seg small{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.seg[aria-selected=true]{color:var(--asfalto);border-color:var(--placa)}

/* A placa de cidade: verde de indicação, filete branco por dentro. */
.placa{display:inline-flex;align-items:baseline;gap:8px;padding:9px 14px 7px;border-radius:8px;background:var(--p,var(--placa));color:#fff;box-shadow:inset 0 0 0 2.5px var(--p,var(--placa)),inset 0 0 0 4px #fff;font-weight:800;letter-spacing:.02em;text-transform:uppercase;line-height:1.05;overflow-wrap:anywhere}
.placa small{font-size:.68em;font-weight:700;opacity:.92}
.cab-cidade{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:0 10px 8px 12px}
.cab-cidade .placa{font-size:19px;justify-self:start}
.cab-cidade p{grid-column:1/-1;color:var(--cinza);font-size:13px;margin-top:-2px}
.xis{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ecebe4;color:var(--asfalto)}
.xis .ic{width:18px;height:18px}
.mais-turne{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 12px;border-radius:9px;background:var(--azul);color:#fff;font-size:14px;font-weight:700;white-space:nowrap}
.mais-turne.dentro{background:#fff;color:var(--azul);box-shadow:inset 0 0 0 2px var(--azul)}
.mais-turne .ic{width:17px;height:17px}

.secao{padding:12px 14px 4px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.secao h2{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--cinza)}
.secao button{color:var(--azul);font-size:14px;font-weight:700;padding:3px 0 3px 8px}
.lista{margin:0 10px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--linha)}
.linha{display:grid;grid-template-columns:44px 1fr auto;gap:0 11px;align-items:center;width:100%;min-height:66px;padding:9px 12px 9px 10px;text-align:left;text-decoration:none;color:inherit;border-top:1px solid var(--linha)}
.linha:first-child{border-top:0}
.linha:active{background:var(--fundo)}
.linha b{display:block;font-size:15.5px;font-weight:700;line-height:1.2;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.linha small{display:block;margin-top:2px;color:var(--cinza);font-size:13px;line-height:1.25}
.linha em{display:block;margin-top:2px;font-style:normal;font-size:12.5px;font-weight:600;color:var(--placa-escura)}
.dir{align-self:start;padding-top:2px;color:var(--cinza);font-size:13px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.tile{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:var(--c);color:#fff;box-shadow:inset 0 0 0 1.5px var(--c),inset 0 0 0 2.6px rgba(255,255,255,.9)}
.tile .ic{width:24px;height:24px}
.tile.vazado{background:#fff;color:var(--c);box-shadow:inset 0 0 0 2px var(--c)}
.tile.data{flex-direction:column;gap:0;align-content:center;font-weight:800;line-height:1}
.tile.data span{font-size:17px}
.tile.data small{margin:1px 0 0;color:inherit;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
/* Prazo é advertência: losango amarelo, como na estrada. */
.losango{position:relative;display:grid;place-items:center;width:44px;height:44px;color:var(--asfalto);font-weight:800;font-size:13px;line-height:1;text-align:center}
.losango::before{content:"";position:absolute;inset:7px;transform:rotate(45deg);border-radius:4px;background:var(--amarelo);box-shadow:inset 0 0 0 1.5px var(--amarelo),inset 0 0 0 2.6px var(--asfalto)}
.losango span{position:relative;font-size:12.5px}
.losango small{display:block;margin:0;color:inherit;font-size:8.5px}
.vazio{padding:26px 22px;text-align:center;color:var(--cinza)}
.vazio strong{display:block;margin-bottom:4px;color:var(--asfalto);font-size:17px}
.mais{display:block;width:calc(100% - 20px);margin:10px;padding:12px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--linha);color:var(--azul);font-weight:700}
.esqueleto{height:66px;margin:0 10px 1px;background:linear-gradient(100deg,#fff 30%,#f0efe9 50%,#fff 70%) 0 0/220% 100%;animation:brilho 1.2s linear infinite}
@keyframes brilho{from{background-position:120% 0}to{background-position:-120% 0}}

.abas{position:fixed;z-index:6;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);height:var(--nav);padding-bottom:var(--base-seg);background:#fff;border-top:1px solid var(--linha)}
.abas button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--cinza);font-size:11.5px;font-weight:700}
.abas .ic{width:24px;height:24px}
.abas button[aria-current=page]{color:var(--placa)}
.abas b{position:absolute;top:5px;left:calc(50% + 7px);min-width:18px;padding:2px 4px 1px;border-radius:9px;background:var(--azul);color:#fff;font-size:11px;line-height:1.2;text-align:center}

/* Turnê */
.cab-turne{padding:0 12px 9px}
.nome-turne{width:100%;padding:0 0 3px;border:0;background:none;font-size:20px;font-weight:800;outline:none}
.nome-turne::placeholder{color:var(--cinza)}
.placar{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:6px;margin-top:3px}
.placar div{min-width:0}
.placar b{display:block;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}
.placar span{color:var(--cinza);font-size:11.5px}
.inicio-turne{padding:16px}
.inicio-turne .placa{display:flex;font-size:18px;margin-bottom:12px}
.origem{display:flex;align-items:center;gap:10px;margin:10px 10px 0;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--linha)}
.origem small{display:block;color:var(--cinza);font-size:12px}
.origem b{font-size:15.5px}
.origem>span{flex:1;min-width:0}
.botao-texto{color:var(--azul);font-size:14.5px;font-weight:700;padding:6px 2px}
.paradas{margin:0 10px}
.trecho{display:flex;align-items:center;gap:8px;padding:7px 0 7px 17px;color:var(--cinza);font-size:13px;font-weight:600}
.trecho::before{content:"";width:4px;height:22px;margin-right:9px;border-radius:2px;background:var(--azul)}
.trecho.estimado::before{background:repeating-linear-gradient(var(--cinza) 0 4px,transparent 4px 7px)}
.parada{display:grid;grid-template-columns:28px 34px 1fr auto 30px;gap:7px;align-items:center;padding:9px 8px 9px 4px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--linha);transition:transform .18s}
.parada.movendo{z-index:2;position:relative;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:none}
.grip{display:grid;place-items:center;height:44px;color:#a9a8a0;touch-action:none;cursor:grab}
.escudo{position:relative;display:grid;place-items:center;width:34px;height:38px;font-weight:800;font-size:15px}
.escudo svg{position:absolute;inset:0;width:100%;height:100%}
.escudo span{position:relative;margin-top:-3px}
.parada-txt{min-width:0}
.parada-txt b{display:block;font-size:15.5px;line-height:1.15}
.parada-txt button{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--azul);font-size:13px;font-weight:600;text-align:left;padding:2px 0}
.data-parada{position:relative;display:grid;place-items:center;min-width:64px;height:40px;padding:0 10px;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 1.5px #cfcec6;color:var(--cinza);font-size:14.5px;font-weight:700;font-variant-numeric:tabular-nums}
.data-parada.marcada{background:var(--azul);color:#fff;box-shadow:none}
.data-parada input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;-webkit-appearance:none;appearance:none}
.tira{display:grid;place-items:center;height:40px;color:var(--cinza)}
.tira .ic{width:18px;height:18px}
.alerta{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin:4px 4px 0;padding:6px 8px;border-radius:8px;background:#fff6cf;font-size:13px;font-weight:600}
.alerta i{flex:none;width:12px;height:12px;transform:rotate(45deg);border-radius:2px;background:var(--amarelo);box-shadow:0 0 0 1.5px var(--asfalto)}
.sugestoes{display:flex;gap:6px;margin:0;padding:2px 10px 4px;overflow-x:auto;scrollbar-width:none}
.sugestoes::-webkit-scrollbar{display:none}
.sugestao{flex:none;display:inline-flex;gap:5px;align-items:center;height:38px;padding:0 11px;border-radius:9px;background:#fff;box-shadow:0 0 0 1px var(--linha);font-size:14px;font-weight:700;white-space:nowrap}
.sugestao small{color:var(--cinza);font-weight:600;font-size:12.5px}
.sugestao .ic{width:16px;height:16px;color:var(--azul)}
.acoes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 10px 0}
.acoes .largo{grid-column:1/-1}
.custos{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px 12px}
.custos label{display:grid;gap:3px;color:var(--cinza);font-size:12.5px;font-weight:600}
.custos input{width:100%;height:42px;padding:0 10px;border:1px solid var(--linha);border-radius:8px;background:var(--fundo);font-size:16px;color:var(--asfalto)}
.alterna{display:flex;align-items:center;gap:10px;margin:10px 10px 0;padding:12px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--linha);font-weight:600}
.alterna input{width:22px;height:22px;accent-color:var(--placa)}

.botao{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:48px;padding:10px 14px;border-radius:10px;background:var(--placa);color:#fff;font-size:15.5px;font-weight:700;text-align:center;text-decoration:none;box-shadow:inset 0 0 0 2px var(--placa),inset 0 0 0 3.2px rgba(255,255,255,.85)}
.botao.leve{background:#fff;color:var(--asfalto);box-shadow:inset 0 0 0 1.5px #cfcec6}
.botao.azul{background:var(--azul);box-shadow:inset 0 0 0 2px var(--azul),inset 0 0 0 3.2px rgba(255,255,255,.85)}
.botao:active{transform:scale(.98)}
.botao .ic{width:20px;height:20px}

/* Gavetas: filtros e detalhes */
dialog{color:var(--asfalto)}
.gaveta{position:fixed;inset:auto 0 0;width:100%;max-width:640px;max-height:calc(100dvh - var(--topo-seg) - 10px);margin:0 auto;padding:0;border:0;border-radius:16px 16px 0 0;background:var(--fundo);overflow:hidden;transform:translateY(100%);transition:transform .38s var(--mola),display .38s allow-discrete,overlay .38s allow-discrete}
.gaveta[open]{display:flex;flex-direction:column;transform:none}
@starting-style{.gaveta[open]{transform:translateY(100%)}}
.gaveta.arrastando{transition:none}
.gaveta::backdrop{background:rgba(0,0,0,0);transition:background .3s,display .3s allow-discrete,overlay .3s allow-discrete}
.gaveta[open]::backdrop{background:rgba(0,0,0,.42)}
@starting-style{.gaveta[open]::backdrop{background:rgba(0,0,0,0)}}
.gaveta-cabeca{position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;padding:7px 12px 8px;background:#fff;touch-action:none}
.gaveta-cabeca .alca{position:absolute;top:7px;left:calc(50% - 19px);margin:0}
.gaveta-cabeca h2{margin-top:12px;font-size:21px;font-weight:800}
.gaveta-cabeca .xis{margin-top:8px}
.gaveta-cabeca.sem-titulo{justify-content:flex-end;padding-bottom:0}
.gaveta-corpo{flex:1;min-height:0;overflow-y:auto;padding:0 0 calc(18px + var(--base-seg));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--fundo)}
.gaveta-corpo.com-rodape{padding-bottom:12px}
.grupo{padding:12px 14px 2px}
.grupo h3{margin-bottom:7px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--cinza)}
.grupo p{margin:-3px 0 7px;color:var(--cinza);font-size:13px}
.opcoes{display:flex;flex-wrap:wrap;gap:6px}
.op{min-height:40px;padding:6px 12px 5px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1.5px #d6d5cd;font-size:14.5px;font-weight:600}
.op small{margin-left:3px;color:var(--cinza);font-weight:500;font-size:12.5px}
.op[aria-pressed=true]{background:var(--placa);color:#fff;box-shadow:inset 0 0 0 2px var(--placa),inset 0 0 0 3.2px #fff}
.op[aria-pressed=true] small{color:#d6e9df}
.uf{min-width:46px;padding-inline:0;text-align:center}
.rodape{flex:none;display:grid;grid-template-columns:1fr 2fr;gap:8px;padding:10px 12px calc(10px + var(--base-seg));background:#fff;border-top:1px solid var(--linha)}

.ficha{padding:2px 14px 14px;background:#fff;border-bottom:1px solid var(--linha)}
.ficha .placa{display:flex;font-size:21px;margin-bottom:8px}
.ficha p{color:var(--cinza);font-size:14px;margin-top:2px}
.selo-conf{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:4px 9px 3px;border-radius:7px;font-size:13px;font-weight:700}
.selo-conf.c3{background:#dff0e6;color:var(--placa-escura)}
.selo-conf.c2{background:#fbf0d2;color:#6d5300}
.selo-conf.c1{background:#ecebe4;color:var(--cinza)}
.bloco{padding:14px 14px 0}
.bloco>h3{margin-bottom:7px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--cinza)}
.botoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.botoes .largo{grid-column:1/-1}
.nota{font-size:14.5px;line-height:1.4;color:#3f4347}
.nota a{color:var(--azul);font-weight:600}
.nomes{display:flex;flex-wrap:wrap;gap:5px}
.nomes span{padding:4px 9px 3px;border-radius:7px;background:#fff;box-shadow:inset 0 0 0 1px var(--linha);font-size:14px}
.cartao{display:block;width:100%;padding:10px 12px;border-radius:0;background:#fff;border-top:1px solid var(--linha);font-size:14.5px;line-height:1.25;text-align:left;text-decoration:none}
.cartao:first-child{border-top:0}
.cartao small{display:block;margin-top:2px;color:var(--cinza);font-size:12.5px}
.nota-grande{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:12px;margin-bottom:8px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--linha)}
.nota-grande>b{font-size:42px;font-weight:800;line-height:1;color:var(--placa)}
.nota-grande>b small{display:block;margin-top:3px;font-size:12px;font-weight:600;color:var(--cinza)}
.medidor{display:grid;grid-template-columns:88px 1fr 24px;gap:7px;align-items:center;font-size:12.5px;color:var(--cinza)}
.medidor span{height:6px;border-radius:3px;background:#ecebe4;overflow:hidden}
.medidor i{display:block;height:100%;width:calc(var(--v)*20%);border-radius:3px;background:var(--placa);transform-origin:left;animation:enche .7s var(--mola) both}
@keyframes enche{from{transform:scaleX(0)}}
.dobra{margin:10px 10px 0;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--linha)}
.dobra summary{padding:14px 12px;font-weight:700;font-size:15.5px;cursor:pointer}
.dobra>.form,.dobra>.ajuda,.dobra>.pilha{margin:0;padding:0 12px 12px}
.form{display:grid;gap:10px}
.form label{display:grid;gap:3px;color:var(--cinza);font-size:13px;font-weight:600}
.form input,.form select,.campo-texto,textarea{width:100%;min-height:46px;padding:10px;border:1px solid #d6d5cd;border-radius:9px;background:#fff;color:var(--asfalto);font-size:16px;-webkit-appearance:none;appearance:none}
textarea{min-height:128px;line-height:1.35;resize:vertical;display:block}
.pilha{display:grid;gap:8px}
.ajuda{color:var(--cinza);font-size:13.5px}
.fontes{padding:14px}
.notas{display:grid;gap:4px}
.nota-linha{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0;border:0;font-size:14.5px;font-weight:600;color:var(--asfalto)}
.nota-linha legend{float:left;padding:0}
.luzes{display:flex}
.luzes label{display:grid;place-items:center;width:40px;height:40px;cursor:pointer}
.luzes input{position:absolute;width:1px;height:1px;opacity:0}
.luzes i{width:24px;height:24px;background:#d6d5cd;clip-path:polygon(50% 2%,62% 36%,98% 37%,70% 59%,80% 95%,50% 74%,20% 95%,30% 59%,2% 37%,38% 36%);transition:background .15s,transform .2s var(--mola)}
.luzes label:has(~ label input:checked) i,.luzes label:has(input:checked) i{background:var(--amarelo)}
.luzes label:has(input:checked) i{transform:scale(1.15)}
.opiniao{padding:10px 12px;background:#fff;border-top:1px solid var(--linha);font-size:14.5px}
.opiniao p{color:var(--cinza);font-size:13px;margin-top:2px}
.confirmado{display:inline-block;padding:1px 6px;border-radius:5px;background:#dff0e6;color:var(--placa-escura);font-size:12px;font-weight:700}

.resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px}
.resumo div{padding:10px 4px 8px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--linha);text-align:center}
.resumo b{display:block;font-size:24px;font-weight:800;color:var(--placa);line-height:1.1}
.resumo span{color:var(--cinza);font-size:12px}

.tela-busca{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:calc(var(--topo-seg) + 8px) 0 0;border:0;background:var(--fundo)}
.tela-busca[open]{display:flex;flex-direction:column}
.busca-topo{flex:none;display:flex;align-items:center;gap:10px;padding:0 12px 10px;border-bottom:1px solid var(--linha)}
.busca-topo input{flex:1;min-width:0;height:46px;padding:0 12px;border:0;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #d6d5cd;font-size:16px;-webkit-appearance:none;appearance:none}
.resultados-busca{flex:1;min-height:0;overflow-y:auto;padding-bottom:calc(20px + var(--base-seg));-webkit-overflow-scrolling:touch}

.toast{position:fixed;z-index:80;left:12px;right:12px;bottom:calc(var(--nav) + 12px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:11px;background:var(--asfalto);color:#fff;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.toast button{flex:none;color:var(--amarelo);font-weight:800}

@media (min-width:900px),(orientation:landscape) and (max-height:560px) and (min-width:560px){
  :root{--lateral:min(400px,46vw)}
  .topo{right:auto;width:var(--lateral);padding-inline:10px}
  .chips{margin-inline:-10px}
  .folha{left:0;right:auto;top:0;bottom:0;width:var(--lateral);height:auto;padding-top:var(--topo-h,110px);transform:none;border-radius:0;box-shadow:2px 0 14px rgba(0,0,0,.18);transition:none}
  .pegador{cursor:default;border-radius:0;touch-action:auto}
  .pegador>.alca{display:none}
  .corpo{overflow-y:auto;padding-bottom:calc(var(--nav) + 16px)}
  .abas{right:auto;width:var(--lateral)}
  .flutuantes{bottom:24px}
  body[data-ponto=alto] .flutuantes{opacity:1;pointer-events:auto}
  .gaveta{inset:0 0 0 auto;width:min(460px,60vw);max-height:100dvh;height:100dvh;margin:0;border-radius:0;transform:translateX(100%)}
  @starting-style{.gaveta[open]{transform:translateX(100%)}}
  .gaveta-cabeca .alca{display:none}
  .toast{left:12px;right:auto;width:calc(var(--lateral) - 24px)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
