/* Phone-sized survey pages keep one question and navigation together. */
#field-workspace .fw-inner{max-width:680px}
#field-workspace .fw-map-banner{background:#fff;color:#173954;border-bottom:1px solid #d8e2e9;box-shadow:none}
#field-workspace .fw-top-row{min-height:42px;padding:2px 12px;gap:8px}
#field-workspace .fw-map-return{color:#1c4076;font-size:14px;font-weight:700}
#field-workspace .fw-map-progress{align-items:center;gap:1px}
#field-workspace .fw-map-progress strong{font-size:14px;color:#1c4076}
#field-workspace .fw-map-progress small{font-size:10px}
#field-workspace .fw-view-button{border:1px solid #bacbd8;border-radius:6px;background:white;color:#1c4076;font-size:12px;min-height:44px;padding:8px 10px}
#field-workspace .fw-pinned-context{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 12px;min-height:42px;font-size:14px;background:#edf3f8}
#field-workspace .fw-pinned-context small{font-size:12px}
#field-workspace .fw-person-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%}
#field-workspace .fw-question-count{font-size:12px;white-space:nowrap;margin-left:auto;color:#46627a}
#field-workspace .fw-header{padding:5px 12px 7px}
#field-workspace h1{font:700 16px/1.3 'Noto Sans',sans-serif!important;letter-spacing:0}
#field-workspace .fw-title-row{min-height:36px}
#field-workspace .fw-subtitle{font-size:11px;margin-top:0}
#field-workspace .fw-question{font:700 19px/1.35 'Noto Sans',sans-serif!important;margin:0 0 10px}
#field-workspace .fw-content{padding:10px 12px}
#field-workspace[data-page=survey] .fw-inner,#field-workspace[data-page=contact] .fw-inner{height:100dvh;min-height:0;display:flex;flex-direction:column}
#field-workspace .fw-question-footer .fw-secondary-actions{gap:6px}
#field-workspace .fw-question-footer .fw-secondary-actions>*{flex:1;text-align:center;font-size:11px}
#field-workspace .fw-question-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
#field-workspace .fw-question-footer{flex:none;padding:6px 12px max(6px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d6e1e8}
#field-workspace .fw-survey-controls{margin:0;gap:10px}
#field-workspace .fw-secondary-actions .fw-text-button{min-height:36px;padding:4px 0;font-size:12px}
#field-workspace .fw-rank-options{display:grid;grid-template-columns:1fr 1fr;gap:4px}
#field-workspace .fw-rank-options.fw-dense-options{grid-template-columns:repeat(3,1fr)}
#field-workspace .fw-rank-options>button{position:relative;min-height:44px;padding:6px;font-size:13px;line-height:1.2;gap:0}
#field-workspace .fw-rank-options>button.selected{padding-right:6px;font-weight:400}
#field-workspace .fw-dense-options>button{font-size:12px}
#field-workspace .fw-dense-options>button.selected{padding-right:6px}
#field-workspace .fw-ranking-hint{margin-bottom:8px}
#field-workspace .fw-rank-badge{position:absolute;right:3px;bottom:3px;top:auto;min-width:16px;width:16px;height:16px;line-height:16px;font-size:10px}
#field-workspace .fw-rank-badge:empty{display:none}
#field-workspace .fw-selected-priorities{font-size:11px;color:#637789;display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
#field-workspace .fw-selected-priorities button{font:inherit;background:#edf3f8;color:#24496c;border:1px solid #b7cada;border-radius:5px;min-height:30px;padding:4px 6px}
#field-workspace .fw-selected-priorities{align-items:center;justify-content:space-between}
#field-workspace .fw-selected-priorities button{min-height:24px;padding:2px 6px}
#field-workspace .fw-choice-pages{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:8px}
#field-workspace .fw-choice-pages button{font-size:12px;min-height:40px}
#field-workspace .fw-other{margin:8px 0}
#field-workspace .fw-radio{min-height:44px;font-size:14px;padding:8px 10px}
#field-workspace .fw-single-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#field-workspace .fw-single-options .fw-radio{font-size:13px;margin:0;padding:6px;gap:6px}
#field-workspace .fw-single-options input{flex:none}
#field-workspace .fw-field{margin:10px 0}
#field-workspace .fw-check{margin:8px 0;font-size:13px}
#field-workspace .fw-coming-soon{color:#8694a0;background:#f0f3f6;border-radius:6px;padding:8px;font-size:12px}#field-workspace .fw-coming-soon>span{font-size:10px;white-space:nowrap}
#field-workspace .fw-survey-choices{display:grid;gap:12px;margin-top:20px}
#field-workspace .fw-survey-choices>button{display:flex;flex-direction:column;gap:8px;min-height:110px;padding:18px;text-align:left;border:1px solid #b5c9d9;background:#fff;color:#1c4076;border-radius:8px}
#field-workspace .fw-survey-choices strong{font-size:20px}
#field-workspace .fw-survey-choices span{font-size:14px}
#field-workspace .fw-survey-choices small{font-size:12px}
#field-workspace .fw-script blockquote{margin:8px 0 14px;font-size:17px;line-height:1.4;color:#173954}
#field-workspace .fw-intro-callout{font-weight:700;color:#1c4076;display:flex;align-items:center;gap:12px}
#field-workspace .fw-intro-callout span{font-size:30px}
#field-workspace .fw-review-answers{margin-top:14px}
.visit-accomplishment{position:fixed;z-index:2000;color:var(--visit-color,#1c4076);font:800 25px/1.2 'Noto Sans',sans-serif;pointer-events:none;animation:visit-rise 2s ease-out forwards;will-change:transform,opacity}
.visit-accomplishment i{position:absolute;width:7px;height:12px;border-radius:3px;background:currentColor;left:50%;top:50%;animation:visit-spark 1.9s cubic-bezier(.22,.68,.24,1) var(--spark-delay,0s) both}
@keyframes visit-rise{0%{opacity:0;transform:translateY(0) scale(.7)}14%{opacity:1;transform:translateY(-17px) scale(1.2)}55%{opacity:1;transform:translateY(-60px) scale(1.13)}82%{opacity:.95;transform:translateY(-82px) scale(1.05)}100%{opacity:0;transform:translateY(-106px) scale(.88)}}
@keyframes visit-spark{0%{opacity:0;transform:rotate(calc(var(--spark-angle) - 75deg)) translateY(-12px) scale(.6)}18%{opacity:1;transform:rotate(var(--spark-angle)) translateY(-30px) scale(1.1)}57%{opacity:.85;transform:rotate(calc(var(--spark-angle) + 160deg)) translateY(-64px) scale(.9)}100%{opacity:0;transform:rotate(calc(var(--spark-angle) + 360deg)) translateY(-80px) scale(.15)}}
@media(max-height:650px){#field-workspace .fw-question{font-size:17px!important;margin-bottom:7px}#field-workspace .fw-content{padding-top:7px}#field-workspace .fw-pinned-context{min-height:36px}#field-workspace .fw-header{padding-top:2px;padding-bottom:3px}#field-workspace .fw-top-row{min-height:38px}#field-workspace .fw-secondary-actions .fw-text-button{min-height:28px}}
@media(prefers-reduced-motion:reduce){.visit-accomplishment{animation:none;opacity:1}.visit-accomplishment i{display:none}}


/* Keep precinct, area and progress together throughout the Visit workspace. */
#field-workspace .fw-top-row{padding:6px 12px;gap:8px}
#field-workspace .fw-map-return,#field-workspace .fw-view-button{flex:none}
#field-workspace .fw-map-progress{flex:1;min-width:0;gap:4px}
#field-workspace .fw-work-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px 7px}
#field-workspace .fw-precinct-id{display:inline-block;padding:3px 6px;border:1px solid #cedbe8;border-radius:5px;background:#edf3fa;color:#1c4076;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
#field-workspace .fw-canvass-area{font-size:11px;font-weight:600;color:#61768b;line-height:1.3;white-space:nowrap}
#field-workspace .fw-household-address{flex:1;min-width:0}
#field-workspace .fw-household-address h1{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
#field-workspace .fw-address-status{display:inline-flex;align-items:baseline;gap:5px;margin-left:4px;vertical-align:baseline;font-size:11px;font-weight:400;line-height:1.35;color:#627789;white-space:nowrap}
#field-workspace .fw-stop-text>strong,#field-workspace .fw-stop-text>.fw-stop-status{display:inline}
#field-workspace .fw-stop-text>.fw-stop-status{white-space:nowrap;margin-left:3px}
#field-workspace .fw-household-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 18px;list-style:none;margin:5px 0 3px;padding:0;color:#27445d;font-size:13px;line-height:1.4}
#field-workspace .fw-household-voters li{min-width:0;overflow-wrap:anywhere}

/* Keep each address and its voter roster side by side in Street View. */
#field-workspace .fw-stop-with-voters .fw-stop-text{flex:0 0 39%;overflow-wrap:anywhere}
#field-workspace .fw-stop-roster{flex:1;min-width:0;color:#27445d}
#field-workspace .fw-stop-voters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--voter-rows),auto);grid-auto-flow:column;gap:3px 9px;font-size:var(--voter-size,12px);font-weight:400;line-height:1.4}
#field-workspace .fw-stop-voters[data-count="1"]{grid-template-columns:minmax(0,1fr)}
#field-workspace .fw-stop-voters>span{min-width:0;overflow-wrap:anywhere}
#field-workspace .fw-stop-more{display:block;margin-top:4px;font-size:11px;color:#61768b}

.visit-firework{position:fixed;inset:0;width:100vw;height:100dvh;z-index:2000;pointer-events:none;overflow:visible}
.working-visited-count{display:inline-block;font-variant-numeric:tabular-nums;transform-origin:50% 50%;backface-visibility:hidden}
.visit-count-out{animation:visit-count-out .13s ease-in forwards}
.visit-count-in{animation:visit-count-in .18s ease-out both}
@keyframes visit-count-out{to{transform:perspective(180px) rotateX(90deg);opacity:.25}}
@keyframes visit-count-in{from{transform:perspective(180px) rotateX(-90deg);opacity:.25}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.visit-count-out,.visit-count-in{animation:none}.visit-firework{display:none}}
/* Short phones retain the same identity and controls with less header padding. */
@media(max-width:420px), (max-height:650px){
 #field-workspace .fw-top-row{padding:3px 8px;gap:6px}
 #field-workspace .fw-map-progress{gap:2px}
 #field-workspace .fw-work-context{gap:2px 4px}
 #field-workspace .fw-precinct-id{padding:2px 4px}
 #field-workspace .fw-map-progress strong{font-size:13px}
 #field-workspace .fw-view-button{padding:7px 8px;min-height:44px}
 #field-workspace .fw-pinned-context{padding:4px 10px;min-height:36px;max-height:24dvh;overflow-y:auto;overflow-wrap:anywhere}
 #field-workspace .fw-household-address{gap:6px}
 #field-workspace .fw-household-voters{gap:3px 10px}
 #field-workspace .fw-stop-with-voters{gap:8px;padding:10px}
 #field-workspace .fw-stop-voters{gap:3px 6px}
 #field-workspace .fw-question-content{scroll-padding-block:8px}
}

#field-workspace .fw-paired-answers{display:grid;gap:6px}
#field-workspace .fw-paired-answers .fw-field{margin:0}
#field-workspace .fw-paired-answers textarea{width:100%;min-height:58px}
#field-workspace .fw-review-row p{white-space:pre-wrap}

#field-workspace[data-page=script] h1{font-size:21px;line-height:1.25}
