.modal-shell{z-index:100;top:var(--modal-viewport-offset,0);height:var(--modal-viewport-height,100dvh);padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#1813119e;place-items:center;display:grid;position:fixed;bottom:auto;left:0;right:0}.questionnaire{background:var(--paper);overscroll-behavior:contain;border-radius:28px;width:min(820px,100%);max-height:min(900px,100dvh - 48px);scroll-padding-block:120px;overflow:auto;box-shadow:0 30px 100px #1d120c52}.questionnaire-header{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9f0;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px 19px;display:flex;position:sticky;top:0}.questionnaire-header .eyebrow{margin-bottom:7px;font-size:.6rem}.questionnaire-header h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.5rem,3vw,2.1rem)}.icon-button{border:1px solid var(--line);background:var(--cream);width:42px;height:42px;color:var(--ink);border-radius:50%;flex:none;font-size:1.7rem;line-height:1}.progress-meta{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:20px;padding:20px 28px 10px;font-size:.7rem;font-weight:800;display:flex}.progress-track{background:var(--cream-deep);border-radius:999px;height:4px;margin:0 28px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .25s;display:block}.questionnaire-form{padding:28px}.form-step-heading{margin-bottom:28px}.form-step-heading h3{margin-bottom:7px;font-size:1.4rem}.form-step-heading p{color:var(--ink-soft);margin:0;font-size:.83rem}.form-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.text-field,.choice-field,.consent-field{min-width:0}:is(.text-field:has(textarea),.choice-field,.consent-field,.range-field){grid-column:1/-1}.field-label{margin-bottom:8px;font-size:.73rem;font-weight:800;display:block}.field-label b{color:var(--accent);margin-left:3px}.text-field input:not([type=range]),.text-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;outline:none;font-size:.88rem;transition:border .16s,box-shadow .16s}.text-field input:not([type=range]){height:52px;padding:0 15px}.text-field textarea{resize:vertical;min-height:115px;padding:14px 15px}.text-field input:focus,.text-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b832321a}.text-field input::placeholder,.text-field textarea::placeholder{color:#a89a8f}.choice-field{border:0;margin:0;padding:0}.choice-field legend{padding:0}.choice-grid{flex-wrap:wrap;gap:9px;display:flex}.choice-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:9px;min-height:46px;padding:8px 13px;font-size:.76rem;font-weight:700;display:flex;position:relative}.choice-card input{opacity:0;width:1px;height:1px;position:absolute}.choice-card:before{content:"";border:1px solid #cdbfb3;border-radius:5px;place-content:center;width:17px;height:17px;display:grid}.choice-card:has(input[type=radio]):before{border-radius:50%}.choice-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.choice-selected:before{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--accent-soft)}.consent-field{border:1px solid var(--line);background:var(--cream);border-radius:16px;padding:16px}.consent-field label{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.consent-field input{width:19px;height:19px;accent-color:var(--accent);margin:2px 0 0}.consent-field label>span{flex-direction:column;gap:5px;display:flex}.consent-field strong{font-size:.8rem}.consent-field small{color:var(--ink-soft);font-size:.68rem}.consent-field a{color:var(--accent);text-decoration:underline}.range-field{border:1px solid var(--line);border-radius:16px;padding:16px;position:relative}.range-value{color:var(--accent);font-weight:800;position:absolute;top:13px;right:16px}.range-field input{width:100%;accent-color:var(--accent)}.range-ends{color:var(--ink-soft);justify-content:space-between;display:flex}.field-invalid input:not([type=range]),.field-invalid textarea,.field-invalid.choice-field,.field-invalid.consent-field{border-color:var(--accent)}.field-error{color:var(--accent);margin-top:6px;font-size:.65rem;font-weight:700;display:block}.questionnaire-actions{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9f2;justify-content:space-between;gap:16px;padding:18px 28px;display:flex;position:sticky;bottom:0}.questionnaire-actions .primary-button,.questionnaire-actions .secondary-button{min-width:150px}.questionnaire-complete{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:520px;padding:50px 28px;display:flex}.complete-mark{width:76px;height:76px;color:var(--green);background:#dcecdf;border-radius:50%;place-content:center;margin-bottom:23px;font-size:2rem;font-weight:800;display:grid}.questionnaire-complete h3{margin-bottom:12px;font-size:1.8rem}.questionnaire-complete p{max-width:520px;color:var(--ink-soft);margin-bottom:28px}@media (max-width:640px){.questionnaire-shell{background:#181311b8;align-items:end;padding:0}.questionnaire{width:100%;height:var(--modal-viewport-height,100dvh);max-height:var(--modal-viewport-height,100dvh);background:#fffaf3;border:1px solid #d8c7b3;border-bottom:0;border-radius:22px 22px 0 0;scroll-padding-block:104px;box-shadow:0 -18px 65px #1d120c57}.questionnaire-header{background:#fffaf3f7;padding:16px 16px 13px}.questionnaire-header h2{font-size:1.28rem;line-height:1.15}.questionnaire-header .icon-button{width:38px;height:38px}.questionnaire-form,.questionnaire-actions{padding-inline:18px}.questionnaire-form{padding-top:20px;padding-bottom:24px}.progress-meta{padding-top:14px;color:#5b4d43;flex-direction:column;align-items:flex-start;gap:3px;padding-inline:18px}.progress-track{margin-inline:18px}.form-fields{grid-template-columns:1fr;gap:14px}:is(.text-field:has(textarea),.choice-field,.consent-field,.range-field){grid-column:auto}.choice-grid{grid-template-columns:1fr;display:grid}.choice-card{color:#382c25;background:#fff;border-color:#d7c6b5;min-height:54px;padding-inline:13px;font-size:.8rem;box-shadow:0 5px 14px #4730200b}.choice-selected{border-color:var(--accent);background:#f5e3dc;box-shadow:inset 0 0 0 1px #b832321f,0 7px 18px #7e2f2814}.text-field,.choice-field,.consent-field,.range-field{background:#fffdf9;border:1px solid #dfcfbd;border-radius:18px;padding:14px;box-shadow:0 7px 20px #462f1f0b}.text-field input:not([type=range]),.text-field textarea{background:#fff;border-color:#cfbdab;font-size:16px}.text-field input:not([type=range]){height:54px}.text-field textarea{min-height:132px}.field-label{color:#33271f;font-size:.78rem}.form-step-heading{margin-bottom:20px}.form-step-heading p,.consent-field small{color:#65564b}.questionnaire-actions .primary-button,.questionnaire-actions .secondary-button{flex:1;min-width:0;padding-inline:16px}.questionnaire-actions>div{flex:1;min-width:0;display:flex}.questionnaire-actions>div .primary-button{width:100%}.questionnaire-actions{padding-top:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:#fffaf3fa}}.program-enrollment-loading{border:1px solid var(--line);width:min(360px,100% - 32px);color:var(--ink-soft);text-align:center;background:#fffdf9;border-radius:18px;padding:24px;font-size:.76rem;font-weight:800;box-shadow:0 22px 65px #2c1d1433}
