*{box-sizing:border-box}h1,h2,h3,p{margin-top:0}h1{font-size:var(--fs-36);line-height:1.18;letter-spacing:-.01em;margin-bottom:var(--sp-4)}h2{font-size:var(--fs-24);line-height:1.3;letter-spacing:-.01em;margin-bottom:var(--sp-4)}h3{font-size:var(--fs-18);line-height:1.4;margin-bottom:var(--sp-2)}p{margin-bottom:16px}a{color:var(--brand);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--palette-17);border-radius:8px;padding:10px 16px;background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none}button:hover,.button:hover{background:var(--soft)}button:disabled{opacity:.55;cursor:not-allowed}.danger{color:var(--danger);border-color:var(--palette-19)}.danger-solid{background:var(--danger);border-color:var(--danger);color:var(--surface)}.danger-solid:hover{background:var(--palette-33)}input,select,textarea{border:1px solid var(--control-border);border-radius:8px;padding:11px 12px;min-height:44px;min-width:0;max-width:100%;background:var(--surface);color:var(--ink)}input[type=checkbox],input[type=radio]{min-height:20px;width:20px;height:20px;accent-color:var(--brand);flex-shrink:0}textarea{min-height:120px;resize:vertical}label{display:grid;gap:var(--sp-2);font-weight:600;font-size:var(--fs-14)}label small{font-weight:400}fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-6);margin:0 0 var(--sp-6)}small,.small{font-size:var(--fs-14)}.muted{color:var(--muted)}.eyebrow{font-size:var(--fs-14);text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}h1:focus,main:focus{outline:none}img{max-width:100%;height:auto}svg{width:24px;height:24px}summary{list-style:none;cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}details{min-width:0}code{overflow-wrap:anywhere;font-size:var(--fs-14)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.skip{position:fixed;top:-100px;left:12px;background:var(--ink);color:var(--surface);padding:12px 18px;z-index:1000}.skip:focus{top:10px}*{scroll-margin-top:24px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){button,a,input,select,textarea,.badge,.panel{border:1px solid ButtonText}.nav-icon{fill:ButtonText}}

@media(max-width:599px){h1{font-size:var(--fs-30)}fieldset{padding:var(--sp-4)}}

body{margin:0;font-family:var(--tblr-font-sans-serif);font-size:var(--fs-16);line-height:1.55;color:var(--ink);background:var(--canvas)}
button,.button,.btn{font-size:var(--fs-16);font-weight:600;min-height:44px;white-space:normal}
.btn-primary,.primary{--tblr-btn-bg:var(--brand);--tblr-btn-border-color:var(--brand);--tblr-btn-hover-bg:var(--brand-hover);--tblr-btn-hover-border-color:var(--brand-hover);background:var(--brand);color:var(--surface);border-color:var(--brand)}
.btn-primary:hover,.primary:hover{background:var(--brand-hover);color:var(--surface);border-color:var(--brand-hover)}
.form-control,.form-select{font-size:var(--fs-16);min-height:44px;padding:11px 12px;border-color:var(--control-border);border-radius:8px;color:var(--ink);background-color:var(--surface)}
.form-check-input{accent-color:var(--brand)}.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}
legend{font-weight:700;padding:0 8px;float:none;width:auto;font-size:var(--fs-16);margin-bottom:12px}fieldset>legend+*{clear:none}
.card{color:var(--ink);background:var(--surface);border-color:var(--line);--tblr-card-border-radius:var(--radius)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sidebar :focus-visible,.nav-drawer :focus-visible{outline-color:var(--surface)}
[hidden]{display:none!important}

.form-select{padding-inline-end:3rem}

summary::-webkit-details-marker{display:none}summary:not(.identity-menu summary):before{content:"";display:inline-block;width:8px;height:8px;margin-right:16px;vertical-align:1px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg)}details[open]>summary:not(.identity-menu summary):before{transform:rotate(45deg)}

