:root{--navy:#0A1F3A;--navy2:#2E3F5C;--ouro:#C8A14B;--cinza:#F4F6F8;--borda:#E3E7EE;--texto:#333;--suave:#6B7686;--fundo:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--texto);background:var(--cinza);font-size:14px}
.topo{background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:3px solid var(--ouro)}
.marca{display:flex;gap:14px;align-items:center}
.logo{font-weight:800;letter-spacing:2px;border:2px solid var(--ouro);color:var(--ouro);padding:6px 10px;border-radius:6px;font-size:13px}
.topo h1{margin:0;font-size:20px}.topo p{margin:2px 0 0;opacity:.75;font-size:12px}
.zap{background:var(--ouro);color:var(--navy);text-decoration:none;font-weight:700;padding:9px 14px;border-radius:8px;font-size:13px;white-space:nowrap}
.filtros{background:#fff;border-bottom:1px solid var(--borda);padding:14px 24px;position:relative;z-index:1100;box-shadow:0 2px 8px rgba(10,31,58,.05)}
.abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.abas button{border:1px solid var(--borda);background:#fff;color:var(--navy2);padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer;font:inherit;font-weight:600}
.abas button small{opacity:.6;font-weight:500;margin-left:4px}
.abas button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.linha{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.campo{display:flex;flex-direction:column;gap:4px;min-width:140px}.campo.largo{flex:1;min-width:200px}
.campo label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--suave);font-weight:600}
select,input{font:inherit;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;background:#fff;color:var(--texto)}
.chips{display:flex;gap:4px}.chips button{border:1px solid var(--borda);background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600;color:var(--navy2)}
.chips button.on{background:var(--ouro);border-color:var(--ouro);color:var(--navy)}
.limpar{border:0;background:none;color:var(--navy2);text-decoration:underline;cursor:pointer;font:inherit;padding:8px}
main{padding:20px 24px;max-width:1500px;margin:0 auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:14px 16px;border-top:3px solid var(--navy)}
.kpi.ouro{border-top-color:var(--ouro)}
.kpi span{display:block;font-size:11px;text-transform:uppercase;color:var(--suave);font-weight:600;letter-spacing:.4px}
.kpi b{display:block;font-size:24px;color:var(--navy);margin-top:4px}.kpi small{color:var(--suave)}
.grade{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:16px}
.card{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:16px;min-width:0;margin-bottom:16px}.grade .card{margin-bottom:0}
.card-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.card h2{margin:0;font-size:15px;color:var(--navy)}.card-cab small{color:var(--suave)}
#mapa{height:520px;border-radius:10px;background:#eef1f5}
.mapa-vazio{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--suave);padding:30px;height:100%}
.seg{display:flex;border:1px solid var(--borda);border-radius:8px;overflow:hidden}.seg button{border:0;background:#fff;padding:6px 10px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--navy2)}
.seg button.on{background:var(--navy);color:#fff}
.legenda{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--suave)}
.legenda i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.legenda .grad{display:inline-block;width:160px;height:10px;border-radius:5px;vertical-align:middle;margin:0 6px}
.tabela-wrap{max-height:540px;overflow:auto}.tabela-wrap.alto{max-height:620px}
.tabela{width:100%;border-collapse:collapse;font-size:13px}
.tabela th{position:sticky;top:0;background:var(--navy);color:#fff;text-align:left;padding:8px;font-weight:600;font-size:12px;cursor:pointer;white-space:nowrap}
.tabela td{padding:7px 8px;border-bottom:1px solid var(--borda);vertical-align:middle}
.tabela tr:nth-child(even) td{background:#FAFBFC}
.tabela tbody tr{cursor:pointer}.tabela tbody tr:hover td{background:#FFF8E8}
.tabela tr.sel td{background:#FCF1D6!important}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pos{color:var(--suave);width:34px}
.nome b{color:var(--navy)}.nome small{display:block;color:var(--suave)}
.barra{height:6px;background:var(--cinza);border-radius:3px;margin-top:4px;overflow:hidden}.barra i{display:block;height:100%;border-radius:3px}
.st{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;white-space:nowrap}
.st.eleito{background:var(--navy);color:#fff}.st.suplente{background:#FCF1D6;color:#7A5A12}.st.nao{background:var(--cinza);color:var(--suave)}
.part-linha{display:grid;grid-template-columns:90px 1fr 80px;gap:10px;align-items:center;padding:5px 0;font-size:13px}
.part-linha .b{height:16px;background:var(--cinza);border-radius:4px;overflow:hidden}.part-linha .b i{display:block;height:100%}
.zona-bloco{margin-bottom:14px}.zona-bloco h3{font-size:13px;margin:0 0 6px;color:var(--navy)}
#perfil{border-left:4px solid var(--ouro)}
.perfil-topo{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
.perfil-topo h2{font-size:20px;margin:0}.perfil-topo p{margin:4px 0 0;color:var(--suave)}
.perfil-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
.perfil-grade h3{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--suave);margin:0 0 8px}
.mini{width:100%;font-size:12.5px;border-collapse:collapse}.mini td{padding:4px 0;border-bottom:1px dashed var(--borda)}
.fechar{border:1px solid var(--borda);background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;font:inherit}
.leaflet-popup-content{font-family:Inter,sans-serif;font-size:12.5px;min-width:220px}
.pop h4{margin:0 0 2px;color:var(--navy);font-size:13px}.pop p{margin:0 0 6px;color:var(--suave)}.pop table{width:100%}.pop td{padding:2px 0}
footer{text-align:center;color:var(--suave);font-size:12px;padding:20px 24px 30px}footer a{color:var(--navy2)}
.carregando{position:fixed;inset:0;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--navy);z-index:2000}
@media(max-width:1000px){.grade,.perfil-grade{grid-template-columns:1fr}#mapa{height:400px}}
@media(max-width:600px){.topo,.filtros,main{padding-left:16px;padding-right:16px}.zap{display:none}.campo{min-width:calc(50% - 6px)}.campo.largo{min-width:100%}}

@media(min-width:1001px){.filtros{position:sticky;top:0}}

.topo p a{color:var(--ouro);text-decoration:none;font-weight:600}
a.logo{text-decoration:none}
.sobre h2{font-size:17px;margin-bottom:8px}.sobre>p{line-height:1.6;margin:0 0 12px;color:#444}
.faq details{border-top:1px solid var(--borda);padding:10px 0}.faq summary{cursor:pointer;font-weight:600;color:var(--navy)}
.faq details p{margin:8px 0 0;line-height:1.55;color:#444}
.autor{padding:0 24px;max-width:1500px;margin:0 auto 8px}
.autor-card{display:flex;gap:20px;align-items:center;background:var(--navy);color:#fff;border-radius:14px;padding:22px;border-bottom:3px solid var(--ouro)}
.autor-card img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--ouro);flex-shrink:0}
.autor-card small{color:var(--ouro);font-weight:700;letter-spacing:1.5px;font-size:11px}
.autor-card h3{margin:4px 0 6px;font-size:18px}.autor-card p{margin:0 0 14px;opacity:.85;line-height:1.5;max-width:720px}
.autor-botoes{display:flex;gap:10px;flex-wrap:wrap}
.btn-ouro{background:var(--ouro);color:var(--navy);font-weight:700;text-decoration:none;padding:10px 16px;border-radius:8px}
.btn-linha{border:1.5px solid rgba(255,255,255,.5);color:#fff;font-weight:600;text-decoration:none;padding:9px 16px;border-radius:8px}
@media(max-width:600px){.autor{padding:0 16px}.autor-card{flex-direction:column;text-align:center}.autor-botoes{justify-content:center}}
