.scoreboard{margin:0 0 26px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.score-scope{display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap}.score-scope strong{color:var(--text)}#score-note{margin-left:auto;font-size:11px}.score-pair{display:grid;grid-template-columns:1fr 1fr}.score-candidate{display:flex;align-items:center;gap:16px;padding:20px 24px;min-width:0}.score-candidate.lula{background:linear-gradient(90deg,#cc435514,transparent)}.score-candidate.flavio{border-left:1px solid var(--line);background:linear-gradient(90deg,transparent,#3478ce18)}.score-candidate img{width:76px;height:76px;object-fit:cover;object-position:center 24%;border-radius:50%;border:3px solid #ce5265}.score-candidate.flavio img{border-color:#4d90e8}.score-candidate div{display:flex;flex-direction:column;gap:3px;min-width:0}.score-candidate div span{font-size:11px;color:var(--muted)}.score-candidate div strong{font-size:18px;line-height:1.25}.score-candidate b{margin-left:auto;font-size:36px;letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums}.score-candidate.lula b{color:var(--red)}.score-candidate.flavio b{color:var(--blue)}.score-line{height:8px;background:linear-gradient(90deg,#92384a55 50%,#315d9755 50%);display:flex}.score-line span{width:0;transition:width .3s}.score-line #score-bar-13{background:#ce5265}.score-line #score-bar-22{background:#4d90e8;margin-left:auto}.city-search{position:relative;margin-bottom:24px;max-width:760px}.city-search label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.search-input{display:flex;gap:8px}.search-input input{font:inherit;width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:var(--surface);color:var(--text)}.city-search p{font-size:12px;color:var(--muted);margin:7px 0}#search-status{min-height:18px}#city-matches{position:absolute;top:77px;left:0;right:0;max-height:320px;overflow-y:auto;z-index:1100;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--surface);box-shadow:0 12px 40px #0004}#city-matches[hidden]{display:none}#city-matches button{display:block;width:100%;text-align:left;border:0;border-radius:5px;background:transparent}#city-matches button:hover,#city-matches button:focus{background:var(--blue-soft)}.map-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:15px 0 10px}.map-tools button{font-size:12px;padding:7px 10px}.map-tools span{margin-left:auto;font-size:11px}#interactive-map{height:410px;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);z-index:0;isolation:isolate}#interactive-map .leaflet-container{font-family:inherit}#interactive-map .leaflet-control-attribution{background:var(--surface);color:var(--muted);font-size:9px}#interactive-map .leaflet-control-attribution a{color:var(--blue)}#interactive-map .leaflet-control-zoom a{color:var(--text);background:var(--surface);line-height:38px;width:38px;height:38px}#interactive-map .leaflet-tooltip{background:var(--surface);color:var(--text);border:1px solid var(--line);font:12px inherit;padding:7px 10px}#municipal-map-note{line-height:1.6;margin:9px 0 15px}.mapframe[hidden]{display:none}.leaflet-interactive:focus{outline:2px solid var(--blue);outline-offset:1px}
@media(max-width:850px){.score-candidate{padding:18px 16px;gap:12px}.score-candidate b{font-size:29px}.score-candidate img{width:62px;height:62px}.score-candidate div strong{font-size:16px}}
@media(max-width:640px){.score-scope{padding:11px 14px;gap:5px 10px}#score-note{margin:0;flex-basis:100%;font-size:10px}.score-candidate{padding:15px 12px;gap:9px;flex-wrap:wrap;align-content:start}.score-candidate img{width:48px;height:48px;border-width:2px}.score-candidate div{flex:1}.score-candidate div strong{font-size:14px}.score-candidate b{width:100%;margin:2px 0 0;font-size:32px}.score-candidate div span{font-size:10px}#interactive-map{height:370px}.city-search{margin-bottom:16px}.search-input input{font-size:13px}.search-input button{font-size:12px}.city-search p{font-size:11px}.map-tools span{flex-basis:100%;margin:0}.scoreboard{margin-bottom:22px}}
.municipal-view .map-legend,.municipal-view #map-status{display:none}.municipal-view .map-footer:before{content:'Vermelho: Lula · Azul: Flávio · Cinza: empate ou dados indisponíveis';color:var(--muted);font-size:10px}.score-line span{flex-shrink:0}

#map-status{display:none}.map-instruction{font-size:11px}.map-legend span:last-child i{background:#42566e!important}
