:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--canvas);font-synthesis:none;font-size:14px;line-height:1.5;--canvas: #f5f3ef;--text: #202c37;--accent: #245ac4;--accent-hover: #1d49a3;--accent-soft: #eef3fc;--surface-subtle: #f8f7f4;--control-border: #c0c8cd;--radius-control: 9px;--radius-surface: 14px;--page-gutter: 32px;--muted: #56636d;--border: #e6e5e0;--surface: #fff;--mobile-nav-space: calc(76px + env(safe-area-inset-bottom, 0px)) }html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0}body,#root{min-width:0;width:100%}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}summary{min-height:44px}button:disabled{cursor:not-allowed;opacity:.5}button{transition:background-color .15s,color .15s}a{color:var(--accent)}svg{flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select{font-size:16px;min-height:46px;padding:10px 12px;border:1px solid var(--control-border);border-radius:var(--radius-control);background:#fff;color:#202c37;min-width:0;width:100%}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;max-width:100%;overflow:hidden;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2356636d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:20px}input::placeholder{color:#69737a}input:hover,select:hover{border-color:#8b979d}input:focus,select:focus{border-color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.03em;font-weight:650;margin-bottom:9px;text-wrap:balance}h2{font-size:19px;font-weight:650;line-height:1.35;margin-bottom:8px;letter-spacing:-.015em}h3{font-size:16px;font-weight:600;margin-bottom:6px}p{color:var(--muted);line-height:1.6;margin-bottom:16px}small{font-size:12px;color:var(--muted)}strong{font-weight:600}.button{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:var(--radius-control);padding:11px 17px;font-weight:600;text-decoration:none;white-space:nowrap}.primary{background:var(--accent);color:#fff}.primary:hover:not(:disabled){background:var(--accent-hover)}.secondary{background:#eeefed;color:#34434e}.secondary:hover:not(:disabled){background:#e1e5e4}.text-button{display:inline-flex;align-items:center;gap:7px;min-height:44px;min-width:44px;border:0;background:transparent;color:var(--accent);padding:5px 0;font-weight:550;text-align:left}.text-button:hover:not(:disabled){text-decoration:underline}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--muted);width:44px;height:44px;flex-shrink:0;text-decoration:none}.icon-button:hover:not(:disabled){background:#eff1ef;color:var(--accent)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:12px;font-weight:600;color:#45545e}.field small{font-weight:400;line-height:1.5}.surface{background:var(--surface);border-radius:var(--radius-surface)}.app-shell{display:flex;min-height:100vh;min-height:100dvh;width:100%}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);padding:24px 16px 0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;z-index:1001}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#25343d;padding:0 13px;font-size:20px;letter-spacing:-.02em}.brand-mark{display:block;flex-shrink:0;background:#293e45;border-radius:23%;object-fit:contain}.mobile-brand{display:none}.workspace-label{display:flex;align-items:center;gap:10px;background:#f5f3ef;padding:13px 15px;border-radius:11px;margin:28px 0 24px;font-weight:600;font-size:13px}.workspace-label>div>span{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:10px;background:transparent;border:0;text-align:left;min-height:47px;border-radius:var(--radius-control);padding:12px;color:#53626b;font-weight:500}.sidebar nav button>svg:last-child:not(:first-child){margin-left:auto}.sidebar nav button:hover{background:#f5f5f2}.sidebar nav button.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.sidebar-bottom{margin-top:auto}.private-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.sidebar-bottom>.private-note{margin:25px 10px 20px}.user-block{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding:20px 0}.user-block>div{min-width:0;flex:1}.user-block strong,.user-block>div>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-block strong{font-size:12px}.user-block>div>span{font-size:12px;color:var(--muted)}.avatar{display:inline-flex;align-items:center;justify-content:center;background:#eee7dd;color:#654d2c;border-radius:50%;width:36px;height:36px;font-weight:600;flex-shrink:0}.avatar.small{width:30px;height:30px;margin-left:8px;font-size:12px}.main-wrap{margin-left:224px;flex:1;min-width:0}.topbar{height:64px;padding:0 var(--page-gutter);display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fbfaf8;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}.topbar>span{color:#34434e;font-weight:550}.topbar>div{display:flex;flex-shrink:0;gap:14px;align-items:center}.topbar-heading{display:flex;align-items:center;gap:10px;min-width:0}.topbar-heading>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-divider{height:14px;border-right:1px solid #ccc}.main-content{max-width:1600px;padding:32px var(--page-gutter) 24px;margin:0 auto;outline:none;width:100%;min-width:0}.surface,.page-title>div,.overview-detail,.form-grid>*,.detail-grid>*,.document-item>div{min-width:0}.page-title h1,.page-title p,.info-note,.electoral-source,.success{overflow-wrap:anywhere}.page-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.page-title p{margin-bottom:0;font-size:14px}.scope-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;font-size:12px;color:var(--muted)}.scope-row>span{display:flex;align-items:center;gap:6px}.sync-button{display:flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--muted);font-size:12px;padding:8px 0;min-height:44px}.overview{display:flex;background:#fff;border-radius:var(--radius-surface);overflow:hidden;padding:24px;margin-bottom:26px;gap:40px}.overview-total{display:flex;flex-direction:column;gap:3px;width:190px;flex-shrink:0}.overview-total>span:first-child{font-size:13px;font-weight:550}.overview-total>strong{font-size:38px;line-height:1.2;letter-spacing:-.04em;font-weight:600}.overview-total>span:last-child{font-size:12px;color:var(--muted);margin-top:5px}.overview-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;align-content:center;flex:1;border-left:1px solid var(--border);padding-left:30px}.overview-detail>div{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.overview-detail>div>strong{font-size:19px;color:#25343d;margin-left:auto}.overview-detail svg{color:#737e82}.filters{display:flex;align-items:flex-end;gap:14px;margin-bottom:22px;flex-wrap:wrap}.electoral-filters{display:flex;flex-wrap:wrap;gap:16px;width:100%}.territory-filter-panel{width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;background:#fff}.territory-filter-panel>summary{cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none;padding:14px 16px;min-height:52px;font-weight:600}.territory-filter-panel>summary .badge{margin-left:10px}.territory-filter-panel>.electoral-filters{padding:0 16px 16px}.territory-filter-panel>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}.electoral-filters>.field{flex:1 1 190px;min-width:0}.electoral-filters>.section-filter{flex:0 1 150px}.district-picker{position:relative}.territory-filter-panel>summary::-webkit-details-marker,.district-picker>summary::-webkit-details-marker{display:none}.disclosure-chevron{margin-left:auto;transition:transform .15s}details[open]>summary>.disclosure-chevron{transform:rotate(180deg)}.territory-filter-panel>summary:hover{background:var(--surface-subtle);border-radius:12px}.district-picker>summary:hover{border-color:#8b979d}.district-picker>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;border:1px solid var(--control-border);border-radius:var(--radius-control);padding:10px 12px;background:#fff;min-height:46px;overflow-wrap:anywhere}.district-picker>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.district-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:100%;width:280px;max-width:min(80vw,340px);max-height:320px;overflow:auto;padding:14px;background:#fff;border-radius:12px;box-shadow:0 8px 28px #273b422b}.district-menu .checkbox{margin:0;font-size:14px;align-items:center}.district-menu .checkbox input{flex:0 0 17px}.electoral-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}.electoral-presets>span{font-size:12px;color:#536473;margin-right:6px}.electoral-presets .button{font-size:12px;padding:8px 12px}.electoral-help,.electoral-source{flex-basis:100%;margin:0}@media(max-width:600px){.electoral-filters>.field,.electoral-filters>.section-filter{flex-basis:100%}}.filters>.field{width:225px}.filters>.field input,.filters>.field select{background-color:#fff}.filters>.button{margin-bottom:0}.extra-filters{flex-basis:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:#fff;padding:18px;border-radius:12px}.selected{color:var(--accent)}.monitor-grid{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:20px;align-items:start}.map-panel{background:#fff;border-radius:var(--radius-surface);overflow:hidden;min-width:0}.map-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;min-height:62px;gap:12px}.map-heading>div{display:flex;align-items:center;gap:9px;font-size:13px}.map-heading>span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.legend-dot{width:8px;height:8px;border-radius:50%;background:#49765b}.territory-map{height:450px;width:100%;background:#eceee6;z-index:1}.map-frame{position:relative}.map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--muted);background:var(--surface-subtle)}.map-placeholder strong{color:var(--text);font-size:16px}.map-placeholder p{max-width:42ch;font-size:13px;margin:0}.map-frame:has(.map-placeholder) .territory-map{height:300px}.map-caption{font-size:12px;color:var(--muted);padding:13px 18px;line-height:1.5}.map-tools{position:absolute;right:12px;top:12px;z-index:800}.map-button{border:0;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;width:44px;height:44px;box-shadow:0 2px 7px #0002;color:#34434e}.map-notice{position:absolute;bottom:65px;left:12px;right:12px;z-index:800;background:#fff;padding:10px 12px;font-size:12px;border-radius:8px}.map-notice button{border:0;background:none;color:var(--accent)}.breakdown{padding:20px;display:flex;flex-direction:column;max-height:558px;min-height:480px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-heading h2{margin:0;font-size:16px}.breakdown .field{margin-bottom:15px}.breakdown-table{overflow:auto;flex:1}.table-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-bottom:1px solid var(--border);padding-bottom:10px}.territory-row{display:flex;align-items:center;gap:22px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0ed;font-size:12px}.territory-row>div{min-width:0;flex:1}.territory-row>div>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.territory-row>strong{font-size:14px}.bar-track{height:3px;background:#f1f1ed;margin-top:8px;max-width:150px}.bar-track>div{background:#8b9d89;height:100%}.panel-foot{font-size:12px;color:var(--muted);padding-top:14px;margin-top:auto}.info-note{display:flex;gap:12px;align-items:flex-start;background:#eeece5;border-radius:12px;padding:17px 20px;margin:20px 0;color:#4d554e;font-size:12px}.info-note strong{display:block;margin-bottom:4px;font-size:12px}.info-note p{margin:0;font-size:12px;color:#4d554e}.info-note svg{margin-top:2px}.info-note a{display:inline-flex;align-items:center;gap:3px}.start-note{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 4px 5px}.start-note h2{font-size:19px}.start-note p{font-size:12px;margin:0}.dashboard-foot{margin:23px 0 8px}.fine-print{font-size:12px;line-height:1.6;color:var(--muted)}.app-footer{max-width:1600px;margin:0 auto;padding:20px var(--page-gutter) 24px;width:100%;display:flex;justify-content:space-between;color:#6b7376;font-size:12px}.app-footer>span:first-child{font-weight:600}.footer-brand{display:inline-flex;align-items:center;gap:7px}.empty{text-align:center;padding:38px 15px;color:var(--muted)}.empty h3{color:#34434e;margin-top:14px;font-size:16px}.empty p{font-size:12px;max-width:340px;margin:8px auto 18px}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#f1f1eb;color:#758078}.empty .button{margin-top:15px}.loading{display:flex;gap:12px;justify-content:center;align-items:center;padding:80px 20px;color:var(--muted)}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background:#fceae7;color:#8b3026;padding:15px 18px;border-radius:var(--radius-control);margin:14px 0;line-height:1.6;font-size:13px;overflow-wrap:anywhere}.error button{color:#8b3026;display:inline-block;margin-left:10px;border:0;text-decoration:underline;background:transparent;font-weight:600;min-height:44px}.success{display:flex;align-items:center;gap:8px;background:#edf4ed;color:#34523b;padding:14px 18px;border-radius:var(--radius-control);margin:14px 0;font-size:13px}.list-tools{display:flex;gap:18px;padding:20px 22px;border-bottom:1px solid var(--border)}.list-tools>select{width:210px}.search-field{display:flex;gap:8px;align-items:center;flex:1;min-width:0;max-width:480px;border:1px solid var(--control-border);border-radius:var(--radius-control);padding-left:12px;color:var(--muted)}.search-field input{border:0;background:transparent}.search-field:focus-within{border-color:var(--accent)}.account-shortcut{border:0;min-width:44px;min-height:44px}.account-shortcut:hover:not(:disabled){background:#e2dacd}.derived-value{display:flex;align-items:center;flex:1;min-height:46px;border:1px solid var(--control-border);border-radius:var(--radius-control);padding:10px 12px;font-size:16px;overflow-wrap:anywhere;background:var(--surface-subtle);color:var(--muted)}input:user-invalid,select:user-invalid{border-color:#a43c30}.table-scroll{overflow-x:auto;min-width:0;max-width:100%;overscroll-behavior-inline:contain}.responsive-table{white-space:normal}.responsive-table th,.responsive-table td,.client-link{overflow-wrap:anywhere}.responsive-table .badge{max-width:100%;white-space:normal}.row-action-label{display:none}.access-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.access-tabs button{flex:1;min-width:0;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:#fff;color:var(--muted);font-weight:600}.access-tabs button[aria-pressed=true]{color:#164bac;background:#eaf0ff;border-color:#8eaff0}.agent-entry-link,.agent-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.agent-entry-link{margin-bottom:22px;overflow-wrap:anywhere}.agent-entry-link>span{min-width:0}.issued-pin{padding:24px;margin-bottom:24px;max-width:640px}.issued-pin h2,.agent-identity{overflow-wrap:anywhere}.pin-value{display:block;margin:18px 0;font-size:36px;letter-spacing:.12em;font-family:ui-monospace,monospace;color:#164bac}.agent-pin-confirm>div{min-width:0}.agent-pin-confirm p{margin-bottom:8px}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{color:#67737a;font-size:12px;font-weight:550;background:#fcfcfa;padding:14px 22px}td{padding:18px 22px;border-top:1px solid #eee;font-size:12px}td small{display:block;font-size:12px;margin-top:4px}tbody tr:hover{background:#fcfcfa}.client-link{color:#263947;font-weight:600;border:0;background:transparent;text-align:left;padding:0;max-width:260px;white-space:normal;min-height:44px}.client-link:hover{color:var(--accent);text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;border-radius:5px;background:#eee;padding:5px 8px;color:#53606a;white-space:nowrap}.badge.active{color:#36553e;background:#edf4ed}.badge.location-review{background:#fff0d6;color:#8a4b10}.badge.draft{color:#775819;background:#fbf3de}.badge.archived{color:#676b70;background:#efefef}.location-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.pagination>div{display:flex;gap:9px}.pagination .button{font-size:12px;min-height:44px;padding:8px 12px}.form-page{max-width:1000px}.form-page>.text-button{margin-bottom:15px}.client-form{padding:28px;margin-bottom:24px}.section-title{display:flex;align-items:center;gap:14px;margin-bottom:24px}.section-title h2{font-size:18px;margin:0 0 3px}.section-title p{font-size:12px;margin:0}.step{width:35px;height:35px;border-radius:50%;background:#eee9df;color:#665842;display:flex;align-items:center;justify-content:center;font-weight:600}.form-fields{border:0;padding:0;margin:0;min-inline-size:0}.form-grid+.form-grid{margin-top:21px}.form-grid>.fine-print{grid-column:1 / -1;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 24px}.form-section{border-top:1px solid var(--border);padding-top:27px;margin-top:30px}.coordinate-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:28px;margin-bottom:8px}.coordinate-heading h3{margin:0}.coordinate-heading h3 span{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.checkbox{display:flex;align-items:center;min-height:44px;gap:10px;font-size:12px;color:#4e5b64;line-height:1.6;margin:12px 0}.checkbox input{min-height:18px;width:18px;height:18px;flex-shrink:0;margin:1px 0 0;accent-color:var(--accent)}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;border-top:1px solid var(--border);padding-top:23px}.form-footer>span{font-size:12px;color:var(--muted)}.documents{padding:30px;margin-top:25px}.documents>p{font-size:12px}.upload-row{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:18px 0;border-top:1px solid var(--border)}.upload-row strong{font-size:13px}.upload-row span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.upload-button{position:relative;font-size:12px;cursor:pointer}.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}.upload-button.disabled{opacity:.5;cursor:wait}.finish-row{text-align:right;padding:20px 0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.detail{padding:28px}.detail>h2{margin-bottom:16px}.detail p{font-size:12px}dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:13px 0;border-bottom:1px solid #efefed}dt{color:var(--muted);font-size:12px}dd{margin:0;font-size:12px;overflow-wrap:anywhere}.document-item{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--border)}.document-item>div{flex:1}.document-item strong{font-size:13px}.document-item small{display:block;font-size:12px}.danger{color:#9c3a31;margin-top:25px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.account-form{padding:28px;min-width:0}.account-grid .openai-settings{margin-top:0}.account-form .field{margin:22px 0}.account-form>.button{margin-top:10px}.openai-settings{margin-top:24px}.openai-settings>p{font-size:13px;line-height:1.6}.openai-remove{display:block}.municipality-picker{border:0;padding:10px 0 25px;margin:25px 0;min-inline-size:0;max-width:100%}.municipality-picker legend{font-size:14px;font-weight:600}.municipality-picker p{font-size:12px}.municipality-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:260px;overflow:auto;gap:5px 20px}.municipality-picker .checkbox{margin:6px 0}.team-form{margin-bottom:25px}.audit-id{font-family:monospace;font-size:12px}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100dvh}.login-story{padding:50px 65px;background:#e9e7de;display:flex;flex-direction:column;justify-content:space-between}.login-story>.brand{padding:0}.login-story h1{font-size:58px;font-weight:600;line-height:1.1;letter-spacing:-.04em;margin-bottom:24px}.login-story p{max-width:360px;font-size:16px;line-height:1.8}.login-territory{display:flex;align-items:center;gap:8px;margin-top:35px;color:#53615a;font-size:13px}.login-footer{font-size:12px;color:#596359}.login-form-wrap{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px 35px;background:#fbfaf8}.login-form{width:100%;max-width:360px}.login-form>svg{color:#647066;margin-bottom:23px}.login-form h2{font-size:26px;margin-bottom:12px}.login-form>p{font-size:13px;margin-bottom:30px}.login-form .field{margin:20px 0}.login-form>.button{width:100%;margin-top:12px}.login-form>.fine-print{margin-top:23px;font-size:12px}.login-form-wrap>.private-note{margin-top:45px}.connection-error{max-width:600px;margin:15vh auto;padding:25px}.connection-error>.brand{padding:0}.skip-link{position:fixed;left:10px;top:10px;background:#fff;padding:12px;z-index:2000}.skip-link:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.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(min-width:1500px){.overview-detail{grid-template-columns:repeat(4,1fr);gap:26px}.overview-detail>div{display:grid;grid-template-columns:22px 1fr;gap:6px 8px}.overview-detail>div>strong{grid-column:2;font-size:27px;margin:0}.monitor-grid{grid-template-columns:minmax(0,1fr) 340px}.territory-map{height:500px}.breakdown{max-height:608px}}@media(max-width:1150px){.account-grid{grid-template-columns:minmax(0,1fr);max-width:720px}.sidebar{width:205px;padding-left:12px;padding-right:12px}.main-wrap{margin-left:205px}.main-content{padding:28px 24px 15px}.topbar{padding:0 24px}.monitor-grid{grid-template-columns:minmax(0,1fr) 265px;gap:16px}.map-heading{padding:15px}.map-heading>span{display:none}.overview{padding:23px;gap:20px}.overview-total{width:170px}.overview-detail{padding-left:20px;gap:16px}.overview-detail>div{font-size:12px;gap:6px}.overview-detail>div>strong{font-size:17px}.overview-detail svg{display:none}.breakdown{padding:17px}.app-footer{padding-left:24px;padding-right:24px}.detail-grid{grid-template-columns:1fr}.page-title h1{font-size:28px}}@media(max-width:850px){.mobile-brand{display:inline-flex;flex-shrink:0}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;border:0;border-top:1px solid var(--border);padding:0 8px;background:#fff}.sidebar>.brand,.workspace-label,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;justify-content:space-around;height:100%;gap:0}.sidebar nav button{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 5px;border-radius:0;flex:1;font-size:11px;min-width:0}.sidebar nav button>svg:last-child:not(:first-child){display:none}.sidebar nav button.active{background:transparent}.sidebar nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-wrap{margin-left:0}.topbar{height:60px}.topbar>div{gap:10px}.main-content{padding:26px 24px 15px}.monitor-grid{grid-template-columns:minmax(0,1fr) 275px}.territory-map{height:400px}.breakdown{min-height:450px;max-height:510px}.overview-detail svg{display:block}.login-story{padding:40px}.login-story h1{font-size:46px}.page-title{gap:15px}.main-content>.text-button{margin-bottom:12px}}@media(max-width:650px){.main-content{padding:22px 16px 15px}.topbar{padding:0 16px}.desktop-label,.header-divider{display:none}.page-title{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:20px}.page-title h1{font-size:28px}.page-title p{font-size:12px}.page-title>.button{width:100%}.scope-row{align-items:flex-start;gap:8px;flex-direction:column;margin-bottom:16px}.sync-button{padding:0;min-height:25px}.overview{flex-direction:column;gap:20px;padding:22px;margin-bottom:23px}.overview-total{width:auto;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.overview-total>strong{grid-column:2;grid-row:1 / 3;font-size:41px}.overview-total>span:last-child{margin:0}.overview-detail{border-left:0;border-top:1px solid var(--border);padding:18px 0 0;gap:18px 20px}.overview-detail svg{display:none}.overview-detail>div{font-size:12px}.overview-detail>div>strong{font-size:18px}.filters{gap:11px}.filters>.field{width:calc(50% - 6px)}.filters select{font-size:12px;padding:10px 36px 10px 10px}.filters>.button{min-height:38px;padding:8px 12px;font-size:12px}.extra-filters{grid-template-columns:minmax(0,1fr);padding:15px;gap:14px}.monitor-grid{grid-template-columns:1fr}.territory-map{height:360px}.map-heading>span{display:flex}.map-heading strong{font-size:12px}.map-heading>span{font-size:11px}.breakdown{min-height:auto;max-height:430px;padding:20px}.breakdown-table{min-height:120px}.info-note{padding:15px;font-size:12px}.start-note{align-items:flex-start;flex-direction:column;padding:15px 0}.start-note .button{width:100%}.app-footer{padding:18px 16px;gap:10px;flex-direction:column}.app-footer>span:last-child{display:none}.form-grid{grid-template-columns:1fr;gap:18px}.client-form,.documents,.detail{padding:22px 18px}.coordinate-heading{align-items:flex-start;flex-direction:column;gap:12px}.coordinate-heading .button{font-size:12px}.form-footer{align-items:flex-start;flex-direction:column}.form-footer>.button{width:100%}.upload-row{gap:14px;flex-wrap:wrap}.upload-row>.button{width:100%}.upload-row span{font-size:12px}.list-tools{padding:16px;flex-direction:column;gap:12px}.search-field{max-width:none}.list-tools>select{width:100%}.pagination{padding:15px;align-items:flex-start;flex-direction:column;gap:12px}.pagination>div{width:100%;justify-content:space-between}.pagination .button{min-height:44px}.detail-grid{gap:18px}dl>div{grid-template-columns:110px 1fr;gap:15px}.account-form{padding:22px}.finish-row>.button{width:100%}.municipality-picker>div{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-story{padding:26px 24px 30px;gap:35px}.login-story h1{font-size:39px;margin-bottom:15px}.login-story p{font-size:13px;margin:0}.login-territory,.login-footer{display:none}.login-form-wrap{padding:32px 24px}.login-form h2{font-size:24px}.login-form>svg{display:none}.login-form-wrap>.private-note{margin-top:15px}.login-form>p{margin-bottom:22px}.account-form .button{width:100%}.section-title{gap:10px}.section-title h2{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.development-banner{padding:9px 13px;background:#fff2cc;color:#72591b;border-radius:8px;font-size:12px;margin-bottom:20px}.credential-reader{padding:24px 30px;margin-bottom:22px}.reader-lock{border:0;padding:0;margin:0;min-width:0}.reader-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.reader-heading h2{font-size:19px;margin:0 0 6px}.reader-heading p{margin:0;color:var(--muted);line-height:1.6}.reader-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.reader-actions label{position:relative;overflow:hidden;cursor:pointer}.reader-file{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.reader-actions label:focus-within{outline:2px solid var(--accent);outline-offset:3px}.reader-capture-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;margin-bottom:10px}.reader-capture-actions>label{justify-content:center;min-height:52px;white-space:normal}.reader-capture-note{margin:0;line-height:1.6}.reader-disabled{opacity:.5;cursor:not-allowed}.reader-photo{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:center;gap:24px;padding:16px 0}.reader-photo img{width:100%;max-height:240px;object-fit:contain;border:1px solid var(--border);border-radius:10px}.reader-photo .reader-actions{align-items:flex-start;flex-direction:column}.reader-progress{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0}.reader-progress progress{width:min(300px,100%);height:14px;accent-color:var(--accent)}.reader-error{display:block}.reader-error>p{margin:0}.reader-error-diagnostic{margin-top:12px;font-size:12px;color:inherit}.reader-error-diagnostic dl{margin:0}.reader-error-diagnostic>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.reader-error-diagnostic dl>div{grid-template-columns:105px minmax(0,1fr);gap:8px;padding:6px 0;border-color:currentColor}.reader-error-diagnostic dt,.reader-error-diagnostic dd,.reader-error-diagnostic button{color:inherit}.reader-observations{margin-top:16px}.reader-observations summary{cursor:pointer;color:var(--muted);font-size:13px}.reader-observations .reader-warning{margin:12px 0;padding:12px 14px;background:#fff6df;color:#695019;border-radius:8px;font-size:13px}.reader-attachment{margin-bottom:20px}.reader-attachment .reader-actions{margin-bottom:0}@media(max-width:640px){.credential-reader{padding:20px}.reader-capture-actions,.reader-photo{grid-template-columns:1fr}.reader-photo .reader-actions{flex-direction:row}}@media(max-width:1024px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea,.filters select{font-size:16px}input,select,textarea{scroll-margin-block:100px}.button,.text-button,.icon-button,.client-link,.sync-button,.pagination .button{min-height:44px}.button,.text-button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.district-menu .checkbox,.municipality-picker .checkbox{min-height:44px;margin:0;align-items:center;overflow-wrap:anywhere}}@media(max-width:1024px){.page-title{flex-wrap:wrap}.page-title>.button{flex-shrink:0}.monitor-grid{grid-template-columns:minmax(0,1fr)}.breakdown{min-height:0;max-height:450px}.district-menu{position:static;width:100%;min-width:0;max-width:100%;max-height:min(320px,50dvh);margin-top:8px;box-shadow:none}.responsive-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.responsive-table,.responsive-table tbody{display:block;width:100%}.responsive-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.responsive-table tbody:has(>tr:only-child){grid-template-columns:minmax(0,1fr)}.responsive-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-width:0;border:1px solid var(--border);border-radius:12px;padding:4px 14px}.responsive-table td{display:block;min-width:0;padding:12px 0;font-size:14px;white-space:normal;border:0}.responsive-table td:nth-child(2n):not(.table-card-wide){padding-right:12px}.responsive-table td:before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.responsive-table td:first-child,.responsive-table .table-card-wide{grid-column:1 / -1}.responsive-table td:first-child{border-bottom:1px solid var(--border)}.responsive-table td:first-child small,.responsive-table td small,.responsive-table .badge,.responsive-table .location-label{font-size:12px}.clients-table td:first-child:before,.client-actions:before{display:none}.client-link{width:100%;max-width:none;font-size:16px}.responsive-table td.client-actions{border-top:1px solid var(--border)}.client-actions .icon-button{justify-content:space-between;width:100%;color:var(--accent);font-size:14px}.row-action-label{display:inline}.audit-id{font-size:12px}}@media(max-width:850px){:root{--page-gutter: 24px}html{scroll-padding-bottom:calc(var(--mobile-nav-space) + 24px)}.sidebar{height:var(--mobile-nav-space);padding:0 max(6px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(6px,env(safe-area-inset-left,0px))}.sidebar nav button{min-height:64px;padding:6px 3px;font-size:11px}.sidebar nav button span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}.main-wrap{padding-bottom:var(--mobile-nav-space)}.main-content,.topbar,.app-footer{padding-left:max(var(--page-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--page-gutter),env(safe-area-inset-right,0px))}.topbar{height:calc(60px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.fine-print,.page-title p,.section-title p,.documents>p,.detail p,.form-footer>span{font-size:13px}.field>span{font-size:13px}.section-title>div,.info-note>p,.login-form-wrap{min-width:0}.step{flex-shrink:0}.login-story{padding-top:max(26px,env(safe-area-inset-top,0px));padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}.login-form-wrap{padding-bottom:max(32px,env(safe-area-inset-bottom,0px))}}@media(max-width:650px){:root{--page-gutter: 16px}.responsive-table tbody{grid-template-columns:minmax(0,1fr);padding:12px;gap:12px}.electoral-presets>span{width:100%}.electoral-presets .button{flex:1 1 140px;font-size:13px}.pagination>div{gap:12px}.pagination .button{flex:1;font-size:14px}.location-label{align-items:flex-start}dl>div{grid-template-columns:minmax(0,100px) minmax(0,1fr)}}@media(max-width:850px){.login-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.login-story>div:not(.brand),.login-footer{display:none}.login-story{gap:0;padding-bottom:20px}.login-form-wrap{padding-top:24px;justify-content:flex-start}}.login-form input.pin-input{font-size:28px;letter-spacing:.18em;text-align:center;min-height:58px}
