:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:#e8eef8;background:#0b1220;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #f4cf53;outline-offset:3px}.container{max-width:1240px;width:calc(100% - 48px);margin:0 auto}.skip{position:absolute;top:-70px;left:12px;background:#f2d15b;color:#101827;z-index:1000;padding:9px 14px}.skip:focus{top:12px}.site-header{background:#0f192b;border-bottom:1px solid #25324a;position:sticky;top:0;z-index:20;box-shadow:0 4px 30px #0001}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:16px;letter-spacing:.3px;text-decoration:none;line-height:1.03;white-space:nowrap}.brand-icon{border-radius:12px;background:linear-gradient(145deg,#138968,#186c93);color:#f9d34c;font-size:27px;width:42px;height:42px;display:grid;place-items:center;box-shadow:0 0 0 1px #62c9b52c}.brand-secondary{color:#f8d15d;margin-left:4px}.brand small{display:block;font-size:9px;color:#92a5bd;font-weight:650;margin-top:5px;letter-spacing:2.15px}.primary-nav{display:flex;align-items:center;gap:6px}.nav-item{background:transparent;border:0;color:#a6b6cc;border-radius:10px;padding:12px 17px;font-size:13px;font-weight:720;display:flex;align-items:center;gap:10px;transition:.2s}.nav-item:hover{background:#1e2d43;color:#fff}.nav-item.active{background:#1e3446;color:#f0f6fa;box-shadow:inset 0 0 0 1px #31606a}.nav-symbol{font-size:18px;color:#3ec8ac;line-height:1}.header-source{font-size:12px;font-weight:750;color:#bbcfda;text-decoration:none;border:1px solid #334459;border-radius:9px;padding:11px 13px;white-space:nowrap}.header-source:hover{border-color:#4fcdb7;color:#fff}.hero{margin:28px 0 16px;min-height:292px;background:radial-gradient(circle at 81% 49%,#145b587a,transparent 38%),linear-gradient(114deg,#10253b,#112235 60%,#123a3c);border:1px solid #204d53;border-radius:20px;padding:39px 48px;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center}.hero-content{z-index:1;max-width:720px}.eyebrow,.section-kicker{font-size:11px;color:#53d6b8;letter-spacing:1.75px;font-weight:820}.tiny-dot{display:inline-block;border-radius:100%;width:7px;height:7px;background:#32cfa6;margin-right:7px;vertical-align:middle}.eyebrow-separator{color:#5c8e99;padding:0 5px}.hero h1{font-size:clamp(34px,4.35vw,59px);letter-spacing:-2.1px;line-height:1.08;margin:18px 0 13px;font-weight:870}.hero h1 span{color:#f9d35e}.hero p{max-width:615px;font-size:15px;line-height:1.7;color:#b8cbd9;margin:0}.hero-benefits{display:flex;flex-wrap:wrap;gap:12px 19px;color:#95decf;font-size:11px;font-weight:650;margin-top:25px}.hero-deco{width:230px;min-width:230px;height:230px;margin-right:13px;display:grid;place-items:center;position:relative}.deco-ring{width:206px;height:206px;border-radius:50%;border:1px solid #3ca59380;box-shadow:0 0 0 23px #38ba9a0a,0 0 0 49px #38ba9a09,0 0 80px #35bb9a14}.deco-center{position:absolute;color:#d5f8ed;font-size:76px;font-weight:900;letter-spacing:-10px;text-shadow:0 0 30px #b9ffee15}.deco-center span{font-size:14px;display:block;letter-spacing:7px;color:#f7d154;text-align:center;margin-left:12px}.deco-line{position:absolute;height:1px;background:#4be0ba44;width:300px;transform:rotate(55deg)}.line-two{transform:rotate(-55deg)}.context-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#17253a;border:1px solid #273e52;border-radius:12px;padding:14px 19px;color:#aebfd2;font-size:12px;margin-bottom:43px}.context-text{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.context-text strong{color:#dae9f2}.context-icon{font-size:19px;color:#f7d35d}.context-bar>a{text-decoration:none;color:#65d7c1;font-weight:740;white-space:nowrap}.context-bar>a:hover{text-decoration:underline}.tabpanel{padding-bottom:65px}.hidden{display:none!important}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:21px}.section-title h2{font-size:29px;letter-spacing:-.7px;line-height:1.2;margin:5px 0 6px}.section-title p{font-size:13px;margin:0;color:#8fa3bb}.outline-badge{color:#7bdacb;background:#12302d;border:1px solid #235b56;font-weight:750;font-size:12px;border-radius:100px;padding:7px 14px;white-space:nowrap}.filter-panel{background:#131f31;border:1px solid #2b3850;border-radius:15px;padding:22px 24px;margin-bottom:35px}.filter-header{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #263750;margin-bottom:18px;padding-bottom:15px}.filter-header strong{font-size:14px}.filter-header span{font-size:11px;color:#8096b1}.filter-grid{display:grid;grid-template-columns:.68fr .95fr 1.25fr 1fr auto;gap:12px;align-items:end}.filter-grid label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:760;color:#adbed2}.filter-grid select,.filter-grid input{height:45px;background:#0e1929;color:#e7f0f8;border:1px solid #35455c;border-radius:9px;padding:0 12px;font-size:13px;width:100%;min-width:0}.filter-grid select:disabled{color:#71859d}.primary-btn{background:#13a781;border:none;color:#061a20;font-weight:850;font-size:13px;padding:0 17px;height:45px;border-radius:9px;white-space:nowrap;transition:background .15s}.primary-btn:hover{background:#4fdfb8}.filter-note{color:#8195af;margin:11px 0 0;font-size:11px}.results-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.result-eyebrow{color:#70d9c5;letter-spacing:1.4px;font-size:10px;font-weight:820}.results-header h3{font-size:19px;margin:5px 0 2px}.results-header p{font-size:12px;margin:0;color:#8498b2}.status-badge{font-size:11px;font-weight:800;padding:8px 12px;border-radius:50px;border:1px solid #38536b;white-space:nowrap}.status-badge.neutral{color:#b9c9d8;background:#17263c}.status-badge.loading{color:#f1d878;background:#4f412322;border-color:#76632b}.status-badge.success{color:#7de8bc;background:#103c32;border-color:#1d7a5c}.status-badge.warning{color:#ffd68c;background:#3a2c1b;border-color:#705130}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.kpi{background:#131f30;border:1px solid #273a50;border-radius:14px;padding:21px 20px;min-height:154px}.kpi-label{color:#8ca4bf;display:block;font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}.kpi strong{display:block;font-size:29px;letter-spacing:-.8px;margin:9px 0 5px;font-variant-numeric:tabular-nums;line-height:1.3}.kpi-description{color:#6f8aa5;font-size:11px}.kpi-track{height:5px;background:#273e55;border-radius:5px;margin-top:14px;overflow:hidden}.kpi-fill{width:0;height:100%;background:linear-gradient(90deg,#17b987,#f5d362);transition:width .3s}.data-layout{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(275px,.8fr);gap:18px;align-items:start}.data-main,.data-aside .aside-card,.candidates-panel-head,#cand-content,.source-tabs,#source-content{background:#131e2e;border:1px solid #27384e;border-radius:15px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #26364d;padding:20px 21px}.panel-head h3{font-size:16px;margin:0 0 3px}.panel-head p{font-size:11px;color:#8197af;margin:0}.secondary-btn{border:1px solid #38516a;background:#18293c;color:#dce9f5;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:800;white-space:nowrap}.secondary-btn:hover:not(:disabled){background:#254158}.data-body{min-height:205px;padding:6px 20px 20px}.empty-state{display:flex;align-items:center;flex-direction:column;text-align:center;justify-content:center;padding:46px 15px;min-height:205px;color:#a9bdd0}.empty-state strong{font-size:15px;color:#dbe7f1;margin-bottom:4px}.empty-state p{max-width:390px;margin:2px 0 0;font-size:12px;line-height:1.65}.empty-icon{font-size:35px;color:#42cbaa;margin-bottom:14px;border-radius:14px;border:1px solid #215947;padding:8px 14px;background:#13322f}.candidate-row{padding:18px 0;border-bottom:1px solid #28364a}.candidate-row:last-child{border:0}.candidate-head{display:flex;gap:13px;align-items:center;justify-content:space-between}.candidate-id{display:flex;gap:12px;align-items:center;min-width:0}.candidate-avatar{height:40px;width:40px;flex-shrink:0;display:grid;place-items:center;background:#1e3448;border:1px solid #34516a;border-radius:12px;color:#80d8c4;font-weight:800;font-size:13px}.candidate-name{font-size:13px;font-weight:820;overflow-wrap:anywhere}.candidate-meta{font-size:11px;color:#8095ad;margin-top:3px}.candidate-metric{text-align:right;white-space:nowrap}.candidate-metric strong{font-size:17px;font-variant-numeric:tabular-nums}.candidate-metric span{display:block;font-size:10px;color:#91a4b8}.progress-track{height:7px;background:#27394d;border-radius:5px;margin-top:13px;overflow:hidden}.progress-bar{height:100%;border-radius:5px;background:linear-gradient(90deg,#19a984,#6cdabd);max-width:100%}.candidate-status{font-size:10px;color:#a8bacf;margin-top:7px}.data-footer{font-size:11px;color:#8297af;border-top:1px solid #2a3a4f;padding-top:14px;margin:16px 0 0}.data-footer a{color:#7ee3c9}.aside-card{padding:25px}.aside-overline{font-size:10px;color:#49d5b2;letter-spacing:1.7px;font-weight:850}.aside-card h3{font-size:20px;letter-spacing:-.4px;line-height:1.3;margin:10px 0}.aside-card>p{color:#97a9bb;font-size:12px;line-height:1.75}.source-facts{border-top:1px solid #2d3a4c;margin:20px 0;padding-top:12px}.source-facts div{padding:10px 0;display:flex;flex-direction:column;gap:4px}.source-facts span{font-size:11px;color:#768fa9}.source-facts strong{font-size:12px;color:#d3e5ec;overflow-wrap:anywhere}.aside-card>a{color:#5cdec2;font-size:12px;text-decoration:none;font-weight:780}.aside-card>a:hover{text-decoration:underline}.aside-tip{display:flex;gap:11px;background:#192b35;border:1px solid #2d4a49;border-radius:13px;margin-top:15px;padding:17px;color:#d0e0e2}.tip-icon{color:#f5d666;font-size:21px}.aside-tip strong{font-size:12px}.aside-tip p{color:#91abae;margin:5px 0 0;font-size:11px;line-height:1.6}.candidates-filters{grid-template-columns:1fr 1.1fr 1.7fr auto}.candidates-panel-head{border-radius:14px 14px 0 0;margin-top:18px}#cand-content{border-radius:0 0 14px 14px;border-top:0}.candidate-list-item{display:flex;align-items:center;justify-content:space-between;gap:15px}.candidate-list-item .candidate-id{flex:1}.candidate-extra{font-size:10px;color:#7e96ab;margin-top:6px}.candidate-reg{color:#b5c5d5;font-size:11px;text-align:right;min-width:85px}.pagination{display:flex;gap:15px;align-items:center;justify-content:center;padding:20px}.pagination span{font-size:12px;color:#a9bdd2}.sources-intro{display:flex;gap:15px;background:#162b35;border:1px solid #2c5856;border-radius:13px;padding:22px;margin-bottom:18px}.intro-mark{background:#163d37;border-radius:10px;padding:9px 13px;color:#4bdeba;font-size:25px;height:max-content}.sources-intro strong{font-size:14px}.sources-intro p{font-size:12px;color:#9ab1ba;max-width:750px;line-height:1.6;margin:5px 0 0}.source-tabs{display:flex;gap:9px;padding:12px;margin-bottom:12px;flex-wrap:wrap}.source-button{border:1px solid transparent;background:transparent;color:#a6b9cc;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:760}.source-button.active{background:#1b3b40;color:#70e2c9;border-color:#286b61}.source-button:hover{background:#24354b}.source-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #26384d;padding:17px 0}.source-item:last-child{border-bottom:0}.source-item strong{font-size:12px;overflow-wrap:anywhere}.source-item span{display:block;color:#839bb3;font-size:10px;margin-top:5px}.source-item a{font-size:11px;color:#6edbc2;font-weight:750;white-space:nowrap}.sources-title{font-size:15px;margin:15px 0 4px}.source-footnote{font-size:12px;color:#7f95ab;line-height:1.7;margin-top:17px}.footer{margin-top:15px;background:#0f1928;border-top:1px solid #29384d;padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:15px}.footer-brand strong{font-size:16px}.footer-brand strong span{color:#f6d254}.footer-brand small{display:block;font-size:11px;color:#758aa3;margin-top:4px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{font-size:11px;color:#90b0bf;text-decoration:none}.footer-links a:hover{text-decoration:underline;color:#6cdec5}dialog{border:1px solid #39516a;color:#e9f1f9;background:#142238;border-radius:18px;padding:24px;width:min(760px,calc(100% - 30px));box-shadow:0 20px 80px #0009}dialog::backdrop{background:#030910ca}.dialog-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.dialog-header h2{margin:6px 0;font-size:23px}.icon-button{border:1px solid #456078;border-radius:10px;background:#20344d;color:white;padding:7px 11px}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:21px}.compare-card{border:1px solid #37506a;background:#1b3046;border-radius:12px;padding:20px}.compare-card strong{display:block;margin-bottom:6px;font-size:15px}.compare-card .compare-value{display:block;font-size:25px;font-weight:820;margin:12px 0 2px;color:#65ddc5}.compare-card p,.compare-card span{font-size:12px;color:#9aafc3}.dialog-footer{display:flex;justify-content:end;margin-top:20px}
@media(max-width:1100px){.hero-deco{width:165px;min-width:165px;transform:scale(.75)}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-grid .primary-btn{grid-column:span 4}.candidates-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.candidates-filters .primary-btn{grid-column:span 3}.header-source{display:none}.data-layout{grid-template-columns:1fr .8fr}}@media(max-width:850px){.header-inner{flex-wrap:wrap;padding:12px 0;min-height:unset}.primary-nav{width:100%;justify-content:space-between}.nav-item{flex:1;justify-content:center}.hero{padding:34px}.hero-deco{display:none}.data-layout{grid-template-columns:1fr}.data-aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.aside-tip{margin:0;align-self:start}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.context-bar{flex-direction:column;align-items:start}.results-header{align-items:flex-start}}@media(max-width:620px){.container{width:calc(100% - 28px)}.brand{font-size:15px}.hero{margin-top:16px;padding:25px 23px;min-height:auto}.hero h1{font-size:35px;letter-spacing:-1.4px}.hero p{font-size:13px}.hero-benefits{margin-top:19px;gap:8px}.hero-benefits span{font-size:10px}.nav-item{padding:10px 8px;font-size:11px;gap:5px}.nav-symbol{font-size:15px}.context-bar{margin-bottom:32px}.section-title h2{font-size:24px}.outline-badge{display:none}.filter-panel{padding:16px}.filter-header span{display:none}.filter-grid,.candidates-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid .primary-btn,.candidates-filters .primary-btn,.candidates-filters .grow{grid-column:span 2}.results-header{flex-direction:column;gap:11px}.kpi{padding:16px;min-height:140px}.kpi strong{font-size:25px}.data-aside{grid-template-columns:1fr}.panel-head{align-items:start;flex-direction:column}.candidate-metric strong{font-size:15px}.footer-inner{flex-direction:column;align-items:flex-start}.compare-grid{grid-template-columns:1fr}.footer-links{gap:9px}}@media(max-width:370px){.filter-grid,.candidates-filters{grid-template-columns:1fr}.filter-grid .primary-btn,.candidates-filters .primary-btn,.candidates-filters .grow{grid-column:auto}.hero h1{font-size:30px}.candidate-avatar{display:none}.candidate-head{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Apuração com dois níveis: UF e município, mantendo responsividade do painel. */
@media (min-width:1101px){
  .filter-grid:not(.candidates-filters){
    grid-template-columns:minmax(90px,.7fr) minmax(145px,1fr) minmax(165px,1.15fr) minmax(155px,1.1fr) minmax(180px,1.2fr) auto;
  }
}
@media (min-width:621px) and (max-width:1100px){
  .filter-grid:not(.candidates-filters){grid-template-columns:repeat(3,minmax(0,1fr))}
  .filter-grid:not(.candidates-filters) .primary-btn{grid-column:span 3}
}
@media (max-width:620px){
  .filter-grid:not(.candidates-filters){grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-grid:not(.candidates-filters) .primary-btn{grid-column:span 2}
}
@media (max-width:370px){
  .filter-grid:not(.candidates-filters){grid-template-columns:1fr}
  .filter-grid:not(.candidates-filters) .primary-btn{grid-column:auto}
}
#municipio:disabled{opacity:.75;cursor:wait}


/* Atualização contínua: status discreto substitui o botão de consulta. */
.live-indicator{display:inline-flex;align-items:center;align-self:end;justify-content:center;min-height:45px;
  border:1px solid #246d60;border-radius:10px;padding:10px 13px;color:#75ddbf;
  background:#102e30;font-weight:750;font-size:11px;white-space:normal;text-align:center}
#form-results[aria-busy="true"] .live-indicator{border-color:#997a35;color:#ebca70;background:#302b1e}
@media(max-width:1100px){.filter-grid:not(.candidates-filters) .live-indicator{grid-column:1/-1}}
