/* Área Eleições do Sistema PB. O esqueleto (barra lateral, topo, cartões, tabelas) vem do padrão do Sistema PB;
   aqui só o que é desta página. Cores de partido: exceção à regra verde/vermelho, decidida em 07/10/2026. */
.kval{font-size:1.15rem;white-space:nowrap}
.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.kpis>*,.linha2>*,.linha3>*{min-width:0}
.kcard .eleito{font-size:.86rem;font-weight:700;color:var(--txt);margin-top:.3rem;line-height:1.35}
.kcard .eleito span{display:block;font-size:.72rem;font-weight:500;color:var(--txt2)}
.linha2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1rem;margin-top:1rem}
.linha3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-top:1rem}
.box-tit{font-size:.95rem;font-weight:700;color:var(--txt);line-height:1.35}
.box-sub{font-size:.74rem;color:var(--txt2);margin:.2rem 0 .8rem;line-height:1.5}
.campo{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.campo .fsel,.campo .finp{max-width:none;width:100%;min-width:0}
.nota{font-size:.72rem;color:var(--txt2);line-height:1.5;margin-top:.6rem}

/* ── mapa ── */
.mapa-box{margin-top:1rem;padding:1rem}
.mapa-ctrl{display:flex;flex-direction:column;gap:.7rem}
.mapa-ctrl-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem .9rem;align-items:end}
.seg{display:flex;flex-wrap:wrap;gap:.35rem}
.seg button{border:1px solid var(--border);background:var(--white);color:var(--txt);border-radius:999px;padding:.4rem .9rem;
  font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit}
