.survey-page{min-height:100vh;background:var(--surface-page)}.survey-page .welcome-header{display:flex;align-items:center;justify-content:space-between;max-width:920px;margin:0 auto;padding:20px 16px}.survey-page .welcome-header a{text-decoration:none}.survey-body{max-width:920px;margin:0 auto;padding:0 16px 64px}.survey-code,.survey-done{max-width:520px;margin:24px auto 0;padding:32px 28px}.survey-code{display:grid;gap:14px}.survey-page .survey-done h1{margin-bottom:24px}.survey-done .button{width:100%;justify-content:center;min-height:52px}.survey-code h1,.survey-done h1{margin:0;font-size:24px;font-weight:700;color:var(--text-strong)}.survey-code p,.survey-done p{margin:0;line-height:1.7;color:var(--text-body)}.survey-code form{display:grid;gap:12px;width:100%;text-align:left}.survey-code input{font-size:20px;letter-spacing:3px;text-transform:uppercase}.survey-note{font-size:var(--type-sub)!important;color:var(--text-secondary)!important}.survey-form{display:grid;gap:16px}.survey-form>.back-button{justify-self:start}.survey-form .panel h2{margin:0 0 12px;font-size:18px;color:var(--text-strong)}.survey-hint{margin:-6px 0 14px;font-size:var(--type-sub);color:var(--text-secondary)}.survey-choices{display:grid;gap:10px}.survey-choice{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--border-input);border-radius:12px;background:#fff}.survey-choice>label,label.survey-choice{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.survey-choice.selected{border-color:var(--brand-default);background:var(--brand-faint)}.survey-choice input{margin-top:4px;accent-color:var(--brand-default)}.survey-choice b{display:block;font-size:15px;color:var(--text-strong)}.survey-choice small{display:block;margin-top:2px;font-size:var(--type-sub);color:var(--text-secondary)}.survey-choice .text-button{justify-self:start}.survey-lines{width:100%;border-collapse:collapse;font-size:var(--type-sub)}.survey-lines td,.survey-lines th{padding:6px 8px;border-bottom:1px solid var(--border-default);text-align:left}.survey-lines td:last-child,.survey-lines th:last-child{text-align:right;white-space:nowrap}.survey-family{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,.7fr) 44px;align-items:end;gap:10px;margin-bottom:10px}.survey-submit{width:100%;margin-top:14px}@media (max-width:640px){.survey-family{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-bottom:10px;border-bottom:1px solid var(--border-default)}.survey-family>:first-child{grid-column:1/-1}.survey-code,.survey-done{padding:28px 18px}}.survey-form .panel h2{display:flex;align-items:center;gap:10px;font-weight:700}.survey-step{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-default);color:#fff;font-size:var(--type-body);font-weight:700}.survey-line-note{display:block;margin-top:2px;font-size:var(--type-sub);color:var(--text-secondary)}.survey-preview{margin:0;padding:12px 16px;border-radius:12px;background:var(--brand-tint);font-size:var(--type-body);font-weight:600;color:var(--brand-strong)}.survey-notice{margin-bottom:12px;padding:14px 16px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-subtle)}.survey-notice b{display:block;margin-bottom:6px;font-size:var(--type-body);color:var(--text-strong)}.survey-notice p{max-height:220px;margin:0;overflow-y:auto;font-size:var(--type-sub);line-height:1.75;color:var(--text-body);white-space:pre-line}.survey-agreed{margin:0;font-size:var(--type-body);color:var(--text-body)}.survey-plan-note{white-space:pre-line}.survey-choice small.survey-plan-price{margin-top:6px;font-weight:600;color:var(--brand-strong)}.survey-files{display:grid;gap:6px;margin:0;padding:0 0 0 30px;list-style:none}.survey-files li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:var(--type-body)}.survey-files a{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--brand-point);font-weight:600;overflow-wrap:anywhere}.survey-files small{font-size:var(--type-sub);color:var(--text-secondary)}.survey-family.resident{grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr) 44px}.survey-family.resident.derived{grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,2fr) 44px}.survey-quote-table td:not(:first-child),.survey-quote-table th:not(:first-child){text-align:right;white-space:nowrap}.survey-quote-table small{margin-left:4px;color:var(--text-secondary)}.survey-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:14px 0 6px;padding:14px 16px;border-radius:12px;background:var(--brand-faint);font-size:15px;color:var(--text-strong)}.survey-total b{font-size:22px;font-variant-numeric:tabular-nums;color:var(--brand-strong)}@media (max-width:640px){.survey-files{padding-left:0}.survey-family.resident,.survey-family.resident.derived{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}