/* Shared UEC Gráficos interface, promoted to normal by the owner's request. */
body[data-graficos-beta="3"] {
  --beta-surface: var(--surface, #fff);
  --beta-track: color-mix(in srgb, var(--text, #17202d) 9%, var(--beta-surface));
  --beta-border: color-mix(in srgb, var(--text, #17202d) 11%, transparent);
  --beta-muted: var(--text-muted, #7b8598);
  --beta-ink: var(--text, #17202d);
  --beta-accent: var(--accent, #189ba5);
  --beta-radius: 22px;
  font-feature-settings: "ss01", "cv11";
}
body[data-graficos-beta="3"][data-theme="dark"],body[data-graficos-beta="3"][data-raw-pro-theme="black"] { --beta-surface: #14181e; --beta-ink:#eef2f7; --beta-muted:#a4afc0; --beta-border:#2d343e; --beta-track:#292f39; }
body[data-graficos-beta="3"][data-raw-pro-theme="comet"] { --beta-surface:#24232a; --beta-ink:#f4f0eb; --beta-muted:#b8b3bd; --beta-border:#45414b; --beta-track:#39363e; }
body[data-graficos-beta="3"][data-raw-pro-theme="google"] { --beta-surface:#25282c; --beta-ink:#eff1f4; --beta-muted:#b6bdc8; --beta-border:#42474d; --beta-track:#363b42; }
body[data-graficos-beta="3"][data-theme="light"],body[data-graficos-beta="3"][data-raw-pro-theme="white"] { --beta-surface:#fff; --beta-ink:#1b2331; --beta-muted:#747f93; --beta-border:#e5e8ed; --beta-track:#edf0f5; }
body[data-graficos-beta="3"] .beta-original-election-grid>article:nth-child(-n+2) { display:none; }
.beta-original-details { border:1px solid var(--beta-border); border-radius:18px; background:var(--beta-surface); padding:18px; }
.beta-original-details>summary { display:flex; justify-content:space-between; cursor:pointer; font-size:13px; font-weight:650; color:var(--beta-ink); list-style:none; }
.beta-original-details>summary::-webkit-details-marker { display:none; }
.beta-original-details[open] .election-grid { margin-top:20px; }
body[data-graficos-beta="3"] .chamber-architecture { display:none; }
body[data-graficos-beta="3"] .view-head h2 { letter-spacing:-.045em; font-weight:750; }
body[data-graficos-beta="3"] .panel, body[data-graficos-beta="3"] .toolbar-card, body[data-graficos-beta="3"] .management-card { border-radius:var(--beta-radius); box-shadow:0 3px 5px #00000002,0 16px 38px #00000004; }
body[data-graficos-beta="3"] .panel h3,body[data-graficos-beta="3"] .management-card h3 { letter-spacing:-.025em; }
body[data-graficos-beta="3"] :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),textarea) { border:1px solid var(--beta-border); border-radius:12px; background:color-mix(in srgb,var(--beta-surface) 96%,var(--beta-ink)); color:var(--beta-ink); padding:11px 13px; min-height:44px; font:inherit; font-size:13px; box-shadow:0 1px 2px #00000002; transition:border-color .18s,box-shadow .18s,background .18s; }
body[data-graficos-beta="3"] :is(input,textarea):focus { outline:0; border-color:var(--beta-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--beta-accent) 14%,transparent); }
body[data-graficos-beta="3"] input[type=number] { appearance:textfield; }
body[data-graficos-beta="3"] input::-webkit-inner-spin-button { appearance:none; }
body[data-graficos-beta="3"] input::placeholder,body[data-graficos-beta="3"] textarea::placeholder { color:var(--beta-muted); opacity:.75; }
body[data-graficos-beta="3"] :is(button,a):focus-visible { outline:2px solid var(--beta-accent); outline-offset:3px; }
body[data-graficos-beta="3"] :is(.primary-button,.secondary-button,.table-icon-button) { border-radius:12px; transition:background .18s,transform .18s; }
body[data-graficos-beta="3"] :is(.primary-button,.secondary-button):active { transform:scale(.98); }
.beta-explorer { display:grid; gap:22px; color:var(--beta-ink); min-width:0; }
.beta-explorer section { min-width:0; scroll-margin-top:100px; }
.beta-explorer-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:4px 2px; }
.beta-release { font-size:10px; letter-spacing:.16em; color:var(--beta-accent); font-weight:750; }
.beta-explorer-head h2 { font-size:clamp(23px,2.6vw,34px); line-height:1.2; letter-spacing:-.045em; margin:9px 0 7px; }
.beta-explorer-head p { margin:0; color:var(--beta-muted); font-size:13px; }
.beta-version-badge { display:inline-block; font-size:10px; color:var(--beta-accent); letter-spacing:.1em; border:1px solid var(--beta-border); border-radius:6px; padding:3px 6px; }
.beta-section-nav { display:flex; flex-wrap:wrap; gap:6px; padding:7px; border:1px solid var(--beta-border); border-radius:16px; background:var(--beta-surface); width:fit-content; max-width:100%; }
.beta-section-nav a { padding:9px 15px; color:var(--beta-muted); text-decoration:none; font-size:12px; font-weight:650; border-radius:10px; white-space:nowrap; }
.beta-section-nav a:hover,.beta-section-nav a:focus { background:color-mix(in srgb,var(--beta-accent) 10%,transparent); color:var(--beta-accent); }
.beta-card { background:var(--beta-surface); border:1px solid var(--beta-border); border-radius:var(--beta-radius); padding:23px; box-shadow:0 3px 5px #00000002,0 16px 38px #00000004; min-width:0; overflow:hidden; }
.beta-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:21px; }
.beta-card-head h3 { margin:0; font-size:17px; font-weight:750; line-height:1.3; letter-spacing:-.035em; display:flex; align-items:center; gap:10px; }
.beta-card-head h3:before { content:""; width:4px; height:18px; border-radius:4px; background:var(--beta-accent); flex:none; }
.beta-card-head p { margin:9px 0 0; color:var(--beta-muted); font-size:12px; line-height:1.7; }
.beta-actions { display:flex; flex-wrap:wrap; gap:5px; }
.beta-pill { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 13px; border:1px solid var(--beta-border); border-radius:99px; color:var(--beta-muted); background:var(--beta-track); font:inherit; font-size:11px; line-height:1.25; font-weight:600; cursor:pointer; white-space:nowrap; transition:background .15s,color .15s; }
.beta-pill:hover { color:var(--beta-accent); border-color:color-mix(in srgb,var(--beta-accent) 35%,var(--beta-border)); }
.beta-pill.is-active { color:var(--beta-surface); background:var(--beta-accent); border-color:var(--beta-accent); }
.beta-results-layout { display:grid; grid-template-columns:minmax(290px, .9fr) minmax(0,1.6fr); gap:20px; }
.beta-hemicycle { max-width:520px; margin:0 auto; }
.beta-hemicycle svg { display:block; width:100%; height:auto; overflow:visible; }
.beta-total { fill:var(--beta-ink); font-size:35px; font-weight:800; letter-spacing:-1.5px; text-anchor:middle; font-family:inherit; }
.beta-caption { fill:var(--beta-muted); font-size:9px; letter-spacing:1px; text-anchor:middle; font-family:inherit; }
.beta-majority-line { fill:none; stroke:var(--beta-muted); stroke-width:1.4; stroke-dasharray:4 4; }
.beta-majority-label { fill:var(--beta-muted); font-size:12px; text-anchor:middle; font-weight:700; }
.beta-arc { stroke-linecap:butt; transition:filter .18s; }
.beta-arc:hover,.beta-arc:focus { filter:brightness(1.14); }
.beta-arc-label { fill:white; font-size:20px; text-anchor:middle; font-weight:800; pointer-events:none; paint-order:stroke; stroke:#00000015; stroke-width:2px; }
.beta-seat { stroke:var(--beta-surface); stroke-width:.65; transition:filter .12s; }
.beta-seat:hover,.beta-seat:focus { filter:brightness(1.14); stroke:var(--beta-ink); stroke-width:.9; outline:none; }
body[data-graficos-beta="3"] .chamber-vote-key { display:flex; justify-content:center; flex-wrap:wrap; gap:9px 18px; margin:16px 0 0; font-size:12px; color:var(--beta-muted); }
body[data-graficos-beta="3"] .chamber-vote-key>span { display:inline-flex; align-items:center; gap:6px; }
body[data-graficos-beta="3"] .chamber-vote-key i { width:8px; height:8px; border-radius:50%; background:var(--vote-color); }
body[data-graficos-beta="3"] .chamber-vote-key strong { color:var(--beta-ink); font-variant-numeric:tabular-nums; }
body[data-graficos-beta="3"] .vote-result-badge { position:static; display:table; margin:12px auto 0; }
.beta-majority-note { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; margin:12px 0 0; padding:10px; border-radius:11px; background:var(--beta-track); font-size:10px; color:var(--beta-muted); }
.beta-majority-note strong { color:var(--beta-ink); }
.beta-majority-note span:last-child { display:flex; align-items:center; gap:5px; }
.beta-card-footer { display:flex; justify-content:center; margin-top:19px; }
.beta-party-dot,.beta-legend i,.beta-block-groups h4 i { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--party); flex:none; margin-right:6px; vertical-align:middle; }
.beta-table-tools { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.beta-table-tools input { max-width:210px; min-width:100px; width:100%; }
.beta-table-tools>div { display:flex; gap:5px; flex-wrap:wrap; }
.beta-table-tools h4 { margin:0; font-size:13px; }
.beta-table-scroll { width:100%; overflow-x:auto; scrollbar-width:thin; }
.beta-table { width:100%; border-collapse:collapse; font-size:11px; font-variant-numeric:tabular-nums; }
.beta-table th { text-align:right; color:var(--beta-muted); padding:8px 6px; font-size:10px; font-weight:500; white-space:nowrap; border-bottom:1px solid var(--beta-border); }
.beta-table th:first-child,.beta-table td:first-child { text-align:left; padding-left:0; }
.beta-table td { padding:10px 6px; border-bottom:1px solid var(--beta-border); text-align:right; white-space:nowrap; }
.beta-table tr:last-child td { border-bottom:0; }
.beta-table tbody tr:hover { background:color-mix(in srgb,var(--beta-accent) 4%,transparent); }
.beta-table td:first-child { font-weight:650; }
.beta-table td:last-child { padding-right:0; }
.beta-track { position:relative; height:8px; background:var(--beta-track); border-radius:3px; min-width:80px; }
.beta-track>i { display:block; height:100%; width:var(--value); background:var(--party); border-radius:3px; transform-origin:left; }
.beta-table .beta-bar-heading { text-align:left; }
.beta-table td:has(.beta-track) { width:32%; }
.beta-average-marker { position:absolute; top:-4px; bottom:-4px; border-left:1px dashed var(--beta-muted); }
.beta-seat-badge { background:var(--beta-track); border:1px solid var(--beta-border); padding:3px 9px; border-radius:99px; }
.beta-change.is-up { color:#189f70; }
.beta-change.is-down { color:#e05065; }
.beta-cost-extremes { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:15px; }
.beta-cost-extremes>div { border:1px solid color-mix(in srgb,var(--party) 28%,transparent); background:color-mix(in srgb,var(--party) 7%,var(--beta-surface)); border-radius:15px; padding:14px; display:grid; gap:7px; }
.beta-cost-extremes small { color:var(--beta-muted); font-size:11px; font-weight:400; }
.beta-cost-extremes b { font-size:12px; }
.beta-cost-extremes strong { font-size:23px; color:var(--party); letter-spacing:-.045em; }
.beta-table th button,.beta-heat-table th button { border:0; background:none; padding:0; color:var(--beta-accent); font:inherit; cursor:pointer; }
.beta-footnote { margin:15px 0 0; font-size:11px; line-height:1.7; color:var(--beta-muted); }
.beta-comparison-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin:12px 0 25px; }
.beta-election-picker { display:flex; align-items:center; gap:7px; justify-content:center; }
.beta-election-picker>button { width:28px; height:28px; border:1px solid var(--beta-border); border-radius:50%; color:var(--beta-accent); background:var(--beta-track); font-size:24px; line-height:1; cursor:pointer; flex:none; }
.beta-election-picker label>span { display:block; font-size:10px; color:var(--beta-muted); margin-bottom:5px; text-align:center; }
.beta-election-picker .beta-select { width:230px; max-width:100%; }
.beta-election-meta { text-align:center; color:var(--beta-muted); font-size:10px; min-height:28px; margin-bottom:12px; }
.beta-deltas>div { display:grid; grid-template-columns:10px minmax(100px,170px) minmax(100px,1fr) 85px; gap:5px; align-items:center; border-bottom:1px solid var(--beta-border); padding:9px 0; font-size:11px; }
.beta-deltas strong { text-align:right; }
.beta-diverging { position:relative; height:13px; background:linear-gradient(90deg,transparent calc(50% - .5px),var(--beta-border) calc(50% - .5px),var(--beta-border) calc(50% + .5px),transparent calc(50% + .5px)); }
.beta-diverging i { position:absolute; top:0; height:100%; width:var(--value); background:var(--party); border-radius:3px; }
.beta-diverging i.negative { right:50%; }
.beta-diverging i.positive { left:50%; }
.beta-block-groups { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.beta-block-groups section { border:1px dashed var(--beta-border); border-radius:15px; padding:13px; transition:background .15s; }
.beta-block-groups section.is-dragover { background:color-mix(in srgb,var(--beta-accent) 12%,transparent); }
.beta-block-groups h4 { margin:0 0 10px; font-size:12px; }
.beta-block-groups section>div { display:flex; flex-wrap:wrap; gap:5px; }
.beta-party-chip { padding:6px 8px; font:inherit; font-size:10px; border:1px solid var(--beta-border); border-radius:99px; background:var(--beta-surface); color:var(--beta-ink); cursor:grab; }
.beta-party-chip:active { cursor:grabbing; }
.beta-evolution-scroll { overflow-x:auto; margin-top:20px; }
.beta-evolution { display:block; width:100%; min-width:620px; height:auto; }
.beta-block-number { fill:white; text-anchor:middle; font-size:12px; font-weight:750; paint-order:stroke; stroke:#00000020; stroke-width:1px; }
.beta-axis-label { text-anchor:middle; font-size:9px; fill:var(--beta-muted); }
.beta-legend { display:flex; flex-wrap:wrap; gap:17px; font-size:10px; color:var(--beta-muted); margin:10px 0 0; }
#beta-blocks { display:grid; gap:22px; }
.beta-heat-table { border-collapse:separate; border-spacing:3px; width:100%; min-width:600px; font-variant-numeric:tabular-nums; }
.beta-heat-table th { font-size:10px; padding:6px 3px; text-align:center; white-space:nowrap; font-weight:550; }
.beta-heat-table th:first-child { text-align:left; min-width:120px; position:sticky; left:0; background:var(--beta-surface); z-index:1; }
.beta-heat-table td { padding:0; text-align:center; }
.beta-heat-cell { display:block; border-radius:4px; padding:7px 5px; min-width:56px; font-size:10px; color:var(--beta-ink); background:rgba(var(--heat),var(--heat-opacity)); }
.beta-heat-cell.is-missing { background:var(--beta-track); color:var(--beta-muted); }
.beta-heat-legend { display:flex; align-items:center; justify-content:center; gap:10px; margin:18px auto 0; font-size:10px; color:var(--beta-muted); }
.beta-heat-legend i { display:block; width:220px; height:10px; border-radius:3px; background:linear-gradient(90deg,#3976c9,#f3f5f9,#df5265); }
.beta-map-controls { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 15px; align-items:center; }
.beta-inline-field { width:145px; }
.beta-map-layout { display:grid; grid-template-columns:minmax(0,1fr) 265px; gap:20px; }
.beta-map-viewport { position:relative; min-height:420px; overflow:auto; border-radius:16px; background:color-mix(in srgb,var(--beta-track) 45%,var(--beta-surface)); }
.beta-map-canvas { position:relative; width:400px; max-width:100%; margin:18px auto; transform-origin:top center; }
.beta-map-canvas>img { width:100%; height:auto; display:block; }
.beta-map-point { position:absolute; transform:translate(-50%,-50%); border:0; background:transparent; color:#263041; font-size:9px; font-weight:700; padding:3px; display:flex; flex-direction:column; align-items:center; gap:2px; cursor:pointer; white-space:nowrap; text-shadow:0 1px 3px white,0 -1px 3px white,1px 0 3px white; }
.beta-map-point i { width:16px; height:16px; border-radius:50%; background:var(--party); border:2px solid white; box-shadow:0 1px 6px #00000030; }
.beta-map-point:hover i,.beta-map-point.is-selected i { outline:3px solid color-mix(in srgb,var(--party) 35%,transparent); transform:scale(1.25); }
.beta-zoom { position:sticky; bottom:10px; display:flex; justify-content:flex-end; padding:10px; gap:5px; }
.beta-zoom .beta-pill { background:var(--beta-surface); min-width:33px; font-size:15px; padding:7px; box-shadow:0 2px 6px #00000010; }
.beta-map-detail h4 { margin:0 0 12px; font-size:17px; }
.beta-map-detail p { font-size:11px; color:var(--beta-muted); line-height:1.6; }
.beta-map-rows>div { font-size:10px; display:flex; align-items:center; gap:4px; padding:8px 0; border-bottom:1px solid var(--beta-border); }
.beta-map-rows strong { margin-left:auto; font-size:10px; }
.beta-map-city-list { max-height:320px; overflow-y:auto; margin-top:18px; }
.beta-map-city-list>button { display:flex; align-items:center; justify-content:space-between; width:100%; text-align:left; border:0; border-bottom:1px solid var(--beta-border); padding:10px 0; background:none; color:var(--beta-ink); font:inherit; font-size:10px; cursor:pointer; }
.beta-map-city-list>button:hover { color:var(--beta-accent); }
.beta-empty { padding:25px; text-align:center; color:var(--beta-muted); font-size:12px; line-height:1.7; }
.beta-empty>span { font-size:30px; color:var(--beta-accent); }
body[data-graficos-beta="3"] .raw-pro-settings { width:min(650px,calc(100vw - 24px)); background:var(--beta-surface); color:var(--beta-ink); }
body[data-graficos-beta="3"] .raw-pro-settings-body { padding:20px 24px 28px; }
body[data-graficos-beta="3"] .raw-pro-protest-tabs { display:flex; border-bottom:1px solid var(--beta-border); gap:18px; padding:0 0 12px; margin-bottom:20px; }
body[data-graficos-beta="3"] .raw-pro-protest-tabs button { border:0; background:transparent; border-radius:0; padding:6px 0; color:var(--beta-muted); font:inherit; font-size:12px; cursor:pointer; }
body[data-graficos-beta="3"] .raw-pro-protest-tabs button.is-active { color:var(--beta-accent); box-shadow:0 2px var(--beta-accent); }
body[data-graficos-beta="3"] [data-pro-settings-pane=analysis]>section { border-bottom:1px solid var(--beta-border); margin-bottom:22px; padding:0 0 22px; }
body[data-graficos-beta="3"] [data-pro-settings-pane=analysis] { padding:12px 0 0; border-bottom:0; }
body[data-graficos-beta="3"] .raw-pro-settings h3 { margin:0 0 12px; font-size:15px; }
body[data-graficos-beta="3"] .raw-pro-settings p { font-size:12px; line-height:1.65; color:var(--beta-muted); }
.beta-setting-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:13px 0; font-size:12px; }
.beta-setting-row>span { flex:1; }
.beta-setting-row small { display:block; font-size:10px; margin-top:4px; color:var(--beta-muted); }
.beta-setting-row .beta-select { width:140px; }
.beta-setting-row input[type=checkbox] { width:36px; height:20px; appearance:none; background:var(--beta-track); border-radius:99px; border:1px solid var(--beta-border); cursor:pointer; position:relative; }
.beta-setting-row input[type=checkbox]:before { content:""; position:absolute; top:2px; left:2px; width:14px; height:14px; background:var(--beta-muted); border-radius:50%; transition:transform .2s; }
.beta-setting-row input[type=checkbox]:checked { background:var(--beta-accent); }
.beta-setting-row input[type=checkbox]:checked:before { background:white; transform:translateX(16px); }
.beta-setting-party { display:grid; grid-template-columns:minmax(100px,1fr) 130px 100px; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid var(--beta-border); }
.beta-setting-party>b { font-size:11px; }
.beta-settings-parties { max-height:370px; overflow-y:auto; }
.beta-data-links { display:grid; }
.beta-data-links>button { display:flex; justify-content:space-between; padding:13px 4px; border:0; border-bottom:1px solid var(--beta-border); background:transparent; color:var(--beta-ink); text-align:left; font:inherit; font-size:12px; cursor:pointer; }
.beta-data-links>button:hover { color:var(--beta-accent); }
.beta-territory-editor input { max-width:115px; width:100%; }
.beta-coordinate-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.beta-coordinate-fields input { width:100%; min-width:0; }
body[data-graficos-beta="3"] .beta-native-select,body[data-graficos-beta="3"] .beta-native-color { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:0!important; opacity:0!important; clip-path:inset(50%); pointer-events:none; }
.beta-select { display:inline-block; position:relative; width:100%; min-width:0; }
.beta-select-button { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:40px; border:1px solid var(--beta-border); padding:10px 12px; border-radius:11px; font:inherit; font-size:11px; line-height:1.4; color:var(--beta-ink); background:var(--beta-surface); text-align:left; cursor:pointer; }
.beta-select-button>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.beta-select-button>b { color:var(--beta-muted); font-size:14px; font-weight:400; }
.beta-select-button:hover,.beta-select-button[aria-expanded=true] { border-color:var(--beta-accent); }
.beta-select-button:disabled { opacity:.5; cursor:default; }
.beta-control-popup { position:fixed; z-index:2147483600; border:1px solid var(--beta-border); border-radius:15px; background:var(--beta-surface); color:var(--beta-ink); box-shadow:0 15px 60px #00000028; padding:7px; max-height:330px; overflow-y:auto; overscroll-behavior:contain; overflow-anchor:none; }
body[data-graficos-beta="3"] .beta-control-popup>input { width:100%; margin-bottom:6px; min-height:36px; padding:8px 10px; background:var(--beta-track); border:0; }
.beta-control-popup [role=listbox] { max-height:var(--popup-list-height,235px); overflow-y:auto; overscroll-behavior:contain; overflow-anchor:none; scrollbar-gutter:stable; }
.beta-control-popup [role=option] { display:block; width:100%; border:0; border-radius:8px; padding:10px; text-align:left; font:inherit; font-size:12px; color:var(--beta-ink); background:transparent; cursor:pointer; }
.beta-control-popup [role=option]:hover,.beta-control-popup [role=option].is-focused { background:var(--beta-track); }
.beta-control-popup [role=option][aria-selected=true] { color:var(--beta-accent); font-weight:700; }
.beta-color-button { display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--beta-border); border-radius:11px; min-height:40px; padding:8px; font:inherit; font-size:10px; color:var(--beta-muted); background:var(--beta-surface); cursor:pointer; }
.beta-color-button i { background:var(--party); border:1px solid #88888840; width:15px; height:15px; border-radius:50%; }
.beta-color-popup { padding:16px; }
.beta-color-popup>strong { font-size:12px; }
.beta-palette { display:grid; grid-template-columns:repeat(8,1fr); gap:10px; margin:16px 0; }
.beta-palette>button { width:22px; height:22px; border-radius:50%; border:1px solid #88888840; background:var(--party); cursor:pointer; }
.beta-color-popup label { display:block; font-size:11px; color:var(--beta-muted); }
body[data-graficos-beta="3"] .beta-color-popup input { width:100%; margin-top:7px; }
.beta-color-popup [data-apply-color] { display:block; margin-top:12px; border:0; padding:10px 14px; border-radius:10px; background:var(--beta-accent); color:white; font:inherit; font-size:12px; width:100%; cursor:pointer; }
.beta-color-feedback { font-size:10px; color:#e05065; }
body[data-graficos-beta="3"] .view-page.is-active { animation:none; }
body[data-graficos-beta="3"][data-beta-density=compact] .beta-card { padding:17px; }
body[data-graficos-beta="3"][data-beta-density=compact] .beta-table td { padding:7px 5px; }
@media(max-width:1400px) { .beta-results-layout { grid-template-columns:1fr; } .beta-results-layout>.beta-card:first-child .beta-hemicycle { max-width:410px; } }
@media(max-width:800px) { .beta-card { padding:18px; border-radius:18px; } .beta-comparison-grid { gap:22px; grid-template-columns:1fr; } .beta-map-layout { grid-template-columns:1fr; } .beta-map-city-list { max-height:220px; } .beta-explorer-head { align-items:flex-start; } .beta-block-groups { gap:7px; } .beta-block-groups section { padding:9px; } .beta-deltas>div { grid-template-columns:10px minmax(80px,120px) minmax(80px,1fr) 65px; } }
@media(max-width:520px) { .beta-card-head { flex-direction:column; gap:10px; } .beta-explorer-head { flex-direction:column; } .beta-section-nav { width:100%; } .beta-section-nav a { padding:7px 8px; font-size:10px; } .beta-block-groups { grid-template-columns:1fr; } .beta-cost-extremes { grid-template-columns:1fr; } .beta-setting-party { grid-template-columns:minmax(75px,1fr) 105px 42px; gap:6px; } .beta-setting-party .beta-color-button span { display:none; } .beta-heat-legend i { width:140px; } body[data-graficos-beta="3"] .raw-pro-settings-body { padding:16px; } .beta-table { min-width:540px; } .beta-territory-editor { min-width:300px; } .beta-map-viewport { min-height:380px; } }
@media(prefers-reduced-motion:reduce) { body[data-graficos-beta="3"] *,body[data-graficos-beta="3"] *:before,body[data-graficos-beta="3"] *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
body[data-graficos-beta="3"][data-beta-motion=off] *,body[data-graficos-beta="3"][data-beta-motion=off] *:before,body[data-graficos-beta="3"][data-beta-motion=off] *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
#view-polls .analysis-grid { min-width:0; width:100%; }
.beta-poll-blocks { min-width:0; width:100%; }
.analysis-grid>.beta-poll-blocks { grid-column:1 / -1; }
.beta-poll-period { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; color:var(--beta-muted); font-size:12px; margin-bottom:16px; }
.beta-poll-period b { color:var(--beta-ink); }
.beta-poll-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.beta-poll-summary-item { padding:15px; border-radius:14px; background:var(--beta-track); border-top:3px solid var(--party); display:grid; gap:6px; }
.beta-poll-summary-item>span { display:flex; align-items:center; gap:7px; font-size:12px; }
.beta-poll-summary-item>strong { font-size:22px; letter-spacing:-.6px; }
.beta-poll-summary-item>small { color:var(--beta-muted); font-size:11px; }
.beta-poll-summary-item>b { color:var(--party); font-size:13px; }
.beta-poll-chart-scroll { overflow-x:auto; overscroll-behavior-x:contain; }
.beta-poll-chart { display:block; width:100%; min-width:580px; }
.beta-poll-chart .axis-label { fill:var(--beta-muted); font-family:inherit; font-size:14px; }
.beta-poll-chart .grid-line { fill:none; stroke:var(--beta-border); stroke-width:1; }
.beta-poll-scroll-hint { display:none; }
.beta-poll-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.beta-poll-dot { stroke:var(--beta-surface); stroke-width:1.5; cursor:help; }
.beta-poll-dot:focus { stroke:var(--beta-ink); stroke-width:3; outline:none; }
.beta-poll-details { border-top:1px solid var(--beta-border); margin-top:18px; padding-top:14px; }
.beta-poll-details>summary { cursor:pointer; font-size:13px; font-weight:650; }
.beta-poll-table { margin-top:12px; }
.beta-poll-table tr.is-selected { background:var(--beta-track); }
.beta-poll-record { display:grid; gap:4px; border:0; padding:4px 0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.beta-poll-record small { color:var(--beta-muted); }
.beta-poll-blocks .beta-block-groups { margin-top:20px; }
.beta-poll-blocks .beta-poll-period { margin-top:20px; }
.beta-poll-chart .beta-axis-label { fill:var(--beta-muted); font-size:13px; }
.beta-poll-chart .beta-block-number { font-size:16px; }
.beta-poll-chart [data-poll-point]:focus { outline:none; }
.beta-poll-chart [data-poll-point]:focus>path { stroke:var(--beta-ink); stroke-opacity:.7; }
body[data-graficos-beta="3"] #view-polls .toolbar-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; }
body[data-graficos-beta="3"] #view-polls .toolbar-fields { display:grid; grid-template-columns:minmax(140px,.7fr) minmax(160px,.8fr) minmax(220px,1.7fr); }
#view-polls .toolbar-card>.panel-meta { grid-column:2; grid-row:1; align-self:end; }
.poll-date-range { grid-column:1 / -1; }
.poll-date-range { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:end; width:100%; }
.poll-date-range .field { flex:1 1 170px; max-width:250px; }
.poll-date-range input { width:100%; }
.poll-date-range .panel-meta { flex:1 1 220px; margin:0 0 10px; line-height:1.6; }
@media(max-width:820px) { body[data-graficos-beta="3"] #view-polls .toolbar-card,body[data-graficos-beta="3"] #view-polls .toolbar-fields { grid-template-columns:minmax(0,1fr); } #view-polls .toolbar-card>.panel-meta { grid-column:1; grid-row:auto; justify-self:start; } }
@media(max-width:800px) { .beta-poll-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .beta-poll-summary-item>strong { font-size:20px; } .beta-poll-blocks+.panel { margin-top:14px; } .beta-poll-scroll-hint { display:block; } }

/* The full election archive stays at the bottom of the results view. */
.election-archive { min-width:0; }
.election-archive .panel-head { flex-wrap:wrap; gap:16px; }
.election-archive [hidden] { display:none !important; }
.election-archive .poll-snapshot-list { align-items:start; }
.election-archive .poll-snapshot { width:100%; min-width:0; text-align:left; }
.election-archive-parties { display:grid; gap:8px; margin:16px 0; }
.election-archive-row { display:grid; grid-template-columns:minmax(70px,1.4fr) repeat(3,minmax(48px,1fr)); align-items:center; gap:8px; font-size:12px; }
.election-archive-row>:not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.election-archive-row .table-party { min-width:0; overflow-wrap:anywhere; }
.election-archive-columns { color:var(--beta-muted); font-size:11px; }
@media(max-width:600px) { .election-archive .poll-snapshot-list { grid-template-columns:minmax(0,1fr); } }
