.diagnostic-shell{background:linear-gradient(#fff,#f7fbff);border:1px solid #dbe8f6;border-radius:1.6rem;padding:clamp(1rem,2vw,1.5rem);position:relative;box-shadow:0 1.5rem 4rem #07111f14}.diagnostic-form{display:block}.progress-wrap{border-bottom:1px solid #dfeaf5;grid-template-columns:1fr auto;align-items:center;gap:.9rem 1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:grid}.progress-wrap span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800}.progress-track{background:#dfeaf5;border-radius:999px;grid-column:1/-1;width:100%;height:.6rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#0d6fe7,#4ca0ff);width:20%;height:100%;transition:width .2s;display:block}.prev-button{justify-self:end;min-height:2.75rem;padding:.65rem 1rem;font-size:.8rem}.form-step{display:none}.form-step.is-active{display:block}.question-card{background:#fff;border:1px solid #d8e6f8;border-radius:1.2rem;padding:clamp(1.25rem,3vw,2rem)}.question-card legend,.question-card h2{color:var(--ink);letter-spacing:-.04em;margin-bottom:1.25rem;font-size:clamp(1.4rem,3vw,2.1rem);font-weight:800}.choice{width:100%;color:var(--ink);cursor:pointer;background:#f7fbff;border:1px solid #dfeaf5;border-radius:.9rem;align-items:center;gap:.8rem;margin-bottom:.85rem;padding:.85rem .95rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.choice:hover{background:#edf6ff;border-color:#a9d0ff;transform:translateY(-1px)}.choice input{width:1.15rem;height:1.15rem;accent-color:var(--blue);margin:0}.choice span{color:var(--ink-soft);flex:1;font-weight:600}.contact-question{gap:1rem;display:grid}.form-field{gap:.45rem;display:grid}.form-field label{color:var(--ink);font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #cfe0f3;border-radius:.8rem;padding:.9rem 1rem;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 .2rem #0869e124}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true],.form-field textarea[aria-invalid=true]{background:#fff8f7;border-color:#c4372c}.field-error{color:#b72020;font-size:.78rem;font-weight:700;display:none}.field-error.is-visible{display:block}.validation-summary{color:#8c1f1f;background:#fff5f2;border:1px solid #f1c7ba;border-radius:.75rem;margin-bottom:1rem;padding:.75rem .9rem;font-weight:800}.step-actions{justify-content:flex-end;gap:.8rem;margin-top:1.5rem;display:flex}.button-ghost{color:var(--blue-dark);box-shadow:none;background:#fff;border-color:#cadcf3}.preview-success{color:var(--ink);background:linear-gradient(135deg,#f1f8ff,#eef9f2);border:1px solid #d5e8ff;border-radius:1rem;margin-top:1.25rem;padding:1.3rem 1.5rem}.preview-success h2{margin-bottom:.4rem;font-size:1.4rem}.preview-success p{color:var(--ink-soft);margin-bottom:0}.booking-step{background:#ffffff8c;border:1px solid #d8e6f8;border-radius:.95rem;margin-top:1.25rem;padding:1rem 1.1rem}.booking-step h3{color:var(--ink);margin-bottom:.45rem;font-size:1.1rem}.booking-step p{margin-bottom:.9rem}.consent-row{color:var(--ink);border-top:1px solid #dfeaf5;align-items:flex-start;gap:.75rem;margin-top:1rem;padding-top:.75rem;font-weight:600;display:flex}.consent-row input{width:1.1rem;height:1.1rem;accent-color:var(--blue);margin-top:.2rem}.diagnostic-summary{background:#06162685;border:1px solid #aad6ff42;border-radius:1.25rem;padding:2rem 1.5rem;box-shadow:0 2rem 4.5rem #00000038}.diagnostic-summary h2{margin:1rem 0 .8rem;font-size:clamp(1.5rem,2.8vw,2.3rem)}.diagnostic-summary ul{color:#dfeefe;margin:0;padding:0 0 0 1.15rem;line-height:2}.schedule-placeholder{color:var(--ink-soft);text-align:center;background:#fff;border:1px dashed #afc1d7;border-radius:1.2rem;padding:clamp(1.5rem,3vw,2.2rem)}.schedule-placeholder p{margin:0;font-size:1.05rem}@media (width<=45rem){.progress-wrap{grid-template-columns:1fr}.prev-button,.next-button,.submit-button{width:100%}.step-actions{flex-direction:column}.diagnostic-shell{padding:.8rem}}
