/*
 * Apuração Eleições 9.3.0 — Modern Election Dashboard
 * Public experience without maps. Gotham remains the configured project typeface.
 * Party colors are used only for candidate/election data.
 */
:root{
  --ab930-bg:#f5f7fb;
  --ab930-surface:#ffffff;
  --ab930-surface-2:#f8fafc;
  --ab930-ink:#101828;
  --ab930-text:#344054;
  --ab930-muted:#667085;
  --ab930-muted-2:#98a2b3;
  --ab930-line:#e4e7ec;
  --ab930-line-strong:#d0d5dd;
  --ab930-primary:#2563eb;
  --ab930-primary-2:#1d4ed8;
  --ab930-primary-soft:#eff6ff;
  --ab930-success:#12b76a;
  --ab930-success-soft:#ecfdf3;
  --ab930-danger:#d92d20;
  --ab930-radius:18px;
  --ab930-radius-sm:12px;
  --ab930-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 30px rgba(16,24,40,.07);
  --ab930-shadow-hover:0 14px 34px rgba(16,24,40,.11);
}

body.ab26-virtual-election-page{
  color-scheme:light!important;
  background:var(--ab930-bg)!important;
}
body.ab26-virtual-election-page .site-main.ab26-virtual-main{
  margin:0!important;
  padding:0 0 72px!important;
  background:var(--ab930-bg)!important;
  color:var(--ab930-text)!important;
  font-family:"Gotham","Gotham SSm",Arial,sans-serif!important;
}
body.ab26-virtual-election-page .ab26-route-shell,
.ab26-ui-v930{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  color:var(--ab930-text)!important;
  font-family:"Gotham","Gotham SSm",Arial,sans-serif!important;
  box-sizing:border-box!important;
}
body.ab26-virtual-election-page .ab26-route-shell *,
.ab26-ui-v930 *{box-sizing:border-box}

/* Safety: map UI is removed in 9.3.0. */
body.ab26-virtual-election-page .ab26-map-section,
body.ab26-virtual-election-page .ab26-portal-map-card,
body.ab26-virtual-election-page .ab26-state-interaction-note,
.ab26-ui-v930 .ab26-map-section{display:none!important}