.environment-strip{padding:5px 16px;background:var(--soft);color:var(--muted);text-align:center;border-bottom:1px solid var(--line);font-size:var(--fs-14);font-weight:600}
.environment-label-compact{display:none}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;min-height:72px;grid-column:2;grid-row:2;background:var(--surface);border-bottom:1px solid var(--line)}
.topbar>.brand-link{display:none}.brand-link{min-width:0;flex-shrink:0}.shell-logo{display:block;width:300px;height:100px;object-fit:contain}
.topbar>.identity-menu{margin-left:auto}.identity-menu{position:relative;flex:none;max-width:300px;font-size:var(--fs-14)}.identity-menu summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.identity-menu summary:after{content:'⌄'}.identity-initials{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--brand-hover);font-weight:700}.identity-name{max-width:90px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-compact{color:var(--muted);font-size:var(--fs-12);white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.identity-other-roles{color:var(--brand);white-space:nowrap}
.identity-panel{position:absolute;right:0;top:100%;margin-top:8px;z-index:60;width:340px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px;background:var(--surface);overflow-wrap:anywhere}.identity-panel ul{padding-left:18px;display:grid;gap:12px;margin-block:16px}.identity-panel button{width:100%;margin-top:8px}.workspace-choices{display:grid;gap:8px}.workspace-choices button[aria-pressed=true]{background:var(--info-bg);color:var(--brand);border-color:var(--brand)}
.election-context{display:flex;align-items:center;gap:16px;min-width:0;flex:1;background:var(--surface)}.context-copy{flex:1;min-width:0}.context-copy p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-residence{font-weight:650;font-size:var(--fs-14)}.context-title{font-size:var(--fs-14);color:var(--muted)}.context-status{flex:none;display:flex;align-items:center;gap:12px;font-size:var(--fs-14)}.context-copy .context-deadline{color:var(--muted);font-size:var(--fs-12);margin-top:4px;white-space:normal;line-height:1.35}.change-election{flex-shrink:0}.change-full{display:none}
.app-shell{display:grid;grid-template-columns:332px minmax(0,1fr);grid-template-rows:auto auto 1fr;min-height:100vh}.environment-strip{grid-column:1/-1}.layout{display:contents}
.sidebar{grid-column:1;grid-row:2/4;background:var(--navy);color:var(--nav-text);padding:0 16px 24px;display:flex;flex-direction:column;gap:24px}.sidebar .brand-link{display:block;background:var(--surface);margin:0 -16px;padding:16px}.sidebar .shell-logo{width:300px;height:100px}.sidebar-heading{font-size:var(--fs-16);font-weight:700;padding:0 12px;letter-spacing:-.01em}.sidebar nav{position:sticky;top:20px}.nav-group{margin-bottom:24px}.nav-caption{color:var(--nav-muted);font-size:var(--fs-14);font-weight:500;padding:0 12px;margin:0 0 8px}.nav-group a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;color:var(--nav-text);border-radius:8px;text-decoration:none;font-size:var(--fs-14);font-weight:500;border-left:3px solid transparent}.nav-group a:hover{background:var(--navy-soft);color:var(--surface)}.nav-group a[aria-current=page]{background:var(--brand);color:var(--surface);border-left-color:var(--surface);font-weight:650}.nav-icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.workspace{grid-column:2;grid-row:3;min-width:0;display:flex;flex-direction:column;background:var(--canvas)}.workspace main{padding:24px;max-width:1400px;width:100%;margin-inline:auto;flex:1}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.heading h1{margin-bottom:8px}.heading p{max-width:72ch;color:var(--muted);margin:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px;min-width:0;box-shadow:0 2px 4px var(--palette-25)}.panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.panel-head h2,.panel-head h3{margin:0}.panel-head>div{min-width:0}.panel>h2{margin-bottom:16px}.panel>details{margin-top:20px}.panel details summary{color:var(--brand-hover)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0;display:flex;flex-direction:column;gap:8px}.stat b{font-size:var(--fs-30);font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}.stat .label{font-size:var(--fs-14);color:var(--muted);font-weight:600}.stat small{color:var(--muted);font-size:var(--fs-14)}
.badge,.environment-label{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;white-space:nowrap;flex:none;align-self:start;justify-self:start;overflow:visible;font-size:var(--fs-14);font-weight:600;line-height:1.25;background:var(--soft);color:var(--muted);letter-spacing:0;text-transform:none}
.badge.live{background:var(--brand);color:var(--surface);border-color:var(--brand)}.badge.info{color:var(--info);background:var(--info-bg)}.badge.success{color:var(--ok);background:var(--ok-bg)}.badge.warning{color:var(--warn);background:var(--warn-bg)}.badge.danger{color:var(--danger);background:var(--danger-bg)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1}.flex-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.definition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.definition dt{color:var(--muted);font-size:var(--fs-14);font-weight:500;margin-bottom:6px}.definition dd{margin:0;overflow-wrap:anywhere;font-size:var(--fs-14);font-weight:600}
.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}table,.table{width:100%;margin:0;border-collapse:collapse;font-size:var(--fs-14);--tblr-table-bg:var(--surface);--tblr-table-color:var(--ink);--tblr-table-border-color:var(--line)}th{text-align:left;background:var(--soft);color:var(--muted);font-weight:600;position:sticky;top:0}th,td,.table>:not(caption)>*>*{padding:16px;border-bottom:1px solid var(--line);vertical-align:top}thead th,.table thead th{font-size:var(--fs-14);text-transform:none;letter-spacing:0;color:var(--muted)}.table tbody tr:hover{background:var(--soft)}tbody tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted)}caption{caption-side:top;color:var(--muted)}
.notice,.form-error{padding:16px 20px;border:1px solid var(--palette-27);background:var(--info-bg);color:var(--info);border-radius:10px;margin:16px 0;font-size:var(--fs-14);line-height:1.6}.notice p:last-child{margin-bottom:0}.notice.warning{background:var(--warn-bg);border-color:var(--palette-30);color:var(--warn)}.form-error,.notice.error{background:var(--danger-bg);color:var(--danger);border-color:var(--palette-32)}.empty{display:block;height:auto;flex:none;min-height:0;text-align:center;padding:48px 24px;margin:0 0 24px}.empty p{max-width:56ch;margin-inline:auto;color:var(--muted)}.empty-symbol{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--soft);color:var(--brand);font-size:var(--fs-30);margin-bottom:20px}
.stage-summary{font-weight:650;margin:20px 0 12px}.stage-progress{display:none}.election-stage-track{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.election-stage-track li{border-top:3px solid var(--line);padding:12px 8px;font-size:var(--fs-14);background:var(--soft);color:var(--muted)}.election-stage-track .complete{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.election-stage-track .upcoming{background:var(--surface);border:1px solid var(--line);border-top-width:3px}.election-stage-track .current{background:var(--brand);border-color:var(--brand);color:var(--surface);font-weight:650}progress{display:block;width:100%;height:8px;accent-color:var(--brand);border:0;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--brand)}
#menu-toggle{display:none}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;width:calc(100% - 32px);max-width:640px;max-height:90svh;overflow:auto;box-shadow:0 24px 80px var(--palette-35)}dialog::backdrop{background:var(--palette-36);backdrop-filter:blur(3px)}dialog:not([open]){display:none}.close{float:right}.nav-drawer{margin:0;max-width:320px;height:100svh;max-height:100svh;border-radius:0;background:var(--navy);color:var(--nav-text);padding:24px 16px}.drawer-close{margin:0 0 24px 12px}.election-chooser{max-width:720px}.election-choices{margin-top:24px;display:grid;gap:24px}.election-choice-group h3{color:var(--muted);font-size:var(--fs-14);text-transform:none;letter-spacing:0;margin-bottom:12px}.election-choice{font-weight:400;display:flex;align-items:flex-start;flex-direction:column;text-align:left;gap:8px;padding:16px;white-space:normal;width:100%;margin-top:8px;overflow-wrap:anywhere}.election-choice[aria-pressed=true]{border-color:var(--brand);background:var(--info-bg);box-shadow:inset 3px 0 var(--brand)}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);width:max-content;background:var(--navy);color:var(--surface);padding:16px 24px;border-radius:12px;font-size:var(--fs-14);z-index:100;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%,0)}
.service-footer{border-top:1px solid var(--line);padding:24px 32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:var(--fs-14);color:var(--muted);margin-top:auto;background:var(--surface)}.service-identity{display:flex;align-items:center;gap:12px}.service-identity img{width:36px;height:36px}.service-identity strong,.service-identity span{display:block}.service-footer address{font-style:normal;margin:0}.service-contact,.legal-links{display:flex;gap:16px;flex-wrap:wrap}.service-contact a,.legal-links a{min-height:44px;display:inline-flex;align-items:center}.legal-links a[aria-current=page]{font-weight:700;text-decoration-thickness:2px}
.voter-shell .sidebar{display:none}.voter-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr}.voter-shell .topbar,.voter-shell .workspace,.voter-navigation{grid-column:1}.voter-shell .workspace{grid-row:4}.voter-shell .topbar>.brand-link{display:block;width:216px}.voter-shell .shell-logo{width:216px;height:72px}.voter-shell main{max-width:900px}.voter-navigation{grid-row:3;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 32px}.voter-navigation nav,.voter-navigation .nav-group{display:flex;gap:8px;flex-wrap:wrap;margin:0}.voter-navigation .nav-caption{display:none}.voter-navigation .nav-group a{color:var(--muted)}.voter-navigation .nav-group a:hover{background:var(--soft)}.voter-navigation .nav-group a[aria-current=page]{background:var(--info-bg);color:var(--brand);border-left-color:var(--brand)}
.initial{max-width:640px;min-height:100vh;margin:auto;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.partner-logo{width:100%;max-width:450px}.legal-page{max-width:1000px;margin:0 auto;padding:32px 24px}.legal-article{max-width:75ch;margin:32px auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:40px}.legal-page h1{margin-top:28px}.legal-page h2{margin-top:32px}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.legal-header img{width:300px}
.readiness-checklist{list-style:none;padding:0;margin:20px 0;display:grid;gap:16px}.readiness-checklist li{border-bottom:1px solid var(--line);padding-bottom:12px}.readiness-checklist p{margin:8px 0 0}.readiness-icon.success{color:var(--ok)}.readiness-icon.danger{color:var(--danger)}.directory-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.directory-record dl{font-size:var(--fs-14);display:grid;gap:6px}.directory-record dt{color:var(--muted);font-weight:500}.directory-record dd{margin:0 0 8px}.mobile-election-stage{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1279px){.context-deadline,.context-status{display:none}.context-copy p{white-space:normal}.mobile-election-stage{display:block;margin-bottom:12px}}@media(max-width:899px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:959px){.app-shell{display:block}.layout{display:block}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0;gap:0}.topbar>.brand-link{display:block;width:216px;margin:12px 16px}.topbar .shell-logo{width:216px;height:72px}.topbar>.identity-menu{grid-column:2;grid-row:1;margin-right:16px}.topbar>.election-context{grid-column:1/-1;grid-row:2;min-height:48px;border-top:1px solid var(--line)}.topbar>#menu-toggle{grid-row:2;justify-self:start;margin:0 16px 8px}.sidebar{display:none}#menu-toggle{display:inline-flex}.identity-initials{display:none}.election-context{padding:8px 16px;gap:12px}.workspace main{padding:24px 16px}.definition{grid-template-columns:repeat(2,minmax(0,1fr))}.voter-navigation{display:none}.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.service-footer{padding:24px 16px}}
@media(max-width:599px){.environment-label-full{display:none}.environment-label-compact{display:inline}.topbar>.brand-link{width:min(216px,calc(100% - 24px))}.identity-menu{flex:0 0 44px;max-width:44px}.identity-menu summary{display:flex;width:44px;height:44px;padding:0;justify-content:center}.identity-menu summary:after,.identity-name,.identity-compact,.identity-other-roles{display:none}.identity-initials{display:grid;width:36px;height:36px;flex-basis:36px}.identity-panel{width:288px;padding:20px}.election-context{height:48px;min-height:48px;padding:0 16px;gap:8px}.context-copy .context-residence{white-space:nowrap}.context-title,.context-status,.context-deadline,.change-full{display:none}.change-compact{display:inline}.change-election,#menu-toggle{padding:8px;font-size:var(--fs-14);min-height:44px}.workspace main{padding:16px}.heading{display:block;margin-bottom:24px}.panel{padding:20px 16px}.panel-head{align-items:flex-start}.stats{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.form-grid.three,.definition,.directory-filters{grid-template-columns:1fr}.full{grid-column:auto}.card-grid{grid-template-columns:1fr}.stage-stepper .election-stage-track{display:none}.stage-progress{display:block}.flex-actions>button{flex:1}.service-footer{display:block}.service-identity{margin-bottom:16px}.service-footer address{margin-bottom:12px}.legal-page{padding:16px}.legal-header{display:block}.legal-header img{width:216px}.legal-article{padding:24px 16px}.election-chooser{padding:20px 16px}}
@media(forced-colors:active){.nav-group a[aria-current=page],.election-choice[aria-pressed=true]{border:3px solid Highlight}.badge,.readiness-checklist li{border:1px solid CanvasText}.election-stage-track .current{outline:3px solid Highlight}.candidate:has(input:checked),.choice:has(input:checked){outline:3px solid Highlight;outline-offset:2px}progress{forced-color-adjust:none;color:Highlight;background:Canvas;border:1px solid CanvasText}progress::-webkit-progress-bar{background:Canvas}progress::-webkit-progress-value{background:Highlight}progress::-moz-progress-bar{background:Highlight}}
@media print{.sidebar,.topbar,.election-context,.environment-strip,.flex-actions,button{display:none!important}.layout{display:block}.workspace main{padding:0}.panel,.stat{break-inside:avoid;box-shadow:none}}

#confirm-stage{margin-top:12px}

.attention-list{list-style:none;padding:0;margin:0}.attention-list li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6)}.attention-list li:last-child{border:0}.ballot-progress{margin:16px 0;font-size:var(--fs-16);color:var(--ink);font-weight:600;margin-bottom:8px}.ballot-controls{display:flex;gap:12px;justify-content:space-between;margin-top:24px}.candidate{display:block;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--sp-4);cursor:pointer}.candidate:has(input:checked){border:2px solid var(--brand);background:var(--palette-37);padding:calc(var(--sp-6) - 1px)}.candidate-photo{width:72px;height:96px;aspect-ratio:3/4;flex-shrink:0;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.candidate p{font-size:var(--fs-14);font-weight:400;margin:var(--sp-2) 0}.candidate input{margin-top:4px}.receipt{padding:var(--sp-6);background:var(--palette-28);border:1px solid var(--palette-38);border-radius:12px;overflow-wrap:anywhere}.tally-step{padding:20px 0;border-bottom:1px solid var(--line)}.tally-step:last-child{border:0}.results-table{margin-top:16px}.case-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.case-targets>div{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-14)}.case-timeline{list-style:none;padding:0 0 0 18px;border-left:2px solid var(--line)}.case-timeline li{position:relative;padding:0 0 20px 12px}.case-timeline li:before{content:'';position:absolute;width:10px;height:10px;background:var(--brand);border-radius:50%;left:-24px;top:6px}.case-message{white-space:pre-wrap}.audit-detail{overflow-wrap:anywhere}.audit-filters,.nomination-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.audit-filters label{flex:1}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{padding:40px clamp(24px,5vw,80px);background:var(--navy);color:var(--nav-text);position:relative}.auth-brand{display:block;max-width:420px}.auth-intro{padding-top:60px}.auth-intro h1{margin:24px 0;max-width:600px;color:var(--nav-text);font-weight:650;letter-spacing:-.03em}.auth-intro h1 em{font-style:normal;color:var(--nav-text);text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:10px}.auth-kicker{font-size:var(--fs-14);letter-spacing:.1em;font-weight:700;color:var(--nav-text)}.auth-steps{list-style:none;padding:0;display:grid;gap:24px;margin-top:48px}.auth-steps li{display:flex;gap:20px}.auth-steps li>span{font-size:var(--fs-14);width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid var(--nav-muted);border-radius:50%;padding:0}.auth-steps strong,.auth-steps small{display:block}.auth-steps small{margin-top:5px}.auth-form-section{padding:40px clamp(24px,5vw,80px);display:flex;flex-direction:column;background:var(--canvas)}.auth-topline{display:flex;justify-content:space-between;gap:16px;font-size:var(--fs-14);letter-spacing:.1em;color:var(--muted);align-items:center;margin-bottom:24px}.auth-form-card{width:100%;max-width:430px;margin:auto;padding:32px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);background:var(--surface)}.auth-switch{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px}.auth-switch a{padding:12px 16px;text-decoration:none;color:var(--muted);min-height:44px;display:flex;align-items:center}.auth-switch a[aria-current=page]{border-bottom:2px solid var(--brand);color:var(--brand);font-weight:700}.auth-domain-note{margin-top:32px;display:flex;gap:14px;font-size:var(--fs-14);color:var(--muted);padding:16px;background:var(--soft);border-radius:10px}.auth-domain-note p{margin:var(--sp-2) 0}.auth-domain-note small{display:block}.auth-help{border-top:1px solid var(--line);margin-top:24px;padding-top:12px;font-size:var(--fs-14)}.auth-loading{padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.auth-page>.service-footer{grid-column:1/-1}.auth-retry{margin-top:16px}.auth-welcome{margin-bottom:20px}#clerk-signin .cl-rootBox,#clerk-signin .cl-cardBox{max-width:100%;width:100%}.review-choices{padding-left:20px}@media(max-width:959px){.auth-page{grid-template-columns:1fr}.auth-intro h1{font-size:var(--fs-30);max-width:none}.auth-steps,.auth-kicker{display:none}.case-targets{grid-template-columns:1fr}.ballot-controls{flex-wrap:wrap}.ballot-controls button{flex:1}.candidate{padding:var(--sp-4)}.candidate:has(input:checked){padding:calc(var(--sp-4) - 1px)}}
.row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;--tblr-gutter-x:0;--tblr-gutter-y:0}.row>div{min-width:0}.row p{margin-bottom:8px}.stack{display:grid;gap:var(--sp-4)}.check{display:flex;align-items:center;gap:12px;font-weight:400;min-height:44px}.election-row{padding:24px 0;border-top:1px solid var(--line)}.election-row:first-of-type{border-top:0;padding-top:0}.election-row p{font-size:var(--fs-14);color:var(--muted)}.candidate>.candidate-photo{float:left;margin:0 18px 14px 0}.candidate>.stack,.candidate>.manifesto{clear:both}.manifesto{white-space:pre-wrap}caption{text-align:left;padding:12px 16px;font-weight:600}@media(max-width:599px){.row{align-items:flex-start;flex-wrap:wrap}.election-stage-track{gap:5px}.election-stage-track li{padding:5px 7px;font-size:var(--fs-14)}}
.attention-list .attention-copy{min-width:0;display:grid;gap:var(--sp-2)}.attention-copy h3{margin:0}.attention-copy p{margin:0}.attention-list .button{flex:none;white-space:nowrap;font-size:var(--fs-14)}.attention-list .small{overflow-wrap:anywhere}@media(max-width:599px){.attention-list li{align-items:flex-start;flex-direction:column;gap:12px}.attention-list .button{max-width:100%;margin:0}}.choice{display:grid;grid-template-columns:22px 56px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--line);padding:var(--sp-4);margin:var(--sp-4) 0;cursor:pointer;font-weight:400}.choice .candidate-photo{width:56px;height:auto}.choice strong{display:block;margin-bottom:var(--sp-2);line-height:1.4}.choice .manifesto{display:block;font-size:var(--fs-14);line-height:1.55;color:var(--muted)}.choice input{margin:2px 0 0}.choice:not(:has(img)){grid-template-columns:22px minmax(0,1fr)}@media(max-width:599px){.choice{grid-template-columns:22px minmax(0,1fr)}.choice .candidate-photo{grid-column:2;width:48px;height:64px}.choice>span{grid-column:2}.choice:not(:has(img))>span{grid-row:1}}

