.working-toolbar[hidden],.working-map-tools[hidden]{display:none!important}
.map-display-toggles .display-switch[hidden]{display:none!important}
.working-toolbar{position:fixed;inset:0 0 auto;height:64px;z-index:25;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;background:#fff;border-bottom:1px solid #ced9e1;color:#173954}
.working-toolbar strong{display:block;font:700 15px/1.3 'Noto Sans',sans-serif}
.working-toolbar button{min-height:44px;min-width:56px;border:1px solid #afc1cd;border-radius:6px;background:#fff;color:#173954;font:700 13px 'Noto Sans',sans-serif}
.working-toolbar-actions{display:flex;align-items:center;gap:8px}.working-options{position:relative}.working-options>summary{list-style:none;cursor:pointer;min-height:44px;min-width:32px;display:grid;place-items:center;font-size:24px}.working-options>summary::-webkit-details-marker{display:none}.working-options[open]>div{position:absolute;right:0;top:48px;padding:8px;display:grid;gap:8px;width:170px;background:white;border:1px solid #b5c7d5;border-radius:7px;box-shadow:0 5px 15px #17395422}.working-options a{padding:12px;color:#1c4076;font:700 13px 'Noto Sans',sans-serif;text-align:center}
.working-map-tools{position:fixed;left:0;right:0;bottom:0;z-index:24;display:grid;grid-template-columns:1fr 1fr;align-items:start;box-sizing:border-box;background:#fff;border-top:1px solid #cbd7df;padding:4px 8px max(4px,env(safe-area-inset-bottom));gap:8px}
body.is-working-area{--work-tools-height:0px;--work-house-height:140px}
body.is-working-area .header,body.is-working-area .scope-bar,body.is-working-area #working-canvasser,body.is-working-area #working-list-action,body.is-working-area #control-rail,body.is-working-area .view-label,body.is-working-area #summary,body.is-working-area #precinct-profile-card{display:none!important}
body.is-working-area #mobile-progress{position:static;display:block;box-sizing:border-box;height:20px;padding:0;border:0;background:transparent}
body.is-working-area .mobile-progress-track{height:20px;border:0;border-radius:0;background:transparent;text-align:left;overflow:visible}
body.is-working-area #mobile-progress-text{font-size:12px;line-height:20px;text-align:left;font-weight:700;color:#1c4076}
body.is-working-area #notice{top:70px;left:12px;right:auto;bottom:auto;max-width:calc(100vw - 85px);width:320px;font-size:12px;pointer-events:none}
body.is-working-area #mobile-progress-fill{display:none}
body.is-working-area #map{top:64px!important;bottom:var(--work-tools-height)!important}
body.is-working-area.household-callout-open #map{bottom:calc(var(--work-tools-height) + var(--work-house-height))!important}
body.is-working-area #map-display-toggles,body.is-working-area #working-map-tools{display:none!important}
body.is-working-area #legend{display:block!important}
body.is-working-area #household-callout{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:var(--work-tools-height)!important;width:100%!important;max-width:none!important;height:auto;max-height:min(34dvh,220px)!important;box-sizing:border-box;padding:12px 14px max(12px,env(safe-area-inset-bottom));border:0;border-top:1px solid #cbd7df;border-radius:0;box-shadow:none;background:#fff;overflow:auto}
body.is-working-area #household-callout{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px 12px;align-items:end}
body.is-working-area #household-callout[hidden]{display:none}
body.is-working-area #household-callout h3{font:700 22px/1.2 'Noto Sans',sans-serif;margin:0;min-width:0;flex:1;overflow-wrap:anywhere;color:#173954}
.working-house-heading{grid-column:1 / -1;min-width:0;padding-right:22px}
body.is-working-area #household-callout .household-callout-status{display:inline-flex;align-items:center;vertical-align:baseline;margin:0 0 0 4px;font-size:12px;font-weight:400;line-height:1.35;gap:5px;white-space:nowrap}
body.is-working-area #household-callout .household-callout-status .dot{width:10px;height:10px}
.working-house-voters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--voter-rows),auto);grid-auto-flow:column;gap:4px 12px;align-self:start;min-width:0;list-style:none;padding:0;margin:0;color:#173954;font-size:14px;line-height:1.4}
.working-house-voters li{overflow-wrap:anywhere}
.working-house-voters small{display:block;color:#526c7e;font-size:12px}
.working-house-voters a{color:#1c4076;text-decoration:underline;text-underline-offset:2px}
.working-house-voter-note{margin:0;color:#617387;font-size:13px}
.working-house-actions{display:grid;gap:10px;margin-right:6px}
.working-house-suggested{min-height:44px;border:1px solid #aac0d1;border-radius:6px;background:#fff;color:#1c4076;padding:8px;font:700 12px/1.3 'Noto Sans',sans-serif}
body.is-working-area #household-callout-leader{display:none!important}
.working-house-open{min-height:60px;border:0;border-radius:7px;background:#C64424;color:#fff;padding:12px 18px;font:800 21px/1.2 'Noto Sans',sans-serif}
@media(max-height:600px){body.is-working-area #household-callout{padding:10px 14px}body.is-working-area #household-callout h3{font-size:18px}}

.map-guidance[hidden],.map-guidance [hidden]{display:none!important}
.map-guidance{position:fixed;left:0;right:0;top:calc(var(--header) + var(--scope));z-index:23;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;min-height:44px;background:#1c4076;border-left:5px solid #f2bf61;border-bottom:1px solid #173954;color:#fff;font:700 14px/1.35 'Noto Sans',sans-serif}
.map-guidance::before{display:none}
.map-guidance button{min-height:44px;padding:6px 10px;border:1px solid #a9bfd1;border-radius:6px;background:#fff;color:#1c4076;font:700 12px/1.3 'Noto Sans',sans-serif}
/* Both selection prompts sit in open map space, clear of map controls. */
.area-choice-actions[hidden],.selected-map-label[hidden],.selected-area-map-label[hidden],.map-survey-choice[hidden]{display:none!important}
.area-choice-actions{display:contents}
body:is(.has-area-guidance,.has-map-guidance) .area-choice-actions{position:fixed;z-index:24;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;text-align:center;container-type:inline-size;box-sizing:border-box}
body:is(.has-area-guidance,.has-map-guidance) .map-guidance{position:static;inset:auto;min-height:0;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;color:#B83C20;font-size:clamp(18px,8cqw,24px);line-height:1.2}
.map-guidance-text,.selected-map-number,.selected-area-map-label,#map-guidance-text,#map-guidance-or,.map-survey-choice h2{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 5px #fff,0 1px 4px #fff}
body.has-map-guidance .map-guidance{flex-direction:column;gap:8px}
body.has-map-guidance .map-guidance button{pointer-events:auto;min-height:44px;padding:10px 18px;border:1px solid #C64424;border-radius:7px;background:#C64424;color:#fff;font-size:16px;line-height:1.2;box-shadow:0 2px 8px #80331a22}
body.has-area-guidance .map-guidance{font-size:clamp(18px,9cqw,28px);padding:0}
body.has-area-guidance #map-guidance-text>span{display:block;white-space:nowrap}
#map-guidance.is-next-house #map-guidance-text{font-size:clamp(22px,5.5vw,32px);line-height:1.15;color:#C34A24}
.selected-area-map-label{flex:none;max-width:100%;color:#B83C20;font:700 clamp(16px,9cqw,22px)/1.25 'Noto Sans',Arial,sans-serif}
.selected-area-map-label>span{display:block;white-space:nowrap}
.map-survey-choice{min-height:0;width:100%;max-height:100%;overflow:auto;box-sizing:border-box;pointer-events:auto;background:transparent;border:0;padding:0 2px 5px;color:#173954}
.map-survey-choice h2{margin:0 0 12px;font:700 clamp(18px,8cqw,23px)/1.25 'Noto Sans',Arial,sans-serif}
.map-survey-buttons{display:grid;gap:9px}
.map-survey-choice button{min-height:48px;width:100%;border:1px solid #9eb5c8;border-radius:7px;padding:10px 12px;background:#fff;color:#1c4076;box-shadow:0 2px 7px #17395422;font:700 15px/1.3 'Noto Sans',Arial,sans-serif;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.map-survey-choice button:focus-visible{outline:3px solid #1c4076;outline-offset:2px}
.map-survey-choice button:disabled{color:#66798a;background:#edf1f4;box-shadow:none;cursor:default}
.map-survey-choice p{margin:9px 0 0;padding:5px 8px;border-radius:5px;background:#fff;font:400 13px/1.4 'Noto Sans',Arial,sans-serif}
.selected-map-label{position:fixed;z-index:24;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none;text-align:center}
.selected-map-number{display:block;max-width:100%;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#1C4076;font:700 16px/1.25 'Noto Sans',Arial,sans-serif;white-space:nowrap;box-sizing:border-box}
.selected-map-label .claim-area-action{position:static;inset:auto;max-width:100%;pointer-events:auto}
.selected-map-label .claim-area-action button{max-width:100%;white-space:pre-line;box-sizing:border-box}
body.has-area-guidance .claim-area-action button{background:#C64424;border-color:#C64424;color:white;font-size:16px;min-height:44px;padding:10px 18px;box-shadow:0 2px 8px #80331a22}
body.has-area-guidance .claim-area-action button:disabled{background:#EEF2F4;color:#28536A;border-color:#BECBD4}
@media(max-width:700px){
 body.has-area-guidance .canvass-area-list{top:calc(var(--header) + var(--scope) + 12px)}
 body.has-mobile-progress.has-area-guidance .canvass-area-list{top:calc(var(--header) + var(--scope) + var(--mobile-progress-size) + 12px)}
 body.has-area-guidance .claim-area-action button{font-size:clamp(12px,8.5cqw,14px);padding:9px 10px}
 body.has-map-guidance .map-guidance button{font-size:14px;padding:9px 12px}
}
@media(max-height:500px){
 body:is(.has-area-guidance,.has-map-guidance) .area-choice-actions{gap:4px}
 body.has-map-guidance .map-guidance{font-size:15px}
 body.has-area-guidance .map-guidance{font-size:20px}
 body.has-map-guidance .map-guidance{gap:4px}
}
@media(max-height:400px) and (min-width:500px){
 .selected-area-map-label{align-self:flex-end;font-size:16px;line-height:1.15}
 body.has-area-guidance .claim-area-action button{font-size:12px;padding:6px 10px}
 .selected-map-number{font-size:14px}
}

.canvass-area-list:not(.is-collapsed){width:132px}
.canvass-area-list li:not(.area-list-unassigned) button{grid-template-columns:auto auto minmax(0,1fr) 12px;justify-content:stretch;gap:4px;padding-left:8px;padding-right:6px;text-align:left}
.canvass-area-list li:not(.area-list-unassigned) strong{justify-self:end;white-space:nowrap}
.canvass-area-list li:not(.area-list-unassigned) i{position:static;justify-self:end}
.canvass-area-list li strong small{font-size:10px;font-weight:400}
.canvass-area-list-columns{display:none}
body.has-map-guidance .canvass-area-list{top:calc(var(--header) + var(--scope) + var(--map-guidance-height,38px) + 104px)}
@media(min-width:701px){
 body.has-map-guidance:not(.is-working-area) #map-display-toggles{top:calc(var(--header) + var(--scope) + var(--map-guidance-height,44px) + 10px)}
 body.has-map-guidance #control-rail{top:calc(var(--header) + var(--scope) + var(--map-guidance-height,44px) + 22px)}
 body.has-map-guidance .view-label{top:calc(var(--header) + var(--scope) + var(--map-guidance-height,44px) + 13px)}
}
@media(max-width:700px){
 .canvass-area-list:not(.is-collapsed),body.has-mobile-progress .canvass-area-list:not(.is-collapsed){width:112px}
 .canvass-area-list header{padding-left:7px;padding-right:30px}
 .canvass-area-list h2{font-size:23px}
 .canvass-area-list .area-list-collapse{right:4px;min-width:24px;width:24px}
 body.has-map-guidance .canvass-area-list{top:calc(var(--header) + var(--scope) + var(--map-guidance-height,38px) + 16px)}
 body.has-mobile-progress.has-map-guidance .canvass-area-list{top:calc(var(--header) + var(--scope) + var(--mobile-progress-size) + var(--map-guidance-height,38px) + 16px)}
}


/* Keep the Key at the map corner as the map resizes above a voter card. */
#map #legend{display:block!important;position:absolute;left:auto;right:10px;bottom:10px;z-index:20;width:auto;max-width:calc(100% - 20px);border:1px solid #cbd7df;border-radius:6px;background:#fff;box-shadow:0 1px 5px #17395420}
#map #legend>summary{min-height:40px;padding:8px 10px;box-sizing:border-box;font-size:12px;gap:7px}
#map #legend .legend-icon{width:27px;height:11px;background:linear-gradient(90deg,#F2D98A 0 33.333%,#A8C7E0 33.333% 66.666%,#00205C 66.666% 100%)}
#map #legend[open]{width:270px;max-height:min(50dvh,340px);overflow:auto}
#map #legend-content{max-height:none;padding-bottom:4px}
#map .legend-attribution{padding:0 12px 8px;border-top:1px solid #e2e8ed;font-size:9px;line-height:1.5}
#map .legend-attribution .mapboxgl-ctrl-attrib{float:none;margin:0;padding:6px 0 0;background:transparent;font-size:9px;line-height:1.5;clear:none;box-shadow:none}
#map .mapboxgl-ctrl-attrib-button,#map .mapboxgl-ctrl-logo{display:none!important}
@media(max-width:700px){body:not(.is-working-area) #map #legend{bottom:8px}}
body.has-unmapped-precinct .area-choice-actions{align-items:stretch;gap:0;text-align:left}
body.has-unmapped-precinct .map-guidance{flex-direction:column;align-items:stretch;gap:12px;padding:14px;box-sizing:border-box;background:#fff;border:1px solid #d1dce3;border-left:3px solid #C64424;border-radius:9px;box-shadow:0 3px 12px #17395418;text-align:left;font:600 16px/1.4 'Noto Sans',Arial,sans-serif;pointer-events:auto}
body.has-unmapped-precinct #map-guidance-text{max-width:none;text-shadow:none}
#precinct-request-action{pointer-events:auto}
#precinct-request-action[hidden]{display:none}
body.has-unmapped-precinct #precinct-request-action{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
body.has-unmapped-precinct #precinct-request-action[hidden]{display:none}
body.has-unmapped-precinct #request-precinct{min-height:44px;max-width:100%;padding:8px 14px;border:1px solid #C64424;border-radius:6px;background:#C64424;color:#fff;font:700 14px/1.3 'Noto Sans',Arial,sans-serif;box-shadow:none}
#request-precinct:disabled{opacity:.8;cursor:default}
#precinct-request-status{font:400 12px/1.4 'Noto Sans',Arial,sans-serif;color:#5d6f7a;margin:0;text-shadow:none}
#precinct-request-queue{margin:16px 0;font-size:14px;color:#173954}
#precinct-request-queue summary{font-weight:700;cursor:pointer}
