:root{color-scheme:light;font-family:IBM Plex Sans,Avenir Next,Trebuchet MS,sans-serif;background:#f4f6f8;color:#222936;--bg: #f4f6f8;--surface: #ffffff;--surface-soft: #f7f9fb;--surface-tint: #eef4f0;--surface-blue: #edf4f7;--border: #d7dde4;--border-strong: #aeb8c4;--accent: #24543f;--accent-hover: #1c4332;--accent-2: #b64b38;--sync: #385c72;--sync-soft: #e6eef2;--text: #222936;--text-muted: #596678;--danger: #a53d2d;--warning: #8f651d;--success: #24543f;--shadow: 0 14px 28px rgba(31, 38, 55, .1);--space-xs: 6px;--space-sm: 10px;--space-md: 16px;--space-lg: 24px;--space-xl: 36px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:linear-gradient(180deg,#f7f9fb,#eef2f5)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;padding:0 0 calc(82px + env(safe-area-inset-bottom))}.utility-bar{position:sticky;top:0;display:flex;justify-content:flex-end;padding:calc(10px + env(safe-area-inset-top)) 16px 8px;background:#f4f6f8e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.topbar{display:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;background:var(--accent);color:#fff;font-weight:800}.topbar-copy{min-width:0}.topbar-title{margin:0;font-weight:700}.environment-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border-radius:4px;background:#f0e0d6;color:#8f3928;font-size:.78rem;font-weight:900;letter-spacing:0}.environment-pill[data-environment=staging]{background:#fdecc8;color:#744a08}.environment-pill[data-environment=pilot]{background:#dff2ea;color:#24543f}.environment-pill[data-environment=production]{display:none}.connectivity-banner{padding:10px 16px;color:#fff;background:var(--warning);font-size:.9rem}.page-shell{padding:22px 16px}.page-section{max-width:752px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.stack.compact{gap:var(--space-sm)}.auth-screen{display:grid;min-height:100vh;place-items:center;padding:var(--space-lg)}.install-page{min-height:100vh;display:grid;align-content:center;gap:18px;padding:calc(28px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom))}.install-hero,.install-panel{width:min(752px,100%);margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.install-hero{padding:28px;border-top:6px solid var(--accent)}.install-hero h1{margin:8px 0 12px;font-size:2.15rem;line-height:1.12}.lede{margin:0 0 18px;color:var(--text);line-height:1.5}.install-panel{padding:22px}.install-panel[data-visible=false]{display:none}.download-button{width:100%;min-height:58px;font-size:1.08rem}.tip-grid{display:grid;gap:12px;margin-top:12px}.tip-card{padding:16px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft)}.tip-card strong{display:block;margin-bottom:6px}.tip-card p,.install-summary{margin:0;color:var(--text-muted);line-height:1.45}.install-summary{margin-top:14px}.auth-card,.card,.hero-card,.recorder-card,.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.auth-card,.hero-card,.card{padding:22px}.hero-card h1,.auth-card h1{margin:0;font-size:2rem;line-height:1.12}.form-hero{border-top:6px solid var(--accent)}.eyebrow{margin:0;color:var(--accent-2);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.muted,.status-message{margin:0;color:var(--text-muted)}.hero-actions,.form-submit-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:4px;padding:11px 18px;border:1px solid transparent;cursor:pointer;font-weight:700;line-height:1.2;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease,opacity .14s ease}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-hover)}.secondary-button{background:var(--surface-tint);border-color:#24543f2e;color:var(--accent)}.ghost-button{background:var(--surface);border-color:var(--border);color:var(--text)}.danger-button{background:var(--danger);color:#fff}.danger-button:hover{background:#873022}.icon-button{min-width:40px;padding:8px 10px;background:var(--surface);border-color:var(--border);color:var(--text)}button:disabled{opacity:.58;cursor:not-allowed}.field,.form-line,.sub-field{display:flex;flex-direction:column;gap:8px}.field-label,.field span{color:var(--text);font-size:1rem;font-weight:700}.field input,.field select,.form-line input,.form-line select,.form-line textarea,.sub-field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);outline:none}.form-line textarea{resize:vertical}.form-line input:focus,.form-line select:focus,.form-line textarea:focus,.sub-field input:focus,.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #24543f29}.sub-label,.sub-field span{color:var(--text-muted);font-size:.78rem}.checkbox-row,.option-row{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);line-height:1.3;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.checkbox-row input,.option-row input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.option-row:has(input:checked){border-color:#24543f7a;background:var(--surface-tint);box-shadow:inset 4px 0 0 var(--accent)}.option-row:hover{border-color:var(--border-strong)}.option-list,.option-grid{display:grid;gap:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.section-heading h1,.section-heading h2{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:18px}.stat-card strong{font-size:1.6rem}.stat-label{display:block;margin-bottom:8px;color:var(--text-muted)}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.settings-grid span{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft);color:var(--text-muted);font-size:.82rem;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.diagnostics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.diagnostics-grid>div{min-width:0;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.diagnostics-list{display:grid;gap:8px;margin:10px 0 0}.diagnostics-list div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;align-items:start}.diagnostics-list dt,.diagnostics-list dd{min-width:0;margin:0;overflow-wrap:anywhere}.diagnostics-list dt{color:var(--text-muted);font-size:.78rem;font-weight:750}.diagnostics-list dd{color:var(--text);font-size:.82rem}.list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.pill{display:inline-flex;align-items:center;width:fit-content;min-height:30px;padding:6px 10px;border-radius:4px;background:#b64b381a;color:#8e3829;font-size:.86rem;font-weight:700;text-transform:capitalize}.save-status-pill{text-transform:none}.save-status-pill[data-save-status=saved]{background:#4a54691a;color:#4a5469}.save-status-pill[data-save-status=sending]{background:#2a5b821f;color:#25506f}.save-status-pill[data-save-status=sent]{background:#24543f1f;color:var(--accent)}.save-status-pill[data-save-status=retry]{background:#ad671e24;color:#8a5218}.save-status-pill[data-save-status=attention]{background:#a53d2d1f;color:var(--danger)}.history-preview{margin:0;color:var(--text);line-height:1.5}.history-details{display:grid;gap:12px;padding:10px 0 0;border-top:1px solid var(--border)}.history-details summary{cursor:pointer;color:var(--text);font-weight:850}.history-details[open] summary{margin-bottom:2px}.history-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.history-detail-grid span,.history-answer-list p{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft);color:var(--text);font-size:.86rem;line-height:1.4;overflow-wrap:anywhere}.history-detail-grid strong,.history-answer-list strong,.history-answer-list span,.history-detail-note strong{display:block;margin-bottom:3px;color:var(--text-muted);font-size:.76rem;font-weight:850;text-transform:uppercase}.history-answer-list,.history-detail-note{display:grid;gap:8px}.history-answer-list p,.history-detail-note p{margin:0}.form-page{display:flex;flex-direction:column;gap:0;padding-bottom:var(--space-xl)}.form-card{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.form-header-group{padding:36px 24px 24px;border-bottom:1px solid var(--border)}.form-header-group h1{margin:0 0 12px;color:var(--text);font-size:2rem;line-height:1.16}.form-header-group p{margin:0;color:var(--text);line-height:1.5}.default-ec-survey-form .form-header-group{padding-bottom:16px}.default-ec-survey-form .form-header-group h1{margin-bottom:0;font-size:1.45rem}.default-ec-survey-form .main-response-field{padding-top:16px}.form-line{margin:0;padding:12px 24px;border:0}fieldset.form-line{min-width:0}legend.field-label{width:100%;padding:0;margin-bottom:8px}.info-block{color:var(--text);line-height:1.55}.visit-location-block{display:grid;gap:10px;padding-top:10px;padding-bottom:10px}.visit-location-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(36,84,63,.18);border-left:4px solid var(--accent);border-radius:4px;background:#f7faf8}.visit-location-summary-row .field-label{color:var(--text-muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.visit-location-summary{margin:3px 0 0;color:var(--text);font-weight:700;line-height:1.25}.gps-capture-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(56,92,114,.22);border-radius:4px;background:var(--surface-blue)}.gps-capture-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.gps-capture-result{display:grid;gap:10px}.gps-warning{margin:0;color:var(--warning);font-weight:700}.gps-clear-button{width:fit-content}.manual-location-map-block{display:grid;gap:10px}.manual-location-map-link{width:fit-content}.manual-location-map{width:100%;min-height:220px;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:linear-gradient(90deg,rgba(56,92,114,.1) 1px,transparent 1px),linear-gradient(rgba(56,92,114,.1) 1px,transparent 1px),var(--surface);background-size:14px 14px}.location-edit-grid{padding:10px 12px;border:1px solid rgba(36,84,63,.16);border-radius:4px;background:var(--surface-soft)}.location-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}.default-location-grid{grid-template-columns:1fr}.location-field{gap:6px}.location-field span{color:var(--text-muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.location-field input{min-height:40px}.apartment-field{gap:6px}.apartment-field span{color:var(--text-muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.info-block p{margin:0}.info-block ul{margin:0;padding-left:24px;list-style-type:square}.question-list{display:grid;gap:8px}.large-textarea{min-height:164px}.main-response-field{padding-bottom:8px}.two-column{display:grid;gap:12px}.inline-other{margin-top:12px;max-width:360px}.recorder-card{display:flex;flex-direction:column;gap:var(--space-md);border:0;border-radius:0;box-shadow:none;background:var(--surface-soft)}.main-recorder{margin:0 24px 12px;padding:16px;border:1px solid var(--border);border-radius:4px}.audio-heading{display:flex;justify-content:space-between;gap:var(--space-md)}.wave-placeholder{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;gap:8px;min-height:96px;padding:18px;border:1px solid var(--border);border-radius:4px;background:#fff}.wave-placeholder span{display:block;height:28px;border-radius:999px;background:#24543f52}.wave-placeholder span:nth-child(2),.wave-placeholder span:nth-child(6){height:52px}.wave-placeholder span:nth-child(3),.wave-placeholder span:nth-child(5){height:74px}.wave-placeholder span:nth-child(4){height:42px;background:#b64b385c}.audio-preview{display:grid;gap:10px}.audio-player{width:100%}.form-submit-row{justify-content:flex-end;padding:24px;border-top:1px solid var(--border);background:var(--surface)}.submit-button{min-width:140px}.bottom-nav{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffffeb;box-shadow:var(--shadow)}.nav-chip{display:grid;min-height:42px;place-items:center;padding:10px 8px;border-radius:4px;color:var(--text-muted);font-weight:700}.nav-chip.active{background:var(--accent);color:#fff}.error-text,.error-note{margin:0;color:var(--danger)}.session-reconnect-panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px;border:1px solid #e8b8ad;border-radius:6px;background:#fff4f1}.session-reconnect-panel p{flex:1 1 220px;margin:0}.inline-link{display:inline-flex;margin-bottom:8px;color:var(--accent);font-weight:800}.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}.canvass-page{max-width:1120px;margin:0 auto}.guided-canvass-page{max-width:900px}.guided-canvass-page[data-flow-step=door]>.guided-title-row,.guided-canvass-page[data-flow-step=door]>.turf-progress-bar{display:none}.canvass-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg)}.guided-title-row{align-items:center;padding:4px 0 2px}.canvass-title-row h1,.turf-tile h2,.building-inspector h2,.canvass-panel h2,.activity-log h3{margin:0}.canvass-title-row h1{margin-top:6px;font-size:2rem;line-height:1.1}.guided-flow-shell{display:grid;gap:16px;width:min(820px,100%);margin:0 auto}.guided-panel{display:grid;gap:16px;padding:18px;border-top:5px solid var(--sync)}.guided-lede{margin:0;color:var(--text);line-height:1.5}.guided-action-row,.context-action-row,.door-context-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.guided-action-row,.door-context-actions{justify-content:flex-end}.work-area-list{display:grid;gap:10px}.work-area-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:74px;padding:12px;border:1px solid var(--border);border-left:6px solid var(--status-color, var(--border-strong));border-radius:5px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left}.work-area-row[data-status=not_started]{--status-color: #8b93a7}.work-area-row[data-status=in_progress]{--status-color: #b97824}.work-area-row[data-status=completed]{--status-color: #24543f}.work-area-row[data-status=do_not_visit]{--status-color: #a53d2d}.work-area-row[data-selected=true]{border-color:#24543f8c;background:#f4faf6;box-shadow:inset 4px 0 0 var(--accent)}.work-area-row>span:first-child,.work-area-meta{display:grid;min-width:0;gap:4px}.work-area-row small,.work-area-meta small{color:var(--text-muted);font-size:.82rem;font-weight:750;line-height:1.3}.work-area-meta{justify-items:end;color:var(--text);font-weight:850;text-align:right}.work-area-action{justify-self:end;color:var(--accent);font-size:.86rem;font-weight:900}.active-door-panel{border-top-color:var(--accent)}.door-context-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,168px);gap:14px;align-items:start;padding-bottom:10px;border-bottom:1px solid var(--border)}.door-context-title{min-width:0}.door-context-meta{display:grid;gap:3px;margin-top:7px}.door-context-meta span{color:var(--text-muted);font-size:.9rem;font-weight:780;line-height:1.28}.door-context-meta .team-line{color:var(--text);font-size:.88rem;font-weight:850}.door-context-actions{display:grid;gap:10px;justify-items:stretch}.door-context-actions .compact-button{min-height:49px;padding:11px 13px;font-size:.92rem;text-align:center}.canvass-survey-form{gap:14px}.canvass-survey-form .form-line{padding-right:0;padding-left:0}.canvass-survey-status{padding-bottom:2px}.canvass-survey-form .visit-location-block{padding-top:0}.survey-detail-drawer{background:var(--surface)}.survey-detail-drawer-body{display:grid;padding:0 12px 12px}.survey-detail-drawer .visit-location-block{padding:0}.canvass-survey-form .main-recorder{margin:0}.canvass-survey-form .compact-audio-card{gap:10px;padding:12px}.canvass-survey-form .compact-audio-card .wave-placeholder{order:3;min-height:44px;padding:10px 12px}.canvass-survey-form .compact-audio-card .hero-actions{order:2}.canvass-survey-form .compact-audio-card .wave-placeholder span{height:18px}.canvass-survey-form .compact-audio-card .wave-placeholder span:nth-child(2),.canvass-survey-form .compact-audio-card .wave-placeholder span:nth-child(6){height:28px}.canvass-survey-form .compact-audio-card .wave-placeholder span:nth-child(3),.canvass-survey-form .compact-audio-card .wave-placeholder span:nth-child(5){height:36px}.canvass-survey-form .compact-audio-card .wave-placeholder span:nth-child(4){height:24px}.canvass-survey-submit-row{padding:14px 0 0;border-top:1px solid var(--border)}.survey-question-steps{display:grid;gap:16px}.survey-question-section{margin:0 0 3px;color:var(--text-muted);font-size:.76rem;font-weight:850;letter-spacing:0;line-height:1.2;text-transform:uppercase}.survey-question-step .survey-question-control{padding:0}.survey-question-step fieldset.survey-question-control{min-width:0;border:0}.survey-question-step .large-textarea{min-height:126px}.survey-question-note p{margin:0;color:var(--text-muted);font-weight:700;line-height:1.4}.empty-guided-state{display:grid;gap:12px;padding:18px;border:1px dashed var(--border-strong);border-radius:5px;background:var(--surface-soft)}.empty-guided-state h2{margin:0}.success-banner{margin:0;padding:12px;border:1px solid rgba(36,84,63,.24);border-radius:5px;background:#e8f4ee;color:var(--success);font-weight:850;line-height:1.35}.door-unit-field input{min-height:54px;font-size:1.18rem;font-weight:800}.door-step{display:grid;gap:12px}.door-step+.door-step{padding-top:16px;border-top:1px solid var(--border)}.door-step-heading{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}.door-step-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--accent);color:#fff;font-size:.86rem;font-weight:900}.door-step-heading h3{margin:1px 0 2px;color:var(--text);font-size:1.08rem;line-height:1.2}.door-step-heading p{margin:0;color:var(--text-muted);font-size:.88rem;font-weight:700;line-height:1.35}.door-note-field textarea{min-height:82px}.quick-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-outcome-button{display:grid;gap:5px;min-height:88px;padding:14px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left;transition:background .14s ease,border-color .14s ease,transform .14s ease}.quick-outcome-button strong{font-size:1rem}.quick-outcome-button span{color:var(--text-muted);font-size:.84rem;line-height:1.35}.quick-outcome-button:hover{border-color:var(--border-strong);transform:translateY(-1px)}.quick-outcome-button[data-outcome=do_not_knock],.quick-outcome-button[data-outcome=inaccessible]{border-color:#a53d2d47}.quick-outcome-button[data-outcome=do_not_knock] strong,.quick-outcome-button[data-outcome=inaccessible] strong{color:#873022}.answered-outcome-button{grid-column:1 / -1;min-height:74px;border:2px solid var(--accent);background:var(--surface);color:var(--accent);box-shadow:inset 0 0 0 1px #24543f2e}.answered-outcome-button span{color:var(--text-muted)}.answered-outcome-button:hover{border-color:var(--accent-hover);background:var(--surface-tint)}.quick-outcome-button:disabled{opacity:1;cursor:not-allowed}.quick-outcome-button:disabled:hover{border-color:var(--border);transform:none}.quick-outcome-button[data-outcome=do_not_knock]:disabled,.quick-outcome-button[data-outcome=inaccessible]:disabled{border-color:#a53d2d47}.door-save-receipt{position:fixed;top:calc(env(safe-area-inset-top) + 56px);right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));z-index:60;display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center;width:min(420px,calc(100vw - 24px));margin:0 auto;padding:10px 12px;border:0;border-left:4px solid var(--accent);border-radius:3px;background:#eef7f2;box-shadow:0 12px 30px #151a1729;color:var(--text);pointer-events:none}.door-save-receipt:before{content:"";grid-row:1 / span 2;width:9px;height:9px;border-radius:999px;background:var(--accent)}.door-save-receipt strong{font-size:.82rem;line-height:1.2;text-transform:uppercase;letter-spacing:0}.door-save-receipt span{color:var(--text-muted);font-size:.88rem;font-weight:760}.door-save-receipt[data-save-status=sent]{background:#eef7f2}.door-save-receipt[data-save-status=sending]{border-left-color:#5b6f95;background:#f2f6fc}.door-save-receipt[data-save-status=sending]:before{background:#5b6f95}.door-save-receipt[data-save-status=retry],.door-save-receipt[data-save-status=attention]{border-left-color:#a53d2d;background:#fff8f6}.door-save-receipt[data-save-status=retry]:before,.door-save-receipt[data-save-status=attention]:before{background:#a53d2d}.work-area-action-drawer{border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.work-area-action-drawer summary{padding:12px 14px;color:var(--text-muted);cursor:pointer;font-weight:850}.work-area-action-drawer-body{display:flex;justify-content:flex-end;padding:0 12px 12px}.canvass-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.source-card{display:grid;gap:6px;min-width:240px;padding:14px;border:1px solid var(--border);border-radius:6px;background:#ffffffe6}.source-card small{color:var(--text-muted);font-weight:700}.source-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.source-meta-grid span{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:4px;background:#ffffffd6;color:var(--text-muted);font-size:.82rem;font-weight:750;line-height:1.35}.source-meta-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.source-meta-grid.compact span{background:var(--surface-soft)}.canvass-roster-header{align-items:flex-end;gap:18px}.canvass-roster-header .muted{max-width:52ch}.canvass-roster{display:grid;gap:8px}.canvass-roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;padding:12px 14px;border:1px solid var(--border);border-left:5px solid var(--sync);border-radius:5px;background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease}.canvass-roster-row:hover,.canvass-roster-row:focus-within{border-color:#9fb5aa;box-shadow:0 10px 24px #23302b1a;outline:none}.canvass-row-main{min-width:0}.canvass-row-main p{margin:0 0 4px;color:var(--text-muted);font-size:.77rem;font-weight:800}.canvass-row-main strong{display:block;overflow-wrap:anywhere;font-size:1rem;line-height:1.16}.canvass-review-note{display:block;margin-top:6px;color:var(--warning);font-size:.82rem;font-weight:700;line-height:1.3}.canvass-row-button{width:auto;justify-self:end;min-height:42px;padding-inline:14px;white-space:nowrap}.manual-note-row{border-left-color:#a77c35;background:#fffdf7}.campaign-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.campaign-picker-button{display:grid;gap:4px;min-height:78px;padding:14px;border:1px solid var(--border);border-left:5px solid var(--sync);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left}.campaign-picker-button[data-selected=true]{border-color:#24543f73;border-left-color:var(--accent);background:#f4faf6;box-shadow:inset 0 0 0 1px #24543f24}.campaign-picker-button strong{font-size:1rem;line-height:1.2}.campaign-picker-button span{color:var(--text-muted);font-size:.82rem;font-weight:750;line-height:1.35}.campaignless-button{border-left-color:#a77c35;background:#fffdf7}.field-shell{display:grid;gap:10px;max-width:980px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.field-shell-header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:var(--shadow)}.field-shell-title{min-width:0}.field-shell-title .inline-link{font-size:.82rem;font-weight:900;line-height:1.15}.field-shell-kicker{display:block;margin-top:8px;color:var(--accent);font-size:.76rem;font-weight:950;line-height:1.15;text-transform:uppercase}.field-shell-title h1{margin:5px 0 0;font-size:1.12rem;line-height:1.1}.field-shell-compact-meta{display:flex;flex-wrap:wrap;gap:5px 8px;margin-top:5px;color:var(--text-muted);font-size:.72rem;font-weight:850;line-height:1.2}.field-shell-compact-meta span{max-width:100%}.field-team-edit{min-height:34px;padding-inline:10px;white-space:nowrap}.field-shell-status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sync-pill,.team-pill{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:999px;background:var(--sync-soft);color:var(--sync);font-size:.78rem;font-weight:900;white-space:nowrap}.sync-pill[data-sync-state=backlog]{background:#fff3dd;color:var(--warning)}.team-pill{background:#eef4f0;color:var(--accent)}.field-progress{grid-column:1 / -1;display:grid;grid-template-columns:minmax(72px,.5fr) minmax(0,1fr);gap:8px;align-items:center;color:var(--text-muted);font-size:.74rem;font-weight:800}.field-progress strong{color:var(--text);white-space:nowrap}.field-progress-track{height:7px;overflow:hidden;border-radius:999px;background:#e5eaf0}.field-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .16s ease}.field-progress-stats{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.field-stat-pill{display:inline-flex;align-items:baseline;gap:3px;min-height:26px;padding:4px 7px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text-muted);font-size:.72rem;font-weight:850;line-height:1;white-space:nowrap}.field-team-summary{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;color:var(--text-muted);font-size:.74rem;font-weight:850}.field-team-copy{display:flex;gap:6px;align-items:baseline;min-width:0}.field-team-copy span{color:var(--accent);font-size:.7rem;font-weight:950;text-transform:uppercase}.field-team-copy strong,.field-team-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-team-copy strong{color:var(--text);font-size:.82rem;font-weight:900}.field-team-setup-panel{gap:10px;padding:12px;border-radius:6px}.field-context-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-context-card{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.field-context-card span{color:var(--text-muted);font-size:.72rem;font-weight:950;line-height:1.1;text-transform:uppercase}.field-context-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-context-card strong{display:-webkit-box;overflow:hidden;color:var(--text);font-size:.86rem;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.field-context-card small{color:var(--text-muted);font-size:.74rem;font-weight:800;line-height:1.25}.field-tab-bar{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:60;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(calc(100vw - 24px),948px);padding:6px;transform:translate(-50%);border:1px solid var(--border);border-radius:16px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 38px #19263633}.field-tab-button{min-height:48px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.86rem;font-weight:900;touch-action:manipulation}.field-tab-button[data-active=true]{border-color:#24543f47;background:var(--surface-tint);color:var(--accent)}.field-tab-panel{min-width:0}.field-map-panel{display:grid;gap:10px}.field-presence-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.field-presence-strip span{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:850}.field-presence-strip span[data-state=active]{border-color:#b9782452;background:#fff5e5;color:#8b570d}.field-map-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.field-map-canvas{position:relative;min-height:560px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:linear-gradient(rgba(56,92,114,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(56,92,114,.08) 1px,transparent 1px),#f7f9fb;background-size:28px 28px}.field-real-map-shell{position:relative;height:560px;min-height:560px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#eef3f0}.field-real-map{position:absolute;inset:0;width:100%;height:100%}.field-real-map .maplibregl-ctrl-bottom-left,.field-real-map .maplibregl-ctrl-bottom-right{margin-bottom:50px}.field-real-map-status{position:absolute;top:12px;left:12px;z-index:2;max-width:min(320px,calc(100% - 24px));margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:#ffffffeb;color:var(--text-muted);font-size:.78rem;font-weight:900;line-height:1.2}.field-real-map-status-error{border-color:#a53d2d47;background:#fff0eef2;color:var(--danger)}.field-real-map-summary,.field-real-map-legend{position:absolute;z-index:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:calc(100% - 24px);padding:7px;border:1px solid rgba(25,38,54,.12);border-radius:6px;background:#ffffffe6;box-shadow:0 8px 18px #1926361f}.field-real-map-summary{top:12px;right:12px;justify-content:flex-end}.field-real-map-legend{right:12px;bottom:12px}.field-real-map-summary span,.field-real-map-legend span{display:inline-flex;gap:6px;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:var(--surface-soft);color:var(--text-muted);font-size:.72rem;font-weight:900;white-space:nowrap}.field-real-map-legend span:before{content:"";width:12px;height:12px;border:2px solid #27364a;border-radius:3px;background:#f9fafb}.field-real-map-legend span[data-status=in_progress]:before{border-color:#7f4c0f;background:#b97824}.field-real-map-legend span[data-status=completed]:before{border-color:#17442e;background:#2f7d55}.field-real-map-legend span[data-status=do_not_visit]:before{border-color:#7c241c;background:#ad3528}.field-map-building{position:absolute;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:3px;align-items:center;justify-items:start;min-width:42px;min-height:36px;padding:8px;border:2px solid var(--border-strong);border-radius:5px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:900;line-height:1.1;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.field-map-building:hover,.field-map-building:focus-visible{transform:translateY(-1px);box-shadow:0 8px 18px #1926361f}.field-map-building[data-status=in_progress],.field-building-row[data-status=in_progress]{border-color:#b97824;background:#fff5e5}.field-map-building[data-status=completed],.field-building-row[data-status=completed]{border-color:var(--accent);background:#edf7ef}.field-map-building[data-status=do_not_visit],.field-building-row[data-status=do_not_visit]{border-color:var(--danger);background:#fff0ee}.field-map-building[data-selected=true],.field-building-row[data-selected=true]{box-shadow:0 0 0 3px #24543f2e}.field-map-status-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#24543f1a;color:var(--accent);font-size:.8rem}.field-map-building-name{display:-webkit-box;overflow:hidden;color:var(--text);font-size:.78rem;line-height:1.12;-webkit-box-orient:vertical;-webkit-line-clamp:2}.field-map-building-subline{color:var(--text-muted);font-size:.65rem;font-weight:850;text-transform:uppercase}.field-map-team-badge,.field-map-survey-badge{position:absolute;right:-7px;display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;color:#fff;font-size:.7rem;font-style:normal}.field-map-team-badge{top:-9px;background:var(--sync)}.field-map-survey-badge{bottom:-9px;background:var(--accent)}.field-map-sidebar{display:grid;gap:10px}.field-building-sheet-backdrop{position:fixed;inset:0 0 calc(86px + env(safe-area-inset-bottom)) 0;z-index:40;display:flex;align-items:flex-end;justify-content:center;padding:18px 12px 0;background:#161f2c57}.field-building-sheet-overlay{width:min(100%,460px);max-height:calc(85vh - 86px);overflow-y:auto;padding:8px 14px 16px;border:1px solid var(--border);border-bottom:0;border-radius:16px 16px 0 0;background:var(--surface);box-shadow:0 -12px 30px #19263638}.field-building-sheet-overlay.field-map-sidebar{grid-template-columns:1fr}.field-building-sheet-overlay .field-map-card{padding:10px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.field-building-sheet-overlay .field-map-card:last-child{border-bottom:0}.field-sheet-handle{width:36px;height:4px;margin:0 auto 10px;border-radius:999px;background:var(--border-strong)}.field-sheet-heading-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}.field-sheet-header,.field-sheet-section,.field-sheet-collapse,.field-sheet-directions{border-bottom:1px solid var(--border)}.field-sheet-header{display:grid;gap:9px;padding:0 0 12px}.field-sheet-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.field-sheet-title-row h2{margin:4px 0 3px;font-size:1.05rem;line-height:1.18}.field-sheet-kicker,.field-sheet-section-label{color:var(--text);font-size:.76rem;font-weight:950;text-transform:uppercase}.field-sheet-pill-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.field-sheet-pill-row>span:not(.status-pill){display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text-muted);font-size:.76rem;font-weight:850}.field-sheet-banner{display:grid;gap:3px;margin:10px 0 0;padding:10px}.field-sheet-banner span{font-size:.8rem;line-height:1.35}.field-sheet-section{display:grid;gap:9px;padding:13px 0}.field-sheet-primary-action,.field-sheet-section>.secondary-button,.field-sheet-directions,.field-sheet-submit-bar .primary-button{width:100%}.field-sheet-help{margin:0;color:var(--text-muted);font-size:.74rem;font-weight:750;line-height:1.35;text-align:center}.field-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.field-status-button{min-height:42px;padding:8px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.78rem;font-weight:900}.field-status-button:hover:not(:disabled),.field-status-button:focus-visible:not(:disabled){border-color:#24543f59;background:var(--surface-tint)}.field-status-button[data-selected=true]{border-color:#24543f70;background:var(--surface-tint);color:var(--accent)}.field-status-button:disabled,.field-work-control button:disabled,.field-floor-coverage button:disabled{cursor:not-allowed;opacity:.58}.field-floor-coverage{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.field-floor-head{display:flex;gap:8px;align-items:baseline;justify-content:space-between}.field-floor-head span{font-size:.8rem;font-weight:950}.field-floor-head small{color:var(--text-muted);font-size:.72rem;font-weight:850}.field-floor-chips{display:flex;flex-wrap:wrap;gap:6px}.field-floor-chip{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:.72rem;font-weight:850}.field-deferred-note{margin:0;padding:9px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface-soft);color:var(--text-muted);font-size:.78rem;font-weight:800;line-height:1.35}.field-work-control{display:grid;gap:8px}.field-work-label{color:var(--text-muted);font-size:.78rem;font-weight:900}.field-work-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.field-work-row input{min-width:0;min-height:42px;padding:9px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text-muted);font:inherit}.field-sheet-note-input{width:100%;min-height:82px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);outline:none;resize:vertical}.field-sheet-note-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #24543f29}.field-sheet-collapse{padding:0}.field-sheet-collapse summary{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:46px;cursor:pointer;color:var(--text);font-size:.84rem;font-weight:950;list-style:none}.field-sheet-collapse summary::-webkit-details-marker{display:none}.field-sheet-collapse summary span:last-child{color:var(--text-muted);font-size:1.05rem;transition:transform .14s ease}.field-sheet-collapse[open] summary span:last-child{transform:rotate(90deg)}.field-sheet-collapse-body{display:grid;gap:7px;padding:0 0 12px}.field-sheet-list-item{display:grid;gap:3px;padding:8px 0;border-bottom:1px solid rgba(25,38,54,.08)}.field-sheet-list-item:last-child{border-bottom:0}.field-sheet-list-item strong{color:var(--text);font-size:.8rem}.field-sheet-list-item span,.field-sheet-list-item small{color:var(--text-muted);font-size:.74rem;font-weight:800;line-height:1.35}.field-sheet-directions{margin-top:12px}.field-sheet-submit-bar{position:sticky;bottom:-16px;display:grid;margin:12px -14px -16px;padding:10px 14px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.field-map-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.field-map-card h2{margin:0;font-size:1rem;line-height:1.2}.field-map-card-heading{display:flex;gap:8px;align-items:center;justify-content:space-between}.field-map-card-heading>strong{font-size:.82rem;text-transform:uppercase}.field-map-card-heading>span:not(.status-pill){color:var(--text-muted);font-size:.74rem;font-weight:900}.field-team-board,.field-activity-mini-list{display:grid;gap:7px}.field-team-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:52px;padding:9px;border:1px solid var(--border);border-radius:5px;background:var(--surface-soft);color:var(--text);cursor:pointer;text-align:left}.field-team-row[data-current=true]{border-color:#24543f59;background:var(--surface-tint)}.field-team-row.static-row{cursor:default}.field-team-row span{display:grid;gap:2px;min-width:0}.field-team-row strong,.field-activity-mini-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-team-row small,.field-team-row em,.field-activity-mini-item span,.field-activity-mini-item small{color:var(--text-muted);font-size:.74rem;font-style:normal;font-weight:800}.field-activity-mini-item{display:grid;gap:2px;padding:9px;border-left:4px solid var(--border-strong);border-radius:5px;background:var(--surface-soft)}.field-map-legend,.field-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.field-map-legend span{display:inline-flex;gap:6px;align-items:center;color:var(--text-muted);font-size:.8rem;font-weight:850}.field-map-legend span:before{content:"";width:12px;height:12px;border:2px solid var(--border-strong);border-radius:3px;background:var(--surface)}.field-map-legend span[data-status=in_progress]:before{border-color:#b97824;background:#fff5e5}.field-map-legend span[data-status=completed]:before{border-color:var(--accent);background:#edf7ef}.field-map-legend span[data-status=do_not_visit]:before{border-color:var(--danger);background:#fff0ee}.field-map-list-section{padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.field-map-list-heading{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;justify-content:space-between}.field-map-list-heading strong{font-size:.9rem;text-transform:uppercase}.field-map-list-heading span{color:var(--text-muted);font-size:.78rem;font-weight:800}.compact-button[data-active=true]{border-color:#24543f52;background:var(--surface-tint);color:var(--accent)}.field-building-list,.field-history-list{display:grid;gap:8px}.field-building-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:70px;padding:12px;border:1px solid var(--border);border-left:6px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left}.field-building-row>span:first-child{display:grid;gap:4px;min-width:0}.field-building-row small{color:var(--text-muted);font-size:.82rem;font-weight:750;line-height:1.3}.field-building-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.field-building-meta em,.status-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:var(--surface-soft);color:var(--text-muted);font-size:.74rem;font-style:normal;font-weight:900;white-space:nowrap}.status-pill[data-status=in_progress]{background:#fff5e5;color:#8b570d}.status-pill[data-status=completed]{background:#edf7ef;color:var(--accent)}.status-pill[data-status=do_not_visit]{background:#fff0ee;color:var(--danger)}.field-empty-panel,.field-building-sheet{padding:16px}.field-building-facts,.active-team-list,.field-action-stack,.exception-action-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.field-building-facts span,.active-team-list span{display:inline-flex;min-height:30px;align-items:center;padding:5px 9px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.78rem;font-weight:850}.active-team-list span[data-current=true]{border-color:#24543f59;background:var(--surface-tint);color:var(--accent)}.field-action-stack{align-items:stretch}.field-action-stack .primary-button,.field-action-stack .secondary-button,.exception-action-grid .secondary-button{width:auto}.field-sync-panel,.field-history-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px}.field-history-item{align-items:flex-start}.field-history-activity{padding:14px}.turf-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.turf-tile,.canvass-panel,.building-inspector{background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.turf-tile{display:flex;flex-direction:column;gap:14px;min-height:100%;padding:20px}.turf-tile .primary-button{margin-top:auto}.turf-tile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.turf-tile h2{margin-top:6px;font-size:1.2rem;line-height:1.18}.turf-progress-bar{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e5e7ef}.turf-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#6b8f49);transition:width .18s ease}.turf-metric-row{display:flex;flex-wrap:wrap;gap:8px}.turf-metric-row span,.status-legend span{display:inline-flex;align-items:center;min-height:30px;padding:6px 9px;border-radius:4px;background:var(--surface-soft);color:var(--text-muted);font-size:.82rem;font-weight:800}.canvass-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;width:min(820px,100%);margin:0 auto}.canvass-panel{padding:18px}.map-panel{overflow:hidden}.map-first-panel{gap:12px;border-top:5px solid var(--accent)}.visit-flow-panel{gap:0;overflow:hidden;padding:0;border-top:5px solid var(--accent)}.field-step{display:grid;gap:14px;padding:18px;border-bottom:1px solid var(--border)}.field-step:last-child{border-bottom:0}.step-heading{display:flex;align-items:flex-start;gap:12px}.step-number{display:inline-grid;flex:0 0 auto;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--accent);color:#fff;font-size:.9rem;font-weight:900}.step-heading h2{margin:3px 0 0}.target-picker-shell{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft)}.target-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.selected-target-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:12px;align-items:stretch}.compact-target-select{justify-content:center;min-width:0;padding:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft)}.current-target-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-left:6px solid var(--status-color, var(--border-strong));border-radius:4px;background:var(--surface)}.current-target-card[data-status=not_started]{--status-color: #8b93a7}.current-target-card[data-status=in_progress]{--status-color: #b97824}.current-target-card[data-status=completed]{--status-color: #24543f}.current-target-card[data-status=do_not_visit]{--status-color: #a53d2d}.current-target-card>span:first-child{display:grid;min-width:0;gap:4px}.current-target-card small{color:var(--text-muted);font-weight:700}.target-card-metrics{display:grid;justify-items:end;gap:6px;text-align:right}.target-card-metrics small{white-space:nowrap}.target-operations-grid{display:grid;gap:12px}.visit-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.result-picker h3{margin:0;font-size:1rem}.session-panel{display:grid;gap:14px}.session-form-grid,.session-summary-grid,.building-detail-grid{display:grid;gap:12px}.session-builder,.picker-block{display:grid;gap:10px}.picker-block>span{color:var(--text-muted);font-size:.84rem;font-weight:850}.person-combo{min-width:0}.person-combo select,.person-combo input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);outline:none}.person-combo select:focus,.person-combo input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #24543f29}.person-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}.person-tile{display:grid;gap:3px;min-height:58px;padding:10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left}.person-tile small{color:var(--text-muted);font-size:.76rem;font-weight:750}.person-tile[data-admin=true]{border-left:5px solid var(--accent-2)}.person-tile[data-selected=true]{border-color:#24543f94;background:var(--surface-tint);box-shadow:inset 4px 0 0 var(--accent)}.session-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-form-grid .primary-button,.session-form-grid .secondary-button,.session-form-grid .ghost-button,.session-form-grid .danger-button{align-self:end}.field textarea{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);outline:none;resize:vertical}.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #24543f29}.session-summary-grid{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));align-items:stretch}.session-summary-grid p,.building-detail-grid p{display:flex;flex-direction:column;gap:4px;min-height:64px;margin:0;padding:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft)}.session-summary-grid span,.building-detail-grid span{color:var(--text-muted)}.status-legend{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px}.segmented-control{display:inline-grid;grid-template-columns:repeat(2,minmax(76px,1fr));overflow:hidden;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft)}.segmented-control button{min-height:38px;padding:8px 12px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-weight:850}.segmented-control button[data-active=true]{background:var(--accent);color:#fff}.status-legend span[data-status=not_started],.building-row[data-status=not_started]{--status-color: #8b93a7}.status-legend span[data-status=in_progress],.building-row[data-status=in_progress]{--status-color: #b97824}.status-legend span[data-status=completed],.building-row[data-status=completed]{--status-color: #24543f}.status-legend span[data-status=do_not_visit],.building-row[data-status=do_not_visit]{--status-color: #a53d2d}.status-legend span{border-left:5px solid var(--status-color)}.map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.compact-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:700;line-height:1.2}.canvass-map{display:block;width:100%;aspect-ratio:16 / 10;margin-top:16px;border:1px solid var(--border);border-radius:4px;background:linear-gradient(90deg,rgba(36,84,63,.08) 1px,transparent 1px),linear-gradient(rgba(36,84,63,.08) 1px,transparent 1px),#fbfcff;background-size:12px 12px}.map-road{fill:none;stroke:#5f687a47;stroke-width:4;stroke-linecap:round}.map-road.secondary{stroke-width:3}.building-map-target{cursor:pointer;outline:none}.building-map-target rect{fill:#dfe3eb;stroke:#2c33455c;stroke-width:1.2;transition:fill .14s ease,stroke-width .14s ease,transform .14s ease}.building-map-target text{fill:#1f2937;font-size:4px;font-weight:900;text-anchor:middle;pointer-events:none}.building-map-target[data-status=in_progress] rect{fill:#f0c26a}.building-map-target[data-status=completed] rect{fill:#8fba91}.building-map-target[data-status=do_not_visit] rect{fill:#d98a79}.building-map-target[data-selected=true] rect,.building-map-target:focus rect{stroke:#111827;stroke-width:2.2}.lock-marker circle{fill:#111827;stroke:#fff;stroke-width:.8}.lock-marker text,.session-marker text{fill:#fff;font-size:3.6px;font-weight:950;text-anchor:middle;pointer-events:none}.session-marker circle{stroke:#fff;stroke-width:1}.building-list{display:grid;gap:8px}.building-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid var(--border);border-left:6px solid var(--status-color, var(--border-strong));border-radius:4px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.building-row[data-selected=true]{border-color:#24543f8c;background:var(--surface-tint)}.building-row span:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.building-row small,.building-row-meta{color:var(--text-muted);font-size:.82rem;font-weight:700}.building-inspector{position:sticky;top:112px}.building-inspector-inner{padding:18px}.building-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inspector-note-block{padding:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft)}.inspector-note-block p{margin:6px 0 0;color:var(--text-muted);line-height:1.45}.warn-banner{padding:11px 12px;border:1px solid rgba(165,61,45,.24);border-radius:4px;background:#a53d2d1a;color:var(--danger);font-weight:800;line-height:1.35}.inspector-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.detail-disclosure,.data-notes-panel{border-style:dashed}.target-handoff-panel{border-top:5px solid var(--accent)}.detail-disclosure{display:grid;gap:10px;padding:12px;border:1px dashed var(--border-strong);border-radius:4px;background:var(--surface-soft)}.detail-disclosure summary,.data-notes-panel summary{cursor:pointer;color:var(--text);font-weight:850}.detail-disclosure[open] summary,.data-notes-panel[open] summary{margin-bottom:12px}.detail-disclosure .source-meta-grid{margin-bottom:10px}.data-notes-panel .source-meta-grid{margin-top:12px}.secondary-tools-body{display:grid;gap:12px}.status-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.status-button{min-height:44px;padding:10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:800}.status-button[data-active=true]{border-color:#24543f9e;background:var(--surface-tint);color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.status-button[data-status=do_not_visit][data-active=true]{border-color:#a53d2d8a;background:#a53d2d1a;color:var(--danger);box-shadow:inset 4px 0 0 var(--danger)}.activity-log{padding-top:4px}.activity-feed{display:grid;gap:8px}.activity-item{padding:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft)}.activity-item p{margin:4px 0;color:var(--text);line-height:1.4}.activity-item small{color:var(--text-muted)}.activity-type-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-panel{border-color:#b64b3847}@media(min-width:720px){.page-shell{padding:28px 24px 120px}.topbar{padding-left:24px;padding-right:24px}.form-header-group{padding:38px 52px 28px}.default-ec-survey-form .form-header-group{padding-bottom:18px}.form-line{padding:12px 52px}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.form-submit-row{padding:24px 52px}.main-recorder{margin-left:52px;margin-right:52px}.tip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tip-card-wide{grid-column:1 / -1}}@media(max-width:960px){.turf-picker-grid,.canvass-workspace,.diagnostics-grid,.settings-grid,.source-meta-grid{grid-template-columns:1fr}.canvass-roster-row{grid-template-columns:minmax(0,1fr) auto}.canvass-row-button{grid-column:2;grid-row:1;justify-self:end}.building-inspector{position:static}.session-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-map-layout{grid-template-columns:1fr}.field-map-sidebar:not(.field-building-sheet-overlay){grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:520px){.topbar{grid-template-columns:auto 1fr auto}.diagnostics-list div{grid-template-columns:1fr;gap:2px}.topbar .ghost-button{grid-column:1 / -1}.hero-actions,.form-submit-row,.guided-action-row,.context-action-row,.door-context-actions{align-items:stretch;flex-direction:column}.door-context-heading{grid-template-columns:minmax(0,1fr) 138px;gap:10px;padding-bottom:9px}.door-context-title h2{font-size:1.38rem}.door-context-meta span{font-size:.84rem}.door-context-meta .team-line{font-size:.82rem}.door-context-actions .compact-button{min-height:44px;padding:9px;font-size:.84rem}.primary-button,.secondary-button,.ghost-button,.danger-button{width:100%}.form-header-group h1,.hero-card h1{font-size:1.55rem}.list-item,.section-heading,.audio-heading,.canvass-title-row,.canvass-roster-header,.turf-tile-header{align-items:flex-start;flex-direction:column}.canvass-roster-row{min-height:0;padding:11px 12px}.field-shell-header{grid-template-columns:minmax(0,1fr);padding:9px 10px}.field-shell{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.field-shell-status{justify-content:flex-start}.field-progress{grid-template-columns:82px minmax(0,1fr);gap:7px}.field-progress strong{white-space:normal}.field-progress-stats{gap:4px}.field-stat-pill{min-height:24px;padding:4px 6px;font-size:.68rem}.field-team-summary{grid-template-columns:minmax(0,1fr) auto}.field-team-copy,.field-team-summary small{max-width:100%}.field-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:2px}.field-context-card:nth-child(3){grid-column:1 / -1}.field-tab-bar{gap:5px;width:calc(100vw - 16px);padding:5px}.field-tab-button{min-height:48px;font-size:.8rem}.field-map-canvas{min-height:430px;background-size:22px 22px}.field-real-map-shell{height:430px;min-height:430px}.field-map-building{gap:2px;min-width:36px;min-height:32px;padding:5px}.field-map-status-mark{width:18px;height:18px;font-size:.68rem}.field-map-building-name{font-size:.68rem}.field-map-building-subline{display:none}.field-map-sidebar:not(.field-building-sheet-overlay){grid-template-columns:1fr}.field-building-row,.field-team-row{grid-template-columns:1fr}.field-building-meta{justify-content:flex-start}.canvass-row-button{width:auto}.canvass-header-actions,.gps-capture-header,.location-grid,.session-form-grid,.session-summary-grid,.building-detail-grid,.history-detail-grid,.status-button-grid,.inspector-actions,.source-meta-grid.compact,.quick-outcome-grid,.work-area-row{grid-template-columns:1fr;width:100%}.canvass-header-actions{display:grid}.target-picker-heading,.current-target-card,.selected-target-row,.visit-actions{grid-template-columns:1fr}.target-card-metrics,.work-area-meta{justify-items:start;text-align:left}.target-picker-heading{align-items:stretch;flex-direction:column}.bottom-nav{gap:6px;padding:8px}.nav-chip{min-height:40px;padding:8px 4px;font-size:.82rem}}