#ballot-progress-bar{margin-bottom:20px}

.manifesto,.case-message,.election-row h3{overflow-wrap:anywhere}
@media(max-width:599px){.receipt{padding:var(--sp-4)}.ballot-step{padding:var(--sp-4)}.choice{padding:var(--sp-4);gap:var(--sp-2)}}
@media(forced-colors:active){.candidate-photo{border:1px solid CanvasText}}

.row>*{width:auto}.row>:not(.badge){padding:0;flex-shrink:1}
.auth-brand-plate{background:var(--surface);border-radius:14px;padding:16px;display:block}.auth-intro>p,.auth-steps small,.auth-steps li>span{color:var(--nav-muted)}.legal-shell{background:var(--canvas)}.legal-header{max-width:1160px;margin:auto;padding:24px}.legal-brand{width:332px}.legal-navigation{display:flex;gap:20px;flex-wrap:wrap;max-width:1000px;margin:auto;padding:0 24px}.legal-navigation a{min-height:44px;display:flex;align-items:center;color:var(--muted)}.legal-navigation a[aria-current=page]{font-weight:700;color:var(--brand);border-bottom:2px solid var(--brand)}.legal-shell .legal-page{padding-top:0}.legal-article>h1:first-child{margin-top:0}
.action-queue .attention-list li{padding:18px 0}.election-directory{display:grid;gap:16px}.election-command{border-top:3px solid var(--brand)}.lifecycle-summary{display:flex;align-items:center;gap:24px;padding:20px;background:var(--soft);border-radius:12px;margin:20px 0}.lifecycle-summary>div{min-width:0;flex:1}.lifecycle-summary span{display:block;font-size:var(--fs-14);color:var(--muted);margin-bottom:6px}.lifecycle-summary strong{font-size:var(--fs-20);font-weight:650}.command-action{padding:4px 0 20px}.election-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:24px;border-top:1px solid var(--line)}.election-metrics>div{min-width:0}.election-metrics span{display:block;color:var(--muted);font-size:var(--fs-14);margin-bottom:8px}.election-metrics strong{display:block;font-size:var(--fs-24);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.election-record>summary,.creation-panel>summary,.custody-panel>summary,.residence-register>summary{font-size:var(--fs-18);font-weight:650;color:var(--ink)}.election-record[open]>summary,.creation-panel[open]>summary,.custody-panel[open]>summary,.residence-register[open]>summary{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.creation-body{padding-top:8px}.creation-body fieldset{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0 0;margin-bottom:0}.creation-body legend{padding:0 12px 0 0;font-size:var(--fs-16)}.election-detail-grid{display:grid;gap:24px}.personal-status{padding:20px;background:var(--soft);border-radius:12px}.personal-dates{color:var(--muted);font-size:var(--fs-14)}.personal-election{border-top:3px solid var(--brand)}
.feature-card>.card-header{padding:0 0 20px;margin-bottom:20px;background:none;border-bottom:1px solid var(--line);min-height:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.feature-card>.card-body{padding:0}.feature-toolbar{background:var(--soft);padding:16px;border-radius:10px}.candidate-manifesto{margin:16px 0}.candidate-manifesto summary{color:var(--brand);font-size:var(--fs-14)}.choice,.ballot-choice{background:var(--surface);border-radius:12px}.choice:has(input:checked){background:var(--info-bg);border-color:var(--brand);box-shadow:inset 3px 0 var(--brand)}.case-history{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.case-history summary{font-weight:650}.directory-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;margin-top:24px;border-top:1px solid var(--line)}.directory-page-label{font-size:var(--fs-14);color:var(--muted)}
@media(max-width:959px){.auth-story{padding:24px}.auth-form-section{order:-1;padding:24px}.auth-form-card{margin:0 auto}.auth-story .auth-intro{padding-top:24px}.auth-page>.service-footer{order:2}.auth-form-section .auth-topline{max-width:430px;width:100%;margin-inline:auto}.legal-header{align-items:flex-start}.legal-brand{width:260px}.election-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.auth-form-section,.auth-story{padding:16px}.auth-form-card{padding:24px 16px}.auth-story .auth-brand{max-width:248px}.legal-header{padding:16px;display:block}.legal-brand{width:248px}.legal-navigation{gap:16px;margin-top:16px}.lifecycle-summary{gap:12px;padding:16px}.lifecycle-summary strong{font-size:var(--fs-18)}.election-metrics{gap:20px 12px}.election-metrics strong{font-size:var(--fs-20)}.feature-toolbar{padding:12px}.directory-pagination{flex-wrap:wrap}.directory-page-label{order:-1;flex-basis:100%;text-align:center}.directory-pagination button{flex:1}.feature-card>.card-header{align-items:flex-start;flex-wrap:wrap}}

.report-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 24px}.report-row{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line)}.report-row:last-child{border:0}.report-copy{min-width:0}.report-copy h2{font-size:var(--fs-18);margin-bottom:6px}.report-copy p{font-size:var(--fs-14);color:var(--muted);margin:0}.report-action{flex:none}.report-action button{white-space:nowrap}.report-action p{max-width:220px;margin:8px 0 0}.case-reference{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:var(--fs-14);color:var(--muted)}.case-copy-feedback{overflow-wrap:anywhere}.candidate-portfolio{padding:24px 0;border-top:1px solid var(--line)}.candidate-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}.candidate-entry{min-width:0}.candidate-entry .candidate-photo{float:left;margin:0 16px 12px 0}.candidate-entry .manifesto{clear:both;font-size:var(--fs-14)}
.directory-notice{padding:16px}.directory-notice p{margin:0 0 8px}.directory-table{table-layout:fixed}.directory-table th,.directory-table td{padding:12px;overflow-wrap:anywhere}.directory-table th:nth-child(1){width:18%}.directory-table th:nth-child(2){width:10%}.directory-table th:nth-child(3){width:18%}.directory-table th:nth-child(4){width:11%}.directory-table th:nth-child(5){width:25%}.directory-table th:nth-child(6){width:18%}.directory-table tbody th{position:static;background:var(--surface);color:var(--ink)}.directory-source summary{font-weight:500}.directory-source dl{margin-top:12px}.directory-source dd{margin-bottom:8px}.directory-source a{overflow-wrap:anywhere}
@media(max-width:699px){.directory-table caption{display:block}.directory-table td:last-child:before{display:none}.directory-table,.directory-table tbody,.directory-table tr,.directory-table th,.directory-table td{display:block;width:100%!important}.directory-table thead{position:absolute;width:1px!important;height:1px;overflow:hidden;clip-path:inset(50%)}.directory-table tr{padding:16px;border-bottom:1px solid var(--line)}.directory-table th,.directory-table td{border:0;padding:6px 0}.directory-table td:before{content:attr(data-label);display:block;font-weight:600;color:var(--muted);margin-bottom:4px}.report-row{align-items:flex-start;flex-direction:column;gap:12px}.report-action p{max-width:none}}

@media(min-width:700px){.directory-table td:nth-child(4){white-space:nowrap}}
