:root{--azul:#071d49;--azul2:#0d3974;--azul3:#1456a0;--vermelho:#d1283f;--amarelo:#ffc400;--fundo:#f3f6fa;--texto:#0b1d39;--cinza:#65758b;--linha:#d9e1eb;--branco:#fff}
*{box-sizing:border-box}
html,body{width:100%;margin:0;background:transparent;color:var(--texto);font-family:"Segoe UI Variable Text","Segoe UI",Roboto,Arial,sans-serif}
button,input{font:inherit}
.mp-widget{width:100%;max-width:1200px;margin:0 auto;overflow:hidden;border:1px solid #d4dce7;border-radius:14px;background:var(--branco);box-shadow:0 10px 30px rgba(7,29,73,.10)}
.mp-cabecalho{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:27px 30px 22px;background:linear-gradient(125deg,#061a3d 0%,#0a3269 65%,#104b91 100%);color:#fff}
.mp-editoria{display:block;margin-bottom:7px;color:var(--amarelo);font-size:12px;font-weight:950;letter-spacing:.09em}
.mp-cabecalho h1{max-width:760px;margin:0;font-size:clamp(27px,3.4vw,44px);font-weight:950;line-height:1.03;letter-spacing:-.035em}
.mp-cabecalho p{margin:9px 0 0;color:#c7d7eb;font-size:15px;line-height:1.35}
.mp-turnos{display:flex;flex:0 0 auto;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(0,0,0,.18)}
.mp-turnos button{min-width:100px;padding:10px 14px;border:0;border-radius:7px;background:transparent;color:#dce8f7;font-size:13px;font-weight:900;cursor:pointer;transition:.2s ease}
.mp-turnos button:hover{background:rgba(255,255,255,.1)}
.mp-turnos button.ativo{background:var(--amarelo);color:#071d49;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.mp-resumo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-bottom:1px solid var(--linha);background:var(--linha)}
.mp-resumo-card{display:grid;grid-template-columns:72px minmax(110px,.75fr) minmax(225px,1.25fr);grid-template-areas:"foto identidade turnos";align-items:center;gap:12px;min-height:116px;padding:14px 18px;background:#fff}
.mp-resumo-eleito{box-shadow:inset 0 -4px 0 #16a765}
.mp-resumo-foto{position:relative;grid-area:foto;width:68px;height:68px;border:3px solid;border-radius:50%;background:#e8edf4;box-shadow:0 3px 10px rgba(7,29,73,.16)}.mp-resumo-foto img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center top}.mp-resumo-foto span{position:absolute;left:50%;bottom:-6px;padding:3px 7px;border:2px solid #fff;border-radius:99px;background:#109653;color:#fff;font-size:8px;font-weight:950;letter-spacing:.04em;line-height:1;transform:translateX(-50%);white-space:nowrap}
.mp-resumo-identidade{grid-area:identidade;min-width:0}.mp-resumo-identidade small{display:block;color:var(--cinza);font-size:10px;font-weight:850;text-transform:uppercase}.mp-resumo-identidade strong{display:block;margin-top:2px;overflow:hidden;font-size:17px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.mp-resumo-identidade em{display:block;margin-top:5px;color:#09804a;font-size:9px;font-style:normal;font-weight:850}
.mp-resumo-turnos{grid-area:turnos;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mp-resumo-turnos>div{min-width:0;padding:8px;border:1px solid #e0e6ee;border-radius:7px;background:#f7f9fc}.mp-resumo-turnos>div.ativo{border-color:#f0bd16;background:#fff8dc;box-shadow:0 0 0 1px rgba(240,189,22,.15)}.mp-resumo-turnos span{display:block;color:#65758b;font-size:8px;font-weight:900}.mp-resumo-turnos b{display:block;margin-top:3px;font-size:18px;font-weight:950;line-height:1}.mp-resumo-turnos small{display:block;margin-top:3px;overflow:hidden;color:#69798e;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.mp-ferramentas{display:grid;grid-template-columns:170px minmax(220px,370px) 1fr;align-items:center;gap:12px;padding:15px 24px;border-bottom:1px solid var(--linha);background:#f9fbfd}
.mp-ferramentas label{font-size:13px;font-weight:900}
.mp-busca-wrap{position:relative}.mp-busca-wrap svg{position:absolute;left:12px;top:50%;width:17px;height:17px;fill:none;stroke:#60748d;stroke-width:2;transform:translateY(-50%)}
.mp-busca-wrap input{width:100%;height:41px;padding:0 12px 0 39px;border:1px solid #cbd6e3;border-radius:8px;outline:0;background:#fff;color:var(--texto);font-size:14px;font-weight:650}.mp-busca-wrap input:focus{border-color:#3277ba;box-shadow:0 0 0 3px rgba(38,108,177,.13)}
.mp-ferramentas p{margin:0;color:#6c7c90;font-size:12px;text-align:right}
.mp-principal{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.8fr);gap:18px;padding:22px 24px;background:var(--fundo)}
.mp-mapa-card{position:relative;min-width:0;min-height:555px;overflow:hidden;border:1px solid #d7e0eb;border-radius:12px;background:radial-gradient(circle at 50% 45%,#fff 0,#edf3f8 74%);box-shadow:0 3px 12px rgba(7,29,73,.07)}
.mp-mapa{display:block;width:100%;height:515px;padding:10px 12px 0;filter:drop-shadow(0 6px 8px rgba(7,29,73,.15))}
.mp-mapa path{cursor:pointer;transition:fill .2s ease,opacity .2s ease,stroke-width .15s ease}
.mp-mapa path:hover,.mp-mapa path:focus{opacity:.83;outline:0;stroke:#fff;stroke-width:3}
.mp-mapa path.selecionado{stroke:var(--amarelo);stroke-width:4;filter:drop-shadow(0 0 3px rgba(7,29,73,.65))}
.mp-legenda{position:absolute;z-index:4;left:14px;top:14px;display:flex;flex-wrap:wrap;gap:7px;max-width:70%}
.mp-legenda-item{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(210,220,232,.9);border-radius:99px;background:rgba(255,255,255,.93);box-shadow:0 2px 7px rgba(7,29,73,.08);font-size:10px;font-weight:850}.mp-legenda-item i{width:9px;height:9px;border-radius:50%}
.mp-escala{position:absolute;z-index:4;left:15px;bottom:12px;display:flex;align-items:center;gap:7px;color:#5e6e82;font-size:9px;font-weight:750}.mp-escala i{display:block;width:88px;height:7px;border-radius:99px;background:linear-gradient(90deg,#d9e6f2,#1456a0)}
.mp-tooltip{position:fixed;z-index:9999;min-width:220px;max-width:270px;padding:10px 12px;border:1px solid rgba(255,255,255,.22);border-radius:4px;background:rgba(5,21,49,.97);box-shadow:0 8px 22px rgba(0,0,0,.24);color:#fff;pointer-events:none}.mp-tooltip strong{display:block;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.18);font-size:13px}.mp-tooltip span{display:grid;grid-template-columns:7px minmax(0,1fr);gap:2px 6px;align-items:center;margin-top:6px;color:#d9e6f4;font-size:11px}.mp-tooltip span i{grid-row:1 / span 2;width:5px;height:26px}.mp-tooltip b{color:#fff}.mp-tooltip em{grid-column:2;color:#c8d6e7;font-size:10px;font-style:normal}.mp-tooltip span:last-child{display:block;padding-top:5px;border-top:1px solid rgba(255,255,255,.14);color:#aebed2;font-size:9px}
.mp-detalhes{min-width:0;overflow:hidden;border:1px solid #d4deea;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(7,29,73,.07)}
.mp-detalhes-topo{padding:18px 19px 14px;border-bottom:1px solid var(--linha);background:linear-gradient(135deg,#071d49,#0f4382);color:#fff}.mp-detalhes-topo>span{color:var(--amarelo);font-size:10px;font-weight:950;letter-spacing:.08em}.mp-detalhes h2{margin:4px 0 0;font-size:25px;font-weight:950;line-height:1.03;letter-spacing:-.025em}.mp-detalhes-topo p{margin:7px 0 0;color:#c8d8eb;font-size:12px}
.mp-candidatos{max-height:480px;overflow:auto;padding:9px 12px 14px;scrollbar-color:#b8c7d8 transparent;scrollbar-width:thin}
.mp-candidato{padding:10px 7px;border-bottom:1px solid #edf1f5}.mp-candidato:last-child{border-bottom:0}
.mp-candidato-linha{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:9px}.mp-candidato-foto{display:block;width:42px;height:42px;border:2px solid;border-radius:50%;background:#e8edf4;object-fit:cover;object-position:center top}.mp-candidato-nome{min-width:0}.mp-candidato-nome strong{display:block;overflow:hidden;font-size:13px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.mp-candidato-nome span{display:block;margin-top:2px;color:#748398;font-size:10px;font-weight:750}.mp-candidato-resultado{text-align:right}.mp-candidato-resultado strong{display:block;font-size:16px;font-weight:950}.mp-candidato-resultado span{display:block;margin-top:2px;color:#66768a;font-size:10px;font-weight:750}
.mp-barra{height:6px;margin:7px 0 0 52px;overflow:hidden;border-radius:99px;background:#e8edf3}.mp-barra i{display:block;height:100%;border-radius:inherit;transition:width .35s ease}
.mp-vencedor .mp-candidato-nome strong:after{content:"VENCEU";display:inline-block;margin-left:6px;padding:2px 5px;border-radius:99px;background:#e5f6ed;color:#087944;font-size:7px;letter-spacing:.05em;vertical-align:2px}
.mp-eleito .mp-candidato-nome strong:after{content:"ELEITO NO BRASIL";display:inline-block;margin-left:6px;padding:2px 5px;border-radius:99px;background:#109653;color:#fff;font-size:7px;letter-spacing:.04em;vertical-align:2px}
.mp-ranking{padding:24px;border-top:1px solid var(--linha);background:#fff}.mp-ranking header span{color:#1b5a9a;font-size:10px;font-weight:950;letter-spacing:.08em}.mp-ranking header h2{margin:4px 0 16px;font-size:23px;font-weight:950;letter-spacing:-.025em}
.mp-ranking-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mp-ranking-card{overflow:hidden;border:1px solid #d9e1eb;border-radius:10px}.mp-ranking-titulo{display:flex;align-items:center;gap:8px;padding:11px 13px;background:#f3f6fa}.mp-ranking-titulo i{width:10px;height:10px;border-radius:50%}.mp-ranking-titulo strong{font-size:13px}.mp-ranking-lista{margin:0;padding:4px 13px 8px;list-style:none;counter-reset:ranking}.mp-ranking-lista li{counter-increment:ranking;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid #edf1f5;font-size:12px}.mp-ranking-lista li:last-child{border-bottom:0}.mp-ranking-lista li:before{content:counter(ranking);display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#e8eef5;color:#39516e;font-size:9px;font-weight:900}.mp-ranking-lista span{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mp-ranking-lista b{font-size:12px}
.mp-rodape{display:flex;align-items:center;justify-content:center;gap:17px;padding:12px 20px;border-top:1px solid var(--linha);background:#f7f9fc;color:#66768a;font-size:10px}.mp-rodape strong{color:#263d59}
@media(max-width:820px){
  .mp-widget{border-radius:10px}.mp-cabecalho{align-items:stretch;flex-direction:column;padding:22px 18px 18px}.mp-cabecalho h1{font-size:31px}.mp-turnos{align-self:flex-start}.mp-turnos button{min-width:112px}
  .mp-resumo{grid-template-columns:1fr}.mp-resumo-card{grid-template-columns:70px minmax(0,1fr);grid-template-areas:"foto identidade" "turnos turnos";min-height:0}.mp-ferramentas{grid-template-columns:1fr;padding:14px 16px}.mp-ferramentas label{margin-bottom:-4px}.mp-ferramentas p{text-align:left}
  .mp-principal{grid-template-columns:1fr;padding:15px}.mp-mapa-card{min-height:470px}.mp-mapa{height:440px}.mp-detalhes{min-height:0}.mp-candidatos{max-height:none}
  .mp-ranking{padding:20px 15px}.mp-ranking-grade{grid-template-columns:1fr}.mp-rodape{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 16px}
}
@media(max-width:480px){
  .mp-cabecalho h1{font-size:27px}.mp-cabecalho p{font-size:13px}.mp-turnos{width:100%}.mp-turnos button{flex:1;min-width:0}
  .mp-resumo-card{padding:13px}.mp-resumo-foto{width:61px;height:61px}.mp-resumo-turnos b{font-size:16px}
  .mp-mapa-card{min-height:390px}.mp-mapa{height:365px;padding:25px 4px 0}.mp-legenda{left:8px;top:8px;max-width:95%}.mp-legenda-item{padding:4px 6px;font-size:8px}.mp-escala{left:9px;bottom:8px}.mp-escala i{width:55px}
  .mp-detalhes h2{font-size:22px}.mp-ranking header h2{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.mp-mapa path,.mp-barra i{transition:none}}

/* Versão editorial: superfícies planas, tipografia sóbria e menos efeitos decorativos. */
.mp-widget{border-color:#cfd7e2;border-radius:4px;box-shadow:none}
.mp-cabecalho{background:#071d49}
.mp-cabecalho h1{font-weight:800;letter-spacing:-.025em}
.mp-turnos{border-radius:4px;background:#04142f}
.mp-turnos button{border-radius:2px}
.mp-turnos button.ativo{box-shadow:none}
.mp-resumo-card{box-shadow:none}
.mp-resumo-foto{box-shadow:none}
.mp-resumo-turnos>div{border-radius:3px;background:#fafbfc}
.mp-resumo-turnos>div.ativo{box-shadow:none}
.mp-busca-wrap input{border-radius:3px}
.mp-principal{background:#f5f6f8}
.mp-mapa-card,.mp-detalhes,.mp-ranking-card{border-radius:4px;box-shadow:none}
.mp-mapa-card{background:#fff}
.mp-legenda-item{border-radius:3px;box-shadow:none}
.mp-detalhes-topo{background:#071d49}
.mp-barra,.mp-barra i,.mp-escala i{border-radius:1px}
.mp-mobile-result{display:none}

@media(max-width:820px){
  .mp-widget{border-radius:0}
  .mp-cabecalho{padding:18px 16px 16px}
  .mp-cabecalho h1{font-size:28px;line-height:1.08}
  .mp-cabecalho p{max-width:520px}
  .mp-principal{padding:10px;background:#eef1f5}
  .mp-mapa-card{min-height:500px;padding-bottom:132px}
  .mp-mapa{height:355px;padding:22px 2px 0}
  .mp-tooltip{display:none!important}
  .mp-escala{bottom:137px}
  .mp-mobile-result{position:absolute;z-index:8;right:8px;bottom:8px;left:8px;display:block;min-height:116px;padding:10px 11px;border:1px solid #cbd4df;background:#fff;color:#10233f;opacity:0;transform:translateY(5px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}
  .mp-mobile-result.visivel{opacity:1;transform:none}
  .mp-mobile-result-topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid #dce2ea}
  .mp-mobile-result-topo span{color:#52657c;font-size:10px;font-weight:800;text-transform:uppercase}
  .mp-mobile-result-topo strong{overflow:hidden;font-size:16px;font-weight:800;text-align:right;text-overflow:ellipsis;white-space:nowrap}
  .mp-mobile-result-candidatos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:8px}
  .mp-mobile-result-candidatos>div{display:grid;grid-template-columns:5px minmax(0,1fr) auto;grid-template-areas:"cor nome percentual" "cor votos votos";column-gap:6px;align-items:center;min-width:0}
  .mp-mobile-result-candidatos i{grid-area:cor;width:4px;height:35px}
  .mp-mobile-result-candidatos span{grid-area:nome;overflow:hidden;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
  .mp-mobile-result-candidatos b{grid-area:percentual;font-size:15px;font-weight:900;text-align:right}
  .mp-mobile-result-candidatos small{grid-area:votos;margin-top:2px;color:#66768a;font-size:9px;font-weight:700;text-align:right}
}

@media(max-width:480px){
  .mp-cabecalho h1{font-size:25px}
  .mp-mapa-card{min-height:455px;padding-bottom:132px}
  .mp-mapa{height:315px;padding-top:24px}
  .mp-escala{bottom:137px}
  .mp-legenda-item{border-radius:2px}
  .mp-mobile-result-candidatos{gap:9px}
}
