:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f6;--surface:#fff;--surface-strong:#f0f3f2;--ink:#18211d;--muted:#65716b;--line:#d7ddda;--soft-line:#e8ecea;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#dff3ef;--blue:#2563eb;--success:#067647;--success-soft:#dcfce7;--warning:#a15c00;--warning-soft:#fff4d6;--danger:#b42318;--danger-soft:#fee4e2;--shadow:0 20px 55px #15201c17;--radius:8px;--sidebar-width:280px;--sidebar-collapsed-width:92px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#151815;--surface:#1f241f;--surface-strong:#252b26;--ink:#edf2ef;--muted:#aab5ae;--line:#3a423d;--soft-line:#303730;--accent:#2dd4bf;--accent-strong:#99f6e4;--accent-soft:#123d38;--blue:#8ab4ff;--success:#86efac;--success-soft:#173823;--warning:#f8c46c;--warning-soft:#3e2c13;--danger:#fda29b;--danger-soft:#431d1b;--shadow:0 18px 46px #00000040}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-page{place-items:center;min-height:100vh;padding:20px;display:grid}.login-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow);gap:22px;padding:clamp(20px,5vw,34px);display:grid}.login-panel h1{margin:4px 0 8px;font-size:2rem;line-height:1.12}.login-panel p,.role-topbar p{color:var(--muted);margin:0}.login-form{gap:14px;display:grid}.login-error{border-radius:var(--radius);background:var(--danger-soft);margin:0;padding:12px;font-weight:800;color:var(--danger)!important}.role-shell{min-height:100vh}.role-shell--list-rep{height:100dvh;min-height:100dvh;overflow:hidden}.role-shell--list-rep .vote-layout,.role-shell--list-rep .list-rep-kiosk{height:100%;min-height:100%;overflow:hidden}.role-shell--list-rep,.role-shell--list-rep *{overscroll-behavior:none;-webkit-overflow-scrolling:auto}.role-shell--list-rep{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.role-topbar,.admin-session-strip{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,3vw,32px);display:flex}.role-topbar h1{margin:2px 0;font-size:1.35rem}.admin-session-strip{min-height:auto;color:var(--muted);justify-content:space-between;align-items:center;font-size:.85rem;display:flex;gap:8px!important;padding:4px 12px!important}.vote-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}.vote-field input{font-weight:900}.floating-actions{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:flex-end;gap:10px;padding:12px;display:flex;position:sticky;bottom:16px}.vote-layout{align-content:start;gap:18px;min-height:calc(100vh - 92px);padding:clamp(16px,3vw,32px);display:grid}.list-rep-simple{gap:clamp(18px,3vw,28px)}.list-rep-kiosk{align-content:stretch;min-height:calc(100vh - 92px);padding:clamp(22px,3.5vw,44px)}.list-rep-kiosk .list-grid,.list-rep-kiosk .candidate-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:clamp(22px,3vw,36px)}.list-rep-kiosk .list-button-card{grid-template-columns:clamp(136px,13vw,190px) 1fr;gap:clamp(24px,3vw,42px);min-height:clamp(240px,25vh,360px);padding:clamp(28px,4vw,48px)}.list-rep-kiosk .list-symbol{width:clamp(136px,13vw,190px);height:clamp(136px,13vw,190px);font-size:clamp(2.25rem,4vw,4rem)}.list-rep-kiosk .list-button-card strong{margin:0;font-size:clamp(2.1rem,4vw,4.4rem);line-height:1}.list-rep-kiosk .candidate-card{gap:clamp(18px,2vw,26px);min-height:clamp(270px,31vh,430px);padding:clamp(26px,4vw,44px)}.list-rep-kiosk .candidate-photo{width:clamp(150px,15vw,220px);height:clamp(150px,15vw,220px);font-size:clamp(2.8rem,5vw,5rem)}.list-rep-kiosk .candidate-card strong{font-size:clamp(1.65rem,3vw,3rem);line-height:1.05}.role-shell--list-rep .vote-layout{grid-template-rows:minmax(0,1fr);align-content:stretch;gap:clamp(12px,2vh,20px);padding:clamp(12px,2.2vw,22px)}.role-shell--list-rep .list-rep-kiosk{grid-template-rows:minmax(0,1fr) auto;gap:clamp(12px,2vh,20px);padding:clamp(12px,2.2vw,22px)}.role-shell--list-rep .list-rep-kiosk.list-rep-has-status{grid-template-rows:auto minmax(0,1fr)}.role-shell--list-rep .list-rep-sheet-mode{grid-template-rows:minmax(0,1fr) auto}.role-shell--list-rep .list-rep-sheet-mode.list-rep-has-status{grid-template-rows:auto minmax(0,1fr) auto}.role-shell--list-rep .list-grid,.role-shell--list-rep .candidate-grid{grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:clamp(12px,1.8vw,18px);height:100%;min-height:0}.role-shell--list-rep .list-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.role-shell--list-rep .candidate-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.role-shell--list-rep .list-button-card,.role-shell--list-rep .candidate-card{height:100%;min-height:0}.role-shell--list-rep .list-button-card{text-align:center;grid-template-columns:1fr;align-content:center;justify-items:center;gap:clamp(10px,1.6vw,16px);padding:clamp(14px,2.2vw,22px)}.role-shell--list-rep .list-button-card__content{min-width:0}.role-shell--list-rep .list-symbol,.role-shell--list-rep .candidate-photo{width:clamp(84px,8vw,124px);height:clamp(84px,8vw,124px)}.role-shell--list-rep .list-symbol{font-size:clamp(1.6rem,2.6vw,2.5rem)}.role-shell--list-rep .list-button-card strong,.role-shell--list-rep .candidate-card strong{-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.role-shell--list-rep .list-button-card strong{-webkit-line-clamp:3;font-size:clamp(1rem,1.8vw,1.8rem);line-height:1.08}.role-shell--list-rep .list-button-card small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.8rem,1.2vw,.95rem);line-height:1.2;display:-webkit-box;overflow:hidden}.role-shell--list-rep .candidate-card{gap:clamp(10px,1.4vw,16px);padding:clamp(14px,2.2vw,22px)}.role-shell--list-rep .candidate-card strong{-webkit-line-clamp:3;font-size:clamp(.98rem,1.4vw,1.4rem);line-height:1.1}.role-shell--list-rep .list-rep-footer{min-height:0}.role-shell--list-rep .list-rep-footer .button{min-height:56px;padding:0 24px;font-size:1rem}.role-shell--list-rep .vote-status{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 94%, transparent);gap:4px;padding:10px 12px;display:grid}.role-shell--list-rep .vote-status p{color:var(--muted);margin:0;font-size:.9rem}.list-rep-sheet-mode{grid-template-rows:minmax(0,1fr) auto}.list-rep-kiosk .list-rep-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.list-rep-kiosk .list-rep-footer .button{min-height:76px;padding:0 32px;font-size:1.15rem}.list-rep-hero{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-soft) 72%, transparent), transparent 40%), var(--surface);box-shadow:var(--shadow);justify-content:space-between;align-items:flex-start;gap:18px;padding:clamp(18px,3vw,28px);display:flex}.list-rep-hero h2{margin:4px 0 8px;font-size:clamp(1.9rem,4vw,3.25rem);line-height:1.02}.list-rep-hero p,.list-rep-action-panel header p,.list-rep-open-vote span{color:var(--muted);margin:0;font-weight:800}.list-rep-open-vote{border:1px solid color-mix(in srgb, var(--accent) 48%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent-soft) 66%, var(--surface));justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.legal-ballot-board,.legal-ballot-section{gap:16px;display:grid}.legal-ballot-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:clamp(14px,2vw,18px)}.legal-ballot-section header,.legal-ballot-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.legal-ballot-section h3,.legal-ballot-note{margin:0}.legal-ballot-section header span{color:var(--muted);font-weight:900}.legal-ballot-note{color:var(--muted);font-weight:800}.legal-ballot-note--error{color:var(--danger)}.legal-ballot-actions{justify-content:flex-end}.list-rep-footer{justify-content:flex-end;display:flex}.ballot-event-buttons{flex-shrink:0;justify-content:center;gap:10px;padding:0;display:flex}.ballot-event-btn{border:2px solid var(--line);cursor:pointer;background:var(--surface);color:var(--ink);border-radius:10px;justify-content:center;align-items:center;padding:12px 24px;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.ballot-event-btn:disabled{opacity:.5;cursor:not-allowed}.ballot-event-btn--blank{border-color:var(--muted);color:var(--muted)}.ballot-event-btn--blank:hover:not(:disabled){background:var(--surface-strong)}.ballot-event-btn--null{border-color:var(--warning,#e6a817);color:var(--warning,#e6a817)}.ballot-event-btn--null:hover:not(:disabled){background:color-mix(in srgb, var(--warning,#e6a817) 10%, var(--surface))}.ballot-event-btn--challenged{border-color:var(--critical,#dc2626);color:var(--critical,#dc2626)}.ballot-event-btn--challenged:hover:not(:disabled){background:color-mix(in srgb, var(--critical,#dc2626) 10%, var(--surface))}.vote-header{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);justify-content:space-between;align-items:flex-start;gap:16px;padding:clamp(16px,3vw,24px);display:flex}.vote-header h1,.vote-stage-heading h2{margin:4px 0;line-height:1.08}.vote-header h1{font-size:clamp(1.35rem,3vw,2.4rem)}.vote-header p,.vote-stage-heading p{color:var(--muted);margin:0}.connection-indicator{border-radius:999px;align-items:center;min-height:36px;padding:0 13px;font-weight:900;display:inline-flex}.connection-indicator--online{background:var(--success-soft);color:var(--success)}.connection-indicator--saving{background:var(--warning-soft);color:var(--warning)}.connection-indicator--error{background:var(--danger-soft);color:var(--danger)}.vote-stage-heading{gap:4px;display:grid}.vote-stage-heading h2{font-size:clamp(1.8rem,4vw,3rem)}.list-grid,.candidate-grid{gap:clamp(12px,2vw,18px);display:grid}.list-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.candidate-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.list-button-card,.candidate-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);transition:transform .12s,border-color .12s,background .12s}.list-button-card:active,.candidate-card:active{transform:scale(.985)}.list-button-card{text-align:left;grid-template-columns:92px 1fr;align-items:center;gap:16px;min-height:132px;padding:16px;display:grid}.list-button-card:hover,.candidate-card:hover{border-color:var(--accent);background:var(--accent-soft)}.list-button-card--active,.candidate-card--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 78%, var(--surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent), var(--shadow)}.list-button-card--loading,.candidate-card--loading{cursor:wait}.list-symbol{border-radius:var(--radius);background:var(--accent);color:#fff;flex:none;place-items:center;width:92px;height:92px;font-size:1.65rem;font-weight:900;display:inline-grid;overflow:hidden}.list-symbol img,.candidate-photo img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.list-button-card strong{margin-bottom:10px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.15;display:block}.list-button-card small{color:var(--muted);font-weight:800}.candidate-card{text-align:center;align-content:center;justify-items:center;gap:10px;min-height:248px;padding:18px 14px;display:grid}.candidate-photo{background:var(--surface-strong);width:118px;height:118px;color:var(--accent-strong);border-radius:999px;place-items:center;font-size:2.15rem;font-weight:900;display:inline-grid;overflow:hidden}.candidate-card strong{max-width:100%;font-size:1.12rem;line-height:1.16}.candidate-card span:not(.candidate-photo){color:var(--muted);font-weight:800}.vote-feedback,.error-banner{border-radius:var(--radius);padding:12px 14px;font-weight:900}.vote-feedback{background:var(--success-soft);color:var(--success)}.error-banner{background:var(--danger-soft);color:var(--danger)}.skip-preference-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(420px,100%);min-height:54px;color:var(--ink);font-weight:900}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{flex:none;width:1.15rem;height:1.15rem}.admin-app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.desktop-sidebar{border-right:1px solid var(--line);background:var(--surface);height:100vh;padding:16px;position:sticky;top:0}.admin-app-shell--collapsed .desktop-sidebar{width:var(--sidebar-collapsed-width)}.admin-app-shell--collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0, 1fr)}.sidebar{grid-template-rows:auto 1fr auto;gap:18px;height:100%;display:grid}.sidebar__brand{align-items:center;gap:12px;min-height:56px;padding:10px;display:flex}.sidebar__mark{border-radius:var(--radius);background:var(--ink);width:40px;height:40px;color:var(--surface);place-items:center;font-weight:800;display:inline-grid}.sidebar__brand div,.sidebar__footer{gap:3px;display:grid}.sidebar__brand strong{font-size:1rem}.sidebar__brand span:not(.sidebar__mark),.sidebar__footer span{color:var(--muted);font-size:.82rem}.sidebar__nav{align-content:start;gap:6px;display:grid}.sidebar__link{border-radius:var(--radius);width:100%;min-height:44px;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0 12px;font-weight:700;display:flex}.sidebar__link:hover,.sidebar__link[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.sidebar__footer{border:1px solid var(--soft-line);border-radius:var(--radius);background:var(--surface-strong);margin:10px;padding:14px}.sidebar--collapsed .sidebar__brand div,.sidebar--collapsed .sidebar__link span,.sidebar--collapsed .sidebar__footer{display:none}.sidebar--collapsed .sidebar__brand,.sidebar--collapsed .sidebar__link{justify-content:center}.app-workspace{grid-template-rows:auto auto 1fr;min-width:0;display:grid}.admin-main-content{min-width:0;overflow-y:auto}.admin-content-wrapper{display:none}.app-topbar{z-index:12;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:14px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.topbar-title{min-width:0}.topbar-title span,.eyebrow{color:var(--accent-strong);text-transform:uppercase;font-size:.78rem;font-weight:800}.topbar-title h1,.page-heading h2,.panel h2,.section-header h2{margin:2px 0 0;font-size:1.45rem;line-height:1.2}.topbar-actions,.page-heading__actions,.row-actions,.form-actions,.card-actions,.quick-actions,.pagination>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{border-radius:var(--radius);background:var(--accent);color:#fff;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:800;display:inline-flex}.button--secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button--ghost{color:var(--accent-strong);background:0 0;border-color:#0000}.button--danger{background:var(--danger);color:#fff}.button__icon,.icon-button span{display:inline-flex}.icon-button{width:40px;padding:0}.mobile-menu-button{display:none}.page-container{gap:22px;width:min(1480px,100%);margin:0 auto;padding:clamp(18px,3vw,34px);display:grid}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page-heading p,.panel__header p,.domain-card p,.activity-item p{color:var(--muted)}.page-heading h2{font-size:2rem}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card,.panel,.domain-card,.empty-state,.data-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.stat-card{align-content:space-between;gap:10px;min-height:138px;padding:18px;display:grid}.stat-card__header{color:var(--muted);justify-content:space-between;gap:12px;font-weight:800;display:flex}.stat-card__icon{border-radius:var(--radius);background:var(--accent-soft);width:36px;height:36px;color:var(--accent-strong);place-items:center;display:inline-grid}.stat-card strong{font-size:2.2rem;line-height:1}.stat-card p{color:var(--muted);margin:0}.stat-card--success .stat-card__icon{background:var(--success-soft);color:var(--success)}.stat-card--warning .stat-card__icon{background:var(--warning-soft);color:var(--warning)}.stat-card--critical .stat-card__icon{background:var(--danger-soft);color:var(--danger)}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;display:grid}.panel{gap:18px;padding:20px;display:grid}.panel--large{min-height:300px}.panel__header,.section-header,.domain-card header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.system-status{border-radius:var(--radius);align-items:center;min-height:34px;padding:0 10px;font-weight:800;display:inline-flex}.system-status--ok{background:var(--success-soft);color:var(--success)}.system-status--risk{background:var(--danger-soft);color:var(--danger)}.system-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.system-summary div,.status-lane{border:1px solid var(--soft-line);border-radius:var(--radius);background:var(--surface-strong);gap:6px;padding:16px;display:grid}.system-summary strong,.status-lane strong{font-size:1.8rem}.system-summary span,.status-lane span{color:var(--muted)}.quick-actions{flex-wrap:wrap;gap:10px;display:flex}.quick-actions button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;padding:0 16px;font-weight:800;transition:border-color .15s,background .15s}.quick-actions button:hover{border-color:var(--accent);background:var(--accent-soft)}.control-room-screen{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-soft) 55%, transparent), transparent 24%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 94%, #eef5ff), var(--bg));align-content:start;gap:18px;min-height:calc(100vh - 84px);padding:clamp(18px,3vw,28px);display:grid}.control-room-launcher{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-soft) 60%, transparent), transparent 50%), var(--surface);box-shadow:var(--shadow);border-radius:16px;gap:24px;padding:clamp(24px,3vw,36px);display:grid}.control-room-launcher__header h2{margin:6px 0 8px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.15}.control-room-launcher__header p{color:var(--muted);max-width:600px;margin:0}.control-room-launcher__body{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.control-room-launcher__selector{gap:8px;display:grid}.control-room-launcher__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.control-room-launcher__stat{border:1px solid var(--soft-line);border-radius:var(--radius);background:var(--surface-strong);gap:6px;padding:16px;display:grid}.control-room-launcher__stat strong{word-break:break-word;font-size:1.15rem}.control-room-launcher__stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:.82rem;font-weight:700}.control-room-launcher__actions{flex-wrap:wrap;gap:10px;display:flex}.control-room-launcher__actions .button{min-height:48px;padding:0 24px;font-size:1rem}@media (width<=900px){.control-room-launcher__body{grid-template-columns:1fr}.control-room-launcher__selector{max-width:400px}}@media (width<=720px){.control-room-launcher__stats{grid-template-columns:1fr}}.live-simplified-hero{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));background:radial-gradient(circle at top left, #2dd4bf3d, transparent 36%), radial-gradient(circle at 85% 20%, #2563eb2e, transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--surface) 88%, #f7fffc), color-mix(in srgb, var(--surface) 84%, #f3f7ff));box-shadow:var(--shadow);border-radius:24px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:20px;padding:clamp(20px,3vw,30px);display:grid}.live-simplified-hero h2{margin:8px 0 10px;font-size:clamp(2rem,4vw,3rem);line-height:.98}.live-simplified-hero p,.dashboard-muted{color:var(--muted)}.live-simplified-hero__copy,.live-simplified-hero__controls,.live-summary-card,.contest-results-card,.section-mobile-card{gap:12px;display:grid}.live-simplified-hero__meta,.dashboard-pill-row,.timeline-event__headline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.live-simplified-hero__controls{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line));background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px;align-content:start;padding:18px}.live-simplified-hero__controls .quick-actions{flex-wrap:wrap;gap:10px}.live-dashboard-badge,.dashboard-pill{border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:.84rem;font-weight:900;display:inline-flex}.live-dashboard-badge--live,.dashboard-pill--confirmed,.dashboard-pill--success{background:var(--success-soft);color:var(--success)}.live-dashboard-badge--syncing,.dashboard-pill--submitted,.dashboard-pill--warning{background:var(--warning-soft);color:var(--warning)}.live-dashboard-badge--offline,.dashboard-pill--draft,.dashboard-pill--critical,.dashboard-pill--issue{background:var(--danger-soft);color:var(--danger)}.live-dashboard-badge--ghost,.dashboard-pill--ghost,.dashboard-pill--missing{background:color-mix(in srgb, var(--surface-strong) 90%, transparent);color:var(--muted)}.live-dashboard-meta{color:var(--muted);font-size:.88rem;font-weight:700}.live-summary-grid,.contest-results-grid{gap:16px;display:grid}.live-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.live-summary-card{border:1px solid color-mix(in srgb, var(--blue) 14%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 82%, #fff), color-mix(in srgb, var(--surface) 82%, #eef8ff));box-shadow:var(--shadow);border-radius:20px;padding:18px}.live-summary-card span{color:var(--muted);font-weight:800}.live-summary-card strong{font-size:clamp(1.55rem,2vw,2.2rem);line-height:1}.live-summary-card p{color:var(--muted);margin:0}.live-dashboard-grid{align-items:start}.live-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 86%, #fff), color-mix(in srgb, var(--surface) 88%, #f8fbff));border-radius:22px}.live-activity-chart,.coverage-donut-card,.status-track-card,.section-bar-list,.contest-overview-list,.live-activity-feed{gap:14px;display:grid}.live-activity-chart{margin-bottom:18px}.live-activity-chart__summary,.coverage-donut-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.live-activity-chart__summary div,.coverage-donut-card__meta,.status-track-card__legend-item{gap:6px;display:grid}.live-activity-chart__summary span,.live-activity-chart__summary small,.coverage-donut-card__meta span,.status-track-card__legend-item span,.section-bar-list__meta span,.contest-overview-list__row span,.live-activity-chart__tick span{color:var(--muted)}.live-activity-chart__summary strong,.coverage-donut strong{font-size:1.8rem}.live-activity-chart__canvas{border:1px solid color-mix(in srgb, var(--blue) 16%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, #fff), color-mix(in srgb, var(--surface) 88%, #edf6ff));border-radius:18px;min-height:120px;padding:12px}.live-activity-chart__canvas svg{width:100%;height:96px;display:block}.live-activity-chart__line{fill:none;stroke:var(--blue);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.live-activity-chart__area{fill:color-mix(in srgb, var(--blue) 18%, transparent)}.live-activity-chart__empty{min-height:96px;color:var(--muted);place-items:center;font-weight:700;display:grid}.live-activity-chart__axis{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.live-activity-chart__tick{gap:4px;display:grid}.live-activity-chart__tick strong{font-size:.92rem}.coverage-donut{aspect-ratio:1;background:radial-gradient(circle at center, var(--surface) 0 56%, transparent 57%), conic-gradient(var(--accent) 0deg var(--coverage-angle), color-mix(in srgb, var(--surface-strong) 92%, transparent) var(--coverage-angle) 360deg);text-align:center;border-radius:999px;justify-self:center;place-items:center;width:min(180px,100%);padding:22px;display:grid}.coverage-donut span{font-size:.86rem}.status-track-card{border:1px solid color-mix(in srgb, var(--line) 88%, var(--accent) 12%);background:color-mix(in srgb, var(--surface) 90%, transparent);border-radius:18px;padding:16px}.status-track-card__bar{border-radius:999px;min-height:14px}.status-track-card__legend{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.status-track-card__dot{border-radius:999px;width:10px;height:10px;display:inline-flex}.section-bar-list__row,.contest-overview-list__row{grid-template-columns:minmax(0,120px) minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.section-bar-list__meta,.contest-overview-list__row>div:first-child{gap:4px;display:grid}.section-bar-list__track,.contest-overview-list__track{background:color-mix(in srgb, var(--surface-strong) 92%, transparent);border-radius:999px;height:10px;overflow:hidden}.section-bar-list__track span,.contest-overview-list__track span{border-radius:inherit;height:100%;display:block}.section-bar-list__track span{background:linear-gradient(90deg, var(--accent), var(--blue))}.contest-overview-list__track span{background:linear-gradient(90deg, var(--blue), color-mix(in srgb, var(--blue) 52%, #fff))}.contest-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contest-results-grid--compact{align-items:start}.contest-results-grid--full{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.contest-results-card{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--line));background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-soft) 80%, transparent), transparent 44%), var(--surface);border-radius:18px;padding:18px}.contest-results-card--detailed{gap:16px}.contest-results-card__header strong{font-size:1.1rem;display:block}.contest-results-card__header span{color:var(--muted);font-weight:700}.contest-results-list,.live-progress-stack,.section-contest-stack,.section-mobile-card__metrics{gap:12px;display:grid}.contest-result-row{gap:8px;display:grid}.contest-result-row__meta{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.contest-result-row__meta strong,.section-contest-pill strong{min-width:0}.contest-result-row__meta span:last-child,.section-contest-pill span:last-child{color:var(--muted);font-weight:800}.contest-result-row__dot,.section-contest-pill__dot{width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 10%, transparent);border-radius:999px}.contest-result-row__track{background:color-mix(in srgb, var(--surface-strong) 90%, transparent);border-radius:999px;height:12px;overflow:hidden}.contest-result-row__track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #fff));min-width:2%;height:100%;display:block}.dashboard-value-stack{gap:4px;display:grid}.dashboard-value-stack strong{font-size:1rem}.rank-badge{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 84%, #fff), var(--blue));color:#fff;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;min-width:46px;min-height:30px;padding:0 10px;font-size:.82rem;font-weight:900;display:inline-flex}.section-contest-pill,.section-mobile-card{border:1px solid var(--soft-line);background:color-mix(in srgb, var(--surface-strong) 76%, transparent);border-radius:16px;padding:14px}.section-contest-pill{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 12px;display:grid}.section-mobile-card{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-soft) 70%, transparent), transparent 35%), var(--surface)}.section-mobile-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-mobile-card__header strong{display:block}.section-mobile-card__header span,.section-mobile-card__metrics span{color:var(--muted)}.section-mobile-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.section-mobile-card__metrics div{gap:6px;display:grid}.section-mobile-card__metrics strong{font-size:1rem}.live-dashboard-fallback{background:radial-gradient(circle at top left, color-mix(in srgb, var(--warning-soft) 78%, transparent), transparent 34%), var(--surface);border-radius:22px}.timeline-feed{gap:12px;display:grid}.timeline-feed--compact{gap:10px}.timeline-event{border:1px solid var(--soft-line);background:color-mix(in srgb, var(--surface-strong) 78%, transparent);border-radius:16px;grid-template-columns:180px minmax(0,1fr);gap:14px;padding:14px;display:grid}.timeline-event--compact{grid-template-columns:132px minmax(0,1fr)}.timeline-event__time,.timeline-event__body{gap:6px;display:grid}.timeline-event__time strong,.timeline-event__body strong{font-size:1rem}.timeline-event__headline strong{min-width:0}.live-contest-filters{grid-template-columns:repeat(2,minmax(220px,280px));justify-content:flex-start}.control-room-filters{grid-template-columns:1.4fr .8fr .8fr}.admin-overview-hero{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-soft) 76%, transparent), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--surface) 88%, #fff), color-mix(in srgb, var(--surface) 82%, #eef9ff));border-radius:20px}.activity-list{gap:4px;max-height:340px;display:grid;overflow-y:auto}.activity-item{border-bottom:1px solid var(--soft-line);grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:12px 0;display:grid}.activity-item:last-child{border-bottom:0}.activity-item h3,.domain-card h3{margin:0;font-size:1rem}.activity-item p,.domain-card p{margin:4px 0 0}.activity-item time{color:var(--muted);font-size:.86rem}.content-section,.card-grid{gap:14px;display:grid}.card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.domain-card{gap:14px;min-width:0;padding:18px;display:grid}.domain-card header{gap:12px}.domain-card h3{margin-top:2px}.metric-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.metric-list div{min-width:0}.metric-list dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.metric-list dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.metric-list--detail{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-alert{border:1px solid var(--danger-soft);border-radius:var(--radius);background:var(--danger-soft);padding:12px;font-weight:800;color:var(--danger)!important}.status-badge{width:fit-content;min-height:28px;color:var(--muted);background:var(--surface-strong);border:1px solid #0000;border-radius:999px;align-items:center;padding:0 10px;font-size:.82rem;font-weight:900;display:inline-flex}.status-badge--open,.status-badge--active,.status-badge--success,.status-badge--completed,.status-badge--certified{color:var(--success);background:var(--success-soft)}.status-badge--configured,.status-badge--info,.status-badge--waiting{color:var(--blue);background:color-mix(in srgb, var(--blue) 14%, var(--surface))}.status-badge--draft,.status-badge--not_started,.status-badge--archived,.status-badge--inactive{color:var(--muted);background:var(--surface-strong);border-color:var(--line)}.status-badge--warning{color:var(--warning);background:var(--warning-soft)}.status-badge--critical,.status-badge--issue,.status-badge--blocked,.status-badge--closed{color:var(--danger);background:var(--danger-soft)}.filters-bar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.filters-bar>*{flex:200px;min-width:0}.filters-bar>:first-child{flex:2 280px}.search-bar,.form-field{gap:7px;display:grid}.search-bar{position:relative}.search-bar .icon{color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-bar input{padding-left:42px}.form-field span{color:var(--muted);font-size:.83rem;font-weight:800}.form-field small{color:var(--muted);margin-top:-2px;font-size:.78rem;line-height:1.3}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;height:44px;min-height:44px;color:var(--ink);padding:0 12px;font-size:.95rem}textarea{resize:vertical;height:auto;min-height:96px;padding:12px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.data-table-wrap{overflow:hidden}.data-table-scroll{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td{border-bottom:1px solid var(--soft-line);text-align:left;vertical-align:middle;padding:14px 16px}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:var(--surface-strong)}.data-table tr:last-child td{border-bottom:0}.table-title{gap:4px;min-width:0;display:grid}.table-title span{color:var(--muted);font-size:.88rem}.list-name-cell{align-items:center;gap:10px;min-width:0;display:flex}.list-dot{border-radius:var(--radius);flex:none;width:32px;height:32px;display:inline-block}.mobile-card-list{display:none}.pagination{border-top:1px solid var(--soft-line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:.88rem;font-weight:600;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.form-field--wide{grid-column:1/-1}.option-editor-summary{color:var(--muted);font-size:.9rem;line-height:1.35}.option-editor-readonly{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:start;padding:10px 12px}.option-editor-readonly strong{align-items:center;min-height:42px;display:flex}.option-editor-checklist{border:0;margin:0;padding:0}.option-editor-checklist legend{color:var(--muted);margin-bottom:7px;padding:0;font-size:.83rem;font-weight:800}.option-editor-checklist__items{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;max-height:220px;padding:12px;display:grid;overflow:auto}.option-editor-checklist__item{align-items:flex-start;gap:10px;display:flex}.option-editor-checklist__item input{width:auto;min-height:auto;margin-top:3px}.setup-builder__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.setup-builder__header p{color:var(--muted);margin:4px 0 0}.setup-builder__list{gap:14px;display:grid}.setup-builder__card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:14px;padding:16px;display:grid}.setup-builder__card--list{background:color-mix(in srgb, var(--surface) 86%, var(--accent-soft))}.setup-builder__nested-list{gap:12px;display:grid}.setup-builder__candidate{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:12px;padding:14px;display:grid}.list-candidates-panel{border-top:1px solid var(--line);gap:16px;padding-top:10px;display:grid}.list-candidates-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.list-candidate-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:grab;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;transition:border-color .2s,box-shadow .2s,opacity .2s,transform .2s;display:grid}.list-candidate-card:active{cursor:grabbing}.list-candidate-card--dragging{opacity:.58;transform:scale(.99)}.list-candidate-card--drop-target{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.list-candidate-card .candidate-drag-handle{border-radius:999px;place-items:center;width:28px;height:64px;display:grid}.list-candidate-card .candidate-drag-handle:before{content:"";opacity:.9;background-image:radial-gradient(circle, var(--muted) 2px, transparent 2.5px);background-position:0 0;background-size:9px 9px;border-radius:999px;width:18px;height:34px}.list-candidate-card:hover .candidate-drag-handle:before{background-image:radial-gradient(circle, var(--accent) 2px, transparent 2.5px)}.list-candidate-card .candidate-photo{width:64px;height:64px;font-size:1.4rem}.list-candidate-card strong,.list-candidate-card span{display:block}.list-candidate-card span{color:var(--muted);margin-top:4px;font-size:.88rem}.list-candidate-card .row-actions{grid-column:1/-1}@media (width<=640px){.list-candidate-card{grid-template-columns:auto minmax(0,1fr)}.list-candidate-card .candidate-drag-handle{grid-row:span 2}}.list-candidate-form{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 88%, var(--accent-soft));padding:16px}.setup-builder__card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.setup-builder__card-header span{color:var(--muted);margin-top:4px;font-size:.88rem;display:block}.setup-wizard__summary{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface));gap:4px;padding:14px 16px;display:grid}.setup-wizard__summary strong{font-size:1rem}.setup-wizard__summary small{color:var(--muted)}.setup-wizard__errors{border:1px solid color-mix(in srgb, var(--danger,#b42318) 25%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--danger,#b42318) 8%, var(--surface));color:var(--ink);gap:6px;margin:0;padding:14px 18px;display:grid}.setup-wizard__errors li{line-height:1.35}.form-actions{justify-content:flex-end}.modal-backdrop,.mobile-drawer{z-index:40;position:fixed;inset:0}.modal-backdrop{background:#0a0e0c8f;place-items:center;padding:18px;display:grid}.modal{border:1px solid var(--line);background:var(--surface);width:min(780px,100%);max-height:min(860px,100vh - 36px);box-shadow:var(--shadow);border-radius:12px;gap:20px;padding:24px;display:grid;overflow-y:auto}.modal--fullscreen{width:min(1440px,100vw - 36px);max-height:calc(100vh - 36px)}.modal__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal__header h2,.modal__header p{margin:0}.modal__header p,.dialog-copy{color:var(--muted)}.detail-panel{gap:18px;display:grid}.empty-state{text-align:center;place-items:center;gap:10px;min-height:260px;padding:28px;display:grid}.empty-state strong{font-size:1.1rem}.empty-state p{max-width:560px;color:var(--muted);margin:0}.loading-state{gap:16px;padding:clamp(18px,3vw,34px);display:grid}.skeleton-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-strong), var(--soft-line), var(--surface-strong));background-size:180% 100%;animation:1.4s ease-in-out infinite shimmer;overflow:hidden}.skeleton--title{width:min(460px,80%);height:72px}.skeleton--card{height:150px}.skeleton--table{height:420px}.tabs{gap:8px;padding:4px;display:flex;overflow-x:auto}.tabs__button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:40px;color:var(--muted);white-space:nowrap;padding:0 13px;font-weight:800}.tabs__button:disabled{cursor:not-allowed;opacity:.55}.tabs__button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.status-lanes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.status-lane{text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.status-lane:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 40%, var(--surface-strong))}.toast{z-index:60;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:min(420px,100vw - 36px);color:var(--ink);box-shadow:var(--shadow);padding:14px 16px;font-weight:800;position:fixed;bottom:18px;right:18px}.toast--success{border-color:var(--success)}.toast--error{border-color:var(--danger)}.mobile-drawer__scrim{background:#0a0e0c8f;position:absolute;inset:0}.mobile-drawer__panel{background:var(--surface);width:min(340px,100vw - 48px);height:100%;padding:14px;position:relative}.mobile-drawer__header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}@keyframes shimmer{0%{background-position:180% 0}to{background-position:-180% 0}}@media (width<=1180px){.stat-grid,.card-grid--three,.live-summary-grid,.contest-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.live-simplified-hero{grid-template-columns:1fr}}@media (width<=900px){.admin-app-shell{grid-template-columns:1fr}.desktop-sidebar{display:none}.mobile-menu-button{display:inline-flex}.desktop-only{display:none}.app-topbar{align-items:flex-start}.role-topbar,.admin-session-strip,.vote-header{flex-direction:column;align-items:flex-start}.topbar-actions{margin-left:auto}.page-heading{flex-direction:column;align-items:flex-start}}@media (width<=720px){.app-topbar{gap:10px;min-height:68px}.topbar-title h1{font-size:1.12rem}.topbar-title span{display:none}.page-container{gap:16px;padding:16px}.page-heading h2{font-size:1.55rem}.stat-grid,.card-grid--three,.system-summary,.form-grid,.skeleton-grid,.live-summary-grid,.contest-results-grid,.status-track-card__legend,.live-activity-chart__summary,.coverage-donut-card,.section-mobile-card__metrics,.control-room-filters{grid-template-columns:1fr}.filters-bar{flex-direction:column}.filters-bar>*,.filters-bar>:first-child{flex:100%}.live-activity-chart__axis{grid-template-columns:repeat(3,minmax(0,1fr))}.section-bar-list__row,.contest-overview-list__row,.live-contest-filters{grid-template-columns:1fr}.data-table-scroll{display:none}.mobile-card-list{gap:12px;padding:12px;display:grid}.contest-result-row__meta,.section-mobile-card__header,.timeline-event{grid-template-columns:1fr;display:grid}.pagination{flex-direction:column;align-items:stretch}.pagination>div,.form-actions,.card-actions,.row-actions{width:100%}.pagination .button,.form-actions .button,.card-actions .button{flex:1 1 0}.activity-item,.metric-list{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:8px}.modal{width:100%;max-height:calc(100vh - 16px)}}@media (width<=480px){.app-topbar{flex-wrap:wrap}.topbar-actions{justify-content:space-between;width:100%}.floating-actions{flex-direction:column}.topbar-actions .button,.mobile-menu-button,.floating-actions .button{flex:1 1 0}.status-lane,.system-summary div,.stat-card,.panel,.domain-card,.list-button-card,.candidate-card{padding:14px}.list-button-card{min-height:124px}.candidate-card{min-height:190px}}.municipal-live-shell{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 16%, transparent) 0, transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--surface) 76%, var(--bg)) 0%, var(--bg) 100%);min-height:100vh;padding:clamp(18px,3vw,36px)}.municipal-live-shell--projection{padding:20px}.municipal-live-shell--access{place-items:center;display:grid}.municipal-live-access{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);width:min(980px,100%);box-shadow:var(--shadow);border-radius:28px;gap:24px;padding:clamp(24px,5vw,44px);display:grid}.municipal-live-access__copy h1{margin:6px 0 12px;font-size:clamp(2rem,5vw,3.6rem);line-height:.98}.municipal-live-access__copy p,.municipal-live-header__main p{max-width:62ch;color:var(--muted);margin:0}.municipal-live-access__form{gap:16px;display:grid}.municipal-live-access__actions,.municipal-live-header__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.municipal-live-access__suggestions{gap:12px;display:grid}.municipal-live-access__suggestions>span,.municipal-live-caption,.municipal-live-connection{color:var(--muted);font-size:.88rem}.municipal-live-access__suggestions div{flex-wrap:wrap;gap:10px;display:flex}.municipal-live-access__suggestions button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:10px 14px}.municipal-live-header{gap:18px;margin-bottom:22px;display:grid}.municipal-live-header__main,.municipal-live-header__stats,.municipal-live-grid{gap:16px;display:grid}.municipal-live-grid{margin-bottom:22px}.municipal-live-header__main{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 88%, var(--accent-soft)) 0%, var(--surface) 100%);box-shadow:var(--shadow);border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:clamp(20px,4vw,34px)}.municipal-live-header__main h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:clamp(2.2rem,5vw,4.25rem);line-height:.94}.municipal-live-header__stats{grid-template-columns:repeat(4,minmax(0,1fr))}.municipal-live-stat,.municipal-live-panel,.candidate-live-card{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--surface) 95%, transparent);box-shadow:var(--shadow);border-radius:24px}.municipal-live-stat{gap:8px;padding:18px 20px;display:grid}.municipal-live-stat span,.candidate-live-card__numbers span,.municipal-live-list-card__stats span,.municipal-section-card__summary span{color:var(--muted);font-size:.84rem}.municipal-live-stat strong{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1}.municipal-live-stat small{color:var(--muted)}.municipal-live-badge{border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.84rem;font-weight:800;display:inline-flex}.municipal-live-badge:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.municipal-live-badge--success,.municipal-live-badge--completed{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.municipal-live-badge--warning,.municipal-live-badge--in_progress{background:color-mix(in srgb, var(--warning) 18%, transparent);color:var(--warning)}.municipal-live-badge--danger,.municipal-live-badge--waiting{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.municipal-live-grid--split,.municipal-live-grid--bottom{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);margin-bottom:22px}.municipal-live-grid--lists{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:22px}.candidate-live-card{gap:18px;padding:22px;display:grid;position:relative;overflow:hidden}.candidate-live-card:after{content:"";background:color-mix(in srgb, var(--candidate-color) 24%, transparent);filter:blur(30px);opacity:.9;border-radius:50%;width:140px;height:140px;position:absolute;inset:auto -10% -45% auto}.candidate-live-card--leader{border-color:color-mix(in srgb, var(--candidate-color) 58%, var(--line));box-shadow:var(--shadow), 0 0 0 1px color-mix(in srgb, var(--candidate-color) 38%, transparent), 0 0 34px color-mix(in srgb, var(--candidate-color) 20%, transparent)}.candidate-live-card__header,.candidate-live-card__identity,.candidate-live-card__numbers,.candidate-live-card__footer,.municipal-live-list-card__header,.municipal-live-list-card__stats,.municipal-section-card__summary,.municipal-chart__row,.municipal-chart__meta{gap:12px;display:flex}.candidate-live-card__header,.candidate-live-card__footer,.municipal-live-list-card__header,.municipal-chart__row,.municipal-section-card__candidate{justify-content:space-between;align-items:center}.candidate-live-card__identity{align-items:center}.candidate-live-card__photo,.candidate-live-card__photo--placeholder,.municipal-live-table__candidate img,.municipal-live-table__candidate span{object-fit:cover;background:color-mix(in srgb, var(--candidate-color) 18%, var(--surface));border-radius:20px;width:68px;height:68px}.candidate-live-card__photo--placeholder,.municipal-live-table__candidate span{place-items:center;font-weight:800;display:grid}.candidate-live-card__rank{color:var(--candidate-color);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.8rem;font-weight:800;display:inline-flex}.candidate-live-card h3,.municipal-live-list-card h3{margin:0 0 4px;font-size:1.35rem}.candidate-live-card p,.municipal-live-list-card p{color:var(--muted);margin:0}.candidate-live-card__listmark,.municipal-live-list-card__symbol{background:color-mix(in srgb, var(--candidate-color) 14%, var(--surface));border-radius:18px;place-items:center;width:62px;height:62px;font-weight:900;display:grid;overflow:hidden}.candidate-live-card__listmark img,.municipal-live-list-card__symbol img{object-fit:cover;width:100%;height:100%}.candidate-live-card__numbers,.municipal-live-list-card__stats,.municipal-section-card__summary{flex-wrap:wrap}.candidate-live-card__numbers>div,.municipal-live-list-card__stats>div,.municipal-section-card__summary>div{flex:120px;gap:6px;display:grid}.candidate-live-card__numbers strong,.municipal-live-list-card__stats strong,.municipal-section-card__summary strong{font-size:1.2rem}.candidate-live-card__bar,.municipal-chart__track{background:color-mix(in srgb, var(--line) 72%, transparent);border-radius:999px;width:100%;height:12px;overflow:hidden}.candidate-live-card__bar span,.municipal-chart__track span{border-radius:inherit;height:100%;transition:width .56s;display:block}.candidate-live-card__bar span{width:var(--candidate-progress);background:linear-gradient(90deg, color-mix(in srgb, var(--candidate-color) 70%, #fff), var(--candidate-color))}.candidate-live-card__shift,.candidate-live-card__steady,.municipal-live-trend{border-radius:999px;justify-content:center;align-items:center;min-width:74px;padding:7px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.candidate-live-card__shift.up,.municipal-live-trend--up{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.candidate-live-card__shift.down,.municipal-live-trend--down{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.candidate-live-card__steady,.municipal-live-trend{background:color-mix(in srgb, var(--line) 55%, transparent);color:var(--muted)}.municipal-live-panel{gap:18px;padding:20px;display:grid}.municipal-live-panel__header{justify-content:space-between;align-items:start;gap:16px;display:flex}.municipal-live-panel__header h2{margin:6px 0 0;font-size:1.35rem}.municipal-live-toggle{gap:8px;display:flex}.municipal-chart{gap:18px;display:grid}.municipal-chart--donut{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:center}.municipal-chart__donut-wrap{place-items:center;display:grid}.municipal-chart__donut{aspect-ratio:1;background:var(--chart-gradient);width:min(280px,100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent);border-radius:50%;place-items:center;display:grid}.municipal-chart__donut-center{aspect-ratio:1;text-align:center;background:color-mix(in srgb, var(--surface) 96%, transparent);border-radius:50%;place-items:center;width:58%;display:grid}.municipal-chart__donut-center strong{font-size:1.7rem}.municipal-chart__legend{gap:12px;display:grid}.municipal-chart__row{flex-wrap:wrap;align-items:center}.municipal-chart__meta{flex:280px;align-items:center;min-width:0}.municipal-chart__meta strong,.municipal-section-card__candidate strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.municipal-chart__meta small{color:var(--muted)}.municipal-chart__swatch{border-radius:50%;flex:none;width:12px;height:12px}.municipal-chart__value{justify-items:end;gap:4px;display:grid}.municipal-live-list-card__ranking,.municipal-event-stream,.municipal-sections-grid,.municipal-section-card__breakdown{gap:12px;display:grid}.municipal-live-list-card__candidate,.municipal-event-stream__item{background:color-mix(in srgb, var(--surface-strong) 82%, transparent);border-radius:18px;gap:6px;padding:12px 14px;display:grid}.municipal-live-list-card__candidate span,.municipal-event-stream__item p,.municipal-event-stream__item small,.municipal-section-card__note{color:var(--muted);margin:0}.municipal-event-stream__item--success{border-left:4px solid var(--success)}.municipal-event-stream__item--info{border-left:4px solid var(--blue)}.municipal-live-table-wrap{overflow:auto}.municipal-live-table{border-collapse:collapse;width:100%}.municipal-live-table th,.municipal-live-table td{border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent);text-align:left;padding:12px 10px}.municipal-live-table thead th{color:var(--muted);font-size:.82rem;font-weight:700}.municipal-live-table tbody tr.is-elected{background:color-mix(in srgb, var(--accent) 10%, transparent)}.municipal-live-table__candidate{align-items:center;gap:10px;display:flex}.municipal-live-chip{border-radius:999px;padding:6px 10px;font-size:.84rem;font-weight:700;display:inline-flex}.municipal-section-card{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--surface) 96%, transparent);border-radius:22px;overflow:hidden}.municipal-section-card__header{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.municipal-section-card__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.municipal-section-card__body{gap:14px;padding:0 18px 18px;display:grid}.municipal-section-card__line{grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:center;gap:14px;display:grid}.municipal-section-card__bar-wrap{background:color-mix(in srgb, var(--surface-strong) 80%, transparent);border-radius:14px;padding:10px 12px}.municipal-section-card__candidate{align-items:center;gap:10px;min-width:0;display:flex}.municipal-section-card__line-meta{align-items:center;gap:6px;display:grid}.municipal-section-card__bar{background:color-mix(in srgb, var(--line) 72%, transparent);border-radius:999px;width:100%;height:10px;overflow:hidden}.municipal-section-card__bar span{border-radius:inherit;height:100%;transition:width .56s;display:block}.municipal-section-card__votes{color:var(--ink);font-size:.96rem;font-weight:800}.municipal-live-inline-error{border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent);border-radius:18px;justify-content:space-between;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}@media (width<=1180px){.municipal-live-header__main,.municipal-live-grid--split,.municipal-live-grid--bottom,.municipal-chart--donut{grid-template-columns:1fr}.municipal-live-header__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.municipal-live-shell,.municipal-live-shell--projection{padding:14px}.municipal-live-header__stats,.municipal-live-grid--lists{grid-template-columns:1fr}.municipal-live-header__main h1{font-size:2.2rem}.candidate-live-card,.municipal-live-panel,.municipal-live-stat{border-radius:18px;padding:16px}.candidate-live-card__header,.candidate-live-card__footer,.municipal-live-panel__header,.municipal-chart__row,.municipal-section-card__header{gap:10px;display:grid}.candidate-live-card__listmark,.municipal-live-list-card__symbol{width:54px;height:54px}.municipal-section-card__line{grid-template-columns:1fr}.municipal-live-access{border-radius:20px;padding:20px}.municipal-live-inline-error{flex-direction:column}}.turnout-page{flex-direction:column;gap:20px;display:flex}.turnout-page__selector{max-width:360px}.turnout-page__loading{color:var(--muted);text-align:center;padding:32px 0}.turnout-groups{flex-direction:column;gap:24px;display:flex}.turnout-group__time{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0 0 8px;padding-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.turnout-form{flex-direction:column;gap:16px;display:flex}.turnout-form__header{flex-direction:column;gap:8px;max-width:340px;display:flex}.turnout-form__hint{color:var(--muted);margin:0;font-size:.85rem}.turnout-form__grid{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;max-height:55vh;padding:4px;display:flex;overflow-y:auto}.turnout-form__row{border-radius:6px;grid-template-columns:1.5fr .8fr .8fr .6fr;align-items:center;gap:10px;padding:6px 10px;display:grid}.turnout-form__row:nth-child(2n){background:var(--surface-strong)}.turnout-form__row--header{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface);z-index:3;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:600;position:sticky;top:0}.turnout-form__section{font-size:.9rem;font-weight:500}.turnout-form__voters{color:var(--muted);text-align:right;font-size:.88rem}.turnout-form__input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);text-align:right;z-index:2;border-radius:6px;padding:6px 10px;font-size:.9rem;position:relative}.turnout-form__input:focus{outline:2px solid var(--primary);outline-offset:-1px}.turnout-form__percent{text-align:right;color:var(--muted);font-size:.88rem;font-weight:500}.turnout-mobile-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:6px;padding:14px;display:grid}.turnout-mobile-card strong{font-size:1rem}.turnout-mobile-card span{color:var(--muted);font-size:.9rem}
