/* Compact workspace shared by map and street entry. */
#field-workspace[hidden]{display:none!important}body.field-workspace-open{overflow:hidden}
#field-workspace{position:fixed;inset:0;z-index:1200;overflow:auto;overscroll-behavior:contain;background:#f5f7f9;color:#173954;font:400 15px/1.45 'Noto Sans',Arial,sans-serif;-webkit-overflow-scrolling:touch}
#field-workspace *{box-sizing:border-box}#field-workspace .fw-inner{max-width:760px;min-height:100%;margin:0 auto;background:#fbfcfd;padding-bottom:env(safe-area-inset-bottom,0px)}
#field-workspace button,#field-workspace input,#field-workspace select,#field-workspace textarea,#field-workspace summary{font:inherit}#field-workspace button,#field-workspace summary{cursor:pointer;touch-action:manipulation}#field-workspace button{color:inherit}
#field-workspace :is(button,summary,input,select,textarea):focus-visible{outline:3px solid #db4d2b;outline-offset:2px}#field-workspace button:disabled{opacity:.42;cursor:default}#field-workspace h1:focus{outline:0}
#field-workspace .fw-map-banner{position:sticky;top:0;z-index:20;background:#c34123;color:white;box-shadow:0 1px 5px #17395420}#field-workspace .fw-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:4px 16px}
#field-workspace .fw-map-return{border:0;background:transparent;color:white;padding:9px 0;min-height:44px;font-weight:800;font-size:14px;white-space:nowrap;text-align:left}#field-workspace .fw-map-progress{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;gap:2px;font-variant-numeric:tabular-nums}#field-workspace .fw-map-progress strong{font-size:16px;white-space:nowrap}#field-workspace .fw-map-progress small{font-size:10px;opacity:.9}
#field-workspace .fw-area-track{height:3px;background:#e98b72;overflow:hidden}#field-workspace .fw-area-track i{display:block;height:100%;background:white}
#field-workspace .fw-pinned-context{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:white;color:#244a68;padding:5px 16px;border-bottom:1px solid #d8e2e9;font-size:11px;line-height:1.3}#field-workspace .fw-pinned-context>span{font-weight:700}#field-workspace .fw-pinned-context small{font-size:11px;color:#596e80}
#field-workspace .fw-header{padding:8px 16px 12px;background:white;border-bottom:1px solid #e0e7ed}#field-workspace .fw-nav-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;margin-bottom:2px}#field-workspace .fw-back{padding:7px 0;border:0;background:transparent;color:#1c4076;min-height:40px;font-weight:700;font-size:13px;text-align:left}#field-workspace .fw-area-label{color:#607485;font-size:11px;font-weight:700}
#field-workspace .fw-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center}#field-workspace h1{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0;font-weight:800;color:#183f67;min-width:0}#field-workspace .fw-sample-tag{white-space:nowrap;background:#eef2f5;border:1px solid #d9e2e9;color:#526a7e;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:600;flex:none}#field-workspace .fw-subtitle{display:flex;align-items:center;gap:5px;color:#627789;font-size:12px;margin-top:6px;line-height:1.35}
#field-workspace .fw-help{position:relative;flex:none;font-size:12px;color:#537084}#field-workspace .fw-help>summary{list-style:none;padding:9px 4px;min-height:38px;font-weight:700}#field-workspace .fw-help>summary::-webkit-details-marker{display:none}#field-workspace .fw-help-body{position:absolute;right:0;top:38px;z-index:40;width:min(325px,calc(100vw - 32px));max-height:65dvh;overflow:auto;background:white;border:1px solid #bfcfdc;border-radius:8px;box-shadow:0 6px 30px #14385830;padding:16px;font-size:13px}#field-workspace .fw-help-body p{margin:0 0 10px}
#field-workspace .fw-content{padding:14px 16px 26px}#field-workspace h2{font-size:15px;font-weight:800;color:#254c6b;margin:0 0 10px;line-height:1.35}#field-workspace .fw-muted{color:#637b8c;font-size:12px;line-height:1.5}#field-workspace .fw-warning,#field-workspace .fw-notice{font-size:12px;line-height:1.45;margin:10px 16px 0;padding:8px 10px;border-left:3px solid #db4d2b;background:#fff4ee;color:#70452f}#field-workspace .fw-notice{background:#edf4f9;color:#365b78;border-left-color:#6b92b1}
#field-workspace .fw-streets{display:flex;flex-direction:column;gap:8px}#field-workspace .fw-street-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:82px;padding:14px;background:white;border:1px solid #cad7e1;border-radius:8px;text-align:left}#field-workspace .fw-street-choice>span:first-child{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}#field-workspace .fw-street-choice strong{font-size:17px;font-weight:800;color:#1c4076;line-height:1.2}#field-workspace .fw-street-choice small{font-size:11px;color:#6d8292}#field-workspace .fw-row-progress{display:flex;flex-direction:column;text-align:right;gap:2px;flex:none;font-variant-numeric:tabular-nums}#field-workspace .fw-row-progress b{font-size:15px;color:#224865}#field-workspace .fw-chevron{font-size:24px;line-height:1;color:#7090a5;flex:none}
#field-workspace .fw-text-button{border:0;background:transparent;padding:8px 2px;color:#305d7e;min-height:44px;font-size:12px;font-weight:700;text-align:left}#field-workspace .fw-list-tools{display:flex;gap:10px;align-items:center;margin:0 0 12px}#field-workspace .fw-search-label{flex:1;min-width:0}
#field-workspace input:not([type=radio]):not([type=checkbox]):not([type=file]),#field-workspace select,#field-workspace textarea{width:100%;border:1px solid #b4c8d7;border-radius:6px;color:#224660;background:white;padding:10px;min-height:44px;font-size:16px}#field-workspace .fw-options{position:relative;flex:none;color:#476b85;font-size:12px}#field-workspace .fw-options>summary{min-height:44px;display:flex;align-items:center;gap:3px}#field-workspace .fw-options[open]>div{display:flex;flex-direction:column;gap:10px;position:absolute;right:0;top:43px;z-index:10;background:white;border:1px solid #c1d0dc;border-radius:7px;padding:12px;box-shadow:0 5px 18px #17395425;width:230px}#field-workspace .fw-options label{display:flex;flex-direction:column;gap:4px;font-weight:700}
#field-workspace .fw-filter-note{font-size:12px;margin:0;display:flex;align-items:center;justify-content:space-between}#field-workspace .fw-addresses{display:flex;flex-direction:column;gap:7px}#field-workspace .fw-stop-group{background:white;border:1px solid #d0dde6;border-radius:7px;overflow:hidden}#field-workspace .fw-building-title{padding:7px 11px;background:#edf2f6;color:#4b6b81;font-size:12px;display:flex;justify-content:space-between;gap:5px}#field-workspace .fw-building-title small{font-size:11px}#field-workspace .fw-stop-button{display:flex;align-items:center;gap:10px;width:100%;min-height:67px;padding:10px;border:0;background:white;text-align:left}#field-workspace .fw-stop-button+.fw-stop-button{border-top:1px solid #e1e8ee}#field-workspace .fw-stop-number{width:42px;min-height:37px;display:grid;place-items:center;flex:none;border-radius:5px;color:#6a5321;background:#f9ebbb;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}#field-workspace .fw-stop-text{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}#field-workspace .fw-stop-text strong{font-size:14px;line-height:1.3}#field-workspace .fw-stop-text small{color:#698092;font-size:11px}
#field-workspace .fw-attempted{background:#cfdfed;color:#294c69}#field-workspace .fw-conversation{background:#00205c;color:white}#field-workspace .fw-review{background:#e0dfea;color:#4b4766}#field-workspace .fw-status-dot{width:10px;height:10px;border-radius:50%;background:#f2d98a;flex:none}#field-workspace .fw-status-dot.fw-conversation{background:#00205c}#field-workspace .fw-status-dot.fw-attempted{background:#a8c7e0}#field-workspace .fw-status-dot.fw-review{background:#bdbcc5}
#field-workspace .fw-primary,#field-workspace .fw-outline{min-height:46px;border-radius:6px;padding:11px 13px;font-size:14px;font-weight:700;line-height:1.35}#field-workspace .fw-primary{color:white;background:#1c4076;border:1px solid #1c4076}#field-workspace .fw-outline{color:#1c4076;background:white;border:1px solid #b3c8d8}#field-workspace .fw-full{width:100%;display:block;text-align:center}#field-workspace .fw-bottom-link{margin-top:14px}#field-workspace .fw-outcomes{display:flex;flex-direction:column;gap:8px}#field-workspace .fw-people{margin-top:16px}#field-workspace .fw-person-row{display:flex;align-items:center;gap:8px;border-top:1px solid #dee6ed}#field-workspace .fw-person-row>button:first-child{display:flex;align-items:center;justify-content:space-between;text-align:left;flex:1;min-height:53px;padding:8px 0;background:transparent;border:0;font-size:14px}#field-workspace .fw-person-row span{display:flex;flex-direction:column;gap:3px}#field-workspace .fw-person-row small{font-size:11px;color:#6c8291}#field-workspace .fw-person-edit{background:transparent;border:0;font-size:12px;min-width:44px;min-height:44px;color:#456d8a}
#field-workspace .fw-more{border-top:1px solid #dce5ec;border-bottom:1px solid #dce5ec;padding:0;margin:12px 0;color:#466a84}#field-workspace .fw-more summary{min-height:44px;padding:11px 0;font-size:13px;font-weight:700}#field-workspace .fw-more[open]{padding-bottom:10px}#field-workspace .fw-outcomes .fw-more{border:0;margin:0}#field-workspace .fw-outcome-picks{display:grid;grid-template-columns:1fr;gap:7px}#field-workspace .fw-house-navigation{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-top:13px;margin-top:12px;border-top:1px solid #dbe5ed}#field-workspace .fw-house-navigation button{font-size:11px;font-weight:700;min-height:44px;padding:6px 4px;background:transparent;color:#376283;border:0}#field-workspace .fw-history article{padding:10px 0;border-top:1px solid #e1e8ed;font-size:12px}#field-workspace .fw-history small{display:block;font-size:10px;color:#7a8c9b;margin-top:2px}#field-workspace .fw-history p{margin:6px 0}
#field-workspace .fw-field{display:flex;flex-direction:column;gap:6px;margin:12px 0 16px;font-size:13px;font-weight:700;color:#42667f}#field-workspace textarea{resize:vertical;line-height:1.5}#field-workspace .fw-check{display:flex;align-items:center;gap:10px;min-height:44px;margin:12px 0;font-size:13px;color:#43667f}#field-workspace input[type=radio],#field-workspace input[type=checkbox]{accent-color:#1c4076;width:20px;height:20px;flex:none}#field-workspace .fw-plain{padding:0;border:0;margin:0}#field-workspace legend{font-size:14px;font-weight:800;margin-bottom:10px}#field-workspace .fw-radios{display:flex;flex-direction:column;gap:7px}#field-workspace .fw-radio{display:flex;align-items:center;gap:10px;min-height:46px;padding:9px 11px;background:white;border:1px solid #c6d6e2;border-radius:6px;font-size:14px;color:#224c6a;cursor:pointer}#field-workspace .fw-radio:has(input:checked){background:#edf4fb;border-color:#1c4076}
#field-workspace .fw-question{font-size:18px;line-height:1.5;font-weight:600;color:#213f57;margin:0 0 12px}#field-workspace .fw-ranking-hint{font-size:12px;color:#667d8e;margin:0 0 12px}#field-workspace .fw-rank-options{display:flex;flex-direction:column;gap:7px}#field-workspace .fw-rank-options>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:10px 12px;background:white;border:1px solid #c9d8e2;border-radius:6px;font-size:14px;text-align:left}#field-workspace .fw-rank-options>button.selected{border-color:#1c4076;background:#eef4fa;box-shadow:inset 3px 0 #1c4076;font-weight:700}#field-workspace .fw-rank-badge{border:1px solid #a4b7c6;border-radius:50%;height:22px;min-width:22px;display:grid;place-items:center;flex:none;font-size:10px;color:#1c4076}#field-workspace .selected .fw-rank-badge{border-color:#1c4076;background:#1c4076;color:white}#field-workspace .fw-survey-controls{display:flex;gap:10px;justify-content:space-between;margin-top:18px}#field-workspace .fw-survey-controls>*{flex:1}#field-workspace .fw-secondary-actions{display:flex;justify-content:space-between;gap:10px}
#field-workspace .fw-identity .fw-field{margin-top:0;margin-bottom:2px}#field-workspace .fw-review-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid #dce6ee}#field-workspace .fw-review-row strong{font-size:12px;color:#6a8191}#field-workspace .fw-review-row p{font-size:14px;color:#24465f;margin:4px 0 0;line-height:1.5}#field-workspace .fw-review-row .fw-text-button{flex:none;min-width:44px}#field-workspace .fw-save-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
#field-workspace .fw-photo-panel{padding:0 0 8px}#field-workspace input[type=file]{font-size:13px;width:100%;min-height:44px}#field-workspace .fw-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:10px}#field-workspace .fw-photo-item{border:1px solid #d3dfe8;padding:7px;border-radius:6px;min-width:0}#field-workspace .fw-photo-thumbnail{min-height:70px;font-size:12px;display:grid;place-items:center}#field-workspace .fw-photo-thumbnail img{width:100%;height:110px;object-fit:contain}#field-workspace .fw-empty{padding:16px;color:#567287;font-size:13px}#field-workspace .fw-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:360px){#field-workspace h1{font-size:21px}#field-workspace .fw-top-row{padding:4px 12px;gap:5px}#field-workspace .fw-map-return{font-size:13px}#field-workspace .fw-map-progress strong{font-size:15px}#field-workspace .fw-content,#field-workspace .fw-header{padding-left:12px;padding-right:12px}}
#field-workspace[data-page="household"] h1{font-size:clamp(28px,7.5vw,36px);line-height:1.2;overflow-wrap:anywhere}
#field-workspace[data-page="household"] .fw-title-row{align-items:flex-start}
#field-workspace .fw-visit-heading{font:800 21px/1.3 'Noto Sans',sans-serif;margin:0 0 14px;color:#173954}
#field-workspace .fw-visit-choices{display:grid;gap:8px}
#field-workspace .fw-visit-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:13px 16px;font:700 18px/1.3 'Noto Sans',sans-serif;text-align:left;border-radius:8px}
#field-workspace .fw-visit-choice>span:first-child{display:flex;flex-direction:column;gap:3px}
#field-workspace .fw-visit-choice small{font-size:12px;font-weight:400;color:#637b8c}
#field-workspace .fw-visit-choice .fw-chevron{font-size:26px;line-height:1;flex:none;color:inherit}
#field-workspace .fw-visit-choice:focus-visible{outline:3px solid #e9b956;outline-offset:2px}
#field-workspace .fw-outcomes-back{min-height:44px;margin:0 0 8px;padding:6px 0}
@media(prefers-reduced-motion:reduce){#field-workspace *{scroll-behavior:auto!important}}
/* Number controls sit above the existing map without changing its camera. */
.field-map-numbers{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
/* Numbers identify households, not how many voters live there. No opaque badge. */
.field-map-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:1px;pointer-events:none}
.field-map-number{position:relative;transform:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:44px;min-height:44px;padding:1px 3px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#173954;pointer-events:auto;cursor:pointer;font-family:'Noto Sans',Arial,sans-serif;touch-action:manipulation}
.field-map-number .field-household-number{font-size:12px;line-height:1.15;font-weight:800;paint-order:stroke fill;-webkit-text-stroke:2px #fff;text-shadow:0 1px 1px #fff}
.field-map-number .field-address-number{font-size:var(--address-number-size,14px);line-height:1.2;font-weight:700;color:#173954;paint-order:stroke fill;-webkit-text-stroke:2px #fff}
.field-map-number.field-visited,.field-map-number.field-conversation{background:transparent;color:#173954}
.field-map-number.field-last{outline:0}
.field-map-number.field-last .field-household-number{color:#ac3c21;text-decoration:underline;text-underline-offset:3px}
.field-map-number:focus-visible{outline:2px solid #db4d2b;outline-offset:2px}
#field-workspace .fw-people-first{margin-top:0;margin-bottom:16px}
#field-workspace .fw-identity-confirm{margin:0 0 15px}
#field-workspace .fw-identity-confirm legend{padding:0;font-size:15px;font-weight:800}
#field-workspace .fw-identity-confirm .fw-muted{margin:5px 0 10px}
.field-map-chooser{position:absolute;z-index:25;left:12px;right:12px;bottom:16px;max-height:45%;overflow:auto;background:white;padding:14px;border:1px solid #bacdda;border-radius:9px;color:#173954;font:14px/1.4 'Noto Sans',Arial,sans-serif;box-shadow:0 2px 18px #12385430}.field-map-chooser>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.field-map-chooser button{font:inherit;cursor:pointer;min-height:44px;padding:10px;border:1px solid #c4d6e2;background:white;border-radius:5px;color:#173954}.field-map-chooser>button{display:block;width:100%;text-align:left;margin-top:7px}
