/* REELEITO · site público · caminho "Mapa vivo"
   Tokens primeiro; tudo deriva daqui. Sem framework, sem build. */
:root{
  --azul:#062B50; --azul-esc:#041E3A; --azul-2:#0A3B6E; --azul-claro:#1D5A9A;
  --amb:#F59B0B; --amb-claro:#FFC266; --amb-esc:#B86E00; --amb-fundo:#FFF3DC;
  --branco:#FFFFFF; --nevoa:#F4F6FA; --papel:#FFFFFF; --borda:#DCE3EE; --borda-esc:rgba(255,255,255,.14);
  --tinta:#0E1A2B; --cinza:#5A6A82; --cinza-claro:#9FB2CC;
  --ok:#1F7A3D; --ok-fundo:#E6F5EA;
  --fonte:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --display:'Archivo','IBM Plex Sans',system-ui,sans-serif;
  --l:min(1180px,100% - 2rem); --l-estreito:min(780px,100% - 2rem);
  --raio:6px; --raio-p:4px;
  --sombra:0 1px 2px rgb(6 43 80/.06),0 12px 32px -14px rgb(6 43 80/.22);
  --t:.18s cubic-bezier(.4,0,.2,1);
  --grad-azul:linear-gradient(135deg,#041E3A 0%,#062B50 55%,#0A3B6E 100%);
  --brilho:radial-gradient(80% 100% at 85% 10%,rgb(245 155 11/.18) 0%,transparent 60%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fonte);font-size:1rem;line-height:1.55;color:var(--tinta);background:var(--branco)}
img,svg,canvas,video{max-width:100%;height:auto}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:900;letter-spacing:-.025em;line-height:1.05;text-wrap:balance}
h1{font-variation-settings:'wdth' 82;text-transform:uppercase}
h2{font-variation-settings:'wdth' 85;text-transform:uppercase;font-size:clamp(1.7rem,3.4vw,2.8rem)}
h3{font-family:var(--fonte);font-weight:600;letter-spacing:-.01em;line-height:1.25;font-size:1.1rem}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--amb);outline-offset:2px}
.wrap{width:var(--l);margin-inline:auto}
.wrap--estreito{width:var(--l-estreito);margin-inline:auto}
.pular{position:absolute;left:-999px;top:0;background:var(--amb);color:#111;padding:.6rem 1rem;z-index:999}
.pular:focus{left:1rem;top:1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- componentes ---------- */
.chapeu{display:inline-flex;gap:.6rem;align-items:center;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amb-esc);font-weight:600;margin-bottom:.9rem}
.chapeu::before{content:"";width:28px;height:2px;background:var(--amb)}
.escuro .chapeu{color:var(--amb-claro)}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--cinza);max-width:58ch}
.escuro .lead{color:var(--cinza-claro)}
.pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.78rem 1.25rem;font-weight:700;text-decoration:none;border:1.5px solid transparent;font-size:.95rem;line-height:1;cursor:pointer;transition:transform var(--t),background var(--t),color var(--t);white-space:nowrap}
.pill:hover{transform:translateY(-1px)}
.pill--amb{background:var(--amb);color:#111}
.pill--amb:hover{background:var(--amb-claro)}
.pill--azul{background:var(--azul);color:#fff}
.pill--azul:hover{background:var(--azul-2)}
.pill--out{border-color:rgba(255,255,255,.4);color:#fff}
.pill--out:hover{background:rgba(255,255,255,.1)}
.pill--linha{border-color:var(--borda);color:var(--tinta);background:var(--branco)}
.pill--linha:hover{border-color:var(--azul)}
.pill--p{padding:.55rem .95rem;font-size:.85rem}
.acoes{display:flex;gap:.75rem;flex-wrap:wrap}
.link-mais{font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;color:var(--azul);text-decoration:none;display:inline-flex;gap:.4rem;align-items:center}
.link-mais::after{content:"→";transition:transform var(--t)}
.link-mais:hover::after{transform:translateX(3px)}
.escuro .link-mais{color:var(--amb-claro)}
.sec{padding-block:clamp(3rem,6vw,5.5rem)}
.sec--nevoa{background:var(--nevoa)}
.escuro{background:var(--azul-esc);color:#fff}
.escuro h2,.escuro h3{color:#fff}
.sec-cab{max-width:62ch;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.sec-cab p{margin-top:.8rem}
.grade{display:grid;gap:1px;background:var(--borda);border:1px solid var(--borda)}
.escuro .grade{background:var(--borda-esc);border-color:var(--borda-esc)}
.grade--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.grade--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.cel{background:var(--branco);padding:1.6rem}
.escuro .cel{background:var(--azul)}
.cel b{display:block;font-family:var(--display);font-size:2.2rem;font-weight:800;letter-spacing:-.03em;color:var(--azul);font-variant-numeric:tabular-nums;line-height:1}
.escuro .cel b{color:var(--amb)}
.cel h3{margin:.6rem 0 .35rem}
.cel p{font-size:.93rem;color:var(--cinza)}
.escuro .cel p{color:var(--cinza-claro)}
.cartao{background:var(--papel);border:1px solid var(--borda);border-radius:var(--raio);padding:1.4rem;box-shadow:var(--sombra)}
.tabela-wrap{overflow-x:auto;border:1px solid var(--borda);border-radius:var(--raio);background:var(--branco)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--borda);vertical-align:top}
th{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza);font-weight:700;background:var(--nevoa);white-space:nowrap}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr:last-child td{border-bottom:0}
.selo{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .5rem;border-radius:999px;background:var(--ok-fundo);color:var(--ok);white-space:nowrap}
.selo--amb{background:var(--amb-fundo);color:var(--amb-esc)}
.selo--cinza{background:var(--nevoa);color:var(--cinza)}
.fonte{display:inline-flex;gap:.4rem;align-items:center;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul);border:1px solid var(--borda);padding:.3rem .55rem;border-radius:var(--raio-p);background:var(--branco)}
.fonte::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amb)}
.migalhas{font-size:.82rem;color:var(--cinza);margin-bottom:1rem}
.migalhas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.migalhas li+li::before{content:"/";margin-right:.4rem;color:var(--borda)}
.migalhas a{color:var(--cinza);text-decoration:none}
.migalhas a:hover{color:var(--azul)}
.campo{display:flex;gap:.5rem;flex-wrap:wrap}
.campo input,.campo select{flex:1 1 220px;min-width:0;padding:.85rem 1rem;border-radius:999px;border:1px solid var(--borda);background:var(--branco);font-size:1rem}
.campo input:focus{border-color:var(--azul)}
.form{display:grid;gap:1rem}
.form label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}
.form input,.form select,.form textarea{padding:.8rem .95rem;border:1px solid var(--borda);border-radius:var(--raio);background:var(--branco);font-weight:400}
.form .check{display:flex;gap:.6rem;align-items:start;font-weight:400;font-size:.88rem;color:var(--cinza)}
.form .check input{margin-top:.25rem}
.aviso{background:var(--amb-fundo);border-left:4px solid var(--amb);padding:1rem 1.2rem;border-radius:var(--raio-p);font-size:.95rem}
.aviso--ok{background:var(--ok-fundo);border-color:var(--ok)}
.prosa{max-width:68ch}
.prosa h2{font-size:1.45rem;margin:2rem 0 .6rem;text-transform:none;font-variation-settings:'wdth' 92;letter-spacing:-.02em}
.prosa h3{margin:1.4rem 0 .4rem}
.prosa p,.prosa li{font-size:1.04rem;line-height:1.7;color:#243247}
.prosa p+p{margin-top:1rem}
.prosa ul{padding-left:1.2rem;margin:.8rem 0}
.prosa a{color:var(--azul);text-decoration:underline;text-underline-offset:2px}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:100;background:var(--azul-esc);color:#fff;border-bottom:1px solid var(--borda-esc)}
.topo__interno{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.logo{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:900;font-size:1.3rem;letter-spacing:-.02em;text-decoration:none;color:inherit}
.topo__nav{display:flex;align-items:center;gap:1.4rem;font-size:.9rem}
.topo__nav a{text-decoration:none;color:var(--cinza-claro);transition:color var(--t)}
.topo__nav a:hover,.topo__nav a[aria-current="page"]{color:#fff}
.topo__entrar{font-weight:600;color:#fff!important}
.topo__cta{color:#111!important}
.topo__menu-botao{display:none;background:none;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer}
.topo__menu-botao span{display:block;width:22px;height:2px;background:#fff;transition:transform var(--t),opacity var(--t)}
@media (max-width:980px){
  .topo__menu-botao{display:flex}
  .topo__nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--azul-esc);flex-direction:column;align-items:stretch;padding:1rem;gap:.2rem;border-bottom:1px solid var(--borda-esc)}
  .topo__nav.aberto{display:flex}
  .topo__nav a{padding:.75rem .5rem;font-size:1rem}
  .topo__cta{justify-content:center;margin-top:.5rem}
  .topo__menu-botao[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .topo__menu-botao[aria-expanded="true"] span:nth-child(2){opacity:0}
  .topo__menu-botao[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ---------- faixa de informação: contagem e cidade ---------- */
.faixa-info{background:var(--azul);color:#fff;border-bottom:1px solid var(--borda-esc);font-size:.86rem}
.faixa-info__interno{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:36px;flex-wrap:wrap;padding-block:.2rem}
.faixa-info__conta{text-decoration:none;color:var(--cinza-claro);display:inline-flex;gap:.4rem;align-items:center}
.faixa-info__conta b{font-family:var(--display);font-weight:800;color:var(--amb);font-size:1.05rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.faixa-info__conta small{color:var(--cinza-claro);opacity:.8}
.cidade-sel{position:relative}
.cidade-sel summary{list-style:none;cursor:pointer;display:inline-flex;gap:.45rem;align-items:center;padding:.35rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.25)}
.cidade-sel summary::-webkit-details-marker{display:none}
.cidade-sel summary:hover{border-color:rgba(255,255,255,.6)}
.cidade-sel__rotulo{color:var(--cinza-claro)}
.cidade-sel__trocar{color:var(--amb-claro);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cidade-sel__painel{position:absolute;right:0;top:calc(100% + .5rem);width:min(360px,calc(100vw - 32px));background:var(--branco);color:var(--tinta);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);padding:1rem;z-index:200}
.cidade-sel__painel .campo input{flex:1 1 100%}
.cidade-sel__nota{font-size:.75rem;color:var(--cinza);margin-top:.7rem}
@media (max-width:640px){.faixa-info__interno{justify-content:center;text-align:center}.cidade-sel__painel{right:auto;left:50%;transform:translateX(-50%)}}

/* ---------- herói ---------- */
.heroi{position:relative;overflow:hidden;background:var(--azul-esc);color:#fff;isolation:isolate}
.heroi canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.heroi::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,30,58,.97) 0%,rgba(4,30,58,.8) 45%,rgba(4,30,58,.2) 100%)}
.heroi__interno{padding-block:clamp(3rem,7vw,6.5rem) clamp(2.5rem,5vw,4.5rem);display:grid;gap:1.5rem;max-width:740px}
.heroi h1{font-size:clamp(2.5rem,6.2vw,5.2rem);line-height:.98}
.heroi h1 em{font-style:normal;color:var(--amb)}
.heroi__provas{display:flex;gap:2rem;flex-wrap:wrap;padding-top:1.2rem;border-top:1px solid var(--borda-esc)}
.prova b{display:block;font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.prova span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza-claro)}
.heroi__grade{display:grid;grid-template-columns:minmax(0,740px) minmax(0,1fr);gap:2rem;align-items:center}
.heroi__grade .heroi__interno{max-width:none}
.heroi__conta{justify-self:end;text-align:right;display:grid;justify-items:end;gap:.1rem;padding:1.2rem 0;color:#fff}
.heroi__conta-rotulo{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cinza-claro);font-weight:600}
.heroi__conta-num{font-family:var(--display);font-variation-settings:'wdth' 85;font-weight:900;font-size:clamp(5rem,12vw,11rem);line-height:.9;letter-spacing:-.05em;color:var(--amb);font-variant-numeric:tabular-nums;text-shadow:0 0 60px rgb(245 155 11/.35)}
.heroi__conta-dias{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,2.4vw,2rem);text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem}
.heroi__conta-nome{font-size:1rem;color:var(--cinza-claro);max-width:22ch;margin-top:.4rem}
.heroi__conta-data{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amb-claro);font-weight:600}
@media (max-width:980px){.heroi__grade{grid-template-columns:1fr}.heroi__conta{justify-self:start;text-align:left;justify-items:start;padding-top:0;border-top:1px solid var(--borda-esc);padding-top:1.5rem}}
.faixa-info__texto{color:var(--cinza-claro);font-size:.82rem}
.heroi--pagina .heroi__interno{padding-block:clamp(2.5rem,5vw,4rem)}
.heroi--pagina h1{font-size:clamp(2rem,4.6vw,3.6rem)}
.heroi--pagina::after{background:linear-gradient(90deg,rgba(4,30,58,.97) 0%,rgba(4,30,58,.85) 60%,rgba(4,30,58,.5) 100%)}

/* ---------- faixa rolante ---------- */
.faixa{background:var(--amb);color:#111;overflow:hidden;white-space:nowrap;font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.faixa__trilho{display:inline-block;padding:.6rem 0;animation:rola 40s linear infinite}
.faixa span{padding-inline:1.4rem}
@keyframes rola{to{transform:translateX(-50%)}}

/* ---------- busca de cidade ---------- */
.busca{position:relative}
.busca__lista{position:absolute;left:0;right:0;top:calc(100% + .4rem);background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);list-style:none;margin:0;padding:.3rem;z-index:20;max-height:320px;overflow:auto;display:none;color:var(--tinta)}
.busca__lista.aberta{display:block}
.busca__lista a{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .8rem;text-decoration:none;border-radius:var(--raio-p);font-size:.95rem}
.busca__lista a:hover,.busca__lista a:focus{background:var(--nevoa)}
.busca__lista small{color:var(--cinza)}

/* ---------- mapa ---------- */
.mapa{position:relative;width:100%;aspect-ratio:16/10;min-height:360px;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;background:#E9EEF5}
.mapa .leaflet-container{width:100%;height:100%;font:inherit}
.mapa__legenda{position:absolute;left:.8rem;bottom:.8rem;z-index:500;background:rgba(255,255,255,.94);padding:.55rem .8rem;font-size:.78rem;border:1px solid var(--borda);border-radius:var(--raio-p);color:var(--tinta);max-width:min(320px,calc(100% - 1.6rem))}
.mapa__legenda b{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);margin-bottom:.2rem}
.controles{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.controles select{padding:.6rem .9rem;border:1px solid var(--borda);border-radius:999px;background:var(--branco)}
.abas{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.2rem}
.abas a{text-decoration:none;border:1px solid var(--borda);border-radius:999px;padding:.45rem .9rem;font-size:.85rem;font-weight:600;color:var(--tinta);background:var(--branco)}
.abas a[aria-current="page"]{background:var(--azul);color:#fff;border-color:var(--azul)}

/* ---------- razão / livro de prova ---------- */
.razao{border-top:1px solid var(--tinta)}
.razao__linha{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem;padding-block:2rem;border-bottom:1px solid var(--borda);align-items:start}
.razao__n{font-family:var(--display);font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800;letter-spacing:-.04em;line-height:.95;font-variant-numeric:tabular-nums;color:var(--azul)}
.razao__n small{display:block;font-family:var(--fonte);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);font-weight:600;margin-top:.6rem}
.razao__linha p{color:var(--cinza);margin:.4rem 0 .8rem;max-width:58ch}
@media (max-width:760px){.razao__linha{grid-template-columns:1fr;gap:.8rem}}

/* ---------- listas de candidatos / bairros ---------- */
.barra{height:6px;background:var(--nevoa);border-radius:999px;overflow:hidden;min-width:80px}
.barra i{display:block;height:100%;background:var(--amb)}
.foto{width:44px;height:44px;min-width:44px;object-fit:cover;object-position:center top;border-radius:50%;background:var(--nevoa);display:block;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px rgb(6 43 80/.12),0 2px 6px rgb(6 43 80/.18)}
.foto--sem{visibility:hidden}
.foto--g{width:80px;height:80px;min-width:80px;border-width:3px}
.ranking td.col-foto{width:52px;min-width:52px;padding-right:.2rem}
.ranking .nome{min-width:150px}
.ranking td.num{white-space:nowrap}
.ranking .nome .barra{margin-top:.4rem;max-width:160px;min-width:0}
.ranking td:first-child{font-variant-numeric:tabular-nums;color:var(--cinza);width:2.5rem}
.ranking .nome{font-weight:600}
.ranking .nome small{display:block;font-weight:400;color:var(--cinza);font-size:.8rem}

/* ---------- notícias ---------- */
.noticias-grade{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem}
.noticia-destaque{display:grid;gap:.8rem;text-decoration:none;color:inherit}
.noticia-destaque img,.noticia-destaque .capa-vazia{aspect-ratio:16/9;width:100%;object-fit:cover;border-radius:var(--raio);background:var(--grad-azul)}
.noticia-destaque h3{font-family:var(--display);font-weight:900;text-transform:uppercase;font-variation-settings:'wdth' 85;font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:-.02em;line-height:1.05}
.noticia-lista{display:grid;gap:.75rem}
.noticia-lista a{display:grid;gap:.3rem;padding:1rem 1.1rem;background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio);text-decoration:none;color:inherit}
.noticia-lista a:hover{border-color:var(--azul)}
.data{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);font-weight:600}
@media (max-width:860px){.noticias-grade{grid-template-columns:1fr}}

/* ---------- planos ---------- */
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;align-items:stretch}
.plano{background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio);padding:1.6rem;display:grid;gap:.6rem;align-content:start}
.plano--dest{border:2px solid var(--amb);position:relative}
.plano--dest::after{content:"Mais escolhido";position:absolute;top:-.8rem;right:1rem;background:var(--amb);color:#111;font-size:.7rem;font-weight:800;padding:.25rem .6rem;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}
.plano span.rotulo{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);font-weight:700}
.plano .preco{font-family:var(--display);font-size:2.3rem;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.plano .preco small{font-family:var(--fonte);font-size:.9rem;color:var(--cinza);font-weight:500;letter-spacing:0}
.plano ul{margin:.4rem 0 .8rem;padding-left:1.1rem;color:var(--cinza);font-size:.93rem;display:grid;gap:.3rem}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--borda);padding:.2rem 0}
.faq summary{cursor:pointer;padding:1rem 0;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:1.4rem;color:var(--amb-esc);line-height:1}
.faq details[open] summary::after{content:"×"}
.faq .resposta{padding:0 0 1.2rem;color:#243247;max-width:68ch;line-height:1.65}

/* ---------- rodapé ---------- */
.rodape{background:var(--azul-esc);color:var(--cinza-claro);padding-top:clamp(2.5rem,5vw,4rem);border-top:3px solid var(--amb)}
.rodape__grade{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2rem}
.rodape h2{font-family:var(--fonte);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:.8rem;font-weight:700}
.rodape__grade a{display:block;text-decoration:none;color:var(--cinza-claro);padding:.25rem 0;font-size:.92rem}
.rodape__grade a:hover{color:#fff}
.rodape__marca .logo{color:#fff;margin-bottom:.8rem}
.rodape__marca p{font-size:.92rem;max-width:40ch}
.rodape__mini{font-size:.8rem!important;margin-top:.8rem;opacity:.8}
.rodape__base{border-top:1px solid var(--borda-esc);padding-block:1.2rem 2rem;font-size:.8rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media (max-width:860px){.rodape__grade{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rodape__grade{grid-template-columns:1fr}}

/* ---------- revelar ao rolar ---------- */
/* Só o que está abaixo da dobra no carregamento anima; o resto nasce visível (bom para leitores e robôs). */
.revelar{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  .js .revelar--pre{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
  .js .revelar--pre.visto{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.faixa__trilho{animation:none}}
@media print{.topo,.faixa,.rodape,.pill{display:none!important}}


/* ---------- app.reeleito.com.br ---------- */
body.app{background:var(--nevoa)}
.wrap--largo{width:min(1480px,100% - 2rem);margin-inline:auto}
main.wrap,main.wrap--largo{padding-block:1.6rem 3rem;min-height:60vh}
.topo-app{background:var(--azul);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.topo-app__interno{width:min(1480px,100% - 2rem);margin-inline:auto;display:flex;align-items:center;gap:1.5rem;min-height:60px}
.topo-app .logo{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.15rem}
.topo-app .logo small{font-family:var(--fonte);font-weight:500;font-size:.8rem;color:var(--cinza-claro);margin-left:.4rem;padding-left:.7rem;border-left:1px solid rgba(255,255,255,.2)}
.nav-app{display:flex;gap:.2rem;flex-wrap:wrap;margin-left:auto}
.nav-app a{color:var(--cinza-claro);text-decoration:none;font-size:.85rem;font-weight:600;padding:.5rem .7rem;border-radius:999px;white-space:nowrap}
.nav-app a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-app a[aria-current]{color:#111;background:var(--amb)}
.topo-app__usuario{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.nav-app+.topo-app__usuario{margin-left:0}
.usuario{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-size:.85rem}
.usuario__ini{width:30px;height:30px;border-radius:50%;background:var(--amb);color:#111;display:grid;place-items:center;font-weight:800}
.flash{padding:.7rem 0;font-weight:600}
.flash--ok{background:var(--ok-fundo);color:var(--ok)}
.flash--erro{background:#FDECEC;color:#9B1C1C}
.rodape-app{padding:1.5rem 0;color:var(--cinza);font-size:.85rem}
.rodape-app .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.rodape-app a{color:inherit}
.pagina-cab{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.pagina-cab h1{font-size:clamp(1.5rem,3vw,2.2rem)}
.pagina-cab p{color:var(--cinza);margin-top:.3rem}
.cartoes{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.cartao{background:var(--papel);border:1px solid var(--borda);border-radius:var(--raio);padding:1.2rem;box-shadow:var(--sombra)}
.cartao h2,.cartao h3{font-size:1.05rem;font-family:var(--fonte);font-weight:700;text-transform:none;letter-spacing:0}
.cartao .numero{font-family:var(--display);font-weight:900;font-size:2.2rem;line-height:1;letter-spacing:-.03em;color:var(--azul)}
.cartao .numero.amb{color:var(--amb-esc)}
.cartao--acao{display:flex;flex-direction:column;gap:.6rem}
.cartao--acao .link-mais{margin-top:auto}
.painel{background:var(--papel);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra)}
.painel__cab{padding:.9rem 1.2rem;border-bottom:1px solid var(--borda);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.painel__cab h2{font-size:1rem;font-family:var(--fonte);font-weight:700;text-transform:none;letter-spacing:0}
.painel__corpo{padding:1.2rem}
.form--caixa{max-width:460px;margin:3rem auto}
.form--caixa h1{font-size:1.6rem;margin-bottom:.4rem}
.form .ajuda{font-size:.85rem;color:var(--cinza)}
.codigo-input{font-family:var(--display);font-size:2rem;letter-spacing:.4em;text-align:center;font-weight:800}
.selo{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:var(--ok-fundo);color:var(--ok)}
.selo--amb{background:var(--amb-fundo);color:var(--amb-esc)}
.selo--cinza{background:var(--nevoa);color:var(--cinza)}
.selo--vermelho{background:#FDECEC;color:#9B1C1C}
.lista-limpa{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.item{display:flex;gap:.9rem;align-items:center;padding:.8rem 1rem;background:var(--papel);border:1px solid var(--borda);border-radius:var(--raio)}
.item b{display:block}
.item small{color:var(--cinza)}
.item .acoes{margin-left:auto}
.escolhas{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.escolha{display:block;text-decoration:none;color:inherit;background:var(--papel);border:2px solid var(--borda);border-radius:var(--raio);padding:1.4rem;transition:border-color var(--t)}
.escolha:hover{border-color:var(--amb)}
.escolha h2{font-size:1.2rem;margin-bottom:.4rem}
.escolha p{color:var(--cinza);font-size:.95rem}
.escolha .chapeu{margin-bottom:.6rem}
.cand{display:flex;gap:.8rem;align-items:center;padding:.6rem .8rem;border:1px solid var(--borda);border-radius:var(--raio);background:var(--papel);text-align:left;width:100%;cursor:pointer}
.cand:hover{border-color:var(--azul)}
.cand b{display:block}
.cand small{color:var(--cinza)}
.mapa-app{position:relative;height:min(70vh,640px);border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;background:#e9eef5}
.mapa__legenda{position:absolute;left:.8rem;bottom:.8rem;background:rgba(255,255,255,.95);padding:.5rem .8rem;border-radius:var(--raio-p);font-size:.8rem;z-index:500;box-shadow:var(--sombra)}
.kpis{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));margin-bottom:1.2rem}
.kpi{background:var(--papel);border:1px solid var(--borda);border-radius:var(--raio);padding:.9rem 1rem}
.kpi b{display:block;font-family:var(--display);font-weight:900;font-size:1.7rem;line-height:1;color:var(--azul)}
.kpi span{font-size:.78rem;color:var(--cinza);text-transform:uppercase;letter-spacing:.08em}
.kpi.amb b{color:var(--amb-esc)}
.kpi.ruim b{color:#9B1C1C}
.filtros{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}
.filtros label{display:grid;gap:.25rem;font-size:.8rem;color:var(--cinza);font-weight:600}
.filtros input,.filtros select{padding:.5rem .7rem;border:1px solid var(--borda);border-radius:var(--raio-p);background:#fff;min-width:160px}
table.lista{width:100%;border-collapse:collapse;font-size:.92rem}
table.lista th{text-align:left;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza);padding:.5rem .7rem;border-bottom:1px solid var(--borda)}
table.lista td{padding:.6rem .7rem;border-bottom:1px solid var(--borda);vertical-align:top}
table.lista tr:hover td{background:var(--nevoa)}
.barra-alerta{height:8px;border-radius:999px;background:var(--nevoa);overflow:hidden}
.barra-alerta i{display:block;height:100%;background:var(--amb)}
.alerta{border-left:4px solid var(--amb);background:var(--amb-fundo);padding:.8rem 1rem;border-radius:var(--raio-p)}
.alerta--vermelho{border-color:#C62828;background:#FDECEC}
.aviso-item{display:grid;gap:.2rem;padding:.8rem 1rem;border-left:3px solid var(--amb);background:var(--papel);border-radius:var(--raio-p);border-top:1px solid var(--borda);border-right:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.aviso-item.lido{border-left-color:var(--borda);opacity:.75}
.aviso-item small{color:var(--cinza)}
.cab-trial{background:var(--amb-fundo);border:1px solid #F7D08A;padding:.7rem 1rem;border-radius:var(--raio);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1.2rem;font-size:.92rem}
.duas{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem;margin-bottom:.9rem}
.form input,.form select,.form textarea{padding:.65rem .8rem;border:1px solid var(--borda);border-radius:var(--raio-p);background:#fff;font-weight:400}
.form textarea{min-height:110px}
.form .check{display:flex;gap:.6rem;align-items:start;font-weight:400}
.form .check input{margin-top:.25rem}
.painel-tv{background:#000;color:#fff;min-height:100vh;font-family:var(--fonte)}
@media (max-width:760px){.topo-app__interno{flex-wrap:wrap;gap:.6rem;padding-block:.6rem}.nav-app{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;margin-left:0}.usuario__nome{display:none}}

.form .busca{position:relative;display:block}
.form .busca input{width:100%}
.busca__lista li{margin:0}

.cand-lista{display:none;min-width:360px;max-height:380px;overflow:auto}
.cand-lista.aberta{display:block}
.cand-lista .cand{border:0;border-radius:var(--raio-p);padding:.5rem .7rem}
.cand-lista .cand:hover{background:var(--nevoa)}
.filtros .busca{position:relative}
.filtros .busca input{width:100%}
.escolha-cand{max-width:820px;margin:1rem auto 2rem;text-align:center;padding:2.5rem 1.5rem}
.escolha-cand h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;letter-spacing:-.02em;margin:.4rem 0 .6rem}
.escolha-cand p{color:var(--cinza);max-width:52ch;margin:0 auto}
.escolha-cand__dica{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-top:1.6rem;text-align:left}
.escolha-cand__dica .cand{text-decoration:none;color:inherit}

.perfil__grade{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.perfil__legenda{font-size:.78rem;color:var(--cinza);display:flex;gap:.4rem;align-items:center}
.perfil__legenda i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:.6rem}
.perfil__legenda i.c{background:var(--amb)}.perfil__legenda i.m{background:#B9C4D6}
.perfil__linha{display:grid;gap:.5rem;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);align-items:center;padding:.55rem 0;border-bottom:1px solid var(--borda)}
.perfil__linha:last-child{border-bottom:0}
.perfil__rotulo{font-size:.92rem;font-weight:600;display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.perfil__rotulo b{font-size:.75rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;background:var(--nevoa);color:var(--cinza)}
.perfil__rotulo b.mais{background:var(--amb-fundo);color:var(--amb-esc)}
.perfil__rotulo b.menos{background:#EEF2F8;color:#4A5B78}
.perfil__barras{display:grid;gap:.25rem}
.perfil__barra{position:relative;height:16px;background:var(--nevoa);border-radius:999px;overflow:hidden}
.perfil__barra i{display:block;height:100%;border-radius:999px}
.perfil__barra.c i{background:var(--amb)}.perfil__barra.m i{background:#B9C4D6}
.perfil__barra span{position:absolute;right:.5rem;top:0;font-size:.72rem;line-height:16px;font-weight:700;color:var(--tinta)}

.boneco{display:flex;gap:1.1rem;align-items:center;background:linear-gradient(135deg,#fff,#FFF7E8)}
.boneco__fig{width:118px;height:118px;flex:none;align-self:flex-start;margin-top:1.6rem;filter:drop-shadow(0 8px 14px rgb(6 43 80/.22))}
.boneco__media td small{font-weight:500;color:var(--cinza);font-size:.72rem}
.boneco__txt h3{font-family:var(--display);font-weight:900;font-size:1.35rem;text-transform:uppercase;letter-spacing:-.01em;margin:.2rem 0}
.boneco__txt p{color:var(--tinta);font-weight:600}
.boneco__chips{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0 .4rem}
.boneco__txt small{color:var(--cinza);display:block;font-size:.8rem}
table.lista tr.decide td{background:#FFF9EE}
table.lista tr.marca-metade td{background:var(--amb);color:#111;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .7rem}

.boneco__media{border-collapse:collapse;margin:.5rem 0 .4rem;font-size:.86rem;font-variant-numeric:tabular-nums}
.boneco__media th{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);font-weight:700;text-align:right;padding:0 .6rem .2rem}
.boneco__media td{padding:.18rem .6rem;border-top:1px solid var(--borda);text-align:right;white-space:nowrap}
.boneco__media td:first-child,.boneco__media th:first-child{text-align:left;padding-left:0;color:var(--tinta);font-weight:600}
.boneco__media td:nth-child(2){font-weight:800}
.boneco__media td.mais{color:var(--amb-esc)}.boneco__media td.menos{color:#4A5B78}
.boneco__media td:last-child{color:var(--cinza)}

.traj{display:flex;gap:.7rem;overflow-x:auto;padding:.2rem .1rem .6rem;margin-bottom:1rem;scroll-snap-type:x proximity}
.traj__item{flex:0 0 190px;scroll-snap-align:start;display:flex;flex-direction:column;gap:.15rem;padding:.8rem .9rem;border:1px solid var(--borda);border-radius:var(--raio);background:var(--papel);color:inherit;text-decoration:none;position:relative}
a.traj__item:hover{border-color:var(--amb);box-shadow:0 6px 16px rgb(6 43 80/.08)}
.traj__item.atual{border-color:var(--azul);background:var(--azul);color:#fff}
.traj__item.atual small,.traj__item.atual em{color:#C9D4E5}
.traj__item.eleito:not(.atual){border-left:4px solid var(--amb)}
.traj__ano{font-family:var(--display);font-weight:900;font-size:1.5rem;letter-spacing:-.02em;line-height:1}
.traj__item b{font-size:.92rem}
.traj__item small{font-size:.76rem;color:var(--cinza)}
.traj__item strong{font-size:1.05rem;margin-top:.25rem;font-variant-numeric:tabular-nums}
.traj__item strong em{font-style:normal;font-weight:500;font-size:.78rem;color:var(--cinza)}
.traj__item .selo{align-self:flex-start;margin-top:.35rem}
.evolucao__tab th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza);padding:.5rem .7rem;text-align:left;border-bottom:1px solid var(--borda);white-space:nowrap}
.evolucao__tab th small{display:block;letter-spacing:0;text-transform:none;font-weight:500}
.evolucao__tab th.num,.evolucao__tab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.evolucao__tab td.atual,.evolucao__tab th.atual{background:#FFF9EE}
.evolucao__tab td .barra{display:block;height:5px;background:var(--nevoa);border-radius:999px;margin-bottom:.2rem;overflow:hidden}
.evolucao__tab td .barra i{display:block;height:100%;background:var(--amb);border-radius:999px}
.evolucao__tab td.atual .barra i{background:var(--azul)}
.evolucao__tab tr.total td{font-weight:800;border-top:2px solid var(--borda)}

:root{--c0:#062B50;--c1:#F59B0B;--c2:#2F855A;--c3:#9B1C1C;--c4:#6B46C1;--c5:#0B7285}
.kpis--explica .kpi{text-align:left;cursor:pointer;font:inherit;position:relative;transition:border-color .15s,box-shadow .15s}
.kpis--explica .kpi:hover{border-color:var(--amb)}
.kpis--explica .kpi[aria-expanded=true]{border-color:var(--azul);box-shadow:0 0 0 2px var(--azul) inset}
.kpis--explica .kpi::after{content:"?";position:absolute;top:.55rem;right:.6rem;width:18px;height:18px;border-radius:50%;background:var(--nevoa);color:var(--cinza);font-size:.72rem;font-weight:800;display:grid;place-items:center}
.kpis--explica .kpi[aria-expanded=true]::after{background:var(--azul);color:#fff;content:"×"}
.kpi b small{font-size:.9rem;font-weight:700;color:var(--cinza)}
.kpi-explica{background:var(--azul);color:#fff;border-radius:var(--raio);padding:1rem 1.2rem;margin:-.4rem 0 1.2rem;font-size:.98rem;line-height:1.55}
.kpi-explica b{color:var(--amb)}.kpi-explica a{color:#fff;text-decoration:underline}
.traj__item{padding:0;overflow:visible}
.traj__corpo{display:flex;flex-direction:column;gap:.15rem;padding:.8rem .9rem;color:inherit;text-decoration:none;border-radius:var(--raio);height:100%}
a.traj__corpo:hover{background:var(--nevoa)}
.traj__item.atual a.traj__corpo:hover,.traj__item.atual .traj__corpo{background:transparent}
.traj__chk{position:absolute;top:-.55rem;right:-.55rem;z-index:2;cursor:pointer}
.traj__chk input{position:absolute;opacity:0;width:0;height:0}
.traj__chk i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--borda);box-shadow:var(--sombra);color:transparent;font-style:normal;font-weight:900;font-size:.9rem}
.traj__chk input:checked+i{background:var(--cor,var(--azul));border-color:var(--cor,var(--azul));color:#fff}
.traj__chk input:checked+i::before{content:"✓"}
.traj__chk input:disabled+i{opacity:.85;cursor:default}
.traj__item{border-top:4px solid var(--cor,var(--borda))}
.traj__item.eleito:not(.atual){border-left:1px solid var(--borda)}
.comp__chips{position:sticky;top:.5rem;z-index:20;display:flex;gap:.4rem;flex-wrap:wrap;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);padding:.55rem .7rem;border:1px solid var(--borda);border-radius:999px;margin-bottom:1rem;box-shadow:var(--sombra);width:max-content;max-width:100%}
.comp__chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem .3rem .5rem;border-radius:999px;border:1px solid var(--borda);font-size:.82rem;font-weight:700;cursor:pointer;user-select:none;background:#fff}
.comp__chip input{position:absolute;opacity:0;width:0;height:0}
.comp__chip i{width:14px;height:14px;border-radius:50%;background:var(--cor);opacity:.25;font-style:normal}
.comp__chip.on{background:var(--cor);color:#fff;border-color:var(--cor)}
.comp__chip.on i{opacity:1;background:#fff}
.comp__chip.fixo{cursor:default}
.comp__grade{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.comp__texto{margin-top:.8rem;font-size:.92rem;color:var(--tinta);line-height:1.5}
.comp__texto b{color:var(--azul)}
.comp svg{width:100%;height:auto;display:block;font-family:var(--fonte)}
.comp svg text{font-size:12px;fill:var(--tinta)}
.comp svg text.eixo{font-size:11px;fill:var(--cinza)}
.comp svg text.val{font-weight:800}
.comp__tab th,.comp__tab td{padding:.5rem .8rem;border-bottom:1px solid var(--borda);font-size:.9rem;white-space:nowrap}
.comp__tab th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza);text-align:right}
.comp__tab th:first-child{text-align:left}
.comp__tab td{text-align:right;font-variant-numeric:tabular-nums}
.comp__tab td:first-child{text-align:left;font-weight:600;color:var(--tinta)}
.comp__tab th span{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.3rem;vertical-align:middle}
.comp__tab td.melhor{color:var(--amb-esc);font-weight:800}
.comp__tab tr.grupo td{background:var(--nevoa);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);font-weight:700;padding:.35rem .8rem}
.reduto-topo{align-items:stretch;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.reduto-topo .mapa-app{height:auto;min-height:520px}
.reduto-topo .boneco{height:100%;margin:0;box-sizing:border-box}
@media (max-width:900px){.reduto-topo{grid-template-columns:1fr}.reduto-topo .mapa-app{height:min(70vh,520px)}}
.sem-grade{display:grid;gap:.4rem;grid-template-columns:auto repeat(var(--n),minmax(70px,1fr));align-items:center;font-size:.85rem}
.sem-grade .cab{font-size:.72rem;color:var(--cinza);text-transform:uppercase;letter-spacing:.06em;text-align:center}
.sem-grade .lin{font-weight:700;white-space:nowrap}
.sem-grade .cel{text-align:center;padding:.6rem .3rem;border-radius:var(--raio-p);font-weight:800;font-variant-numeric:tabular-nums}

table.lista tr.clic{cursor:pointer}
table.lista tr.clic:hover td{background:#FFF3DD}
table.lista tr.clic td:first-child{position:relative}
.detalhe{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;background:rgb(6 43 80/.45)}
.detalhe[hidden]{display:none}
.detalhe__caixa{width:min(760px,100%);height:100%;background:var(--fundo,#F5F7FA);overflow:auto;box-shadow:-10px 0 30px rgb(0 0 0/.25);padding:1.2rem 1.4rem 2rem;animation:entra .18s ease-out}
@keyframes entra{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.detalhe__topo{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.detalhe__topo h2{font-family:var(--display);font-weight:900;font-size:1.5rem;line-height:1.05;letter-spacing:-.01em;margin:.1rem 0}
.detalhe__topo p{color:var(--cinza);font-size:.9rem}
.detalhe__fechar{margin-left:auto;border:1px solid var(--borda);background:#fff;border-radius:999px;width:38px;height:38px;font-size:1.3rem;cursor:pointer;flex:none}
.detalhe__voltar{border:0;background:transparent;color:var(--azul);font-weight:700;cursor:pointer;padding:0;font:inherit;text-decoration:underline}
.detalhe .kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}
.detalhe .painel{margin-bottom:1rem}
.detalhe table.lista td{padding:.5rem .8rem}
.detalhe .nota{font-size:.8rem;color:var(--cinza);margin-top:.3rem}
.detalhe .carregando{padding:3rem;text-align:center;color:var(--cinza)}
.mini{display:inline-block;height:6px;border-radius:999px;background:var(--amb);vertical-align:middle;margin-right:.4rem}

.ibge .duas{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.ibge__tab th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza);padding:.5rem .8rem;text-align:left;border-bottom:1px solid var(--borda)}
.ibge__tab th.num,.ibge__tab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ibge__tab td.mais{color:var(--amb-esc);font-weight:800}.ibge__tab td.menos{color:#4A5B78;font-weight:800}
.ibge__como p{margin:.5rem 0;font-size:.92rem;line-height:1.55}
@media (max-width:900px){.ibge .duas{grid-template-columns:1fr}}

.perfil__linha.clic{cursor:pointer;border-radius:var(--raio-p);transition:background .12s}
.perfil__linha.clic:hover{background:#FFF3DD}
.perfil__linha.clic .perfil__rotulo::after{content:"›";color:var(--amb-esc);font-weight:900;margin-left:.3rem}
.detalhe .perfil__linha{grid-template-columns:minmax(120px,1fr) minmax(0,2fr)}

.duas > .painel{display:flex;flex-direction:column}
.duas > .painel > .painel__corpo{flex:1}

.vende__perde{display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:center;margin-bottom:1.2rem;border-left:6px solid var(--amb);background:linear-gradient(135deg,#fff,#FFF7E8)}
.vende__perde ul{margin:.4rem 0;padding-left:1.1rem;display:grid;gap:.25rem;font-size:.95rem}
.vende__perde small{color:var(--cinza)}
.vende__prova{text-align:center;min-width:110px}
.vende__prova b{display:block;font-family:var(--display);font-weight:900;font-size:3.4rem;line-height:1;color:var(--amb-esc)}
.vende__prova span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);font-weight:700}
.planos--venda .plano--dest{box-shadow:0 18px 40px rgb(6 43 80/.14);transform:translateY(-6px)}
.planos--venda .plano--dest::after{content:"Indicado para você"}
.vende__alc{font-weight:700;color:var(--tinta);margin:0}
.vende__dia{margin:-.2rem 0 .3rem;font-size:.9rem;color:var(--cinza)}
.vende__dia b{color:var(--amb-esc)}
.vende__lista{list-style:none;padding:0;margin:.4rem 0 .8rem;display:grid;gap:.4rem;color:var(--tinta)}
.vende__lista li{padding-left:1.5rem;position:relative;font-size:.93rem}
.vende__lista li::before{content:"✓";position:absolute;left:0;top:0;color:var(--amb-esc);font-weight:900}
.vende__botoes{display:grid;gap:.5rem}
.vende__botoes .pill{justify-content:center;font-size:1rem;padding:.8rem 1rem}
.vende__mensal{border:0;background:none;color:var(--azul);font:inherit;font-size:.86rem;font-weight:700;text-decoration:underline;cursor:pointer;padding:.2rem}
.vende__garantia{color:var(--cinza);font-size:.76rem;text-align:center;display:block}
.vende__compara{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-top:1.6rem}
.vende__compara h3{font-size:1.1rem;margin:.3rem 0 .4rem;line-height:1.25}
.vende__compara p{color:var(--cinza);font-size:.92rem;line-height:1.5}
.vende__faq{margin-top:1.4rem;max-width:820px}
.vende__faq details{border-bottom:1px solid var(--borda);padding:.6rem 0}
.vende__faq summary{cursor:pointer;font-weight:700}
.vende__faq .resposta{padding:.4rem 0 .2rem;color:var(--cinza);font-size:.93rem}
@media (max-width:700px){.vende__perde{grid-template-columns:1fr}.planos--venda .plano--dest{transform:none}}

.cob__tab th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza);padding:.5rem .8rem;text-align:left;border-bottom:1px solid var(--borda);white-space:nowrap}
.cob__tab th.num,.cob__tab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cob__tab td.ok{color:var(--verde,#1F9D55);font-weight:800}.cob__tab td.meio{color:var(--amb-esc);font-weight:800}.cob__tab td.zero{color:#9B1C1C;font-weight:800}
h1 .imprimir{font-size:.8rem;vertical-align:middle;margin-left:.6rem;font-family:var(--fonte);letter-spacing:0;text-transform:none;font-weight:700}
@media print{
  .topo,.filtros,.imprimir,.detalhe,.traj__chk,.comp__chips,#mapa-wrap,.kpis--explica .kpi::after,.rodape-app,footer{display:none !important}
  body{background:#fff;color:#000}
  .painel__corpo{max-height:none !important;overflow:visible !important}
  .kpi-explica{display:block !important}
  section,.painel,.cartao{break-inside:avoid}
  .reduto-topo{grid-template-columns:1fr !important}
  a{text-decoration:none;color:inherit}
}

.apoio-link{font-size:.82rem;white-space:nowrap}
.apoio-link a,.apoio-link .copiar{color:var(--azul);font-weight:700;text-decoration:underline;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.apoio h1{text-transform:none;letter-spacing:0}

.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.6rem 0}
.passo{text-align:center;font-size:.8rem;color:var(--cinza);font-weight:700}
.passo i{display:block;width:30px;height:30px;line-height:30px;border-radius:50%;margin:0 auto .3rem;background:var(--nevoa);color:var(--cinza);font-style:normal;font-weight:900}
.passo.feito i{background:var(--amb);color:#111}.passo.atual{color:var(--tinta)}.passo.atual i{background:var(--azul);color:#fff}
.linha-tempo{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.linha-tempo li{padding:.5rem .8rem;border-left:3px solid var(--amb);background:var(--nevoa);border-radius:0 var(--raio-p) var(--raio-p) 0;font-size:.92rem}
.linha-tempo small{color:var(--cinza);margin-right:.4rem}
.portal-link a,.portal-link .copiar{color:var(--azul);font-weight:700;text-decoration:underline;background:none;border:0;padding:0;font:inherit;cursor:pointer}

/* cobrança: faixa de bloqueio, tela de bloqueio, exportação e administração */
.faixa-bloqueio{background:#EEF3FA;color:var(--azul);border-bottom:1px solid #D6E0EE;padding:.7rem 0;font-size:.92rem}
.faixa-bloqueio .wrap{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.faixa-bloqueio__acoes{display:flex;gap:.5rem;flex-wrap:wrap}
.faixa-bloqueio--confianca{background:var(--amb-fundo);color:var(--amb-esc);border-color:#F7D08A}
.bloqueado h1 em{color:var(--amb-esc)}
.bloqueado__lista{margin:1.1rem 0 1.3rem;padding-left:1.1rem;display:grid;gap:.45rem;font-size:.95rem}
.export-lista{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.export-item{display:grid;gap:.4rem;padding:1.2rem;text-decoration:none;color:var(--azul)}
.export-item b{font-family:var(--d,inherit);font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.export-item .pill{justify-self:start}
.filtros-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.filtros-chips a{padding:.35rem .8rem;border-radius:999px;border:1px solid var(--borda,#DCE3EE);text-decoration:none;color:var(--azul);font-size:.88rem}
.filtros-chips a[aria-current]{background:var(--azul);color:#fff;border-color:var(--azul)}
.filtros-chips b{margin-left:.25rem;font-variant-numeric:tabular-nums}
.adm td{vertical-align:top}
.adm__acoes{display:flex;gap:.4rem;flex-wrap:wrap}

.flash--info{background:#EEF3FA;color:var(--azul)}

/* planos: períodos e código */
.codigo-promo{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding:1rem 1.2rem}
.codigo-promo__txt{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.codigo-promo__campo{display:flex;gap:.5rem;flex:1 1 260px;max-width:420px}
.codigo-promo__campo input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em}
.codigo-promo .aviso{flex-basis:100%}
.periodos{display:grid;gap:.45rem;margin:.9rem 0 1rem}
.periodo{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"r n p" "r m m";gap:.1rem .6rem;align-items:center;border:1px solid #DCE3EE;border-radius:12px;padding:.55rem .75rem;cursor:pointer;background:#fff}
.periodo input{grid-area:r;accent-color:var(--amb)}
.periodo__nome{grid-area:n;font-weight:700;font-size:.92rem}
.periodo__nome em{font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--ok-fundo);color:var(--ok);border-radius:999px;padding:.12rem .45rem;margin-left:.3rem}
.periodo__preco{grid-area:p;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.periodo__preco small{font-weight:500;color:var(--cinza)}
.periodo__preco s{font-weight:500;color:var(--cinza);font-size:.82rem;margin-right:.2rem}
.periodo__mes{grid-area:m;font-size:.8rem;color:var(--cinza)}
.periodo:has(input:checked){border-color:var(--amb);box-shadow:0 0 0 2px rgba(245,155,11,.25);background:var(--amb-fundo)}
.plano--dest .periodo{background:rgba(255,255,255,.96)}

/* minha conta (modelo HeyGen) */
.config{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.5rem;align-items:start}
.config__menu{display:flex;flex-direction:column;gap:.15rem;position:sticky;top:5rem}
.config__grupo{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);margin:.9rem 0 .3rem .7rem}
.config__grupo:first-child{margin-top:0}
.config__menu a{padding:.55rem .7rem;border-radius:10px;text-decoration:none;color:var(--azul);font-weight:600;font-size:.93rem;display:flex;justify-content:space-between;gap:.5rem}
.config__menu a[aria-current]{background:#E7F0FB}
.config__saldo{font-size:.75rem;background:var(--ok-fundo);color:var(--ok);border-radius:999px;padding:.05rem .45rem}
.config__titulo{font-size:1.5rem;margin-bottom:1rem}
.config__cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.plano-atual{border:2px solid #CFE8D6;margin-bottom:1rem}
.plano-atual--pausa{border-color:#DCE3EE}
.plano-atual__cab{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}
.plano-atual__cab h2{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:1.6rem}
.plano-atual__preco{font-size:1.4rem;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.plano-atual__preco small{font-size:.85rem;font-weight:500;color:var(--cinza)}
.plano-atual__preco .ajuda{display:block;font-size:.78rem}
.plano-atual__linha{margin:.6rem 0 .9rem;color:var(--cinza)}
.grade-2{display:grid;gap:0 1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.hist td.num,.lista td.num,.lista th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.indique__chamada h2{font-size:1.25rem;line-height:1.35;margin:.4rem 0 .5rem;text-wrap:balance}
.indique__link{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 .5rem}
.indique__link input{flex:1 1 280px;min-width:0;font-family:ui-monospace,monospace;font-size:.88rem}
.indique__numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.8rem;margin-top:1.2rem;border-top:1px solid #E5EAF2;padding-top:1rem}
.indique__numeros b{display:block;font-size:1.6rem;font-variant-numeric:tabular-nums}
.indique__numeros span{font-size:.82rem;color:var(--cinza)}
@media (max-width:760px){.config{grid-template-columns:1fr}.config__menu{position:static;flex-direction:row;flex-wrap:wrap}.config__grupo{display:none}}

/* administração */
.admin-abas{display:flex;gap:.3rem;margin-bottom:1.2rem;border-bottom:1px solid #DCE3EE;flex-wrap:wrap}
.admin-abas a{padding:.6rem .9rem;text-decoration:none;color:var(--cinza);font-weight:700;border-bottom:3px solid transparent;margin-bottom:-1px}
.admin-abas a[aria-current]{color:var(--azul);border-color:var(--amb)}
.tipo-codigo{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}
.tipo-codigo label{border:1px solid #DCE3EE;border-radius:12px;padding:.7rem;display:flex;gap:.5rem;align-items:flex-start;cursor:pointer}
.tipo-codigo label span{display:flex;flex-direction:column;font-size:.85rem;color:var(--cinza)}
.tipo-codigo label b{color:var(--azul);font-size:.98rem}
.tipo-codigo label:has(input:checked){border-color:var(--amb);background:var(--amb-fundo)}
.codigo-txt{font-family:ui-monospace,monospace;letter-spacing:.05em}
.link-copiar{background:none;border:0;padding:0;color:var(--azul);text-decoration:underline;font-size:.8rem;cursor:pointer}
.lista tr.inativo td{opacity:.5}

.faixa-bloqueio--titular{background:var(--amb-fundo);color:var(--amb-esc);border-color:#F7D08A}

/* cartão de perfil no detalhe (cidade, bairro, escola, seção) */
.det-persona{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1rem;align-items:start;background:linear-gradient(135deg,#fff,#FFF7E8);border:1px solid var(--borda);border-radius:var(--raio);padding:1rem;margin:0 0 1rem}
.det-persona__fig{width:96px;height:96px;filter:drop-shadow(0 6px 10px rgb(6 43 80/.2))}
.det-persona__txt h3{font-family:var(--display);font-weight:900;font-size:1.2rem;text-transform:uppercase;margin:.15rem 0}
.det-persona__txt>p{color:var(--tinta);font-weight:600;font-size:.9rem}
.det-persona__bloco{margin-top:.7rem}
.det-persona__bloco>small{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);font-weight:700;margin-bottom:.35rem}
.det-persona__grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.4rem}
.det-persona__item{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:.4rem .55rem;display:flex;flex-direction:column;gap:.1rem}
.det-persona__item span{font-size:.72rem;color:var(--cinza);line-height:1.2}
.det-persona__item b{font-size:1rem;font-variant-numeric:tabular-nums}
.det-persona .nota{margin-top:.6rem}
@media (max-width:560px){.det-persona{grid-template-columns:1fr}.det-persona__fig{width:80px;height:80px}}

/* menu: gaveta Gabinete e sino */
.nav-grupo{position:relative}
.nav-grupo>summary{list-style:none;cursor:pointer;color:var(--cinza-claro);font-size:.85rem;font-weight:600;padding:.5rem .7rem;border-radius:999px;white-space:nowrap}
.nav-grupo>summary::-webkit-details-marker{display:none}
.nav-grupo>summary:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-grupo>summary[aria-current]{color:#111;background:var(--amb)}
.nav-grupo__menu{position:absolute;right:0;top:calc(100% + .35rem);background:#fff;border:1px solid var(--borda);border-radius:12px;padding:.35rem;min-width:190px;display:flex;flex-direction:column;z-index:60;box-shadow:0 10px 30px rgb(6 43 80/.18)}
.nav-grupo__menu a{color:var(--azul)!important;background:none!important;padding:.55rem .75rem!important;border-radius:8px!important}
.nav-grupo__menu a:hover{background:var(--nevoa)!important}
.nav-grupo__menu a[aria-current]{background:var(--amb-fundo)!important;color:var(--amb-esc)!important}
.nav-sino{display:inline-flex!important;align-items:center}
.contexto-cand{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;justify-content:flex-end;font-size:.9rem}
.contexto-cand .filtros{margin:0}
@media (max-width:760px){.nav-app{flex-wrap:wrap;overflow:visible}.nav-grupo__menu{position:absolute;left:0;right:auto}}

/* páginas temáticas */
.terr-blocos{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
.terr-temas{display:flex;gap:.4rem;flex-wrap:wrap}
.terr-temas [aria-pressed=true]{background:var(--azul);color:#fff;border-color:var(--azul)}
.cidade-ind{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}
.lista tr.eu td{background:var(--amb-fundo)}
.lista th[aria-sort=descending]::after{content:' ↓'}.lista th[aria-sort=ascending]::after{content:' ↑'}

/* barra de seleção, comparação e estratégia */
.pagina-cab--filtros{flex-direction:column;align-items:stretch}
.barra-filtros{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-top:.6rem}
.barra-filtros__cand{min-width:260px;flex:1 1 260px}.barra-filtros__cmp{min-width:300px;flex:1 1 300px}
.barra-filtros__dupla{display:flex;gap:.4rem}.barra-filtros__dupla select{width:auto;flex:none}.barra-filtros__dupla .busca{flex:1;position:relative}
.cmp-chips{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-top:.6rem;font-size:.85rem;color:var(--cinza)}
.cmp-chip{background:#E7F0FB;color:var(--azul);border-radius:999px;padding:.25rem .7rem;text-decoration:none;font-weight:600}
.cmp-chip b{margin-left:.3rem;color:var(--cinza)}
.comparacao{margin:1rem 0 1.4rem}
.comparacao__cartoes{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.comparacao__cartao{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.8rem;align-items:start}
.comparacao__cartao.eu{border:2px solid var(--amb)}
.comparacao__fig{width:72px;height:72px}
.comparacao__persona{font-weight:800;margin:.3rem 0}
.lista th.eu{background:var(--amb-fundo)}
.plano-acao__lista{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.plano-acao__lista li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:.8rem;align-items:start}
.plano-acao__n{width:40px;height:40px;border-radius:50%;background:var(--azul);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.plano-acao__lista h3{font-size:1.05rem;margin-bottom:.2rem}
.estimativa__grade{display:grid;gap:.8rem 1.4rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:1rem 0}
.estimativa__grade label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}
.estimativa__grade b{color:var(--azul)}
.estimativa__resultado{display:flex;gap:2rem;flex-wrap:wrap}
.estimativa__resultado small{display:block;color:var(--cinza);font-size:.78rem}
.estimativa__resultado b{display:block;font-size:2rem;font-variant-numeric:tabular-nums}
.estimativa__resultado span{font-size:.85rem;color:var(--cinza)}
.estimativa__resultado .falta{color:var(--amb-esc);font-weight:700}.estimativa__resultado .ok{color:var(--ok);font-weight:700}
.estimativa__barra{position:relative;height:14px;background:var(--nevoa);border-radius:999px;margin:1rem 0 .4rem;overflow:visible}
.estimativa__barra i{display:block;height:100%;background:var(--amb);border-radius:999px;transition:width .2s}
.estimativa__barra em{position:absolute;top:-6px;width:3px;height:26px;background:var(--azul)}

.pagina-cab h1 em{padding-right:.14em}
.pagina-cab h1,.pagina-cab h2{word-spacing:.1em}
@media (max-width:760px){.topo-app{position:static}}
.link-doadores{border:0;background:none;padding:0;font:inherit;font-size:.78rem;color:var(--azul);text-decoration:underline;cursor:pointer}
.link-doadores:hover{color:var(--amb-esc)}
.ver-mais{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.7rem 1rem;border-top:1px solid var(--borda)}
.ver-mais[hidden]{display:none}
.ver-mais button{border:1px solid var(--azul);background:#fff;color:var(--azul);border-radius:999px;padding:.35rem .9rem;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.ver-mais button:hover{background:var(--azul);color:#fff}
.ver-mais__conta{font-size:.8rem;color:var(--cinza)}
tr.ver-mais__marca td{background:var(--amb-fundo);color:var(--amb-esc);font-size:.8rem;font-weight:700;text-align:center;padding:.45rem}
.barra-filtros__cmp{flex:1 1 100%;min-width:0}.barra-filtros__cmp .barra-filtros__dupla{max-width:760px}
.barra-filtros__cidade select{max-width:260px}
.carregando-topo{position:fixed;top:0;left:0;right:0;height:3px;z-index:3000;background:linear-gradient(90deg,transparent,var(--amb),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:carregando-topo 1s linear infinite}
@keyframes carregando-topo{from{background-position:-40% 0}to{background-position:140% 0}}
html.carregando,html.carregando *{cursor:progress}
/* Por quê e Meta */
.pq{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1.2rem;align-items:start}
.pq__lista{position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow:auto;display:flex;flex-direction:column;gap:.9rem;padding-right:.3rem}
.pq__busca input{width:100%}
.pq__grupo h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--amb-esc);margin:.2rem 0 .35rem}
.pq__grupo a{display:block;padding:.42rem .6rem;border-radius:6px;color:var(--tinta,#0E1A2B);text-decoration:none;font-size:.9rem;line-height:1.3}
.pq__grupo a:hover{background:var(--nevoa)}
.pq__grupo a[aria-current]{background:var(--azul);color:#fff}
.pq__grupo[hidden],.pq__grupo a[hidden]{display:none}
.pq__resposta{min-width:0}
.pq__resposta h2{font-family:var(--display);font-weight:900;font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.1;margin:.2rem 0 .7rem}
.pq__curta{font-size:1.08rem;line-height:1.55;margin-bottom:1rem}
.pq__corpo .tabela-wrap{margin:.6rem 0}
.pq__corpo ul,.pq__corpo ol{padding-left:1.2rem;display:grid;gap:.3rem}
.pq-fatores{display:grid;gap:.7rem;margin:.6rem 0 1rem}
.pq-fator{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.9rem;align-items:start;padding:.8rem;border-radius:8px;background:var(--nevoa)}
.pq-fator__num{font-family:var(--display);font-weight:900;font-size:1.5rem;color:var(--azul);line-height:1;text-align:right}
.pq-fator__num small{display:block;font-size:.7rem;font-weight:600;color:var(--cinza);letter-spacing:.04em}
.pq-fator p{margin:.15rem 0 .25rem;font-size:.92rem}
.pq-fator a,.pq__corpo a[data-pq]{font-size:.85rem;color:var(--azul)}
.pq-contexto{border-left:3px solid var(--amb);padding:.4rem .9rem;margin:1rem 0}
.pq-contexto ul{margin-top:.3rem}
.pq-acoes{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.pq-persona{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1rem;align-items:center}
.pq-persona__fig{width:96px;height:96px}
@media (max-width:900px){.pq{grid-template-columns:1fr}.pq__lista{position:static;max-height:none}}
.meta-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}
.meta-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:700;font-size:.85rem}
.meta-form input{font-size:1.4rem;font-weight:800;width:12rem;font-variant-numeric:tabular-nums}
.meta-resumo{margin:1rem 0}
tr.pq-sub>td{background:var(--nevoa);padding:.6rem .8rem}
tr.pq-sub .tabela-wrap{margin:0;background:#fff}
[data-abre][aria-expanded="true"]{font-weight:800}
.imp-envio{display:grid;gap:1rem;max-width:760px}
.imp-tipo{border:0;padding:0;margin:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.imp-tipo legend{font-weight:700;margin-bottom:.4rem}
.imp-tipo label{display:flex;flex-wrap:wrap;gap:.2rem .5rem;align-items:baseline;padding:.8rem;border:1px solid var(--borda);border-radius:8px;cursor:pointer}
.imp-tipo label small{flex-basis:100%;color:var(--cinza)}
.imp-arquivo,.imp-envio>label,.imp-gravar>label{display:flex;flex-direction:column;gap:.3rem;font-weight:600}
.imp-gravar{display:grid;gap:.9rem;max-width:860px}
.imp-gravar .check,.imp-envio .check{flex-direction:row;font-weight:400;gap:.5rem;align-items:flex-start}
/* Gabinete Móvel */
.movel{max-width:640px;margin:0 auto;padding:1rem 0 2rem;display:grid;gap:1rem;min-width:0}
.movel>*{min-width:0}
.movel__form input:not([type=radio]):not([type=checkbox]):not(.sr),.movel__form textarea{width:100%;max-width:100%;box-sizing:border-box;min-width:0}
.movel__form input[type=file]{font-size:.9rem;padding:.4rem 0}
.movel__cab h1{font-family:var(--display);font-weight:900;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.05;margin:.2rem 0 .4rem}
.movel__form{display:grid;gap:1rem}
.movel__form>label,.movel__duas label{display:flex;flex-direction:column;gap:.35rem;font-weight:700;font-size:.95rem}
.movel__form input:not([type=radio]):not([type=checkbox]),.movel__form textarea{font-size:1.05rem;padding:.7rem .8rem}
.movel__duas{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.movel__cats{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.movel__cats legend{font-weight:700;margin-bottom:.5rem;font-size:.95rem}
.movel__cats input{position:absolute;opacity:0;pointer-events:none}
.movel__cats span{display:inline-block;padding:.5rem .85rem;border:1px solid var(--borda);border-radius:999px;cursor:pointer;font-size:.92rem;background:#fff}
.movel__cats input:checked+span{background:var(--azul);color:#fff;border-color:var(--azul)}
.movel__cats input:focus-visible+span{outline:2px solid var(--amb);outline-offset:2px}
.movel__form .check{flex-direction:row;font-weight:400;font-size:.88rem;gap:.55rem;align-items:flex-start}
.movel__enviar{font-size:1.1rem;padding:.9rem;justify-content:center}
.movel__ok h2{font-family:var(--display);font-weight:900;font-size:1.4rem}
.movel__ok p{margin:.6rem 0}
.movel-qr{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start}
.movel-qr__geral{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1.2rem;align-items:center}
.movel-qr__img svg{width:180px;height:180px}
@media (max-width:560px){.movel-qr__geral{grid-template-columns:1fr}.movel-qr__img{justify-self:center}}
.barra-h{display:block;height:10px;border-radius:999px;background:var(--azul-claro,#1D5A9A);min-width:2px}
.barra-h.calor{background:linear-gradient(90deg,#F59B0B,#E5484D)}
.demanda-fotos{display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}
.demanda-fotos img{width:150px;height:150px;object-fit:cover;border-radius:8px;border:1px solid var(--borda)}
#mapa-calor:empty::after{content:'Os pedidos com bairro ou localização aparecem aqui no mapa.';display:flex;height:100%;align-items:center;justify-content:center;color:var(--cinza);background:var(--nevoa)}
.movel-curto{font-family:var(--display);font-weight:900;font-size:clamp(1.3rem,3vw,1.8rem);color:var(--azul);margin:.3rem 0 .5rem;word-break:break-all}
.movel-curto__editar{margin-bottom:.8rem;font-size:.88rem}
.movel-curto__editar summary{cursor:pointer;color:var(--azul)}
.movel-curto__editar form{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.movel-curto__editar input{width:12rem}
.movel-registrar{margin-top:1rem}
.movel-registrar summary{cursor:pointer;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;list-style:none}
.movel-registrar summary::-webkit-details-marker{display:none}
.movel__duas select{font-size:1rem;padding:.6rem .7rem;width:100%}
/* Gabinete Móvel: endereço que não existe */
.achado-nao{text-align:center;justify-items:center;padding-top:2rem}
.achado-nao h1{font-family:var(--display);font-weight:900;font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.08;max-width:22ch;margin:.3rem auto .6rem}
.achado-nao__mapa{position:relative;width:120px;height:120px;margin:0 auto .4rem}
.achado-nao__pino{position:absolute;left:50%;top:18px;width:46px;height:46px;margin-left:-23px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--amb);box-shadow:inset 0 0 0 12px var(--amb),inset 0 0 0 23px #fff;animation:achado-pula 2.4s ease-in-out infinite;z-index:2}
.achado-nao__onda{position:absolute;left:50%;bottom:18px;width:70px;height:20px;margin-left:-35px;border-radius:50%;border:2px solid var(--azul);opacity:0;animation:achado-onda 2.4s ease-out infinite}
.achado-nao__onda--2{animation-delay:1.2s}
@keyframes achado-pula{0%,100%{transform:rotate(-45deg) translate(0,0)}50%{transform:rotate(-45deg) translate(9px,-9px)}}
@keyframes achado-onda{0%{transform:scale(.4);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.achado-nao__pino,.achado-nao__onda{animation:none}}
.achado-nao__digitado{font-family:var(--display);font-weight:800;font-size:1.15rem;color:var(--cinza);word-break:break-all}
.achado-nao__digitado s{color:#C2272D;text-decoration-thickness:2px}
.achado-nao__sug{display:grid;gap:.6rem;width:100%;max-width:460px}
.achado-nao__opcao{display:flex;flex-direction:column;gap:.15rem;padding:1rem 1.1rem;border-radius:12px;background:#fff;border:2px solid var(--borda);text-decoration:none;color:var(--azul);text-align:left;transition:border-color var(--t,.18s),transform var(--t,.18s)}
.achado-nao__opcao:hover{border-color:var(--amb);transform:translateY(-2px)}
.achado-nao__opcao span{font-family:var(--display);font-weight:800;color:var(--amb-esc);word-break:break-all}
.achado-nao__form{width:100%;max-width:460px;display:grid;gap:.4rem;margin-top:1rem;text-align:left}
.achado-nao__form label{font-weight:700;font-size:.9rem}
.achado-nao__campo{display:flex;align-items:center;gap:.4rem;background:#fff;border:2px solid var(--borda);border-radius:12px;padding:.35rem .35rem .35rem .8rem;min-width:0}
.achado-nao__campo:focus-within{border-color:var(--azul)}
.achado-nao__campo span{color:var(--cinza);font-size:.9rem;white-space:nowrap}
.achado-nao__campo input{border:0;outline:0;flex:1;min-width:0;font-size:1.05rem;font-weight:700;padding:.4rem 0;background:transparent}
/* Pedido por áudio */
.gravador{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;padding:1rem;border-radius:14px;background:var(--nevoa);margin-top:1rem}
.gravador__botao{width:76px;height:76px;border-radius:50%;border:0;background:#C2272D;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px rgb(194 39 45/.35);transition:transform .15s}
.gravador__botao:hover{transform:scale(1.05)}
.gravador__icone{width:22px;height:34px;border-radius:12px;background:#fff;position:relative}
.gravador__icone::after{content:'';position:absolute;left:50%;bottom:-12px;width:30px;height:16px;margin-left:-15px;border:3px solid #fff;border-top:0;border-radius:0 0 16px 16px}
.gravador.gravando .gravador__botao{animation:grav-pulso 1.2s infinite}
.gravador.gravando .gravador__icone{width:26px;height:26px;border-radius:5px}
.gravador.gravando .gravador__icone::after{display:none}
.gravador.enviando .gravador__botao{background:var(--cinza);animation:none;opacity:.7}
@keyframes grav-pulso{0%{box-shadow:0 0 0 0 rgb(194 39 45/.55)}70%{box-shadow:0 0 0 18px rgb(194 39 45/0)}100%{box-shadow:0 0 0 0 rgb(194 39 45/0)}}
.gravador__texto{display:grid;gap:.3rem;min-width:0}
.gravador__texto b{font-family:var(--display);font-size:1.15rem}
.gravador__texto span{font-size:.88rem;color:var(--cinza)}
.gravador__origem{display:flex;gap:.4rem;align-items:center;font-size:.85rem;font-weight:600}
.gravador__origem select{width:auto;padding:.3rem .5rem}
.conferir{margin-bottom:1.2rem;border:2px solid var(--amb);display:grid;gap:.9rem}
.conferir__cab h2{font-family:var(--display);font-weight:900;font-size:1.4rem;margin:.2rem 0}
.conferir audio{width:100%}
.conferir__marcas{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.conferir__marca{display:grid;gap:.15rem;text-align:left;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--borda);background:#fff;cursor:pointer;font:inherit}
.conferir__marca small{color:var(--amb-esc);font-weight:700;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}
.conferir__marca b{font-size:.95rem;word-break:break-word}
.conferir__marca:hover,.conferir__marca.ativa{border-color:var(--azul);box-shadow:0 0 0 2px var(--azul) inset}
.conferir__marca.sem{opacity:.55;cursor:default}
.conferir__texto summary{cursor:pointer;color:var(--azul);font-size:.9rem}
.conferir__texto p{margin-top:.4rem;color:var(--cinza);font-size:.92rem}

/* ---- briefing do dia (Visão geral, Alertas) */
.briefing{list-style:none;margin:0;padding:0}
.briefing__item+.briefing__item{border-top:1px solid var(--borda)}
.briefing__item a{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;row-gap:.1rem;padding:.8rem 1.2rem;text-decoration:none;color:inherit;border-left:4px solid var(--cinza-claro)}
.briefing__item a:hover{background:var(--nevoa)}
.briefing__nivel{grid-row:span 2;align-self:start;font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;background:var(--nevoa);color:var(--cinza);white-space:nowrap;min-width:6.4rem;text-align:center}
.briefing__item b{font-size:.98rem;color:var(--azul);min-width:0}
.briefing__item small{color:var(--cinza);font-size:.86rem;min-width:0}
.briefing__item--urgente a{border-left-color:#9B1C1C}.briefing__item--urgente .briefing__nivel{background:#FDECEC;color:#9B1C1C}
.briefing__item--atencao a{border-left-color:var(--amb)}.briefing__item--atencao .briefing__nivel{background:var(--amb-fundo);color:var(--amb-esc)}
.briefing__item--oportunidade a{border-left-color:var(--azul-claro)}.briefing__item--oportunidade .briefing__nivel{background:#E6EEF8;color:var(--azul-2)}
.briefing__item--bom a{border-left-color:var(--ok)}.briefing__item--bom .briefing__nivel{background:var(--ok-fundo);color:var(--ok)}
@media (max-width:560px){.briefing__item a{grid-template-columns:1fr}.briefing__nivel{grid-row:auto;justify-self:start;min-width:0}}

/* ---- plano de ação por bairro (Meta) */
.planos{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.plano-b{background:var(--papel);border:1px solid var(--borda);border-radius:var(--raio);padding:1rem 1.1rem;display:grid;gap:.7rem;align-content:start;scroll-margin-top:5rem}
.plano-b--sem{border-style:dashed}
.plano-b--vencido{border-color:#9B1C1C;box-shadow:0 0 0 1px #9B1C1C inset}
.plano-b__cab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:start}
.plano-b__cab h3{font-family:var(--display);font-weight:900;font-size:1.15rem}
.plano-b__cab small{color:var(--cinza);font-size:.82rem}
.plano-b__n{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--azul);color:#fff;font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums}
.plano-b__dados{display:grid;gap:.35rem;margin:0}
.plano-b__dados div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.5rem;font-size:.9rem}
.plano-b__dados dt{color:var(--cinza)}.plano-b__dados dd{margin:0}.plano-b__dados dd.ruim{color:#9B1C1C;font-weight:700}
.plano-b__estr{font-size:.92rem;background:var(--nevoa);border-radius:var(--raio-p);padding:.6rem .75rem;margin:0}
.plano-b__form summary{cursor:pointer;color:var(--azul);font-weight:600;font-size:.92rem}
.plano-b__form form{display:grid;gap:.7rem;margin-top:.7rem}
.plano-b__form label{display:grid;gap:.25rem;font-size:.85rem;font-weight:600}
.plano-b__linha{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.plano-b .mais{color:var(--ok)}

/* ---- demanda atendida vira comunicação */
.comunicar{margin-bottom:1.2rem;border:2px solid var(--ok);display:grid;gap:1rem;scroll-margin-top:5rem}
.comunicar__cab h2{font-family:var(--display);font-weight:900;font-size:1.4rem;margin:.2rem 0}
.comunicar__grade{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.comunicar__bloco{display:grid;gap:.6rem;align-content:start;min-width:0}
.comunicar__tit{display:flex;gap:.5rem;align-items:center;justify-content:space-between}
.comunicar__bloco textarea{width:100%;font:inherit;font-size:.9rem;line-height:1.45;padding:.6rem .7rem;border:1px solid var(--borda);border-radius:var(--raio-p);resize:vertical}
.comunicar__lista td{padding:.45rem .6rem}
.comunicar__lista a{font-weight:700;color:var(--ok);text-decoration:none}
.comunicar__lista tr.enviado td{color:var(--cinza)}.comunicar__lista tr.enviado a{color:var(--cinza)}

/* ---- Conselheiro (chat com IA) */
.chat-abre{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;gap:.45rem;align-items:center;padding:.75rem 1.1rem;border:0;border-radius:999px;background:var(--grad-azul);color:#fff;font:inherit;font-weight:700;box-shadow:var(--sombra);cursor:pointer}
.chat-abre span{color:var(--amb-claro)}
.chat-abre:hover{filter:brightness(1.12)}
.chat{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:61;width:min(460px,100vw - 2rem);height:min(680px,100dvh - 2rem);background:var(--papel);border:1px solid var(--borda);border-radius:12px;box-shadow:0 20px 60px -20px rgb(6 43 80/.45);flex-direction:column;overflow:hidden}
.chat:not([hidden]){display:flex}
.chat__cab{display:flex;gap:.6rem;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--grad-azul);color:#fff}
.chat__cab b{font-family:var(--display);font-size:1.1rem;display:block}
.chat__cab small{color:var(--cinza-claro);font-size:.75rem}
.chat__fecha{border:0;background:transparent;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;padding:.2rem .4rem}
.chat__msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem;background:var(--nevoa)}
.chat__boas p{color:var(--cinza);font-size:.92rem;margin:0 0 .7rem}
.chat__sug{display:flex;flex-wrap:wrap;gap:.4rem}
.chat__sug button{font:inherit;font-size:.82rem;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--borda);background:#fff;color:var(--azul);cursor:pointer;text-align:left}
.chat__sug button:hover{border-color:var(--azul)}
.chat__msg{max-width:100%;min-width:0;font-size:.92rem;line-height:1.5}
.chat__msg--eu{align-self:flex-end;max-width:85%;background:var(--azul);color:#fff;padding:.55rem .8rem;border-radius:12px 12px 2px 12px}
.chat__msg--ia{align-self:stretch;background:#fff;border:1px solid var(--borda);padding:.75rem .9rem;border-radius:2px 12px 12px 12px}
.chat__msg--espera{color:var(--cinza);display:flex;align-items:center;gap:.4rem}
.chat__pontos{display:inline-flex;gap:3px}.chat__pontos i{width:6px;height:6px;border-radius:50%;background:var(--amb);animation:chat-ponto 1s infinite ease-in-out}
.chat__pontos i:nth-child(2){animation-delay:.15s}.chat__pontos i:nth-child(3){animation-delay:.3s}
@keyframes chat-ponto{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.chat__texto p{margin:0 0 .55rem}.chat__texto ul{margin:0 0 .55rem;padding-left:1.1rem}.chat__texto li{margin:.15rem 0}
.chat__bloco{margin-top:.7rem;border-top:1px solid var(--borda);padding-top:.6rem;min-width:0}
.chat__bloco-cab{display:flex;gap:.6rem;justify-content:space-between;align-items:baseline;font-size:.85rem;margin-bottom:.4rem}
.chat__bloco-cab a{color:var(--azul);white-space:nowrap;font-weight:600}
.chat__tab{overflow-x:auto}
.chat__tab table{font-size:.82rem}.chat__tab td,.chat__tab th{padding:.35rem .5rem}
.chat__tab td a{color:var(--azul);font-weight:600}
.chat__erro{color:#9B1C1C;margin:0}
.chat__tempo{display:block;margin-top:.4rem;color:var(--cinza-claro);font-size:.72rem;text-align:right}
.chat__form{display:flex;gap:.5rem;align-items:flex-end;padding:.7rem;border-top:1px solid var(--borda);background:var(--papel)}
.chat__form textarea{flex:1;min-width:0;font:inherit;font-size:.92rem;padding:.55rem .7rem;border:1px solid var(--borda);border-radius:var(--raio-p);resize:none}
@media (max-width:560px){.chat{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0}}
@media print{.chat,.chat-abre{display:none!important}}
