.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0; }
.form-grid label { display:flex; flex-direction:column; gap:5px; font-weight:700; }
.form-grid input,.form-grid select { width:100%; border:1px solid var(--line); border-radius:8px; padding:11px; font:inherit; color:var(--text); background:#fff; }
.form-grid input:focus { outline:2px solid rgba(30,58,109,.25); border-color:var(--blue); }
.form-grid select:focus { outline:2px solid rgba(30,58,109,.25); border-color:var(--blue); }
.form-grid .whatsapp-choice { flex-direction:row; align-items:center; gap:9px; }
.form-grid .whatsapp-choice input { width:18px; margin:0; }
.form-grid label.hidden { display:none; }
.form-grid .wide { grid-column:1/-1; }
.privacy-note { font-size:14px; color:var(--muted); }
#release-hold { margin-top:16px; }
@media(max-width:520px) { .form-grid { grid-template-columns:1fr; } .form-grid .wide { grid-column:auto; } }
#clinical-form { margin-top:24px; border-top:1px solid var(--line); padding-top:18px; }
#clinical-form label { display:flex; flex-direction:column; gap:5px; margin:12px 0; font-weight:700; }
#clinical-form textarea { min-height:90px; resize:vertical; border:1px solid var(--line); border-radius:8px; padding:11px; font:inherit; }
#clinical-form .consent { flex-direction:row; align-items:flex-start; font-weight:400; }
#clinical-form .consent input { margin-top:5px; }
.booking-stepper { display:flex; gap:8px; flex-wrap:wrap; margin:4px 0 18px; color:var(--muted); font-size:.9rem; }
.booking-stepper span { padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:#f8fafb; }
.booking-stepper .active { color:var(--blue); border-color:#b8ccef; background:#f1f5ff; font-weight:700; }
.booking-stepper .complete { color:#176b45; border-color:#b8e0ca; background:#effaf3; }
.complementary-state { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.complementary-state h3 { margin:0 0 4px; color:var(--blue); }
.complementary-state > .muted { margin-top:0; }
.form-status { min-height:1.4em; margin:.6rem 0 0; }
.form-status.error { color:var(--danger); }
.form-status.ok { color:#316647; }
