:root{color-scheme:light;--ink:#19312c;--muted:#586e65;--line:#d9e4de;--green:#173d32;--paper:#f6f7f3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{background:var(--green);color:#fff;padding:16px max(16px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;gap:16px;align-items:center}header strong{letter-spacing:.07em}header strong span{display:block;font-size:.8rem;font-weight:400;letter-spacing:0}header>span{font-size:.8rem}main{width:min(1160px,calc(100% - 28px));margin:24px auto 40px;display:grid;gap:18px}.narrow{max-width:650px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 4px 18px #19312c08}.card.compact{padding:16px 22px}h1{font-size:1.65rem;line-height:1.25;margin:6px 0 14px}h2{font-size:1.3rem;margin:0 0 12px}p{color:var(--muted);margin:8px 0 16px}small,.small{font-size:.82rem;color:var(--muted)}small{display:block}label{display:grid;gap:6px;font-size:.94rem;font-weight:600;margin:0 0 16px}input,select{font:inherit;width:100%;min-width:0;border:1px solid #b7cbc1;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid #96b9a780;outline-offset:1px}button,.button{font:inherit;font-weight:650;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:9px;padding:11px 16px;cursor:pointer;text-decoration:none;display:inline-block}button.secondary,.button.secondary{background:#fff;color:var(--green)}button:disabled{opacity:.5;cursor:wait}.primary{width:100%;margin-top:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:.88rem}.check input{width:20px;min-width:20px;margin-top:4px}.notice{background:#eef5f0;border-radius:10px;padding:16px;margin:16px 0}.notice p{font-size:.87rem;margin:6px 0}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.12em;color:var(--green)}.error,#appMessage.error{color:#8a291c;background:#fff0ec;padding:12px;border-radius:8px}.footnote{text-align:center;font-size:.8rem}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.heading p{margin-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.actions form{margin:0}details{margin-top:15px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-weight:600}output{display:block;font-size:1.8rem;letter-spacing:.16em;font-weight:700;padding:8px 0}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;margin-top:20px}.filters .search{grid-column:span 2}.household-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px}.household,.record{border:1px solid var(--line);padding:16px;border-radius:12px;background:#fbfdfa}.household p,.record p{font-size:.88rem;margin:6px 0}.household strong{display:block}.household .actions{margin-top:10px}.household .status{font-size:.8rem;font-weight:650}.household .role{font-size:.76rem}.record{margin:10px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.place-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.place-grid label{margin-bottom:0}#appMessage:empty{display:none}#appMessage{padding:12px 16px;background:#e8f2ec;border-radius:9px;color:var(--green)}#saveState{max-width:420px}#surveyContainer{margin:20px -12px 0}[hidden]{display:none!important}@media(max-width:680px){header{padding:12px 16px}.card{padding:18px}.card.compact{padding:16px}.form-grid,.place-grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .search{grid-column:span 2}.heading{align-items:stretch;flex-direction:column}.actions button{font-size:.88rem;padding:9px 12px}.place-grid label{margin-bottom:12px}.record{align-items:flex-start;flex-direction:column}h1{font-size:1.5rem}}
main{grid-template-columns:minmax(0,1fr)}.card,.heading>div{min-width:0}#surveyContainer{min-width:0;max-width:100%}
/* Field home: three clear actions, with the household list in its own work view. */
.field-home{background:#f4f6f2}.field-header{padding-top:18px;padding-bottom:18px}.field-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-symbol{display:grid;place-content:center;width:42px;height:42px;background:#f0ce90;color:#173d32;border-radius:12px;font-size:24px;font-weight:750}.field-brand strong{font-size:14px;letter-spacing:.12em}.field-brand small{font-size:11px;color:#c6d9ce;letter-spacing:0;font-weight:400}.field-header-actions{display:flex;align-items:center;gap:20px;font-size:12px}.field-header-actions form{margin:0}.field-header-actions #networkState{color:#d2e5d8;font-size:12px}.header-logout{background:transparent;border:1px solid #ffffff44;color:#fff;font-size:12px;padding:7px 11px}.field-home main{margin-top:34px;gap:25px}.home-welcome{padding:8px 0}.home-welcome h1{font-size:clamp(28px,4vw,39px);letter-spacing:-.035em;margin:7px 0 8px}.home-intro{font-size:15px}.home-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:27px}.home-action{display:flex;align-items:center;gap:13px;min-width:0;padding:24px 18px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;text-align:left;text-decoration:none;font-weight:400;box-shadow:0 3px 15px #19312c04}.home-action strong{font-size:16px;display:block}.home-action small{font-size:12px;margin-top:4px;line-height:1.5}.home-action .action-icon{display:grid;place-content:center;width:36px;height:36px;border-radius:11px;background:#eef4ef;color:#3d6554;font-size:23px;flex:none}.home-action .action-arrow{margin-left:auto;color:#6f8278}.home-action.primary-action{background:#173d32;color:#fff;border-color:#173d32}.primary-action small,.primary-action .action-arrow{color:#d4e5d8}.primary-action .action-icon{background:#ffffff18;color:#fff}.home-action:hover{border-color:#82a18b;transform:translateY(-1px)}.home-status{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0}.home-stats{display:flex;gap:28px}.home-stats>span{display:flex;flex-direction:column;font-size:11px;color:var(--muted)}.home-stats strong{font-size:26px;line-height:1.2;color:#244b3a;letter-spacing:-.04em}.sync-status{text-align:right;font-size:12px;max-width:390px}.sync-status p{margin:0}.text-button{border:0;background:transparent;color:#305e49;text-decoration:none;font:600 13px/1.5 system-ui,sans-serif;padding:5px 0;cursor:pointer;display:inline-block}.install-card{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding:17px 20px;border:1px solid #d7e2d7;border-radius:12px;background:#eef3e9}.install-card strong{font-size:13px}.install-card p{margin:3px 0;font-size:12px}.install-card>button{font-size:12px;padding:9px 14px}.install-card>details{width:100%;margin-top:0;padding-top:9px;font-size:12px}.install-card details summary{font-size:12px}#deviceHelp{font-size:12px}#deviceHelp output{font-size:1.4rem}.own-section h2{font-size:21px}.own-section .eyebrow{margin-bottom:5px}.record-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding-bottom:13px;border-bottom:1px solid var(--line)}.record-tabs button{border:0;border-radius:8px;background:transparent;color:#607469;padding:7px 11px;font-size:12px;font-weight:600}.record-tabs button[aria-pressed=true]{background:#e8f0e8;color:#214d36}.record-empty{padding:30px 12px;text-align:center}.record-empty strong{font-size:15px}.record-empty p{font-size:13px;margin:5px 0}.record-meta{font-size:11px!important;color:#65796b}.export-help{margin-bottom:0;font-size:11px}.work-section h1{margin-top:8px}.work-section>.eyebrow{margin-top:20px}.location-search{position:relative;margin-top:24px;max-width:700px}.location-search label{margin-bottom:8px;font-size:13px}.location-search>input{background:#fafcf9;font-size:16px;padding:15px 17px;border-radius:12px;border-color:#8fa998}#searchSuggestions{list-style:none;padding:6px;margin:6px 0 0;border:1px solid #c8d8ca;border-radius:12px;background:#fff;box-shadow:0 10px 25px #19312c10;max-height:340px;overflow:auto}#searchSuggestions li{margin:0;padding:0}#searchSuggestions button{display:block;text-align:left;width:100%;background:transparent;color:#243e30;border:0;border-radius:7px;padding:10px 12px;font-size:13px}#searchSuggestions button:hover,#searchSuggestions button:focus{background:#edf4ed}#searchSuggestions button small{font-size:11px}.list-heading{margin-top:25px}.list-heading h2{font-size:19px}.village-presence{border:1px solid #cbded1;background:#f0f7f1;border-radius:13px;padding:17px;margin:20px 0}.village-presence .heading{align-items:start}.village-presence p.small{font-size:11px;margin:6px 0}.peer-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #d6e4d7;font-size:13px}.peer-contact a{color:#24553e;font-weight:650;text-decoration:none}.field-home #advancedFilters summary{font-size:12px}.field-home #householdCount{font-size:12px;margin:15px 0}.field-footer{padding:15px 20px 30px;text-align:center;font-size:11px;color:#87988c}.field-profile main{margin-top:30px}.field-profile .eyebrow{margin-top:22px}.field-profile .text-button{margin-bottom:8px}.home-welcome[data-sfb-target]{position:relative}.home-welcome>button.sfb-marker{top:0}
@media(max-width:900px){.home-actions{grid-template-columns:minmax(0,1fr)}.home-action{padding:19px}.home-action small{margin-top:2px}.home-action strong{font-size:16px}.home-status{align-items:start}.home-stats{gap:22px}.sync-status{max-width:260px}}
@media(max-width:680px){.field-header-actions{gap:10px}.field-home main{margin-top:22px;gap:22px}.home-welcome{padding-top:8px}.home-welcome h1{font-size:30px}.home-intro{font-size:13px}.home-actions{margin-top:22px;gap:11px}.home-status{flex-direction:column;gap:15px;margin:22px 0}.home-stats{width:100%;justify-content:space-between;gap:10px}.home-stats strong{font-size:24px}.home-stats>span{font-size:10px}.sync-status{text-align:left;max-width:none}.sync-status p{font-size:11px}.install-card{padding:15px}.install-card>button{flex:none}.own-section .heading{flex-direction:row;align-items:center;gap:10px}.own-section h2{font-size:19px}.own-section #backupBtn{font-size:11px;white-space:nowrap}.record-tabs{gap:2px}.record-tabs button{font-size:11px;padding:7px}.work-section .heading{flex-direction:row}.village-presence .heading{flex-direction:column}.field-brand{gap:9px}.brand-symbol{width:34px;height:34px;font-size:21px}.field-brand strong{font-size:11px}.field-brand small{font-size:9px}.field-header-actions #networkState{font-size:10px}.header-logout{font-size:10px;padding:6px 8px}}
.home-stats .stat-action{display:flex;flex-direction:column;align-items:flex-start;background:transparent;border:0;border-radius:5px;padding:0;color:var(--muted);font-size:11px;font-weight:400;text-align:left}.stat-action:not(:disabled):hover span{text-decoration:underline}.stat-action:disabled{opacity:1;cursor:default}.household-list{border-top:1px solid var(--line)}.household-list .household{display:grid;grid-template-columns:minmax(0,1fr) 150px 130px auto;align-items:center;gap:18px;padding:17px 3px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.household-identity{min-width:0}.household-identity strong{font-size:14px}.household-identity small{font-size:11px;margin-top:3px;overflow-wrap:anywhere}.household-phone{color:#24553e;font-size:13px;text-decoration:none;font-weight:600}.household-list .actions{margin:0;justify-content:flex-end}.household-list button{font-size:12px;white-space:nowrap}.household-list .resume-button{background:#fff0ce;border-color:#d1ae64;color:#704b0c}.household-list .resume-button:hover{background:#f9e3af}.field-matrix{min-width:0!important;max-width:100%}.field-matrix .sd-table-wrapper{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.field-matrix table{min-width:720px}.field-matrix .sd-question__content{min-width:0;max-width:100%;overflow-x:auto}
@media(max-width:680px){.home-stats .stat-action{font-size:10px}.household-list .household{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:15px 0}.household-identity{grid-column:1;grid-row:1}.household-list .actions{grid-column:2;grid-row:1}.household-list .status{grid-column:2;grid-row:2;text-align:right;font-size:10px}.household-phone{grid-column:1;grid-row:2;font-size:12px}.household-list button{padding:9px 11px;font-size:11px}}

.iban-input{display:flex;align-items:center;border:1px solid #b6c9c1;border-radius:10px;background:white;overflow:hidden;margin:8px 0}.iban-input>span{padding:12px;font-weight:700;background:#edf3ef}.iban-input input[data-iban-suffix]{border:0;margin:0;border-radius:0;flex:1;min-width:0;font-variant-numeric:tabular-nums}.iban-input input[type=hidden]{display:none}#trainingSection{border-color:#c9a65c;background:#fffcf4}#unlockForm label{flex:1;min-width:180px}#unlockForm button{align-self:end;margin-bottom:8px}.contact-note{min-width:180px;flex:1}.contact-note textarea{width:100%;min-height:65px}.contact-note summary{font-size:.9rem;cursor:pointer}.household-identity small{line-height:1.25}.household-list .household{padding:12px;gap:10px}

/* Compact questions keep full labels and a touch-sized selection area. */
#surveyContainer{--sjs-base-unit:6px;--sjs-font-size:14px}
#surveyContainer .sd-body.sd-body--static{max-width:none;padding:16px 12px}
#surveyContainer .sd-question--main-root{padding:16px}
#surveyContainer .sd-row{margin-top:12px}
#surveyContainer .sd-title{line-height:1.35}
#surveyContainer .sd-selectbase__label{min-height:44px}
#surveyContainer .sd-item__control-label{white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.field-housing .sd-selectbase__column{min-width:0}
.field-rating .sd-rating,.field-org-table .sd-rating{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}
.field-rating .sd-rating__item,.field-org-table .sd-rating__item{flex:1 1 105px;min-width:0;width:auto;height:auto;min-height:48px;margin:0;white-space:normal}
.field-rating .sd-rating__item-text,.field-org-table .sd-rating__item-text{white-space:normal;line-height:1.25;font-size:12px;padding:6px}
.field-org-table .sd-table-wrapper{max-width:100%;overflow-x:auto}
.field-org-table .sd-table__cell{vertical-align:top}
.field-org-table .sd-table__cell .sd-question{min-width:0}
@media(max-width:680px){#surveyContainer .sd-body.sd-body--static{padding:12px 4px}#surveyContainer .sd-question--main-root{padding:12px}#surveyContainer .sd-header__text h3{font-size:25px}.field-rating .sd-rating__item{flex-basis:calc(50% - 6px)}}
@media(max-width:359px){.field-housing .sd-selectbase{flex-direction:column}.field-housing .sd-selectbase__column{width:100%;max-width:100%}}
/* data-name stays stable when SurveyJS updates a question's selected state. */
#surveyContainer .sd-root-modern{--sjs-base-unit:6px;--sjs-font-size:14px}
#surveyContainer [data-name^="B_1_"] .sd-selectbase:has(>.sv-q-col-2){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
#surveyContainer [data-name^="B_1_"] .sd-selectbase>.sv-q-col-2{width:100%;max-width:100%;min-width:0;margin:0}
#surveyContainer [data-name^="B_1_"] .sd-selectbase__label{margin:0;min-height:44px;align-items:center}
#surveyContainer [data-name^="B_1_"] .sd-item__control-label{font-size:13px;white-space:normal;overflow-wrap:normal}
#surveyContainer [data-name^="H_5_"] .sd-rating,#surveyContainer [data-name^="__ui_org_"] .sd-rating{display:block;white-space:normal;max-width:100%}
#surveyContainer [data-name^="H_5_"] .sd-rating>fieldset{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px;min-width:0}
#surveyContainer [data-name^="__ui_org_"] .sd-rating>fieldset{display:grid;grid-template-columns:repeat(2,minmax(60px,1fr));gap:6px;min-width:0}
#surveyContainer [data-name^="H_5_"] .sd-rating__item,#surveyContainer [data-name^="__ui_org_"] .sd-rating__item{width:100%;min-width:0;max-width:100%;min-height:48px;height:auto;margin:0;padding:6px;white-space:normal;justify-content:center;border-radius:12px}
#surveyContainer [data-name^="H_5_"] .sd-rating__item-text,#surveyContainer [data-name^="__ui_org_"] .sd-rating__item-text{white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;padding:0;line-height:1.25;font-size:12px}
#surveyContainer [data-name^="H_5_"] .sd-rating__item-text .sv-string-viewer,#surveyContainer [data-name^="__ui_org_"] .sd-rating__item-text .sv-string-viewer{white-space:normal;overflow-wrap:normal}
#surveyContainer [data-name^="__ui_org_"] .sd-table-wrapper{max-width:100%;overflow-x:auto}
@media(max-width:359px){#surveyContainer [data-name^="B_1_"] .sd-selectbase:has(>.sv-q-col-2){grid-template-columns:minmax(0,1fr)}}
