.sa-page{max-width:850px;margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}
.sa-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(1.25rem,4vw,2.5rem);box-shadow:var(--shadow-sm)}
.sa-panel h1{font-family:var(--font-head);font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.12;margin:.35rem 0 1rem}.sa-panel h2{font-family:var(--font-head);font-size:1.5rem;margin:.25rem 0 .75rem}
.sa-panel p{color:var(--text-secondary);line-height:1.65}.sa-eyebrow{color:var(--brand-primary);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.sa-picker select{width:100%;margin:.4rem 0 1rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--r-sm);background:#fff}.sa-picker label,.sa-question legend{font-weight:600}
.sa-progress-wrap{margin-bottom:1rem}.sa-progress-meta{display:flex;justify-content:space-between;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.45rem}.sa-progress{height:8px;border-radius:99px;background:#e5e7eb;overflow:hidden}.sa-progress span{display:block;height:100%;background:var(--brand-primary);transition:width .25s}
.sa-actions{display:flex;justify-content:space-between;margin-top:1rem}.sa-save{font-size:.78rem;color:var(--text-muted)}
.sa-actions[hidden],.sa-progress-wrap[hidden]{display:none!important}
.sa-question{border:0;padding:0;margin:0 0 1.5rem}.sa-question legend{margin-bottom:.65rem;line-height:1.4}.sa-required{color:#b91c1c}.sa-options{display:grid;gap:.55rem}.sa-option{display:flex;align-items:flex-start;gap:.7rem;border:1px solid var(--border);border-radius:var(--r-md);padding:.8rem .9rem;cursor:pointer;background:#fff}.sa-option:has(input:checked){border-color:var(--brand-primary);background:#eff6ff}.sa-option input{margin-top:.2rem;accent-color:var(--brand-primary)}
.sa-question input[type=text],.sa-question input[type=email],.sa-question input[type=tel],.sa-question textarea{box-sizing:border-box;width:100%;padding:.75rem;border:1px solid var(--border);border-radius:var(--r-sm);font:inherit}.sa-question textarea{min-height:110px;resize:vertical}.sa-help{font-size:.85rem;color:var(--text-muted);margin:.4rem 0 1.4rem}.sa-about{padding:1rem 1.1rem;border-left:4px solid #60a5fa;background:#eff6ff;border-radius:0 var(--r-sm) var(--r-sm) 0;margin:1rem 0 1.5rem}.sa-skip{padding:1rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary)}
.sa-alert{padding:.9rem 1rem;border-radius:var(--r-sm);margin-bottom:1rem}.sa-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.sa-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.sa-summary-list{padding-left:1.2rem;line-height:1.7}.sa-boundary{font-weight:600;padding:1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--r-md)}.sa-prior{margin-top:1.5rem}.sa-prior a{display:block;padding:.8rem 0;border-top:1px solid var(--border)}
.sa-completion-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.sa-question input:disabled,.sa-question textarea:disabled{opacity:1;color:var(--text-primary);background:#f8fafc;cursor:default}.sa-option:has(input:disabled){cursor:default}
@media(max-width:640px){.sa-actions .btn{min-width:46%}.sa-page{padding:1rem}.sa-panel{padding:1.2rem}}
