[hidden]{display:none!important}.header-actions a.segment{text-decoration:none}.app-header .header-actions{gap:3px}.app-header .header-actions .segment{padding:7px 9px;font-size:14px}.app-header .header-actions .button{margin-left:2px}.dedicated-overview{margin-top:0;padding:10px 13px}.dedicated-overview>.section-heading{margin-bottom:8px}.dedicated-overview>.section-heading h1{font-size:29px;letter-spacing:-.5px}.dedicated-overview .overview-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:14px;align-items:start}.dedicated-overview .overview-map-column{position:sticky;top:72px}.dedicated-overview .overview-map{height:clamp(390px,65vh,680px);aspect-ratio:auto;min-height:0;max-height:none}.dedicated-overview .state-cards{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));scrollbar-gutter:auto;gap:8px}.dedicated-overview .state-card{padding:9px 10px}.dedicated-overview .state-card-heading{gap:4px;flex-wrap:wrap;margin-bottom:5px}.dedicated-overview .state-link{font-size:17px}.dedicated-overview .overview-candidate-name{font-size:15px}.dedicated-overview .state-card-heading>small{font-size:11px}.dedicated-overview .state-card-footer{gap:7px}.dedicated-overview .poll-source{font-size:11px}.dedicated-overview .overview-view-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:5px 0 7px}.overview-view-tools select{background:#fff;border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--ink);padding:5px 7px;max-width:230px}.overview-layout-buttons{display:flex;gap:3px}.overview-layout-buttons button{font-size:12px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:4px 7px;color:var(--muted)}.overview-layout-buttons button.active{background:#eaf1f7;color:var(--accent)}.overview-view-tools .button{font-size:12px;padding:4px 7px}.dedicated-overview[data-card-layout="list"] .state-cards,.dedicated-overview.scope-selected .state-cards,.dedicated-overview .state-cards.analytics-cards{grid-template-columns:1fr}.dedicated-overview .turn-summary{grid-column:1/-1}.dedicated-overview .party-board{width:100%}.dedicated-overview .overview-candidate.others{padding-top:2px}.regional-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:3px 0 8px}.regional-heading h1{font-size:29px;letter-spacing:-.5px}.regional-location{display:flex;gap:6px;align-items:center}.regional-location input{width:255px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:15px;padding:7px 10px}.regional-tabs{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:5px 0;margin-bottom:9px;border-bottom:1px solid var(--line)}.regional-tabs button{border:1px solid var(--line);border-radius:5px;background:#fff;padding:6px 10px;color:var(--muted);font-size:14px}.regional-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.regional-tabs #rn-scope{margin-left:auto;color:var(--muted);font-size:13px}.regional-summary-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.5fr);gap:12px;align-items:start}.regional-map-column{position:sticky;top:72px;min-width:0}.regional-map-choice{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:3px 0 7px}.regional-map-choice h2{font-size:20px}.regional-map-choice select{padding:5px 7px;max-width:190px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:13px}.regional-map-panel .panel-top,.regional-map-panel .results-column{display:none}.regional-map-panel .panel-content{display:block}.regional-map-panel .map-section{border:0;padding:8px 10px}.regional-map-panel .map-svg{height:380px}.regional-map-panel .map-toolbar h3{display:none}.regional-map-panel .map-toolbar{justify-content:space-between}.regional-map-panel .map-toolbar .map-zoom{margin-left:auto}.regional-map-panel .map-mode{margin-left:0}.regional-map-panel .map-footnote:empty{display:none}.regional-map-panel .map-legend{font-size:11px}.regional-summary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.regional-summary-metrics>div{padding:7px 9px;background:#fff;border:1px solid var(--line);border-radius:6px}.regional-summary-metrics span,.regional-summary-metrics small{font-size:11px;color:var(--muted);display:block}.regional-summary-metrics strong{font-size:19px;display:inline-block}.regional-summary-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}.regional-card{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;min-width:0}.regional-card:last-child{grid-column:1/-1}.regional-card-heading{display:flex;justify-content:space-between;align-items:baseline;gap:4px;flex-wrap:wrap;margin-bottom:4px}.regional-card-heading h2{font-size:20px}.regional-card-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.regional-progress{height:3px;border-radius:2px;overflow:hidden;background:#e7edf2;margin-bottom:7px}.regional-progress i{display:block;background:var(--accent);height:100%}.regional-candidates{display:grid;gap:5px}.regional-candidates>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:7px;align-items:baseline}.regional-candidates strong{font-size:16px;display:flex;gap:4px;flex-wrap:wrap;align-items:baseline;line-height:1.3}.regional-candidates strong>span{font-size:12px;color:var(--muted)}.regional-candidates b{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}.regional-candidates small{grid-column:1/-1;font-size:12px;color:var(--muted)}.regional-candidates .swatch{width:8px;height:8px;flex-shrink:0}.regional-others{color:var(--muted);border-top:1px solid var(--line);padding-top:3px}.regional-turn{font-size:12px;font-weight:550;padding-top:5px;margin-top:5px;border-top:1px solid var(--line)}.regional-turn small{font-size:10px;font-weight:400;color:var(--muted);margin-left:4px}.regional-turn.confirmed{color:var(--success)}.regional-gap{font-size:11px;color:var(--muted);margin-top:3px}.regional-card-metrics{display:flex;gap:4px 9px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:5px}.regional-card-footer{display:flex;justify-content:space-between;gap:5px;align-items:center;margin-top:4px}.regional-card-footer .button,.regional-card-footer a{font-size:12px;padding:3px 0;text-decoration:none;color:var(--accent)}.regional-groups{font-size:12px;margin-top:6px;border-top:1px solid var(--line);padding-top:4px}.regional-groups summary{color:var(--accent);cursor:pointer;font-weight:550}.regional-group-row{display:grid;grid-template-columns:1fr auto;gap:2px 5px;margin-top:5px}.regional-group-row strong{font-size:12px}.regional-group-row small{grid-column:1/-1;font-size:10px;color:var(--muted)}.regional-groups>small{font-size:10px;color:var(--muted)}.page-rn #panels .panel-content{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.page-rn #panels .panel-heading h2{font-size:24px}.page-rn #panels .location-controls{display:none}.page-rn #panels .turn-label{display:block}.page-rn #panels .location-controls:has(.turn-label select option:not([disabled])[value="2"]){display:flex;justify-content:flex-end}.page-rn #panels .location-controls>label:has(.city-input){display:none}.page-rn #panels .allocation-info{font-size:14px}.page-rn #panels .button{font-size:13px}.page-rn #panels .map-svg{height:clamp(430px,60vh,700px)}
.counting-footer{padding:7px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.4}
.counting-footer .panel-state{margin:0 0 3px;font-size:11px;gap:5px}
.counting-footer .status-pill{padding:0;background:none;font-size:11px}
.counting-summary{display:flex;gap:3px 10px;flex-wrap:wrap;align-items:baseline}
.counting-summary b{font-size:12px;font-weight:550;font-variant-numeric:tabular-nums}
.counting-note{display:block;font-size:11px;margin-top:2px}
.counting-note.error{color:var(--warning)}
.turn-widget.compact{display:flex;gap:3px 7px;flex-wrap:wrap;align-items:baseline;padding:0;margin:3px 0 0;border:0;border-radius:0;background:none;font-size:11px;line-height:1.4;color:var(--muted)}
.turn-widget.compact strong{font-size:12px;font-weight:550}.turn-widget.compact a{font-size:10px;margin-left:auto}.turn-widget.compact.first strong{color:var(--success)}.turn-widget.compact.runoff strong{color:#7C3AED}
.results-column .result-heading{margin-top:0}.results-column .candidate-meta>span:last-child{font-size:15px;font-weight:550}
.state-counting,.regional-counting,.overview-counting,.history-counting{font-size:11px;color:var(--muted);line-height:1.4;margin-top:6px}
.state-counting .turn-widget.compact{margin-top:2px}.regional-counting{display:flex;gap:2px 7px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:4px}.regional-counting .confirmed{color:var(--success)}
.regional-card-heading{margin-bottom:7px}.regional-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.overview-counting{border-top:1px solid var(--line);padding-top:5px}.overview-counting .overview-status{font-size:11px}.history-counting{padding:0 10px 7px}.history-counting .status-chip{font-size:11px;padding:0;border:0;background:none}
[data-page="br"] #notice{font-size:11px;padding:4px 0;margin:7px 0 0;background:none;border:0;color:var(--muted)}
.dedicated-overview[data-overview-mode="parties"] .overview-view-tools{display:none}
.dedicated-overview .party-board{padding:7px 9px;max-height:none;overflow:visible}
.dedicated-overview .party-board h3{font-size:17px;margin-bottom:5px}
.dedicated-overview .party-board-head,.dedicated-overview .party-board-row{grid-template-columns:minmax(120px,1fr) repeat(3,65px) minmax(0,2.6fr);gap:7px;align-items:center}
.dedicated-overview .party-board-head{font-size:12px;padding-bottom:4px}
.dedicated-overview .party-board-head .party-states-heading{text-align:left}
.dedicated-overview .party-board-row{padding:3px 0;font-size:16px;line-height:1.3}
.dedicated-overview .party-board-row>strong{font-size:15px;white-space:nowrap}
.dedicated-overview .party-states{grid-column:5;gap:2px 3px;min-width:0}
.dedicated-overview .party-states button{font-size:11px;line-height:1.3;padding:2px 4px}
.dedicated-overview .poll-audit{margin-top:6px;font-size:12px}
@media(max-width:1000px){.dedicated-overview .party-board-head,.dedicated-overview .party-board-row{grid-template-columns:minmax(112px,1.2fr) repeat(3,minmax(0,.75fr));gap:3px 6px}.dedicated-overview .party-states{grid-column:1/-1}.dedicated-overview .party-states-heading{display:none}.dedicated-overview .party-board-row{padding:3px 0}.dedicated-overview .party-board-head{font-size:11px}}
@media(min-width:1650px){.dedicated-overview .overview-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr)}.dedicated-overview .state-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.regional-card-heading h2{font-size:22px}.regional-candidates strong{font-size:16px}.regional-candidates b{font-size:18px}.regional-candidates small{font-size:12px}}
@media(max-width:1100px){.dedicated-overview .overview-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr)}.dedicated-overview .state-cards{grid-template-columns:1fr}.regional-summary-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr)}.regional-summary-cards{grid-template-columns:1fr}.regional-card:last-child{grid-column:auto}.regional-tabs button{font-size:13px;padding:5px 7px}.regional-tabs #rn-scope{margin-left:0}.app-header .header-actions .segment{font-size:13px;padding:6px 7px}}
@media(max-width:760px){.dedicated-overview .overview-layout,.regional-summary-layout{grid-template-columns:1fr}.dedicated-overview .overview-map-column,.regional-map-column{position:static}.dedicated-overview .overview-map{height:350px}.dedicated-overview .state-cards{grid-template-columns:1fr}.dedicated-overview .overview-candidate-name{font-size:16px}.dedicated-overview .overview-votes{font-size:12px}.dedicated-overview>.section-heading h1,.regional-heading h1{font-size:26px}.regional-heading{gap:7px}.regional-location{width:100%}.regional-location input{flex:1;min-width:0;width:auto}.regional-tabs{gap:3px}.regional-tabs button{font-size:13px;padding:5px 7px}.regional-tabs #rn-scope{width:100%;font-size:12px}.regional-summary-cards{grid-template-columns:1fr}.regional-card-heading h2{font-size:21px}.regional-candidates strong{font-size:16px}.regional-candidates b{font-size:18px}.regional-candidates small{font-size:12px}.regional-card-metrics{font-size:12px}.regional-card-footer .button,.regional-card-footer a{font-size:13px}.regional-map-choice h2{font-size:20px}.page-rn #panels .panel-content{grid-template-columns:1fr}.page-rn #panels .panel-heading h2{font-size:21px}.page-rn #panels .map-svg{height:350px}.app-header .header-actions .segment{font-size:13px;padding:5px 6px}.app-header .header-actions .button{font-size:13px;padding:5px 6px}.dedicated-overview .overview-view-tools{gap:4px}.overview-view-tools select{max-width:200px}}

/* Leitura compacta e mapa municipal nacional. */
.map-area.municipal-area{stroke:#fff;stroke-width:.18px;vector-effect:non-scaling-stroke}
.map-area.municipal-area:hover,.map-area.municipal-area:focus{stroke:#172433;stroke-width:1px}
.state-outline{stroke:#fff;stroke-width:1.2px;vector-effect:non-scaling-stroke}
.map-svg:has(.municipal-area) .map-label{pointer-events:auto;cursor:pointer}
.map-tooltip{max-width:min(350px,100%);font-size:12px;line-height:1.45;padding:9px 11px}
.map-tooltip>strong{font-size:15px}.map-tooltip small{display:block;font-size:11px}
.tooltip-candidate{display:flex;gap:5px 8px;align-items:baseline;flex-wrap:wrap}.tooltip-candidate b{font-size:13px}
.candidate-title{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin-bottom:1px}
.candidate-votes{font-size:14px;font-weight:550;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.candidate-meta{font-size:12px;margin-bottom:3px}.candidate-list{gap:7px}
.dedicated-overview .overview-candidates{gap:5px}
.dedicated-overview .overview-candidate{grid-template-columns:minmax(0,1fr) auto auto;gap:3px 7px}
.dedicated-overview .overview-votes{grid-column:3;grid-row:1;font-size:12px;white-space:nowrap}
.dedicated-overview .overview-candidate-name{font-size:15px;line-height:1.25}
.dedicated-overview .overview-candidate strong{font-size:17px}
.dedicated-overview .state-card{padding:7px 9px}.dedicated-overview .state-card-heading{margin-bottom:4px}
.dedicated-overview .state-card-footer{justify-content:flex-end;margin-top:2px}.state-counting{margin-top:2px;font-size:10px}
.uf-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px}
.uf-row{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;width:100%}
.uf-region{display:flex;align-items:center;gap:4px}.uf-region>.region-button{font-size:11px;font-weight:600;white-space:nowrap;padding:4px 6px;border-color:transparent;background:transparent}.uf-region>.region-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.uf-region>.region-button:hover:not(.active){background:#dce8f2;border-color:#b4c8dc}.uf-region>.region-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.uf-region>div{display:flex;gap:2px;flex-wrap:wrap}.uf-buttons button{padding:4px 5px;font-size:12px;line-height:1.2}
.overview-sources{font-size:11px;color:var(--muted);margin-top:7px}.overview-sources>summary{cursor:pointer}.overview-sources>.poll-source{display:block;margin-top:3px}
.page-rn .regional-summary-layout{display:block}.page-rn .regional-map-column{position:static}
.page-rn .regional-map-panel .map-section{padding:8px 12px}.page-rn .regional-map-choice{margin:0 0 5px}
.page-rn .regional-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0 8px;gap:5px}
.page-rn .regional-summary-metrics>div{padding:5px 9px}.page-rn .regional-summary-metrics strong{font-size:18px}
.page-rn .regional-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.page-rn .regional-card:last-child{grid-column:auto}.page-rn .regional-card{padding:7px 9px}
.page-rn .regional-card-heading{margin-bottom:5px}.page-rn .regional-card-heading h2{font-size:18px}
.page-rn .regional-candidates{gap:4px}.page-rn .regional-candidates>div{grid-template-columns:minmax(0,1fr) auto auto;column-gap:6px}
.page-rn .regional-candidates strong{font-size:14px;gap:3px}.page-rn .regional-candidates b{font-size:16px}
.page-rn .regional-candidates small{grid-column:auto;font-size:11px;line-height:1.2;text-align:right}
.page-rn .regional-card-metrics,.page-rn .regional-gap{font-size:11px}.page-rn .regional-counting{font-size:10px;margin-top:3px;padding-top:3px}
.page-rn #panels .panel-content{display:block}.page-rn #panels .map-section{border-right:0;border-bottom:1px solid var(--line)}
.page-rn #panels .results-column{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}
.page-rn #panels .counting-footer{grid-column:1/-1}.page-rn #panels .detail-section{padding:9px 12px}
.page-rn #panels .candidate-list,.page-rn #panels .group-list,.page-rn #panels .detail-section>[data-candidates]{max-height:none;overflow:visible}
.page-rn #panels .candidate-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}
.page-rn #panels .candidate-title strong{font-size:15px}.page-rn #panels .candidate-title .percent{font-size:17px}
.page-rn #panels .candidate-votes{font-size:12px}.page-rn #panels .group-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:start}
.page-rn #panels .group .candidate-list{grid-template-columns:1fr}.page-rn #panels .group summary{padding:6px 8px}
.page-rn #panels .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1600px){.page-rn .regional-summary-cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){.page-rn .regional-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page-rn #panels .candidate-list{grid-template-columns:1fr}.dedicated-overview .overview-candidate-name{font-size:14px}}
@media(max-width:760px){.page-rn .regional-summary-cards{grid-template-columns:1fr}.page-rn #panels .results-column{display:block}.page-rn #panels .group-list{grid-template-columns:1fr}.page-rn #panels .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.uf-region{flex-wrap:wrap;gap:3px}.uf-row{gap:5px 8px}.candidate-title strong{font-size:15px}.candidate-title .percent{font-size:17px}.candidate-votes{font-size:12px}.page-rn .regional-candidates strong{font-size:15px}.page-rn .regional-candidates b{font-size:17px}.dedicated-overview .overview-candidate-name{font-size:15px}}

.results-column .candidate-meta>span:last-child{font-size:12px;font-weight:400}

.page-rn .regional-candidates strong{display:grid;grid-template-columns:8px auto minmax(0,1fr);min-width:0;align-items:baseline}.page-rn .regional-candidates strong>.regional-candidate-name{font-size:inherit;color:inherit;min-width:0;overflow-wrap:anywhere}

/* Governadores e senadores: navegação no título e grade compacta. */
:is(.page-governors,.page-senators) .dedicated-overview{padding:8px 11px}
:is(.page-governors,.page-senators) .dedicated-overview>.section-heading{justify-content:flex-start;gap:12px;margin-bottom:6px;flex-wrap:wrap}
:is(.page-governors,.page-senators) .section-heading .overview-tabs{margin:0;gap:4px}
:is(.page-governors,.page-senators) .section-heading .overview-tabs button{font-size:14px;padding:5px 9px}
:is(.page-governors,.page-senators) .dedicated-overview .overview-layout{grid-template-columns:minmax(0,.86fr) minmax(0,1.45fr);gap:10px}
:is(.page-governors,.page-senators) .dedicated-overview .overview-map{height:clamp(460px,75vh,780px)}
:is(.page-governors,.page-senators) .overview-list-column .uf-buttons{margin-bottom:4px;gap:3px}
:is(.page-governors,.page-senators) .dedicated-overview .overview-view-tools{margin:3px 0 5px;gap:4px}
:is(.page-governors,.page-senators) .overview-view-tools select{flex:0 1 175px;min-width:120px}
:is(.page-governors,.page-senators) .overview-view-tools .search-input{flex:1 1 180px;min-width:160px;width:auto;margin:0;font-size:14px;padding:5px 8px}
:is(.page-governors,.page-senators) .dedicated-overview[data-overview-mode="parties"] .overview-view-tools{display:flex}
:is(.page-governors,.page-senators) [data-overview-mode="parties"] .overview-view-tools .overview-layout-buttons,
:is(.page-governors,.page-senators) [data-overview-mode="parties"] .overview-view-tools select{display:none}
:is(.page-governors,.page-senators) .dedicated-overview[data-card-layout="grid"][data-overview-mode="votes"]:not(.scope-selected) .state-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
:is(.page-governors,.page-senators) .dedicated-overview .state-card{position:relative;padding:6px 8px;border-radius:7px}
:is(.page-governors,.page-senators) .dedicated-overview[data-overview-mode="votes"] .state-card-heading{padding-right:42px;margin-bottom:3px}
:is(.page-governors,.page-senators) .dedicated-overview .state-link{font-size:16px;line-height:1.2}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidates{gap:4px}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate{gap:2px 5px;align-items:baseline}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate-name{display:block;min-width:0;overflow-wrap:anywhere}
:is(.page-governors,.page-senators) .overview-candidate-name .swatch{margin-right:3px}
:is(.page-governors,.page-senators) .dedicated-overview[data-overview-mode="votes"] .state-card-footer{position:absolute;right:8px;top:5px;margin:0}
:is(.page-governors,.page-senators) .dedicated-overview .state-counting{font-size:11px;margin-top:4px;line-height:1.2}
@media(max-width:1279px){
  :is(.page-governors,.page-senators) .dedicated-overview[data-card-layout="grid"][data-overview-mode="votes"]:not(.scope-selected) .state-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.page-governors,.page-senators) .overview-view-tools .search-input{flex-basis:200px}
}
@media(max-width:1000px){
  :is(.page-governors,.page-senators) .dedicated-overview .overview-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  :is(.page-governors,.page-senators) .dedicated-overview[data-card-layout="grid"][data-overview-mode="votes"]:not(.scope-selected) .state-cards{grid-template-columns:1fr}
}
@media(max-width:760px){
  :is(.page-governors,.page-senators) .dedicated-overview .overview-layout{grid-template-columns:1fr}
  :is(.page-governors,.page-senators) .dedicated-overview>.section-heading{gap:5px 10px}
  :is(.page-governors,.page-senators) .dedicated-overview .overview-map{height:410px}
  :is(.page-governors,.page-senators) .overview-view-tools .search-input{flex-basis:100%;min-width:0}
}

/* RN: três disputas principais e dois painéis amplos de deputados. */
.page-rn .regional-summary-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:stretch}
.page-rn .regional-card{display:flex;flex-direction:column;align-self:stretch}
.page-rn .regional-card-major{grid-column:span 2;min-height:0}
.page-rn .regional-card-deputy,.page-rn .regional-card-deputy:last-child{grid-column:span 3}
.page-rn .regional-card-major .regional-card-heading{gap:3px 9px}
.page-rn .regional-card-major .regional-card-heading h2{flex-shrink:0}
.page-rn .regional-card-major .regional-card-metrics{margin:0;padding:0;gap:2px 7px;font-size:11px;line-height:1.3}
.page-rn .regional-card-major .regional-card-metrics>span{white-space:nowrap}
.page-rn .regional-card-major .regional-counting{margin-top:auto;padding-top:4px;gap:2px 7px;align-items:baseline}
.page-rn .regional-detail-link{margin-left:auto;padding:2px 0;border:0;font-size:11px;line-height:1.3;white-space:nowrap}
.page-rn .regional-card-major .regional-others strong{grid-template-columns:8px minmax(0,1fr)}
.page-rn .regional-card-major .regional-other-name{font-size:inherit}
.page-rn .regional-summary-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:4px 22px;margin:5px 0 8px;padding:4px 9px;background:#fff;border:1px solid var(--line);border-radius:6px}
.page-rn .regional-summary-metrics>div{display:flex;align-items:baseline;gap:6px;padding:0;border:0;background:none}
.page-rn .regional-summary-metrics span,.page-rn .regional-summary-metrics small{display:inline;font-size:12px}
.page-rn .regional-summary-metrics strong{font-size:15px;line-height:1.3}
.page-rn .regional-map-panel .map-section{padding:6px 10px}
.page-rn .regional-map-panel .map-svg,.page-rn #panels .map-svg{max-height:500px}
.page-rn .regional-seats{font-size:13px;font-weight:600;color:var(--ink)}
.page-rn .regional-deputy-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:2px 0 5px}
.page-rn .regional-deputy-tools select{min-width:0;width:100%;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:12px;padding:5px 6px}
.page-rn .regional-deputy-tools .search-input{grid-column:1/-1;width:100%;margin:0;padding:5px 7px;font-size:13px}
.page-rn .regional-deputy-count{font-size:11px;color:var(--muted);margin:3px 0 6px}
.page-rn .regional-deputy-candidates{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}
.page-rn .regional-deputy-candidates>div{grid-template-columns:minmax(0,1fr) auto;column-gap:6px}
.page-rn .regional-deputy-candidates strong{font-size:15px}
.page-rn .regional-deputy-candidates small{grid-column:1/-1;text-align:left;font-size:12px;line-height:1.3}
.page-rn .regional-card-deputy .regional-card-footer>div{display:flex;gap:14px;flex-wrap:wrap}
.page-rn .regional-card-deputy .regional-turn{font-size:12px}
@media(max-width:1000px){
  .page-rn .regional-card-deputy,.page-rn .regional-card-deputy:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .page-rn .regional-summary-cards{grid-template-columns:1fr}
  .page-rn .regional-card-major,.page-rn .regional-card-deputy,.page-rn .regional-card-deputy:last-child{grid-column:auto;min-height:0}
  .page-rn .regional-summary-metrics{gap:3px 12px;padding:4px 7px}
  .page-rn .regional-summary-metrics span,.page-rn .regional-summary-metrics small{font-size:11px}
  .page-rn .regional-summary-metrics strong{font-size:13px}
  .page-rn .regional-deputy-candidates{grid-template-columns:1fr}
  .page-rn .regional-deputy-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-rn .regional-deputy-tools [data-deputy-field="order"]{grid-column:1/-1}
}

/* Fundo compartilhado e cartões com separação mais nítida. */
:root{--page:#ced8e3;--line:#cbd5e0}
.dedicated-overview{background:#eaf0f5}
.state-card,.party-board{background:var(--surface)}
.state-card,.regional-card,.history-card,.delta-card{box-shadow:0 1px 3px rgb(23 36 51 / 7%)}
.state-card.selected{background:#f5f9fc}

/* Senado: altura alinhada por linha, sem replicar o maior cartão em toda a grade. */
.page-senators .dedicated-overview .state-card{padding:5px 7px}
.page-senators .dedicated-overview .state-card-heading{margin-bottom:2px}
.page-senators .dedicated-overview .overview-candidates{gap:2px}
.page-senators .dedicated-overview .overview-candidate{column-gap:4px;row-gap:1px}
.page-senators .dedicated-overview .overview-candidate-name{line-height:1.2}
.page-senators .dedicated-overview[data-card-layout="grid"][data-overview-mode="votes"]:not(.scope-selected) .state-cards{grid-auto-rows:auto;align-items:stretch}
.page-senators .dedicated-overview[data-card-layout="grid"][data-overview-mode="votes"]:not(.scope-selected) .state-card{display:flex;flex-direction:column;align-self:stretch}
.page-senators .dedicated-overview[data-card-layout="grid"][data-overview-mode="votes"]:not(.scope-selected) .state-counting{margin-top:auto;padding-top:3px}

/* Deputados do RN: vagas estaduais, grupos compactos e cartões com fotos. */
.page-rn .deputy-occupation{margin:4px 0 7px}
.page-rn .deputy-occupation-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 9px;margin-bottom:4px;font-size:11px;color:var(--muted)}
.page-rn .deputy-occupation-heading>strong{font-size:13px;color:var(--ink)}
.page-rn .deputy-occupation-heading>span:last-child{margin-left:auto}
.page-rn .deputy-seat-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}
.page-rn .deputy-seat-grid.state-seats{grid-template-columns:repeat(12,minmax(0,1fr))}
.page-rn .deputy-seat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:38px;padding:3px 2px;background:#f4f7fa;border:1px dashed #c4cfdb;border-radius:5px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.page-rn button.deputy-seat{cursor:pointer}
.page-rn .deputy-seat.confirmed{background:#e8f4eb;border-style:solid;border-color:#9bbea4;color:#176534}
.page-rn .deputy-seat.allocated{background:repeating-linear-gradient(135deg,#edf3f9,#edf3f9 5px,#f8fafc 5px,#f8fafc 10px);border-style:solid}
.page-rn .deputy-seat small{font-size:9px}
.page-rn .deputy-seat .deputy-portrait{width:30px;height:32px}
.page-rn .deputy-seat .deputy-group-logos{max-width:100%;flex-wrap:wrap;justify-content:center}
.page-rn .deputy-group-section{margin:4px 0 8px}
.page-rn .deputy-group-section>summary{font-size:12px;font-weight:600;color:var(--accent);cursor:pointer;margin-bottom:4px}
.page-rn .deputy-group-section>summary small{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}
.page-rn .deputy-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.page-rn .deputy-group-tile{display:flex;flex-direction:column;justify-content:center;min-width:0;text-align:left;padding:5px 6px;background:#f5f8fb;border:1px solid var(--line);border-radius:5px;color:var(--ink);font:inherit}
.page-rn button.deputy-group-tile{cursor:pointer}
.page-rn .deputy-group-tile.active{border-color:var(--accent);background:#e7eff7}
.page-rn .deputy-group-heading{display:flex;align-items:center;gap:4px;min-width:0;font-size:11px;line-height:1.2}
.page-rn .deputy-group-heading>strong{min-width:0;overflow-wrap:anywhere}
.page-rn .deputy-group-heading>b{white-space:nowrap;margin-left:auto;font-size:13px}
.page-rn .deputy-group-heading>b small{font-size:10px;font-weight:400;color:var(--muted)}
.page-rn .deputy-group-logos{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}
.page-rn .deputy-party-logo{width:23px;height:18px;object-fit:contain;background:white;border-radius:2px}
.page-rn .deputy-group-logos .deputy-party-logo{width:20px;height:16px}
.page-rn .deputy-party-fallback{font-size:10px;font-weight:700;color:var(--accent)}
.page-rn .deputy-group-votes{font-size:11px;margin-top:3px;line-height:1.25;color:var(--muted);font-variant-numeric:tabular-nums}
.page-rn .deputy-group-votes small{font-size:9px}
.page-rn .deputy-list-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:3px 0 5px;font-size:11px;color:var(--muted)}
.page-rn .deputy-list-heading .button{padding:3px 7px;font-size:11px}
.page-rn .deputy-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;align-items:stretch}
.page-rn .deputy-tile{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:6px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;gap:2px}
.page-rn .deputy-tile.elected{background:#eef7f0;border-color:#b1ceb8}
.page-rn .deputy-tile-main{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:3px 6px;align-items:start}
.page-rn .deputy-portrait{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;width:40px;height:45px;border-radius:4px;background:#e1e8ef;color:#64748b;font-size:12px;font-weight:600;grid-row:span 2}
.page-rn .deputy-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 25%;inset:0}
.page-rn .deputy-name{font-size:13px;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.page-rn .deputy-percent{font-size:14px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.page-rn .deputy-meta{grid-column:2/-1;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;font-size:11px;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums}
.page-rn .deputy-meta>b{color:var(--ink)}
.page-rn .deputy-party{display:inline-flex;align-items:center;gap:3px}
.page-rn .deputy-party .deputy-party-logo{width:18px;height:14px}
.page-rn .deputy-election-status{font-size:10px;font-weight:600;color:#176534;margin-left:46px;line-height:1.2}
.page-rn .deputy-election-status.warning{color:#92400e}
@media(min-width:1500px){.page-rn .deputy-card-grid,.page-rn .deputy-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.page-rn .deputy-seat-grid.state-seats{grid-template-columns:repeat(8,minmax(0,1fr))}.page-rn .deputy-group-section>summary small{display:block;margin-left:0}.page-rn .deputy-group-heading{flex-wrap:wrap}.page-rn .deputy-group-heading>b{font-size:12px}}
@media(max-width:600px){.page-rn .deputy-card-grid{grid-template-columns:1fr}}
.page-rn .deputy-detail-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-items:start}
.page-rn .deputy-detail-group{margin:0;background:#f8fafc;min-width:0;border-radius:6px;overflow:visible}
.page-rn .deputy-detail-group>summary{display:block;padding:7px;cursor:pointer}
.page-rn .deputy-detail-group>summary .deputy-group-heading{font-size:13px}
.page-rn .deputy-detail-group>summary .deputy-group-heading:before{content:'▸';color:var(--muted)}
.page-rn .deputy-detail-group[open]{grid-column:1/-1}
.page-rn .deputy-detail-group[open]>summary .deputy-group-heading:before{content:'▾'}
.page-rn .deputy-detail-group .group-content{padding:5px 7px 7px}
@media(max-width:1000px){.page-rn .deputy-detail-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.page-rn .deputy-detail-group-grid{grid-template-columns:1fr}}

/* Fotos das candidaturas, com o mesmo enquadramento em todas as abas. */
.candidate-portrait{display:inline-flex;position:relative;width:40px;height:45px;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:4px;background:#e2e8ef;color:#56677a;font-size:11px;font-weight:600;line-height:1;vertical-align:middle}
.candidate-portrait>.candidate-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;border-radius:inherit}
.candidate-portrait.small-portrait{width:22px;height:25px;font-size:8px}
.candidate-row.with-photo{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:7px;padding:5px 6px;background:#f8fafc;border:1px solid var(--line);border-radius:6px}
.candidate-row.with-photo>.candidate-portrait{grid-column:1;grid-row:1/4;align-self:center}
.candidate-row.with-photo>.candidate-title,.candidate-row.with-photo>.candidate-meta,.candidate-row.with-photo>.vote-track{grid-column:2;min-width:0}
.candidate-row.with-photo .candidate-title strong{min-width:0;overflow-wrap:anywhere}
.dedicated-overview .overview-candidate.with-photo{grid-template-columns:24px minmax(0,1fr) auto auto;column-gap:4px;row-gap:1px;align-items:center;border:1px solid var(--line);border-radius:5px;padding:2px 3px;background:#f8fafc}
.dedicated-overview .overview-candidate.with-photo>.candidate-portrait{width:24px;height:28px;font-size:8px;grid-column:1;grid-row:1/3;align-self:center}
.dedicated-overview .overview-candidate.with-photo>.overview-candidate-name{grid-column:2;grid-row:1}
.dedicated-overview .overview-candidate.with-photo>strong{grid-column:3;grid-row:1}
.dedicated-overview .overview-candidate.with-photo>.overview-votes{grid-column:4;grid-row:1}
.dedicated-overview .overview-candidate.with-photo>.candidate-status{grid-column:2/-1;grid-row:2;font-size:10px}
.page-rn .regional-candidates>div.with-photo{grid-template-columns:32px minmax(0,1fr) auto;gap:1px 6px;border:1px solid var(--line);border-radius:5px;padding:3px 4px;background:#f8fafc;align-items:center}
.page-rn .regional-candidates>div.with-photo>.candidate-portrait{width:32px;height:36px;grid-column:1;grid-row:1/3}
.page-rn .regional-candidates>div.with-photo>strong{grid-column:2;grid-row:1}
.page-rn .regional-candidates>div.with-photo>b{grid-column:3;grid-row:1}
.page-rn .regional-candidates>div.with-photo>small{grid-column:2/-1;grid-row:2;text-align:left}
.tooltip-candidate .candidate-portrait{align-self:center}
.legend-item{align-items:center}.legend-item .candidate-portrait{margin-right:2px}
.turn-candidate>span{display:flex;align-items:center;gap:5px}
.page-president-history .history-candidate.with-photo{grid-template-columns:32px minmax(0,1fr) auto minmax(130px,.6fr);padding:3px 5px;border:1px solid var(--line);border-radius:5px;background:#f8fafc;align-items:center}
.page-president-history .history-candidate.with-photo>.candidate-portrait{width:32px;height:36px;grid-column:1;grid-row:1}
.page-president-history .history-candidate.with-photo>strong{grid-column:2}
.page-president-history .history-candidate.with-photo>span:not(.candidate-portrait){grid-column:3}
.page-president-history .history-candidate.with-photo>small{grid-column:4}
.comparison-photo-value{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
.candidate-portrait.comparison-portrait{width:18px;height:22px;font-size:7px}
.comparison-photo-value>span:last-child{min-width:0}
.page-neilton .history-title h1{display:flex;gap:7px;align-items:center}
.metric-photo-label{display:flex!important;align-items:center;gap:5px}
.candidate-portrait.metric-portrait{width:24px;height:28px;font-size:8px}
@media(max-width:1100px){.page-president-history .history-candidate.with-photo{grid-template-columns:28px minmax(0,1fr) auto;gap:1px 6px}.page-president-history .history-candidate.with-photo>.candidate-portrait{width:28px;height:32px;grid-row:1/3}.page-president-history .history-candidate.with-photo>small{grid-column:2/-1;text-align:left;grid-row:2}}
@media(max-width:760px){.candidate-row.with-photo{column-gap:6px}.page-neilton .metric-photo-label{flex-wrap:wrap;gap:3px}.comparison-photo-value{gap:2px}.candidate-portrait.comparison-portrait{width:16px;height:20px}}

.turn-widget.compact .candidate-portrait{width:16px;height:18px;font-size:7px}.turn-candidate>span{display:flex;align-items:center;gap:5px}.overview-tooltip-candidate{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:4px;margin-top:4px;font-size:12px}.overview-tooltip-candidate strong{font-size:12px}.page-president-history .history-candidate.with-photo>.candidate-portrait{font-size:9px}

/* Partido no panorama e leitura ampliada do estado selecionado. */
.dedicated-overview .overview-candidate-party{display:inline-block;max-width:100%;padding:1px 3px;border-radius:3px;background:#e8edf3;color:var(--muted);font-size:10px;font-weight:600;line-height:1.25;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.dedicated-overview.scope-selected .overview-candidate.with-photo{grid-template-columns:48px minmax(0,1fr) auto auto;gap:2px 9px;padding:5px 7px}
.dedicated-overview.scope-selected .overview-candidate.with-photo>.candidate-portrait{width:48px;height:54px;font-size:14px}
:is(.page-governors,.page-senators) .dedicated-overview.scope-selected .overview-candidate-name{font-size:19px;font-weight:600;line-height:1.25}
.dedicated-overview.scope-selected .overview-candidate-name .number{font-size:16px}
.dedicated-overview.scope-selected .overview-candidate-party{display:table;margin-top:3px;font-size:12px}
.dedicated-overview.scope-selected .overview-candidate.with-photo>.overview-candidate-name,.dedicated-overview.scope-selected .overview-candidate.with-photo>strong,.dedicated-overview.scope-selected .overview-candidate.with-photo>.overview-votes{grid-row:1/3}
.dedicated-overview.scope-selected .overview-candidate.with-photo>.candidate-status{grid-row:3}
.dedicated-overview.scope-selected .overview-candidate strong{font-size:22px}
.dedicated-overview.scope-selected .overview-votes{font-size:14px}
@media(max-width:760px){
  .dedicated-overview.scope-selected .overview-candidate.with-photo{grid-template-columns:42px minmax(0,1fr) auto;column-gap:6px;padding:4px 5px}
  .dedicated-overview.scope-selected .overview-candidate.with-photo>.candidate-portrait{width:42px;height:48px}
  :is(.page-governors,.page-senators) .dedicated-overview.scope-selected .overview-candidate-name{font-size:17px}
  .dedicated-overview.scope-selected .overview-candidate-name .number{font-size:15px}
  .dedicated-overview.scope-selected .overview-candidate.with-photo>strong{grid-row:1;align-self:end;font-size:20px}
  .dedicated-overview.scope-selected .overview-candidate.with-photo>.overview-votes{grid-column:3;grid-row:2;align-self:start;font-size:12px}
}

/* RN: destaques maiores, quadro de vagas recolhível e lista por grupo. */
.page-rn .regional-card-major .regional-candidates>div.with-photo{grid-template-columns:48px minmax(0,1fr) auto;gap:2px 8px;padding:4px 5px}
.page-rn .regional-card-major .regional-candidates>div.with-photo>.candidate-portrait{width:48px;height:54px;font-size:14px}
.page-rn .regional-card-major .regional-candidates strong{font-size:19px;line-height:1.25}
.page-rn .regional-card-major .regional-candidates strong>.regional-candidate-name{font-size:19px;color:var(--ink)}
.page-rn .regional-card-major .regional-candidates strong>span:first-of-type{font-size:15px}
.page-rn .regional-card-major .regional-candidates b{font-size:21px}
.page-rn .regional-card-major .regional-candidates>div.with-photo>small{display:flex;align-items:center;flex-wrap:wrap;gap:3px;font-size:13px}
.page-rn .regional-party{display:inline-flex;align-items:center;gap:4px}
.page-rn .regional-party .deputy-party-logo{width:25px;height:19px}
.page-rn .deputy-occupation>summary{cursor:pointer;list-style:none}
.page-rn .deputy-occupation>summary::-webkit-details-marker{display:none}
.page-rn .deputy-occupation>summary::before{content:'▸';color:var(--accent)}
.page-rn .deputy-occupation[open]>summary::before{content:'▾'}
.page-rn .deputy-occupation-action{font-size:10px;color:var(--accent)}
.page-rn .deputy-occupation .when-open,.page-rn .deputy-occupation[open] .when-closed{display:none}
.page-rn .deputy-occupation[open] .when-open{display:inline}
.page-rn .regional-deputy-tools{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.page-rn .deputy-show-all{padding:5px 8px;font-size:12px;white-space:nowrap}
.page-rn .deputy-candidate-section{margin:7px 0 9px;min-width:0}
.page-rn .deputy-candidate-section-heading{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;padding:4px 5px;margin-bottom:4px;border-bottom:1px solid var(--line);background:#edf2f7;border-radius:4px}
.page-rn .deputy-candidate-section-heading h3{font-size:13px;line-height:1.25}
.page-rn .deputy-candidate-section-heading>small{margin-left:auto;font-size:10px;color:var(--muted)}
@media(max-width:760px){
  .page-rn .regional-card-major .regional-candidates>div.with-photo{grid-template-columns:42px minmax(0,1fr) auto;column-gap:6px}
  .page-rn .regional-card-major .regional-candidates>div.with-photo>.candidate-portrait{width:42px;height:48px}
  .page-rn .regional-card-major .regional-candidates strong,.page-rn .regional-card-major .regional-candidates strong>.regional-candidate-name{font-size:17px}
  .page-rn .regional-card-major .regional-candidates b{font-size:19px}
  .page-rn .regional-card-major .regional-candidates>div.with-photo>small{font-size:12px}
  .page-rn .regional-deputy-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-rn .regional-deputy-tools [data-deputy-field="order"]{grid-column:auto}
}

/* Seleção de favoritos compartilhada entre as páginas. */
.favorite-portrait{position:relative;overflow:visible!important;isolation:isolate}
.candidate-portrait.favorite-portrait>.candidate-portrait{position:absolute;inset:0;width:100%!important;height:100%!important;font-size:inherit}
.favorite-toggle{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid #b8c6d3;border-radius:5px;background:#fff;color:#536b7c;font-size:23px;line-height:1;cursor:pointer}
.favorite-toggle.selected{background:#fff7d7;color:#9b6500;border-color:#ddba58}
.favorite-toggle:hover{background:#fff1bf;color:#875900}
.favorite-portrait>.favorite-toggle{position:absolute;right:-4px;bottom:-2px;z-index:2;width:19px;height:19px;font-size:17px;border-radius:4px;box-shadow:0 1px 3px #17243320}
.favorite-portrait:has(.favorite-toggle:focus-visible){z-index:3}

/* Fotos maiores e estrela ao lado nos panoramas de governadores e senadores. */
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate.with-photo{--portrait-width:44px;--portrait-height:50px;--favorite-size:22px;grid-template-columns:calc(var(--portrait-width) + var(--favorite-size) + 4px) minmax(0,1fr) auto auto;column-gap:5px;align-items:center;padding:4px}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate.with-photo>.favorite-portrait{display:flex;gap:4px;width:calc(var(--portrait-width) + var(--favorite-size) + 4px);height:var(--portrait-height);background:transparent;font-size:14px}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate.with-photo>.favorite-portrait>.candidate-portrait{position:relative;inset:auto;flex:0 0 var(--portrait-width);width:var(--portrait-width)!important;height:var(--portrait-height)!important}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate.with-photo>.favorite-portrait>.favorite-toggle{position:static;width:var(--favorite-size);height:var(--favorite-size);font-size:18px;box-shadow:none}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate-name{font-size:16px;line-height:1.2}
:is(.page-governors,.page-senators) .dedicated-overview .overview-candidate-party{display:table;margin-top:2px;font-size:11px}
:is(.page-governors,.page-senators) .dedicated-overview .state-link{font-size:17px}
:is(.page-governors,.page-senators) .dedicated-overview:not(.scope-selected) .overview-candidate.with-photo>.overview-candidate-name{grid-column:2/-1;grid-row:1}
:is(.page-governors,.page-senators) .dedicated-overview:not(.scope-selected) .overview-candidate.with-photo>strong{grid-column:2;grid-row:2;justify-self:start;line-height:1.15}
:is(.page-governors,.page-senators) .dedicated-overview:not(.scope-selected) .overview-candidate.with-photo>.overview-votes{grid-column:3/-1;grid-row:2;text-align:right}
:is(.page-governors,.page-senators) .dedicated-overview:not(.scope-selected) .overview-candidate.with-photo>.candidate-status{grid-row:3}
:is(.page-governors,.page-senators) .dedicated-overview.scope-selected .overview-candidate.with-photo{--portrait-width:64px;--portrait-height:72px;column-gap:8px;padding:5px 7px}
:is(.page-governors,.page-senators) .dedicated-overview.scope-selected .overview-candidate-name{font-size:20px}
:is(.page-governors,.page-senators) .dedicated-overview.scope-selected .overview-candidate-party{font-size:12px;margin-top:3px}
@media(min-width:1280px) and (max-width:1499px){:is(.page-governors,.page-senators) .dedicated-overview[data-card-layout="grid"][data-overview-mode="votes"]:not(.scope-selected) .state-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  :is(.page-governors,.page-senators) .dedicated-overview .overview-candidate.with-photo{--favorite-size:24px}
  :is(.page-governors,.page-senators) .dedicated-overview.scope-selected .overview-candidate.with-photo{--portrait-width:52px;--portrait-height:60px;grid-template-columns:calc(var(--portrait-width) + var(--favorite-size) + 4px) minmax(0,1fr) auto;column-gap:6px;padding:4px 5px}
  :is(.page-governors,.page-senators) .dedicated-overview.scope-selected .overview-candidate-name{font-size:18px}
}
.header-actions [data-favorite-count]:not(:empty){display:inline-block;padding:1px 4px;margin-left:2px;font-size:11px;border-radius:4px;background:#fff0bf;color:#7a5300;font-variant-numeric:tabular-nums}
.favorites-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 10px}
.favorites-heading h1{font-size:29px}.favorites-heading>span{font-size:13px;color:var(--muted)}
.favorites-heading>select{width:auto;margin-left:auto;padding:5px 8px;background:#fff;font-size:13px}
.favorites-picker{border:1px solid #b7c5d2;border-radius:8px;background:#fff;margin-bottom:10px}
.favorites-picker>summary{font-size:15px;font-weight:600;color:var(--accent);padding:9px 11px;cursor:pointer}
.favorites-picker-tools,.favorites-filters{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(180px,1fr) minmax(220px,1.7fr);gap:6px}
.favorites-picker-tools{padding:0 10px}.favorites-picker-tools select,.favorites-filters select{padding:6px 8px;font-size:14px;background:#fff}
.favorites-picker-tools .search-input,.favorites-filters .search-input{margin:0;padding:6px 9px;font-size:14px;min-width:0}
.favorites-picker-count{display:flex;gap:12px;padding:6px 11px;font-size:12px;color:var(--muted)}
.favorites-picker-count>span:last-child{margin-left:auto;text-align:right}
.favorites-picker>#picker-more{margin:0 10px 9px;font-size:12px}
.favorite-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 10px 10px;max-height:340px;overflow:auto;align-content:start}
.favorite-picker-candidate{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:6px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:6px;background:#f7f9fb}
.favorite-picker-candidate>.candidate-portrait{width:38px;height:43px}.favorite-picker-candidate>div{min-width:0}
.favorite-picker-candidate strong{font-size:14px;line-height:1.2;display:block;overflow-wrap:anywhere}
.favorite-picker-candidate small{display:flex;align-items:center;flex-wrap:wrap;gap:3px;font-size:12px;color:var(--muted);margin-top:3px}
.favorite-picker-candidate .deputy-party-logo{width:22px;height:17px}
.favorites-filters{margin:8px 0}
.favorite-groups{display:grid;gap:12px}
.favorite-office>h2{display:flex;align-items:center;gap:7px;font-size:20px;margin:0 0 5px;line-height:1.2}
.favorite-office>h2>small{font-size:12px;font-weight:500;border-radius:4px;padding:2px 5px;background:#eaf0f5;color:var(--muted)}
.favorites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:start}
.favorite-card{min-width:0;border:1px solid #bac8d5;border-radius:8px;padding:8px 10px;background:#fff;box-shadow:0 1px 3px #17243315}
.favorite-card-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:13px;color:var(--muted);margin-bottom:6px}
.favorite-card-heading .favorite-toggle{width:24px;height:24px;font-size:19px}
.favorite-card-main{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:8px;align-items:center}
.favorite-card-main>.candidate-portrait{width:56px;height:64px;font-size:17px}
.favorite-candidate-info{min-width:0}.favorite-candidate-info h3{font-size:19px;line-height:1.2;letter-spacing:-.25px;overflow-wrap:anywhere;margin:0}
.favorite-identity{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px;font-size:13px;color:var(--muted)}
.favorite-identity .deputy-party-logo{width:28px;height:21px}.favorite-identity strong{font-size:13px}
.favorite-numbers{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.favorite-numbers>strong{display:block;font-size:24px;line-height:1.15}.favorite-numbers>span{font-size:14px;color:var(--muted)}
.favorite-card-status{display:flex;justify-content:space-between;align-items:baseline;gap:3px 8px;flex-wrap:wrap;padding:6px 0 3px;font-size:12px;color:var(--muted)}
.favorite-card-status .elected{color:var(--success);font-weight:650}
.favorite-card-status>strong{font-size:12px;color:var(--ink)}
.favorite-federation{font-size:11px;color:var(--muted);margin-bottom:4px}
.favorite-card-footer{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding-top:5px;border-top:1px solid var(--line)}
.favorite-card-footer a{font-size:12px;text-decoration:none}.favorite-error{font-size:12px;color:var(--warning);margin-top:4px}
.favorites-empty{grid-column:1/-1;background:#fff;padding:22px 16px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:15px;text-align:center}
@media(max-width:1199px){.favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.favorite-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.favorite-portrait>.favorite-toggle{width:22px;height:22px;font-size:19px}.favorites-picker-tools,.favorites-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.favorites-picker-tools input,.favorites-filters input{grid-column:1/-1}.favorite-picker-grid,.favorites-grid{grid-template-columns:1fr}.favorites-heading{gap:5px}.favorites-heading h1{font-size:26px}.favorites-heading>select{font-size:12px}.favorite-card-main{grid-template-columns:48px minmax(0,1fr) auto;gap:6px}.favorite-card-main>.candidate-portrait{width:48px;height:56px}.favorite-candidate-info h3{font-size:18px}.favorite-numbers>strong{font-size:22px}.favorite-numbers>span{font-size:12px}.favorite-identity{font-size:12px}.favorite-identity strong{font-size:12px}}
.page-rn .deputy-selection-heading{display:flex;align-items:center;gap:5px 9px;flex-wrap:wrap;min-width:0}
.page-rn .deputy-selection-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.page-rn .deputy-selection-controls .button{font-size:12px;padding:4px 7px;line-height:1.25;min-height:27px}
.page-rn .deputy-selection-controls .button.active{color:#fff;background:var(--accent);border-color:var(--accent)}
.page-rn .deputy-selection-controls .button:disabled{opacity:.55;cursor:default}
.page-rn .deputy-selection-controls .button>span{font-variant-numeric:tabular-nums;font-size:11px;opacity:.85}
.page-rn .deputy-selection-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.page-rn .deputy-selection-note{font-size:12px;color:var(--muted);margin:7px 0 3px}
.page-rn .deputy-tile.picked{border-color:var(--accent);background:#eaf2fa}
.page-rn .deputy-select-choice{display:flex;align-items:center;gap:5px;min-height:27px;padding:3px 2px 0;margin-top:3px;border-top:1px solid var(--line);font-size:12px;color:var(--accent);cursor:pointer}
.page-rn .deputy-select-choice input{width:17px;height:17px;margin:0;accent-color:var(--accent);cursor:pointer}
.page-rn :is(.deputy-select-choice input,.deputy-selection-controls button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:600px){.page-rn .deputy-selection-heading{gap:5px;width:100%}.page-rn .deputy-selection-heading>h2,.page-rn .deputy-selection-heading>h3{font-size:18px}.page-rn .deputy-selection-controls .button{min-height:30px}.page-rn .deputy-select-choice{min-height:31px}}
.president-selection-heading{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px}
.president-selection-heading>h3{margin-right:auto}
.president-selection-controls{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.president-selection-heading .button{font-size:12px;padding:5px 8px;min-height:29px}
.president-selection-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.president-selection-note{font-size:12px;color:var(--muted);margin:0 0 8px}
.candidate-row.with-photo.president-choice-row{grid-template-columns:22px 40px minmax(0,1fr)}
.president-choice-row>.president-select-choice{grid-column:1;grid-row:1/4;align-self:stretch;display:flex;align-items:center;justify-content:center;cursor:pointer}
.president-select-choice input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}
.candidate-row.with-photo.president-choice-row>.candidate-portrait{grid-column:2}
.candidate-row.with-photo.president-choice-row>:is(.candidate-title,.candidate-meta,.vote-track){grid-column:3}
.president-selection-heading button:focus-visible,.president-select-choice input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.president-selection-controls button:disabled{opacity:.55;cursor:default}
@media(max-width:760px){.president-selection-heading .button{min-height:32px}.president-choice-row>.president-select-choice{min-height:32px}}