.seg button:hover{border-color:var(--hdr);color:var(--hdr2);background:#f5f9fb}
.seg button.active{background:var(--hdr);border-color:var(--hdr);color:#fff}
.mapa-titulo{margin:.9rem 0 .2rem;font-size:1.02rem;color:var(--txt);line-height:1.35}
.mapa-titulo span{display:block;font-size:.76rem;color:var(--txt2);font-weight:400;margin-top:.15rem}
.legenda{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;font-size:.74rem;color:var(--txt);
  padding:.55rem .7rem;background:var(--cream);border:1px solid var(--border2);border-radius:9px;margin:.5rem 0 .7rem}
.legenda .item{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}
.legenda>.item{max-width:100%}
.legenda .cx{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.12);flex:none}
.legenda .exp{flex-basis:100%;color:var(--txt2);font-size:.72rem}
.legenda .escala{display:flex;align-items:center;gap:0}
.legenda .escala .cx{border-radius:0;width:34px}
.legenda .escala-rot{display:flex;justify-content:space-between;font-size:.68rem;color:var(--txt2)}
.mapa-area{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;align-items:stretch}
#mapa{height:470px;border-radius:12px;background:#e8eff3;border:1px solid var(--border2);z-index:1}
.leaflet-container{font-family:inherit}
.fundo-ruas{filter:grayscale(1) brightness(1.08) contrast(.9);opacity:.75}
.leaflet-tooltip.tt{background:#102f43;color:#fff;border:0;border-radius:9px;padding:.45rem .6rem;font-size:.76rem;
  box-shadow:0 6px 18px rgba(0,0,0,.25);line-height:1.4}
.leaflet-tooltip.tt:before{display:none}
.tt b{font-size:.82rem}
.painel-mun{background:var(--white);border:1px solid var(--border2);border-radius:12px;padding:1rem;overflow:auto;max-height:470px}
.painel-mun h3{font-size:1.05rem;color:var(--txt)}
.painel-mun .sub{font-size:.74rem;color:var(--txt2);margin:.15rem 0 .7rem}
.pm-grade{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.8rem}
.pm-grade div{background:var(--cream);border:1px solid var(--border2);border-radius:8px;padding:.4rem .55rem}
.pm-grade span{display:block;font-size:.64rem;color:var(--txt2);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.pm-grade b{font-size:.92rem;color:var(--txt)}
.pm-grade small{display:block;font-size:.68rem;color:var(--txt2)}
.pm-acoes{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.pm-tit{font-size:.78rem;font-weight:700;color:var(--txt);margin:.8rem 0 .35rem}

/* barras (ranking, resultados): valor em pílula, sem eixo numérico */
.hb{margin:.42rem 0}
.hb-lbl{display:flex;justify-content:space-between;gap:.5rem;font-size:.76rem;color:var(--txt);margin-bottom:.15rem}
.hb-lbl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-lbl em{font-style:normal;color:var(--txt2);font-size:.7rem;white-space:nowrap}
.hb-linha{display:flex;align-items:center;gap:.5rem}
.hb-trilho{flex:1;height:14px;background:#eef4f7;border-radius:5px;overflow:hidden;position:relative}
.hb-barra{height:100%;border-radius:5px}
.hb-media{position:absolute;top:-2px;bottom:-2px;width:2px;background:#102f43}
.hb-val{background:#102f43;color:#fff;font-size:12px;font-weight:700;border-radius:10px;padding:.08rem .5rem;white-space:nowrap}
.hb.sel .hb-lbl{font-weight:700}

/* barras empilhadas 100% (região, porte, bairros) */
.pilha{margin:.5rem 0}
.pilha-lbl{display:flex;justify-content:space-between;font-size:.76rem;color:var(--txt);margin-bottom:.18rem;gap:.5rem}
.pilha-lbl em{font-style:normal;color:var(--txt2);font-size:.7rem;white-space:nowrap}
.pilha-barra{display:flex;height:22px;border-radius:6px;overflow:hidden;background:#eef4f7}
.pilha-barra div{height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;
  white-space:nowrap;overflow:hidden;min-width:0}
.leg-linha{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.74rem;color:var(--txt);margin-bottom:.6rem}
.leg-linha span{display:inline-flex;align-items:center;gap:.35rem}
.leg-linha i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* abas internas */
.abas{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.4rem 0 .2rem;border-bottom:2px solid var(--border2);padding-bottom:.5rem}
.aba{border:1px solid var(--border);background:var(--white);color:var(--txt);border-radius:9px;padding:.5rem .9rem;
  font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit}
.aba:hover{border-color:var(--hdr);color:var(--hdr2);background:#f5f9fb}
.aba.active{background:var(--sb);border-color:var(--sb);color:#fff}
.aba-pag{display:none}.aba-pag.active{display:block}

.cand-cor{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.35rem;vertical-align:middle}
.sit{display:inline-block;font-size:.7rem;font-weight:700;padding:.14rem .5rem;border-radius:6px;white-space:nowrap}
.sit-eleito{background:#1f5f8b;color:#fff}.sit-media{background:#5a9cc9;color:#fff}
.sit-suplente{background:#e3f0f8;color:#155f96}.sit-nao{background:#eef2f4;color:#65737c}
.tbl td.txt{min-width:200px;white-space:normal}
.tbl td.curto{white-space:nowrap}
.tbl th[data-col]{cursor:pointer}
.tbl th[data-col]:hover{background:#dbe8ef;color:var(--txt)}
.qe{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;margin:.4rem 0 .2rem}
.qe div{background:var(--cream);border:1px solid var(--border2);border-radius:9px;padding:.6rem .75rem}
.qe b{display:block;font-size:1.1rem;color:var(--txt)}
.qe span{font-size:.72rem;color:var(--txt2)}
.grafico{position:relative;height:320px}
.metodologia{margin-top:1.6rem;font-size:.78rem;color:var(--txt2);line-height:1.6}
.metodologia h3{font-size:.9rem;color:var(--txt);margin-bottom:.4rem}
.metodologia li{margin:.25rem 0 .25rem 1.1rem}
.dica{position:fixed;z-index:2000;pointer-events:none;background:#102f43;color:#fff;font-size:.75rem;line-height:1.45;
  padding:.45rem .6rem;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.25);max-width:320px;display:none}
.vazio-inline{color:var(--txt3)}
.fsel:disabled,.finp:disabled{opacity:.6;cursor:not-allowed}
.carregando{padding:1rem;color:var(--txt2);font-size:.8rem}

@media(max-width:1100px){.mapa-area{grid-template-columns:1fr}.painel-mun{max-height:none}}
@media(max-width:768px){
  #mapa{height:62vh;min-height:360px}
  .linha2,.linha3{grid-template-columns:1fr}
  .seg button{padding:.35rem .7rem;font-size:.76rem}
  .pm-grade{grid-template-columns:1fr 1fr}
}
