:root{color:#172722;font-synthesis:none;--mark-s:#176249;--mark-s-tint:#e8f4ed;--mark-s-line:#9fcbb2;--mark-c:#1f5f9e;--mark-c-tint:#eaf1fa;--mark-c-line:#a9c4e4;--mark-b:#6b3fa0;--mark-b-tint:#f3eefa;--mark-b-line:#c9b5e3;background:#f4f7f5;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}.app-shell{min-height:100dvh}.app-header{z-index:20;min-height:72px;padding:12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));background:#e6f2ea;border-bottom:1px solid #c6ddce;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand>div:last-child{min-width:0}.brand-icon{color:#fff;background:#165a46;border-radius:8px;flex:none;place-items:center;width:43px;height:43px;display:grid}.brand h1{margin:0;font-size:20px;line-height:1.12}.brand-identity{color:#53645c;gap:1px;margin-top:3px;font-size:12px;line-height:1.2;display:grid}.brand-identity span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-controls{flex:none;align-items:center;gap:14px;display:flex}.language-action{color:#29453a;white-space:nowrap;background:#fff;border:1px solid #c9d5cd;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 9px;font-size:13px;font-weight:650;display:inline-flex}.language-action:hover{background:#e5efea}.language-action:focus-visible{outline-offset:2px;outline:2px solid #176249}.install-action{min-width:36px}.install-steps{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.install-steps li{align-items:center;gap:10px;line-height:1.35;display:flex}.install-steps svg{color:#165a46;flex:none}.install-note{color:#53645c;margin:14px 0 0;font-size:13px}.header-tools{flex:none;justify-items:end;gap:3px;display:grid}.app-version{color:#53645c;font-variant-numeric:tabular-nums;font-size:12px;line-height:1.1}.header-action{color:#29453a;background:#fff;border:1px solid #c9d5cd;border-radius:6px;align-items:center;gap:7px;min-height:42px;padding:0 12px;display:flex}.startup{padding:30px}.login-view{max-width:420px;margin:min(8vh,50px) auto;padding:0 20px}.login-heading svg{color:#176249}.login-heading h2{margin:12px 0 4px;font-size:24px}.login-heading p,.offline-note{color:#5d6b63;margin:0 0 28px;line-height:1.5}label{color:#395147;font-size:13px;font-weight:650;display:block}input,select{color:#172722;background:#fff;border:1px solid #bac9bf;border-radius:6px;outline-color:#176249;width:100%;min-height:44px;padding:9px 12px}form label+label{margin-top:16px}label input,label select{margin-top:6px}.primary-button{color:#fff;background:#176249;border:1px solid #176249;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:0 16px;font-weight:700;display:inline-flex}.login-button{width:100%;margin-top:24px}.error{color:#a22e35;margin:14px 0 0}.offline-note{margin-top:20px;font-size:13px}.public-content{max-width:1120px;padding:20px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.search-dock{z-index:20;padding:10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#e6f2ea;border-top:1px solid #c6ddce;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #17272212}.search-dock>.search-row,.search-dock>.public-search{max-width:1088px;margin:0 auto}.public-search{color:#607368;background:#fff;border:1px solid #bac9bf;border-radius:6px;align-items:center;gap:9px;min-height:44px;padding:0 12px;display:flex}.public-search:focus-within{outline:2px solid #176249}.public-search input{border:0;outline:0;flex:1;min-width:0;padding:0}.public-dock-inner{justify-content:center;align-items:stretch;gap:10px;max-width:1088px;margin:0 auto;display:flex}.public-search-dock .summary-toggle{text-align:left;flex:0 0 260px;width:auto;min-height:48px}.public-search-dock .public-search{border:2px solid #176249;flex:620px;min-width:0;max-width:620px;min-height:48px}.public-summary-scope{color:#53665a;margin:0;font-size:13px}.public-filter-grid label{min-width:0}.public-filter-grid input{margin-top:6px}.public-list-heading{color:#53665a;justify-content:space-between;align-items:end;gap:12px;min-height:55px;padding-bottom:9px;font-size:13px;display:flex}.public-list-heading h2{color:#172722;margin:0;font-size:17px}.public-list{border-top:1px solid #d9e2dc}.public-voter-row{background:#fff;border-bottom:1px solid #d9e2dc;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr) auto;gap:12px;min-height:82px;padding:12px;display:grid}.public-voter-row>div{overflow-wrap:anywhere;color:#53665a;flex-direction:column;gap:3px;min-width:0;font-size:12px;display:flex}.public-voter-main strong{color:#172722;font-size:15px}.public-voter-personal{align-items:start}.slip-row-action{color:#176249;white-space:nowrap;background:#fff;border:1px solid #b4c9b9;border-radius:5px;justify-content:center;align-items:center;gap:5px;width:fit-content;min-height:36px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.slip-row-action:hover{background:#e9f3ed}.slip-row-action:focus-visible{outline-offset:2px;outline:2px solid #176249}.public-empty{text-align:center;color:#607368;background:#fff;border-top:1px solid #d9e2dc;margin:0;padding:30px 12px}.public-pages{color:#53665a;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;font-size:13px;display:flex}.public-pages button{color:#245a42;background:#fff;border:1px solid #bac9bf;border-radius:5px;align-items:center;gap:3px;min-height:40px;padding:0 10px;font-weight:650;display:inline-flex}.page-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.page-navigation>button:last-child{justify-self:end}.page-jump{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:flex}.page-jump input{text-align:center;font-variant-numeric:tabular-nums;width:58px;min-height:38px;padding:5px}.page-jump button{min-height:38px}.field-content{width:100%;max-width:1120px;padding:12px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.search-row{color:#597068;background:#fff;border:1px solid #b7c9bc;border-radius:6px;align-items:center;gap:10px;height:48px;padding:0 12px;display:flex}.search-row:focus-within{border-color:#176249;box-shadow:0 0 0 2px #d0e4d6}.search-row input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0}.field-dock-inner{justify-content:center;align-items:stretch;gap:10px;max-width:1088px;margin:0 auto;display:flex}.field-search-dock .summary-toggle{text-align:left;flex:0 0 260px;width:auto;min-height:48px}.field-search-dock .search-row{border:2px solid #176249;flex:620px;min-width:0;max-width:620px;height:auto;min-height:48px}.field-search-dock .summary-toggle,.public-search-dock .summary-toggle{background:#fff;border-color:#b7cdbd;gap:6px}.field-search-dock .summary-toggle svg,.public-search-dock .summary-toggle svg{flex:none}.field-search-dock .summary-toggle span,.public-search-dock .summary-toggle span{flex:1}.dashboard-label-compact{display:none}.search-filter-button{border-left:1px solid #d4dfd7;border-radius:0}.search-filter-button.active{color:#116d4c;background:#e4f1e8}.icon-button{color:#426456;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;width:37px;height:37px;display:grid}.icon-button:hover{background:#e5efea}.filter-row{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin:10px 0;display:grid}.filter-row select{min-width:0;min-height:40px;padding-right:22px;font-size:13px;font-weight:600}.filter-dialog,.dashboard-dialog{max-height:min(88dvh,720px);overflow-y:auto}.filter-dialog .filter-row{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 0}.filter-dialog .filter-row label{min-width:0}.filter-dialog .filter-row select{margin-top:6px}.dashboard-total{flex-wrap:wrap;align-items:baseline;gap:6px;margin:16px 0 12px;display:flex}.dashboard-total strong{font-size:24px}.dashboard-total span{color:#607269;width:100%;font-size:12px}.dashboard-dialog .summary{border:0;padding:0}.dashboard-dialog .summary>div{width:calc(50% - 10px)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.summary-toggle{color:#344e40;background:#eaf1ed;border:1px solid #d4dfd7;border-radius:5px;justify-content:space-between;align-items:center;width:100%;min-height:34px;padding:4px 10px;font-size:13px;font-weight:600;display:flex}.quick-totals{color:#526458;flex-wrap:wrap;gap:12px;padding:9px 2px 3px;font-size:12px;display:flex}.quick-totals span{align-items:baseline;gap:4px;display:inline-flex}.quick-totals strong{color:#193b2d;font-variant-numeric:tabular-nums;font-size:15px}.admin-totals{border-bottom:1px solid #d8e0da;margin-top:15px;padding-bottom:8px}.admin-breakdown{color:#415b4c;padding-top:7px;font-size:12px}.admin-breakdown summary{cursor:pointer;width:fit-content}.admin-breakdown .summary{background:0 0;border:0;padding:8px 0}.summary{background:#fff;border:1px solid #d4dfd7;border-top:0;flex-wrap:wrap;gap:8px 20px;padding:12px;font-size:13px;display:flex}.summary>div:not(.summary-actions){align-items:center;gap:5px;min-width:95px;display:flex}.summary>p{color:#5d6d63;width:100%;margin:0;font-size:12px}.summary strong{font-size:16px}.summary-actions{flex-wrap:wrap;gap:8px;width:100%;padding-top:8px;display:flex}.summary-actions button{color:#295a48;background:#fff;border:1px solid #bac9bf;border-radius:5px;align-items:center;gap:6px;min-height:38px;padding:0 10px;display:flex}.list-heading{justify-content:space-between;align-items:center;min-height:44px;font-size:14px;font-weight:750;display:flex}.message{color:#5d4b19;background:#fff4d8;border-left:3px solid #d6a33a;border-radius:3px;padding:8px 10px;font-size:13px}.admin-message{justify-content:space-between;align-items:center;gap:10px;animation:6s forwards message-expire;display:flex}.admin-message .icon-button{color:inherit}@keyframes message-expire{0%,83%{opacity:1}to{opacity:0}}.voter-list{border-top:1px solid #d8e0da}.voter-row{background:#fff;border-bottom:1px solid #d8e0da;grid-template-columns:minmax(0,1fr) auto minmax(190px,auto);grid-template-areas:"info marks secondary";align-items:center;gap:20px;min-height:104px;padding:12px 10px;display:grid}.voter-main{grid-area:info;min-width:0}.voter-info{flex-direction:column;gap:3px;width:100%;min-width:0;padding-left:12px;display:flex}.voter-info strong{overflow-wrap:anywhere;font-size:15px}.voter-info span{color:#53665a;overflow-wrap:anywhere;font-size:12px}.voter-details-trigger{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0}.voter-details-trigger:hover strong,.voter-details-trigger:focus-visible strong{text-underline-offset:2px;text-decoration:underline}.voter-details-trigger:focus-visible{outline-offset:2px;outline:2px solid #176249}.voter-note{white-space:pre-wrap;font-style:italic;color:#345f4d!important}.voter-location,.voter-mark-meta{font-variant-numeric:tabular-nums}.voter-classification{color:#406452;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:12px;display:inline-flex}.community-badge{color:#165a46;text-overflow:ellipsis;white-space:nowrap;background:#f4faf6;border:1px solid #a9c6b4;border-radius:4px;width:fit-content;max-width:100%;padding:3px 7px;font-size:12px;font-weight:650;display:inline-block;overflow:hidden}.favor-choices{align-items:center;gap:5px;display:inline-flex}.favor-choices button{color:#176249;background:#fff;border:1px solid #bdcfc3;border-radius:5px;flex:none;place-items:center;width:40px;height:40px;display:grid}.favor-choices button.selected{background:#e3f1e8;border-color:#176249}.favor-choices button:focus-visible{outline-offset:2px;outline:2px solid #176249}.neutral-thumb{transform:rotate(-90deg)}.mark-controls{grid-area:marks;align-items:center;gap:8px;display:flex}.mark-letters{align-items:center;gap:8px;display:flex}.voter-secondary{flex-wrap:wrap;grid-area:secondary;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.mark-button{color:#354c3e;background:#fff;border:1px solid #bdcfc3;border-radius:6px;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid;position:relative}.mark-button.selected{background:#e9f3ed;border-width:2px;border-color:#176249}.letter-mark.s{--mark:var(--mark-s);--mark-tint:var(--mark-s-tint);--mark-line:var(--mark-s-line)}.letter-mark.c{--mark:var(--mark-c);--mark-tint:var(--mark-c-tint);--mark-line:var(--mark-c-line)}.letter-mark.b{--mark:var(--mark-b);--mark-tint:var(--mark-b-tint);--mark-line:var(--mark-b-line)}:is(.mark-button,.admin-mark-actions button).letter-mark{border:1.5px solid var(--mark-line);background:var(--mark-tint);width:60px;height:40px;color:var(--mark);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0;font-size:16px;font-weight:800;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform 80ms;display:inline-flex;box-shadow:0 1px 2px #17272214}@media (hover:hover){:is(.mark-button,.admin-mark-actions button).letter-mark:hover:not(:disabled){border-color:var(--mark);box-shadow:0 2px 6px #17272224}}:is(.mark-button,.admin-mark-actions button).letter-mark:active:not(:disabled){box-shadow:none;transform:translateY(1px)scale(.98)}:is(.mark-button,.admin-mark-actions button).letter-mark:focus-visible{outline:3px solid var(--mark-line);outline-offset:2px}:is(.mark-button,.admin-mark-actions button).letter-mark.selected{border-color:var(--mark);background:var(--mark);color:#fff;box-shadow:0 2px 8px #17272238}:is(.mark-button,.admin-mark-actions button).letter-mark svg{flex:none;position:static}:is(.mark-button,.admin-mark-actions button).letter-mark .mark-lock{opacity:.9}.mark-button.selected svg{position:absolute;top:2px;right:2px}.phone-control{align-items:center;gap:2px;min-width:0;display:inline-flex}.phone-control a{color:#176249;white-space:nowrap;align-items:center;gap:4px;min-height:44px;font-size:12px;display:inline-flex}.phone-control a svg{width:14px;height:14px}.phone-control button{color:#176249;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:3px;min-width:44px;height:44px;display:inline-flex}.phone-control button:hover{background:#e5efea}.undo-toast{z-index:25;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));color:#fff;background:#173b2e;border-radius:6px;align-items:center;gap:14px;min-width:250px;max-width:calc(100vw - 24px);min-height:48px;padding:5px 8px 5px 14px;font-size:13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 26px #10201544}.undo-toast span{white-space:nowrap;flex:1}.undo-toast button{color:#165a46;background:#fff;border:0;border-radius:4px;align-items:center;gap:5px;min-height:36px;padding:0 10px;font-weight:700;display:inline-flex}.undo-toast .undo-close{color:#fff;background:0 0;justify-content:center;min-width:34px;padding:0}.notice-toast{z-index:26;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:#173b2e;border-radius:6px;width:max-content;max-width:calc(100vw - 24px);padding:12px 16px;font-size:13px;font-weight:600;animation:.15s ease-out notice-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 26px #10201544}.undo-toast~.notice-toast{bottom:calc(140px + env(safe-area-inset-bottom))}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,6px)}}.note-backdrop{z-index:30;background:#12251a80;place-items:center;padding:14px;display:grid;position:fixed;inset:0;overflow-y:auto}.note-dialog{background:#fff;border-radius:7px;width:min(100%,430px);padding:18px;box-shadow:0 18px 50px #10201544}.slip-dialog{width:min(100%,560px);max-height:min(94dvh,920px);padding:14px;overflow-y:auto}.shared-slip-shell{background:#f3f6f4;min-height:100dvh}.shared-slip-header{min-height:64px;padding:9px max(12px, env(safe-area-inset-right)) 9px max(12px, env(safe-area-inset-left));background:#e6f2ea;border-bottom:1px solid #c6ddce;justify-content:space-between;align-items:center;gap:12px;display:flex}.shared-slip-header a{color:#165a46;font-size:13px;font-weight:700}.shared-slip-header .shared-slip-brand{color:#172722;align-items:center;gap:10px;font-size:17px;text-decoration:none;display:inline-flex}.slip-page{width:min(100%,580px);margin:0 auto;padding:20px 12px 40px}.slip-page-dialog{width:100%}.shared-slip-state{color:#344e40;width:min(100% - 24px,560px);margin:36px auto}.shared-slip-state button{color:#176249;background:#fff;border:1px solid #bac9bf;border-radius:5px;min-height:40px;padding:0 14px;font-weight:700}.slip-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:0 2px 10px;font-size:14px;display:flex}.voter-slip{color:#172722;background:#fff;border:1px solid #283a31}.slip-heading{background:#eaf2ed;border-bottom:2px solid #283a31;padding:15px 17px}.slip-heading span{color:#52685a;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.slip-heading h2{overflow-wrap:anywhere;margin:5px 0 0;font-size:17px;line-height:1.35}.slip-numbers{border-bottom:2px solid #283a31;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.slip-numbers>div{flex-direction:column;gap:3px;padding:10px 17px;display:flex}.slip-numbers>div+div{border-left:1px solid #d9e2dc}.slip-numbers span{color:#53665a;font-size:11px}.slip-numbers strong{font-variant-numeric:tabular-nums;font-size:18px}.slip-details{margin:0;padding:4px 17px}.slip-details>div{border-bottom:1px dashed #94a99b;grid-template-columns:minmax(90px,34%) minmax(0,1fr);gap:8px;padding:10px 0;display:grid}.slip-details>div:last-child{border-bottom:0}.slip-details dt{color:#53665a;font-size:12px}.slip-details dd{overflow-wrap:anywhere;flex-direction:column;gap:3px;min-width:0;margin:0;font-size:14px;display:flex}.slip-details dd span{color:#53665a;font-size:12px}.slip-epic{letter-spacing:.03em;font-variant-numeric:tabular-nums}.slip-polling{border-top:2px solid #283a31}.slip-polling>div{flex-direction:column;gap:3px;padding:10px 17px;display:flex}.slip-polling>div+div{border-top:1px solid #283a31}.slip-polling>div:first-child{background:#eaf2ed}.slip-polling span{color:#53665a;font-size:11px}.slip-polling strong{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.slip-station{justify-content:space-between;align-items:center;flex-direction:row!important;gap:12px!important}.slip-station>div{flex-direction:column;gap:3px;min-width:0;display:flex}.slip-station a{color:#176249;font-size:12px}.slip-map-qr{flex:0 0 82px;line-height:0}.slip-map-qr svg{max-width:100%;height:auto}.slip-disclaimer{color:#52685a;background:#f2f6f3;border-top:1px dashed #94a99b;margin:0;padding:11px 17px;font-size:11px;line-height:1.4}.slip-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.slip-actions button{color:#176249;background:#fff;border:1px solid #bac9bf;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.slip-actions .primary-button{color:#fff;background:#176249;border-color:#176249}@media (width<=479px){.slip-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.slip-actions button{text-align:center;flex-direction:column;gap:3px;min-width:0;min-height:56px;padding:5px 3px;font-size:11px;line-height:1.2}}.slip-message{color:#395147;text-align:right;flex:1;min-width:0;font-size:11px}.voter-details{width:min(100%,620px);max-height:min(92dvh,900px);overflow-y:auto}.details-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.details-heading h3{margin:0;font-size:18px}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px;margin:15px 0;display:grid}.details-grid div{border-bottom:1px solid #e3eae4;min-width:0;padding-bottom:5px}.details-grid dt{color:#627469;font-size:11px}.details-grid dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:13px}.details-location{color:#176249;margin-bottom:12px;font-size:13px;display:inline-block}.details-edit{border-top:1px solid #d9e3dc;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px;display:grid}.details-edit label{margin:0}.details-edit select,.details-edit input{margin-top:6px}.details-field-label{color:#395147;font-size:13px;font-weight:650;display:block}.favor-picker{margin-top:6px}.favor-picker summary{color:#176249;cursor:pointer;background:#fff;border:1px solid #bac9bf;border-radius:6px;justify-content:space-between;align-items:center;min-height:44px;padding:0 12px;list-style:none;display:flex}.favor-picker summary::-webkit-details-marker{display:none}.favor-picker summary:focus-visible{outline-offset:2px;outline:2px solid #176249}.favor-options{gap:6px;padding:7px 0 0;display:flex}.favor-options button{color:#176249;background:#fff;border:1px solid #bac9bf;border-radius:6px;place-items:center;width:44px;height:44px;display:grid}.favor-options button.selected{background:#e3f1e8;border-color:#176249}.favor-options button:focus-visible{outline-offset:2px;outline:2px solid #176249}.note-dialog textarea{resize:vertical;border:1px solid #bac9bf;border-radius:5px;width:100%;min-height:105px;margin-top:7px;padding:10px;display:block}.note-actions{justify-content:flex-end;align-items:center;gap:9px;margin-top:14px;display:flex}.note-actions>button:first-child{background:#fff;border:1px solid #bac9bf;border-radius:5px;min-height:42px;padding:0 12px}.confirm-dialog{width:min(100%,380px)}.confirm-message{color:#3f5448;margin-top:10px;font-size:14px;line-height:1.5}.confirm-message p{margin:0 0 8px}.confirm-message p:last-child{color:#65776b;margin-bottom:0;font-size:13px}.confirm-message strong{color:#172722}.primary-button.danger{background:#9e2430;border-color:#9e2430}.primary-button:focus-visible,.note-actions>button:first-child:focus-visible{outline-offset:2px;outline:3px solid #9fcbb2}.mark-chip{background:var(--mark);color:#fff;vertical-align:1px;border-radius:7px;place-items:center;min-width:26px;height:24px;margin-right:2px;padding:0 6px;font-size:13px;font-weight:800;display:inline-grid}.mark-chip.s{--mark:var(--mark-s)}.mark-chip.c{--mark:var(--mark-c)}.mark-chip.b{--mark:var(--mark-b)}.more-button{color:#176249;background:#fff;border:1px solid #cad8ce;border-radius:5px;width:100%;min-height:45px;margin:12px 0;font-weight:700}.empty-state{text-align:center;color:#54675d;justify-items:center;gap:10px;padding:50px 12px;display:grid}.sync-footer{color:#607269;justify-content:space-between;padding:14px 2px 0;font-size:12px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-content{max-width:1000px;padding:20px 18px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.section-title{color:#165a46;align-items:center;gap:8px;display:flex}.section-title h2{color:#172722;flex:1;margin:0;font-size:20px}.admin-tabs{border-bottom:1px solid #ccd9cf;gap:4px;margin-top:16px;display:flex;overflow-x:auto}.admin-tabs button{color:#50695b;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 15px;font-weight:700}.admin-tabs button.active{color:#165a46;border-bottom-color:#176249}.admin-section{border-bottom:1px solid #d1ded5;padding:22px 0}.admin-section h3{margin:0 0 13px;font-size:16px}.ps-coverage{margin:2px 0 16px}.ps-coverage h4,.assembly-admin-form h4{margin:0 0 8px;font-size:13px}.ps-coverage .assignment-list{margin-top:0}.assembly-admin-form{border-top:1px solid #d9e2dc;margin-top:22px;padding-top:16px}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin-bottom:15px;display:grid}.admin-grid label{margin:0}.admin-section .primary-button{margin-top:2px}.import-progress{accent-color:#176249;width:100%;height:8px;margin-top:14px;display:block}.admin-roster-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.admin-roster-heading h3{margin:0}.admin-roster-assembly{max-width:340px}.admin-roster-assembly select{text-overflow:ellipsis;overflow:hidden}.admin-search-input{color:#607368;background:#fff;border:1px solid #bac9bf;border-radius:6px;align-items:center;margin-top:6px;padding-left:11px;display:flex}.search-dock .admin-search-input{max-width:964px;margin:0 auto}.admin-search-input:focus-within{outline:2px solid #176249}.admin-search-input input{border:0;outline:0;min-width:0;margin:0}.admin-search-input .icon-button{align-self:center}.admin-roster-meta{color:#53665a;justify-content:space-between;gap:12px;margin:17px 0 8px;font-size:12px;display:flex}.admin-roster-meta span:first-child{color:#274639;font-weight:700}.admin-voter-list{border-top:1px solid #d9e2dc}.admin-voter-row{background:#fff;border-bottom:1px solid #d9e2dc;grid-template-columns:minmax(0,2fr) minmax(95px,.8fr) auto minmax(0,1.2fr);grid-template-areas:"name scope mark updated";align-items:center;gap:12px;min-height:69px;padding:9px 12px;font-size:13px;display:grid}.admin-voter-identity{flex-direction:column;grid-area:name;gap:2px;min-width:0;padding:0;display:flex}.admin-voter-identity strong{overflow-wrap:anywhere}.admin-voter-identity span,.admin-voter-scope,.admin-voter-updated{color:#5d7064;font-size:12px}.admin-voter-scope{flex-direction:column;grid-area:scope;gap:2px;display:flex}.admin-slip-action{margin-top:3px}.admin-mark-cell{grid-area:mark;align-items:center;gap:6px;display:flex}.admin-mark-actions{gap:6px;display:flex}.admin-mark-actions button,.admin-note-button{color:#176249;background:#fff;border:1px solid #c6d5cb;border-radius:5px;place-items:center;width:38px;height:38px;display:grid}.admin-mark-actions button.selected{background:#e3f1e8;border-color:#176249}.admin-voter-updated{flex-direction:column;grid-area:updated;gap:2px;display:flex}.admin-voter-updated a{color:#176249;text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.admin-roster-empty{color:#65776b;text-align:center;padding:22px 12px}.admin-roster-pages{color:#485f51;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:13px}.admin-roster-pages button{color:#245a42;background:#fff;border:1px solid #bac9bf;border-radius:5px;align-items:center;gap:3px;min-height:38px;padding:0 9px;font-weight:650;display:inline-flex}.delete-assembly{border-top:1px solid #d9e2dc;margin-top:22px;padding-top:14px}.danger-button{color:#9e2430;background:#fff;border:1px solid #d4a4a8;border-radius:5px;align-items:center;gap:6px;min-height:40px;padding:0 11px;font-weight:700;display:inline-flex}.delete-confirm{background:#fff4f3;border:1px solid #e4bdc0;border-radius:5px;flex-wrap:wrap;align-items:end;gap:8px;margin-top:12px;padding:12px;display:flex}.delete-confirm p{width:100%;margin:0;font-size:13px}.delete-confirm label{max-width:160px}.delete-confirm>button:last-child{background:#fff;border:1px solid #bac9bf;border-radius:5px;min-height:40px;padding:0 10px}.hint{color:#68766d;margin:8px 0;font-size:13px}.assignment-list{border-top:1px solid #d9e2dc;margin-top:18px}.assignment-row{background:#fff;border-bottom:1px solid #d9e2dc;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:4px 6px 4px 12px;font-size:13px;display:flex}.user-list{border-top:1px solid #d9e2dc}.user-row{background:#fff;border-bottom:1px solid #d9e2dc;flex-wrap:wrap;align-items:center;gap:8px;min-height:52px;padding:7px 8px 7px 12px;display:flex}.user-row>div:first-child{flex-direction:column;flex:1;gap:2px;display:flex}.user-row strong{font-size:14px}.user-row span{color:#65766a;text-transform:capitalize;font-size:12px}.user-actions{display:flex}.reset-form{align-items:end;gap:8px;width:100%;padding-bottom:5px;display:flex}.reset-form label{max-width:180px}@media (width<=760px){.voter-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info marks""secondary secondary";gap:8px 20px}}@media (width<=650px){.app-header{min-height:64px}.header-action span{display:none}.field-content{padding:10px 8px calc(96px + env(safe-area-inset-bottom))}.search-dock{padding-inline:8px}.voter-row{min-height:0;padding:11px 8px}.voter-info{padding:0}.summary>div:not(.summary-actions){min-width:44%}.admin-grid{grid-template-columns:1fr 1fr}.field-search-dock .summary-toggle,.public-search-dock .summary-toggle{flex-basis:116px;line-height:1.2}.field-search-dock .summary-toggle svg:last-child,.public-search-dock .summary-toggle svg:last-child{display:none}.field-search-dock .search-row,.public-search-dock .public-search{gap:6px;padding-inline:8px}.dashboard-label-full{display:none}.dashboard-label-compact{display:inline}.public-content{padding:12px 8px calc(96px + env(safe-area-inset-bottom))}.public-voter-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0}.public-voter-main{grid-area:1/1}.public-voter-roll{grid-area:2/1}.public-voter-personal{flex-wrap:wrap;grid-area:3/1/auto/-1;flex-direction:row!important;gap:4px 12px!important}.public-voter-row>.slip-row-action{grid-area:1/2/span 2;align-self:start}}@media (width<=420px){.page-navigation{grid-template-columns:1fr 1fr}.page-navigation .page-jump{grid-area:1/1/auto/-1}}@media (width<=650px){.app-header{gap:7px;padding-inline:8px}.brand{gap:8px}.brand-icon{width:40px;height:40px}.brand h1{font-size:17px}.header-controls{gap:6px}.language-action{padding-inline:6px;font-size:12px}.install-action span{display:none}.header-action{padding-inline:9px}.voter-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"info note slip""marks marks marks""secondary secondary secondary";gap:9px 8px}.mark-controls{display:contents}.mark-letters{grid-area:marks;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.note-button{grid-area:note;align-self:start}.slip-row-button{grid-area:slip;align-self:start}:is(.mark-button,.admin-mark-actions button).letter-mark{width:100%;height:46px;font-size:18px}}@media (width<=479px){.voter-secondary{gap:8px 14px}.public-filter-grid label:nth-child(-n+2){grid-column:1/-1}}@media (width<=650px){.assignment-context{grid-template-columns:1fr}}@media (width<=380px){.admin-grid{grid-template-columns:1fr}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.assignment-range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-range-grid label:first-child{grid-column:1/-1}.assembly-admin-grid{grid-template-columns:1fr}.admin-tabs button{padding-inline:8px;font-size:13px}.admin-roster-assembly{max-width:none}.admin-voter-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name note""mark mark""scope updated";gap:9px 10px}.admin-voter-updated{text-align:right}.admin-voter-scope,.admin-voter-updated{align-self:start}.admin-mark-cell{display:contents}.admin-mark-actions{grid-area:mark;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-note-button{grid-area:note;place-self:start end}.details-edit{grid-template-columns:1fr}.details-grid{gap:7px 10px}.quick-totals{justify-content:space-between}}@media print{@page{size:A5 portrait;margin:12mm}html,body{background:#fff!important}body :not(:has(.voter-slip)):not(.voter-slip):not(.voter-slip *){display:none!important}#root,.app-shell,.public-content,.field-content,.admin-content,.admin-section,.shared-slip-shell,.slip-backdrop,.slip-dialog,.slip-page,.slip-page-dialog{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.voter-slip{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #000;width:100%}.slip-heading,.slip-numbers,.slip-disclaimer{border-color:#000}}