/* Live strip */
body.ab26-virtual-election-page .ab26-brand-ribbon.ab26-live-ticker{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:44px!important;
  margin:0!important;
  padding:8px 2px!important;
  border:0!important;
  border-bottom:1px solid var(--ab930-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ab930-muted)!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
body.ab26-virtual-election-page .ab26-live-dot{
  width:8px!important;height:8px!important;flex:0 0 8px!important;border-radius:50%!important;
  background:#ef4444!important;box-shadow:0 0 0 0 rgba(239,68,68,.38)!important;
  animation:ab930-live 1.9s infinite!important;
}
@keyframes ab930-live{0%{box-shadow:0 0 0 0 rgba(239,68,68,.35)}70%{box-shadow:0 0 0 7px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
body.ab26-virtual-election-page .ab26-live-ticker>strong{
  display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:0 8px!important;
  border-radius:999px!important;background:#fff1f2!important;color:#be123c!important;
  font-size:10px!important;font-weight:800!important;letter-spacing:.05em!important;
}
body.ab26-virtual-election-page .ab26-live-ticker>b{
  padding:4px 8px!important;border:1px solid var(--ab930-line)!important;border-radius:999px!important;
  background:var(--ab930-surface)!important;color:var(--ab930-text)!important;font-size:9px!important;
}
body.ab26-virtual-election-page .ab26-live-clock{margin-left:auto!important;color:var(--ab930-ink)!important;font-weight:700!important}

/* Breadcrumb */
body.ab26-virtual-election-page .ab26-route-breadcrumb{
  display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;
  margin:18px 0 0!important;padding:0!important;color:var(--ab930-muted)!important;font-size:11px!important;
}
body.ab26-virtual-election-page .ab26-route-breadcrumb a{color:var(--ab930-primary)!important;text-decoration:none!important;font-weight:700!important}
body.ab26-virtual-election-page .ab26-route-breadcrumb strong{color:var(--ab930-ink)!important;font-weight:700!important}

/* Modern route hero */
body.ab26-virtual-election-page .ab26-route-hero,
.ab26-ui-v930 .ab26-election-header{
  position:relative!important;
  margin:20px 0 18px!important;
  padding:28px 30px!important;
  border:1px solid var(--ab930-line)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(37,99,235,.11),transparent 34%),
    linear-gradient(135deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:var(--ab930-shadow)!important;
  overflow:hidden!important;
}
body.ab26-virtual-election-page .ab26-route-hero{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"kicker stats" "title stats" "sub stats"!important;gap:7px 28px!important;align-items:center!important;
}
body.ab26-virtual-election-page .ab26-route-hero>p,
.ab26-ui-v930 .ab26-election-header .ab26-kicker{
  grid-area:kicker!important;margin:0 0 4px!important;color:var(--ab930-primary)!important;
  font-size:10px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;
}
body.ab26-virtual-election-page .ab26-route-hero>h1,
.ab26-ui-v930 .ab26-election-header h2{
  grid-area:title!important;margin:0!important;color:var(--ab930-ink)!important;
  font-size:clamp(30px,4.2vw,50px)!important;line-height:1.04!important;font-weight:900!important;letter-spacing:-.045em!important;text-transform:none!important;
}
body.ab26-virtual-election-page .ab26-route-hero>span,
.ab26-ui-v930 .ab26-page-subtitle{
  grid-area:sub!important;display:block!important;max-width:740px!important;margin:4px 0 0!important;
  color:var(--ab930-muted)!important;font-size:13px!important;line-height:1.55!important;
}
body.ab26-virtual-election-page .ab26-route-stats{
  grid-area:stats!important;display:grid!important;grid-template-columns:repeat(3,minmax(100px,1fr))!important;gap:10px!important;margin:0!important;padding:0!important;
}
body.ab26-virtual-election-page .ab26-route-stats>div{
  min-width:100px!important;padding:13px 14px!important;border:1px solid var(--ab930-line)!important;border-radius:14px!important;
  background:rgba(255,255,255,.82)!important;text-align:left!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}
body.ab26-virtual-election-page .ab26-route-stats strong{display:block!important;margin-top:5px!important;color:var(--ab930-ink)!important;font-size:22px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.035em!important}
body.ab26-virtual-election-page .ab26-route-stats small{color:var(--ab930-muted)!important;font-size:8.5px!important;font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase!important}
body.ab26-virtual-election-page .ab26-route-state-flag{width:22px!important;height:15px!important;border-radius:3px!important;object-fit:cover!important;margin-right:6px!important}

/* Generic shortcode header */
.ab26-ui-v930{background:transparent!important;color-scheme:light!important}
.ab26-ui-v930 .ab26-election-header{padding:25px 28px!important}
.ab26-ui-v930 .ab26-public-brandline{display:none!important}
.ab26-ui-v930 .ab26-header-meta{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important;margin-top:15px!important;color:var(--ab930-muted-2)!important;font-size:9px!important}

/* Office/turn navigation */
body.ab26-virtual-election-page .ab26-route-office-tabs,
.ab26-ui-v930 .ab26-election-navigation{
  display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 16px!important;padding:6px!important;
  border:1px solid var(--ab930-line)!important;border-radius:16px!important;background:var(--ab930-surface)!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
  overflow-x:auto!important;scrollbar-width:none!important;
}
body.ab26-virtual-election-page .ab26-route-office-tabs::-webkit-scrollbar,.ab26-ui-v930 .ab26-office-tabs::-webkit-scrollbar{display:none}
body.ab26-virtual-election-page .ab26-route-office-tabs a,
.ab26-ui-v930 .ab26-office-tabs button{
  flex:0 0 auto!important;min-height:38px!important;padding:0 14px!important;border:0!important;border-radius:10px!important;
  background:transparent!important;color:var(--ab930-muted)!important;font-family:inherit!important;font-size:11px!important;font-weight:700!important;line-height:38px!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important;
}
body.ab26-virtual-election-page .ab26-route-office-tabs a:hover,.ab26-ui-v930 .ab26-office-tabs button:hover{background:var(--ab930-surface-2)!important;color:var(--ab930-ink)!important}
body.ab26-virtual-election-page .ab26-route-office-tabs a.is-active,.ab26-ui-v930 .ab26-office-tabs button.is-active{background:var(--ab930-primary)!important;color:#fff!important}
.ab26-ui-v930 .ab26-office-tabs{display:flex!important;gap:5px!important;overflow-x:auto!important;min-width:0!important}
.ab26-ui-v930 .ab26-turn-tabs{display:flex!important;flex:0 0 auto!important;gap:3px!important;margin-left:auto!important;padding:3px!important;border:1px solid var(--ab930-line)!important;border-radius:11px!important;background:var(--ab930-surface-2)!important}
.ab26-ui-v930 .ab26-turn-tabs button{min-height:31px!important;padding:0 11px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--ab930-muted)!important;font-family:inherit!important;font-size:9.5px!important;font-weight:800!important;line-height:31px!important}
.ab26-ui-v930 .ab26-turn-tabs button.is-active{background:var(--ab930-surface)!important;color:var(--ab930-primary)!important;box-shadow:0 1px 3px rgba(16,24,40,.08)!important}

/* Filters */
.ab26-ui-v930 .ab26-filter-section{
  margin:0 0 16px!important;padding:18px!important;border:1px solid var(--ab930-line)!important;border-radius:18px!important;
  background:var(--ab930-surface)!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}
.ab26-ui-v930 .ab26-filter-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 14px!important;padding:0!important;border:0!important;background:transparent!important}
.ab26-ui-v930 .ab26-filter-heading p{margin:0 0 3px!important;color:var(--ab930-primary)!important;font-size:8.5px!important;font-weight:900!important;letter-spacing:.08em!important}
.ab26-ui-v930 .ab26-filter-heading h3{margin:0!important;color:var(--ab930-ink)!important;font-size:14px!important;font-weight:850!important;letter-spacing:-.015em!important}
.ab26-ui-v930 .ab26-filter-heading>span{color:var(--ab930-muted)!important;font-size:9px!important}
.ab26-ui-v930 .ab26-filters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:end!important}
.ab26-ui-v930 .ab26-filters label{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;margin:0!important}
.ab26-ui-v930 .ab26-filters label>span{color:var(--ab930-muted)!important;font-size:8.5px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.ab26-ui-v930 .ab26-filters select,.ab26-ui-v930 .ab26-filters input,.ab26-ui-v930 .ab26-result-tools input{
  width:100%!important;min-height:42px!important;margin:0!important;padding:0 12px!important;border:1px solid var(--ab930-line-strong)!important;border-radius:11px!important;
  background:var(--ab930-surface)!important;color:var(--ab930-ink)!important;font-family:inherit!important;font-size:11px!important;font-weight:600!important;line-height:1.2!important;box-shadow:0 1px 2px rgba(16,24,40,.02)!important;
}
.ab26-ui-v930 .ab26-filters select:focus,.ab26-ui-v930 .ab26-filters input:focus,.ab26-ui-v930 .ab26-result-tools input:focus{outline:0!important;border-color:#84adff!important;box-shadow:0 0 0 3px rgba(37,99,235,.10)!important}
.ab26-ui-v930 .ab26-control-hidden{display:none!important}

/* Result area */
.ab26-ui-v930 .ab26-public-content{display:block!important;margin:0!important;padding:0!important}
.ab26-ui-v930 .ab26-results-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;min-width:0!important}
.ab26-ui-v930 .ab26-result-section{
  margin:0!important;padding:0!important;border:1px solid var(--ab930-line)!important;border-radius:20px!important;
  background:var(--ab930-surface)!important;box-shadow:var(--ab930-shadow)!important;overflow:hidden!important;
}
.ab26-ui-v930 .ab26-section-titlebar{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  padding:20px 22px!important;border:0!important;border-bottom:1px solid var(--ab930-line)!important;background:var(--ab930-surface)!important;
}
.ab26-ui-v930 .ab26-result-heading p{margin:0 0 4px!important;color:var(--ab930-primary)!important;font-size:8.5px!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.ab26-ui-v930 .ab26-result-heading h3{margin:0!important;color:var(--ab930-ink)!important;font-size:22px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:-.035em!important}
.ab26-ui-v930 .ab26-result-actions{display:flex!important;align-items:center!important;gap:8px!important}
.ab26-ui-v930 .ab26-result-status{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:34px!important;padding:0 11px!important;border:1px solid #bfdbfe!important;border-radius:999px!important;background:var(--ab930-primary-soft)!important;color:var(--ab930-primary)!important;font-size:9px!important;font-weight:850!important;white-space:nowrap!important}
.ab26-ui-v930 .ab26-result-status:before{content:""!important;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--ab930-primary)!important}
.ab26-ui-v930 .ab26-refresh-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;padding:0 13px!important;border:1px solid var(--ab930-line-strong)!important;border-radius:10px!important;background:var(--ab930-surface)!important;color:var(--ab930-text)!important;font-family:inherit!important;font-size:10px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;transition:.16s ease!important}
.ab26-ui-v930 .ab26-refresh-button:hover{border-color:#b2c7f9!important;background:var(--ab930-primary-soft)!important;color:var(--ab930-primary)!important;transform:translateY(-1px)!important}
.ab26-ui-v930 .ab26-refresh-button:disabled{opacity:.55!important;cursor:wait!important;transform:none!important}
.ab26-ui-v930 .ab26-refresh-button svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ab26-ui-v930 .ab26-refresh-button.is-loading svg{animation:ab930-spin .7s linear infinite!important}
@keyframes ab930-spin{to{transform:rotate(360deg)}}

/* Totalization summary */
.ab26-ui-v930 .ab26-progress-block{
  display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;align-items:center!important;gap:22px!important;
  margin:16px 18px 4px!important;padding:16px 18px!important;border:1px solid #dbeafe!important;border-radius:15px!important;background:linear-gradient(135deg,#f8fbff,#eff6ff)!important;
}
.ab26-ui-v930 .ab26-progress-copy{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important}
.ab26-ui-v930 .ab26-progress-copy>strong{color:var(--ab930-primary)!important;font-size:28px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.05em!important;font-variant-numeric:tabular-nums!important}
.ab26-ui-v930 .ab26-progress-copy>span{color:var(--ab930-muted)!important;font-size:8.5px!important;line-height:1.25!important;font-weight:700!important}
.ab26-ui-v930 .ab26-progress-copy small{display:block!important;margin-top:3px!important;color:var(--ab930-muted-2)!important;font-size:8.5px!important;font-weight:650!important}
.ab26-ui-v930 .ab26-progress{height:9px!important;margin:0!important;border:0!important;border-radius:999px!important;background:#dbeafe!important;overflow:hidden!important}
.ab26-ui-v930 .ab26-progress>span{display:block!important;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,var(--ab930-primary),#60a5fa)!important;transition:width .8s cubic-bezier(.16,1,.3,1)!important}

/* Candidate cards */
.ab26-ui-v930 .ab26-race-list-v930{
  display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important;padding:14px 18px 18px!important;border:0!important;background:var(--ab930-surface)!important;
}
.ab26-ui-v930 .ab26-race-row-v930{
  position:relative!important;display:grid!important;grid-template-columns:38px 86px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;
  min-height:126px!important;margin:0!important;padding:16px 18px!important;border:1px solid var(--ab930-line)!important;border-radius:16px!important;
  background:var(--ab930-surface)!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;overflow:hidden!important;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.ab26-ui-v930 .ab26-race-row-v930:before{content:""!important;position:absolute!important;left:0!important;top:13px!important;bottom:13px!important;width:4px!important;border-radius:0 6px 6px 0!important;background:var(--ab26-candidate-color,#98a2b3)!important}
.ab26-ui-v930 .ab26-race-row-v930:hover{border-color:#cbd5e1!important;box-shadow:var(--ab930-shadow-hover)!important;transform:translateY(-1px)!important}
.ab26-ui-v930 .ab26-race-rank-v930{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;margin:0!important;border:1px solid var(--ab930-line)!important;border-radius:10px!important;background:var(--ab930-surface-2)!important;color:var(--ab930-muted)!important;font-size:10px!important;font-weight:900!important;font-variant-numeric:tabular-nums!important}

.ab26-ui-v930 .ab26-race-photo-v930{position:relative!important;display:grid!important;place-items:center!important;width:82px!important;height:82px!important;margin:0!important}
.ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring{position:absolute!important;inset:0!important;width:82px!important;height:82px!important;overflow:visible!important;transform:rotate(-90deg)!important}
.ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring-track,.ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring-value{fill:none!important;stroke-width:3.6!important;vector-effect:non-scaling-stroke!important}
.ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring-track{stroke:#eef2f6!important}
.ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring-value{stroke:var(--ab26-candidate-color,#98a2b3)!important;stroke-linecap:round!important;stroke-dasharray:100!important;stroke-dashoffset:100!important;animation:ab930-ring 1.05s cubic-bezier(.16,1,.3,1) .08s forwards!important}
@keyframes ab930-ring{to{stroke-dashoffset:var(--ab26-ring-offset,100)}}
.ab26-ui-v930 .ab26-race-photo-v930 .ab26-avatar{position:relative!important;display:grid!important;place-items:center!important;width:65px!important;height:65px!important;min-width:65px!important;margin:0!important;border:3px solid #fff!important;border-radius:50%!important;background:#f2f4f7!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(16,24,40,.14)!important;color:var(--ab26-candidate-color,var(--ab930-muted))!important;font-size:20px!important;font-weight:900!important}
.ab26-ui-v930 .ab26-race-photo-v930 .ab26-avatar img{display:block!important;width:100%!important;height:100%!important;margin:0!important;border:0!important;border-radius:50%!important;object-fit:cover!important;object-position:center top!important}

.ab26-ui-v930 .ab26-race-main-v930{display:block!important;min-width:0!important;width:100%!important}
.ab26-ui-v930 .ab26-race-top-v930{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin:0 0 13px!important}
.ab26-ui-v930 .ab26-race-identity-v930{min-width:0!important;flex:1 1 auto!important}
.ab26-ui-v930 .ab26-race-name-v930{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;margin:0!important}
.ab26-ui-v930 .ab26-race-name-v930 h4{min-width:0!important;margin:0!important;color:var(--ab26-candidate-color,var(--ab930-ink))!important;font-size:17px!important;line-height:1.18!important;font-weight:900!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-transform:uppercase!important}
.ab26-ui-v930 .ab26-race-name-v930 .ab26-number{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:32px!important;height:24px!important;padding:0 7px!important;border-radius:7px!important;background:color-mix(in srgb,var(--ab26-candidate-color,#98a2b3) 10%,white)!important;color:var(--ab26-candidate-color,var(--ab930-ink))!important;font-size:10px!important;font-weight:900!important;font-variant-numeric:tabular-nums!important}
.ab26-ui-v930 .ab26-race-identity-v930 p{margin:6px 0 0!important;color:var(--ab930-muted)!important;font-size:9px!important;line-height:1.3!important;font-weight:650!important}
.ab26-ui-v930 .ab26-race-identity-v930 p strong{color:var(--ab26-candidate-color,var(--ab930-text))!important;font-weight:900!important}
.ab26-ui-v930 .ab26-elected-badge{display:inline-flex!important;align-items:center!important;margin-top:7px!important;padding:4px 7px!important;border:1px solid #abefc6!important;border-radius:999px!important;background:var(--ab930-success-soft)!important;color:#067647!important;font-size:8px!important;font-weight:850!important}
.ab26-ui-v930 .ab26-race-score-v930{flex:0 0 auto!important;min-width:130px!important;text-align:right!important}
.ab26-ui-v930 .ab26-race-score-v930 strong{display:block!important;margin:0!important;color:var(--ab26-candidate-color,var(--ab930-ink))!important;font-size:27px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.05em!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
.ab26-ui-v930 .ab26-race-score-v930 span{display:block!important;margin-top:6px!important;color:var(--ab26-candidate-color,var(--ab930-muted))!important;font-size:9px!important;line-height:1.2!important;font-weight:800!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
.ab26-ui-v930 .ab26-race-track-v930{position:relative!important;width:100%!important;height:8px!important;margin:0!important;border:0!important;border-radius:999px!important;background:#eef2f6!important;overflow:hidden!important}
.ab26-ui-v930 .ab26-race-track-v930>span{display:block!important;height:100%!important;min-width:2px!important;border-radius:999px!important;background:var(--ab26-candidate-color,#98a2b3)!important;transition:width 1s cubic-bezier(.16,1,.3,1)!important}

/* Vote KPIs */
.ab26-ui-v930 .ab26-race-metrics-v930{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0!important;padding:0 18px 18px!important;background:var(--ab930-surface)!important}
.ab26-ui-v930 .ab26-race-metrics-v930 .ab26-stat{display:flex!important;flex-direction:column!important;gap:5px!important;min-height:78px!important;margin:0!important;padding:13px 14px!important;border:1px solid var(--ab930-line)!important;border-radius:13px!important;background:var(--ab930-surface-2)!important;box-shadow:none!important}
.ab26-ui-v930 .ab26-race-metrics-v930 .ab26-stat span{order:1!important;color:var(--ab930-muted)!important;font-size:8.5px!important;font-weight:750!important}
.ab26-ui-v930 .ab26-race-metrics-v930 .ab26-stat strong{order:0!important;color:var(--ab930-ink)!important;font-size:18px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.035em!important;font-variant-numeric:tabular-nums!important}
.ab26-ui-v930 .ab26-race-metrics-v930 .ab26-stat small{order:2!important;color:var(--ab930-muted-2)!important;font-size:8px!important}

/* Result helper/search */
.ab26-ui-v930 .ab26-result-tools{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:12px 18px!important;border-top:1px solid var(--ab930-line)!important;background:var(--ab930-surface)!important}
.ab26-ui-v930 .ab26-result-tools strong{color:var(--ab930-ink)!important;font-size:10px!important;font-weight:900!important}
.ab26-ui-v930 .ab26-result-tools span{color:var(--ab930-muted)!important;font-size:8.5px!important}

/* Timeline/history */
.ab26-ui-v930 .ab26-history-section{margin:0!important;padding:0!important}
.ab26-ui-v930 .ab26-timeline-section,.ab26-ui-v930 .ab26-history-section>*{
  margin:0!important;border:1px solid var(--ab930-line)!important;border-radius:18px!important;background:var(--ab930-surface)!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;overflow:hidden!important;
}
.ab26-ui-v930 .ab26-history-section .ab26-section-heading,.ab26-ui-v930 .ab26-timeline-section .ab26-section-heading{padding:16px 18px!important;border-bottom:1px solid var(--ab930-line)!important;background:var(--ab930-surface)!important}
.ab26-ui-v930 .ab26-timeline,.ab26-ui-v930 .ab26-history-list{display:flex!important;gap:8px!important;padding:12px!important;overflow-x:auto!important;background:var(--ab930-surface-2)!important}
.ab26-ui-v930 .ab26-timeline>*,.ab26-ui-v930 .ab26-history-list>*{flex:1 0 145px!important;padding:12px!important;border:1px solid var(--ab930-line)!important;border-radius:11px!important;background:#fff!important}

/* Footer and notices */
.ab26-ui-v930 .ab26-footer{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;gap:10px!important;margin:16px 0 0!important;padding:14px 2px!important;border:0!important;background:transparent!important;color:var(--ab930-muted-2)!important;font-size:9px!important;box-shadow:none!important}
.ab26-ui-v930 .ab26-footer a{color:var(--ab930-primary)!important;text-decoration:none!important;font-weight:700!important}
.ab26-ui-v930 .ab26-demo-warning{margin:0 0 12px!important;padding:10px 12px!important;border:1px solid #fedf89!important;border-radius:11px!important;background:#fffaeb!important;color:#93370d!important;font-size:9px!important}
.ab26-ui-v930 .ab26-empty{padding:30px!important;border:1px dashed var(--ab930-line-strong)!important;border-radius:16px!important;background:var(--ab930-surface-2)!important;text-align:center!important;color:var(--ab930-muted)!important}
.ab26-ui-v930 .ab26-empty strong{display:block!important;margin-bottom:5px!important;color:var(--ab930-ink)!important;font-size:14px!important}

/* Tables/secondary result blocks */
.ab26-ui-v930 .ab26-party-summary,.ab26-ui-v930 .ab26-result-details,.ab26-ui-v930 .ab26-result-party{margin:16px 18px 18px!important;border:1px solid var(--ab930-line)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
.ab26-ui-v930 table{width:100%!important;border-collapse:collapse!important;background:#fff!important;color:var(--ab930-text)!important;font-size:9px!important}
.ab26-ui-v930 th{padding:10px 12px!important;background:var(--ab930-surface-2)!important;color:var(--ab930-muted)!important;font-size:8px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.04em!important;text-align:left!important}
.ab26-ui-v930 td{padding:10px 12px!important;border-top:1px solid var(--ab930-line)!important}

/* ===== Portal/home ===== */
body.ab26-virtual-election-page .ab26-election-portal{padding-top:0!important}
body.ab26-virtual-election-page .ab26-portal-rail-section,
body.ab26-virtual-election-page .ab26-capitals-section,
body.ab26-virtual-election-page .ab26-state-directory,
body.ab26-virtual-election-page .ab26-party-summary,
body.ab26-virtual-election-page .ab26-city-directory{
  margin:18px 0 0!important;padding:22px!important;border:1px solid var(--ab930-line)!important;border-radius:20px!important;background:var(--ab930-surface)!important;box-shadow:var(--ab930-shadow)!important;
}
body.ab26-virtual-election-page .ab26-portal-section-head,
body.ab26-virtual-election-page .ab26-state-directory>header,
body.ab26-virtual-election-page .ab26-party-summary>header,
body.ab26-virtual-election-page .ab26-city-directory>header{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important;margin:0 0 16px!important;padding:0!important;border:0!important;background:transparent!important;
}
body.ab26-virtual-election-page .ab26-portal-section-head p{margin:0 0 4px!important;color:var(--ab930-primary)!important;font-size:8.5px!important;font-weight:900!important;letter-spacing:.08em!important}
body.ab26-virtual-election-page .ab26-portal-section-head h2,
body.ab26-virtual-election-page .ab26-state-directory h2,
body.ab26-virtual-election-page .ab26-party-summary h2,
body.ab26-virtual-election-page .ab26-city-directory h2{margin:0!important;color:var(--ab930-ink)!important;font-size:21px!important;line-height:1.15!important;font-weight:900!important;letter-spacing:-.035em!important}
body.ab26-virtual-election-page .ab26-portal-section-head span,
body.ab26-virtual-election-page .ab26-state-directory p,
body.ab26-virtual-election-page .ab26-party-summary p,
body.ab26-virtual-election-page .ab26-city-directory p{margin:5px 0 0!important;color:var(--ab930-muted)!important;font-size:10px!important}

/* Home result cards */
body.ab26-virtual-election-page .ab26-home-widget{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.ab26-virtual-election-page .ab26-home-rail{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
body.ab26-virtual-election-page .ab26-home-card{position:relative!important;min-width:0!important;margin:0!important;padding:16px!important;border:1px solid var(--ab930-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;transition:.16s ease!important;overflow:hidden!important}
body.ab26-virtual-election-page .ab26-home-card:hover{border-color:#cbd5e1!important;box-shadow:var(--ab930-shadow-hover)!important;transform:translateY(-2px)!important}
body.ab26-virtual-election-page .ab26-home-map-link{display:inline-flex!important;align-items:center!important;gap:6px!important;margin-top:14px!important;color:var(--ab930-primary)!important;font-size:9px!important;font-weight:850!important;text-decoration:none!important}

/* Capital cards */
body.ab26-virtual-election-page .ab26-capitals-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
body.ab26-virtual-election-page .ab26-capital-card{display:block!important;min-width:0!important;padding:16px!important;border:1px solid var(--ab930-line)!important;border-radius:16px!important;background:#fff!important;color:var(--ab930-text)!important;text-decoration:none!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;transition:.16s ease!important}
body.ab26-virtual-election-page .ab26-capital-card:hover{border-color:#cbd5e1!important;box-shadow:var(--ab930-shadow-hover)!important;transform:translateY(-2px)!important}
body.ab26-virtual-election-page .ab26-capital-card h3{margin:7px 0 12px!important;color:var(--ab930-ink)!important;font-size:17px!important;font-weight:900!important;letter-spacing:-.025em!important}
body.ab26-virtual-election-page .ab26-capital-card-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;color:var(--ab930-muted)!important;font-size:8.5px!important}
body.ab26-virtual-election-page .ab26-capital-card-top>span{display:inline-flex!important;padding:4px 7px!important;border-radius:7px!important;background:var(--ab930-primary-soft)!important;color:var(--ab930-primary)!important;font-weight:900!important}
body.ab26-virtual-election-page .ab26-capital-leader{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}
body.ab26-virtual-election-page .ab26-capital-portrait{position:relative!important;display:grid!important;place-items:center!important;width:56px!important;height:56px!important}
body.ab26-virtual-election-page .ab26-capital-portrait .ab26-vote-ring{position:absolute!important;inset:0!important;width:56px!important;height:56px!important;transform:rotate(-90deg)!important}
body.ab26-virtual-election-page .ab26-capital-portrait .ab26-vote-ring-track,body.ab26-virtual-election-page .ab26-capital-portrait .ab26-vote-ring-value{fill:none!important;stroke-width:3!important}
body.ab26-virtual-election-page .ab26-capital-portrait .ab26-vote-ring-track{stroke:#eef2f6!important}
body.ab26-virtual-election-page .ab26-capital-portrait .ab26-vote-ring-value{stroke:var(--ab26-capital-party,#98a2b3)!important;stroke-dasharray:100!important;stroke-dashoffset:100!important;stroke-linecap:round!important;animation:ab930-cap-ring 1s cubic-bezier(.16,1,.3,1) forwards!important}
@keyframes ab930-cap-ring{to{stroke-dashoffset:var(--ab26-ring-offset,100)}}
body.ab26-virtual-election-page .ab26-capital-avatar{width:44px!important;height:44px!important;border:2px solid #fff!important;border-radius:50%!important;background:#f2f4f7!important;overflow:hidden!important;box-shadow:0 2px 6px rgba(16,24,40,.12)!important}
body.ab26-virtual-election-page .ab26-capital-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
body.ab26-virtual-election-page .ab26-capital-leader strong{display:block!important;color:var(--ab930-ink)!important;font-size:11px!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.ab26-virtual-election-page .ab26-capital-leader span,body.ab26-virtual-election-page .ab26-capital-leader small{display:block!important;color:var(--ab930-muted)!important;font-size:8px!important}
body.ab26-virtual-election-page .ab26-capital-leader>b{color:var(--ab26-capital-party,var(--ab930-ink))!important;font-size:16px!important;font-weight:900!important}
body.ab26-virtual-election-page .ab26-capital-progress{height:6px!important;margin:13px 0!important;border-radius:999px!important;background:#eef2f6!important;overflow:hidden!important}
body.ab26-virtual-election-page .ab26-capital-progress i{display:block!important;height:100%!important;border-radius:999px!important;background:var(--ab930-primary)!important}
body.ab26-virtual-election-page .ab26-capital-card footer{display:flex!important;align-items:center!important;justify-content:space-between!important;padding-top:10px!important;border-top:1px solid var(--ab930-line)!important;color:var(--ab930-primary)!important;font-size:9px!important;font-weight:800!important}

/* State / city directories */
body.ab26-virtual-election-page .ab26-state-directory>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
body.ab26-virtual-election-page .ab26-state-directory>div>a,
body.ab26-virtual-election-page .ab26-city-directory>div>a{display:flex!important;align-items:center!important;gap:10px!important;min-height:58px!important;padding:11px 13px!important;border:1px solid var(--ab930-line)!important;border-radius:13px!important;background:#fff!important;color:var(--ab930-text)!important;text-decoration:none!important;transition:.15s ease!important}
body.ab26-virtual-election-page .ab26-state-directory>div>a:hover,body.ab26-virtual-election-page .ab26-city-directory>div>a:hover{border-color:#bfd0f8!important;background:#fbfdff!important;transform:translateY(-1px)!important}
body.ab26-virtual-election-page .ab26-state-directory-flag{width:28px!important;height:20px!important;border-radius:4px!important;object-fit:cover!important}
body.ab26-virtual-election-page .ab26-state-directory small,body.ab26-virtual-election-page .ab26-city-directory small{display:block!important;color:var(--ab930-primary)!important;font-size:8px!important;font-weight:900!important}
body.ab26-virtual-election-page .ab26-state-directory span,body.ab26-virtual-election-page .ab26-city-directory strong{color:var(--ab930-ink)!important;font-size:10px!important;font-weight:800!important}
body.ab26-virtual-election-page .ab26-city-directory>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
body.ab26-virtual-election-page .ab26-city-filter{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 14px!important;padding:0 12px!important;min-height:42px!important;border:1px solid var(--ab930-line-strong)!important;border-radius:11px!important;background:#fff!important}
body.ab26-virtual-election-page .ab26-city-filter input{width:100%!important;border:0!important;outline:0!important;background:transparent!important;font-family:inherit!important;font-size:11px!important;font-weight:600!important;line-height:1.2!important}

/* Party summary */
body.ab26-virtual-election-page .ab26-party-summary>div{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
body.ab26-virtual-election-page .ab26-party-summary article{display:grid!important;grid-template-columns:8px minmax(0,1fr)!important;gap:4px 8px!important;padding:12px!important;border:1px solid var(--ab930-line)!important;border-radius:12px!important;background:var(--ab930-surface-2)!important}
body.ab26-virtual-election-page .ab26-party-summary article i{grid-row:1/3!important;width:8px!important;height:100%!important;min-height:32px!important;border-radius:999px!important;background:var(--party-color,#98a2b3)!important}
body.ab26-virtual-election-page .ab26-party-summary article strong{color:var(--ab930-ink)!important;font-size:11px!important;font-weight:900!important}
body.ab26-virtual-election-page .ab26-party-summary article span{color:var(--ab930-muted)!important;font-size:8px!important}
body.ab26-virtual-election-page .ab26-state-view-tabs{display:flex!important;gap:6px!important;margin:0 0 14px!important;padding:5px!important;border:1px solid var(--ab930-line)!important;border-radius:13px!important;background:#fff!important}
body.ab26-virtual-election-page .ab26-state-view-tabs a{padding:9px 12px!important;border-radius:9px!important;color:var(--ab930-muted)!important;text-decoration:none!important;font-size:9px!important;font-weight:800!important}
body.ab26-virtual-election-page .ab26-state-view-tabs a.is-active{background:var(--ab930-primary-soft)!important;color:var(--ab930-primary)!important}

/* Responsive */
@media (max-width:980px){
  body.ab26-virtual-election-page .ab26-route-hero{grid-template-columns:1fr!important;grid-template-areas:"kicker" "title" "sub" "stats"!important}
  body.ab26-virtual-election-page .ab26-route-stats{margin-top:14px!important}
  .ab26-ui-v930 .ab26-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ab26-virtual-election-page .ab26-home-rail,body.ab26-virtual-election-page .ab26-capitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ab26-virtual-election-page .ab26-state-directory>div,body.ab26-virtual-election-page .ab26-city-directory>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ab26-virtual-election-page .ab26-party-summary>div{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:700px){
  body.ab26-virtual-election-page .ab26-route-shell,.ab26-ui-v930{width:calc(100% - 20px)!important}
  body.ab26-virtual-election-page .ab26-live-ticker{font-size:9px!important}
  body.ab26-virtual-election-page .ab26-live-ticker .ab26-live-sep,body.ab26-virtual-election-page .ab26-live-ticker>span:not(.ab26-live-dot):not(.ab26-live-clock){display:none!important}
  body.ab26-virtual-election-page .ab26-route-hero,.ab26-ui-v930 .ab26-election-header{padding:20px!important;border-radius:17px!important}
  body.ab26-virtual-election-page .ab26-route-stats{grid-template-columns:repeat(3,1fr)!important;gap:6px!important}
  body.ab26-virtual-election-page .ab26-route-stats>div{min-width:0!important;padding:10px!important}
  body.ab26-virtual-election-page .ab26-route-stats strong{font-size:17px!important}
  .ab26-ui-v930 .ab26-election-navigation{align-items:flex-start!important;flex-direction:column!important;padding:6px!important}
  .ab26-ui-v930 .ab26-turn-tabs{margin-left:0!important}
  .ab26-ui-v930 .ab26-filters{grid-template-columns:1fr!important}
  .ab26-ui-v930 .ab26-filter-heading{align-items:flex-start!important;flex-direction:column!important}
  .ab26-ui-v930 .ab26-section-titlebar{align-items:flex-start!important;flex-direction:column!important;padding:16px!important}
  .ab26-ui-v930 .ab26-result-actions{width:100%!important;justify-content:space-between!important}
  .ab26-ui-v930 .ab26-progress-block{grid-template-columns:1fr!important;gap:10px!important;margin:12px!important;padding:14px!important}
  .ab26-ui-v930 .ab26-race-list-v930{padding:10px 12px 14px!important}
  .ab26-ui-v930 .ab26-race-row-v930{grid-template-columns:28px 68px minmax(0,1fr)!important;gap:9px!important;min-height:108px!important;padding:12px 10px!important;border-radius:13px!important}
  .ab26-ui-v930 .ab26-race-rank-v930{width:28px!important;height:28px!important;border-radius:8px!important;font-size:8px!important}
  .ab26-ui-v930 .ab26-race-photo-v930,.ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring{width:64px!important;height:64px!important}
  .ab26-ui-v930 .ab26-race-photo-v930 .ab26-avatar{width:50px!important;height:50px!important;min-width:50px!important}
  .ab26-ui-v930 .ab26-race-top-v930{gap:7px!important;margin-bottom:9px!important}
  .ab26-ui-v930 .ab26-race-name-v930{gap:5px!important}
  .ab26-ui-v930 .ab26-race-name-v930 h4{font-size:12px!important}
  .ab26-ui-v930 .ab26-race-name-v930 .ab26-number{height:20px!important;min-width:26px!important;padding:0 5px!important;font-size:8px!important}
  .ab26-ui-v930 .ab26-race-identity-v930 p{margin-top:4px!important;font-size:7.5px!important}
  .ab26-ui-v930 .ab26-race-score-v930{min-width:74px!important}
  .ab26-ui-v930 .ab26-race-score-v930 strong{font-size:18px!important}
  .ab26-ui-v930 .ab26-race-score-v930 span{font-size:7px!important}
  .ab26-ui-v930 .ab26-race-metrics-v930{grid-template-columns:1fr 1fr!important;padding:0 12px 14px!important}
  body.ab26-virtual-election-page .ab26-portal-rail-section,body.ab26-virtual-election-page .ab26-capitals-section,body.ab26-virtual-election-page .ab26-state-directory,body.ab26-virtual-election-page .ab26-party-summary,body.ab26-virtual-election-page .ab26-city-directory{padding:15px!important;border-radius:16px!important}
  body.ab26-virtual-election-page .ab26-home-rail,body.ab26-virtual-election-page .ab26-capitals-grid,body.ab26-virtual-election-page .ab26-state-directory>div,body.ab26-virtual-election-page .ab26-city-directory>div{grid-template-columns:1fr!important}
  body.ab26-virtual-election-page .ab26-party-summary>div{grid-template-columns:1fr 1fr!important}
}
@media (max-width:430px){
  .ab26-ui-v930 .ab26-race-row-v930{grid-template-columns:24px 58px minmax(0,1fr)!important}
  .ab26-ui-v930 .ab26-race-photo-v930,.ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring{width:56px!important;height:56px!important}
  .ab26-ui-v930 .ab26-race-photo-v930 .ab26-avatar{width:43px!important;height:43px!important;min-width:43px!important}
  .ab26-ui-v930 .ab26-race-name-v930 h4{font-size:11px!important}
  .ab26-ui-v930 .ab26-race-score-v930 strong{font-size:16px!important}
  .ab26-ui-v930 .ab26-refresh-button span{display:none!important}
  .ab26-ui-v930 .ab26-refresh-button{width:38px!important;padding:0!important}
}
@media (prefers-reduced-motion:reduce){
  .ab26-ui-v930 .ab26-race-photo-v930 .ab26-vote-ring-value,body.ab26-virtual-election-page .ab26-capital-portrait .ab26-vote-ring-value{animation:none!important;stroke-dashoffset:var(--ab26-ring-offset,100)!important}
  .ab26-ui-v930 .ab26-race-track-v930>span,.ab26-ui-v930 .ab26-progress>span{transition:none!important}
}

/* Embedded route shortcodes must fill the route container. */
body.ab26-virtual-election-page .ab26-route-result>.ab26-ui-v930,
body.ab26-virtual-election-page .ab26-state-interactive-results>.ab26-ui-v930{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
