:root {
  --navy:#082f5f; --navy-2:#0b5b83; --blue:#137ba8; --light-blue:#eef8fc; --line:#dbe7ee; --muted:#687b8b;
  --bg:#f5fafc; --surface:#fff; --ok:#12865a; --danger:#b44141; --shadow:0 18px 55px rgba(9,47,77,.11);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:linear-gradient(180deg,#f8fcfe 0,#f1f8fb 100%);color:var(--navy);min-height:100vh} button,input{font:inherit} button{cursor:pointer} button:disabled{cursor:not-allowed;opacity:.4}
.app-shell{width:min(980px,calc(100% - 32px));margin:0 auto}.topbar{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}.brand{display:block;min-width:0}.brand-logo{display:block;width:min(560px,67vw);height:auto;max-height:72px;object-fit:contain;object-position:left center}.language{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);padding:4px;border-radius:10px;box-shadow:0 3px 12px rgba(9,47,77,.04)}.lang{border:0;background:transparent;color:var(--muted);font-weight:750;padding:8px 11px;border-radius:7px}.lang.active{background:#e9f6fb;color:var(--navy-2)}
.progress{position:relative;padding:11px 18px 27px}.progress-line{position:absolute;left:10%;right:10%;top:25px;height:3px;background:#dbe8ee}.progress-line span{display:block;height:100%;width:0;background:#55b6d6;transition:width .25s ease}.progress-items{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.progress-item{border:0;background:transparent;color:#7a8b98;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;min-width:0}.progress-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e3ebef;color:#607482;font-weight:800;border:3px solid #f8fcfe}.progress-item.active{color:var(--navy);font-weight:800}.progress-item.active .progress-dot{background:var(--navy-2);color:#fff}.progress-item.complete .progress-dot{background:#bfe6f3;color:var(--navy)}.progress-item.complete{color:var(--navy-2)}
.wizard-card{background:var(--surface);border:1px solid rgba(219,231,238,.95);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.wizard-step{display:none;padding:42px 46px 36px}.wizard-step.active{display:block}.step-heading{margin-bottom:26px}.eyebrow{display:block;color:var(--blue);font-size:12px;font-weight:850;letter-spacing:.13em;margin-bottom:8px}.step-heading h1,.success-screen h1{font-size:32px;line-height:1.12;letter-spacing:-.025em;margin:0 0 8px}.step-heading p,.context-line{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.context-line strong{color:var(--navy)}
.doctor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.doctor-card{position:relative;border:1.5px solid var(--line);background:#fff;border-radius:14px;min-height:320px;padding:26px 24px 22px;text-align:center;color:var(--navy);transition:.16s ease}.doctor-card:hover{transform:translateY(-2px);border-color:#8ac4d9;box-shadow:0 10px 25px rgba(10,76,111,.07)}.doctor-card.selected{border-color:#248db6;box-shadow:0 0 0 2px rgba(36,141,182,.12);background:#fbfeff}.radio-mark{width:18px;height:18px;border-radius:50%;border:1.5px solid #9caeba;display:inline-block;position:relative}.doctor-card>.radio-mark{position:absolute;left:18px;bottom:21px}.selected>.radio-mark{border-color:#168ad1}.selected>.radio-mark:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#168ad1}.doctor-photo{width:142px;height:142px;border-radius:50%;object-fit:cover;object-position:center 25%;display:block;margin:0 auto 20px;border:5px solid #f5f9fb;box-shadow:0 0 0 1px var(--line)}.doctor-info{display:flex;flex-direction:column;align-items:center}.doctor-info strong{font-size:18px;line-height:1.28;max-width:320px}.doctor-credentials,.doctor-role,.doctor-detail{font-size:14px;line-height:1.35}.doctor-credentials{font-weight:800;color:var(--navy);margin-top:8px}.doctor-role{font-weight:650;margin-top:4px}.doctor-detail{font-weight:600;color:var(--muted);margin-top:4px}
.service-list{
  display:grid;
  gap:10px;
  max-height:610px;
  overflow-y:auto;
  padding-right:7px;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#9fc5d7 #eef5f8
}
.service-list::-webkit-scrollbar{width:8px}
.service-list::-webkit-scrollbar-track{background:#eef5f8;border-radius:10px}
.service-list::-webkit-scrollbar-thumb{background:#9fc5d7;border-radius:10px}
.service-list::-webkit-scrollbar-thumb:hover{background:#79aec6}.service-row{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:13px;width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:15px 17px;color:var(--navy);text-align:left;transition:.15s}.service-row:hover{border-color:#9ac9dc;background:#fbfeff}.service-row.selected{border-color:#2897c3;background:#f6fcff;box-shadow:0 0 0 2px rgba(40,151,195,.08)}.service-row .radio-mark{grid-column:1}.service-name{font-weight:650}.service-row strong{font-size:14px}.service-row.selected .radio-mark{border-color:#168ad1}.service-row.selected .radio-mark:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#168ad1}
.schedule-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.calendar-panel,.times-panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px;min-height:355px}.calendar-header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;text-align:center;margin-bottom:15px}.calendar-header strong{text-transform:capitalize}.icon-button{width:34px;height:34px;border:0;border-radius:8px;background:#f3f8fa;color:var(--navy);font-size:25px;line-height:1}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays span{text-align:center;color:#8394a1;font-size:11px;font-weight:800;padding:4px 0}.calendar-day{aspect-ratio:1;border:0;background:transparent;border-radius:50%;color:var(--navy);font-weight:650}.calendar-day:hover:not(:disabled){background:#e8f6fb}.calendar-day.selected{background:var(--navy-2);color:#fff}.selected-date-title{font-weight:800;font-size:15px;line-height:1.35;margin:3px 0 14px;text-transform:none}.slot-status{color:var(--muted);font-size:13px;min-height:20px}.slots{display:grid;grid-template-columns:1fr 1fr;gap:9px}.slot{border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px;color:var(--navy);font-weight:700}.slot:hover{border-color:#79b9d3;background:#f6fcff}.slot.selected{background:var(--navy-2);border-color:var(--navy-2);color:#fff}.info-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;background:#edf8fc;border:1px solid #d8eef6;border-radius:10px;padding:13px 15px;color:#285c73;font-size:13px;line-height:1.45}.info-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 22px;background:#218fd0;color:#fff;font-weight:850}
.fields.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label>span,.status-fieldset legend{display:block;color:#536b7c;font-size:13px;font-weight:750;margin-bottom:7px}.fields input{width:100%;height:47px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;outline:none;color:var(--navy);background:#fff}.fields input:focus{border-color:#2a98c4;box-shadow:0 0 0 3px rgba(42,152,196,.1)}.status-fieldset{border:0;margin:22px 0 0;padding:0}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented label{position:relative}.segmented input{position:absolute;opacity:0}.segmented span{display:block;border:1px solid var(--line);border-radius:9px;padding:13px 14px;text-align:center;font-weight:700;color:var(--navy)}.segmented input:checked+span{border-color:#2494c1;background:#f4fbfe;box-shadow:0 0 0 2px rgba(36,148,193,.08)}.privacy{display:flex;gap:13px;align-items:flex-start;margin:26px 0 0;color:#405d71;font-size:16px;line-height:1.55;font-weight:600}.privacy input{width:22px;height:22px;min-width:22px;margin-top:2px;accent-color:#1481b3;cursor:pointer}.privacy-link{border:0;background:transparent;padding:0;color:#1481b3;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.inline-error{min-height:21px;margin-top:12px;color:var(--danger);font-size:13px;font-weight:700}
.review-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.review-row{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:14px 17px;border-bottom:1px solid #edf2f5}.review-row:last-child{border-bottom:0}.review-row span{color:#617686;font-size:13px;font-weight:750}.review-row strong{font-size:14px;line-height:1.4}.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:28px}.wizard-actions.end-only{justify-content:flex-end}.primary,.secondary,.back-btn{min-height:48px;border-radius:9px;padding:11px 19px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:12px}.primary{border:1px solid var(--navy-2);background:var(--navy-2);color:#fff;min-width:190px}.primary:hover{background:#064a70}.secondary{border:1px solid #88b7ce;background:#fff;color:var(--navy-2)}.back-btn{border:0;background:transparent;color:var(--navy-2);padding-left:0}.back-btn:hover{color:#063e60}
.success-screen{text-align:center;padding:56px 46px 46px}.success-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:#ddf7e9;color:var(--ok);font-size:42px;font-weight:800}.success-screen>p{color:var(--muted);max-width:560px;margin:0 auto 26px;line-height:1.5}.success-summary{border:1px solid var(--line);border-radius:12px;text-align:left;max-width:650px;margin:0 auto 24px;padding:9px 20px}.success-summary>div{display:grid;grid-template-columns:145px 1fr;gap:18px;padding:11px 0;border-bottom:1px solid #edf2f5}.success-summary>div:last-child{border-bottom:0}.success-summary span{color:#677b8a;font-size:13px;font-weight:750}.success-actions{display:grid;gap:10px;max-width:650px;margin:0 auto}.success-actions .primary,.success-actions .secondary{width:100%}.success-footer{margin-top:32px;color:#718493;font-size:12px}
footer{display:flex;justify-content:space-between;color:#718493;font-size:12px;padding:24px 4px 38px}

.privacy-dialog{width:min(720px,calc(100% - 28px));max-height:min(82vh,760px);border:0;border-radius:18px;padding:0;color:var(--navy);box-shadow:0 26px 90px rgba(7,37,57,.28);overflow:hidden}
.privacy-dialog::backdrop{background:rgba(11,37,53,.48);backdrop-filter:blur(2px)}
.privacy-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 18px;border-bottom:1px solid var(--line);background:#fbfdfe}
.privacy-kicker{display:block;color:#1681ae;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.privacy-dialog-header h2{margin:0;font-size:24px;line-height:1.2}
.privacy-close{border:0;background:#eef5f8;width:36px;height:36px;border-radius:50%;font-size:25px;line-height:1;color:#4e697b;cursor:pointer}
.privacy-dialog-content{padding:22px 28px;overflow-y:auto;max-height:52vh;color:#405d71;font-size:14px;line-height:1.65}
.privacy-dialog-content p{margin:0 0 14px}
.privacy-dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:17px 28px 22px;border-top:1px solid var(--line);background:#fff}
.privacy-full-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){
.privacy{font-size:15px;gap:11px}.privacy input{width:24px;height:24px;min-width:24px}
.privacy-dialog-header{padding:20px 18px 14px}.privacy-dialog-header h2{font-size:21px}
.privacy-dialog-content{padding:18px;font-size:14px;max-height:55vh}
.privacy-dialog-actions{padding:14px 18px 18px;flex-direction:column-reverse}.privacy-dialog-actions .primary,.privacy-full-link{width:100%}

.service-list{max-height:none;overflow:visible;padding-right:0;scrollbar-gutter:auto}.app-shell{width:min(100% - 18px,980px)}.topbar{min-height:82px}.brand-logo{width:min(430px,68vw);max-height:56px}.language{flex-shrink:0}.lang{padding:7px 8px;font-size:12px}.progress{padding:7px 0 19px}.progress-line{left:8%;right:8%;top:21px}.progress-item{font-size:9px;gap:5px}.progress-dot{width:27px;height:27px}.wizard-step{padding:28px 18px 24px}.step-heading h1,.success-screen h1{font-size:27px}.doctor-grid{grid-template-columns:1fr}.doctor-card{min-height:260px}.doctor-photo{width:120px;height:120px}.schedule-layout{grid-template-columns:1fr}.calendar-panel,.times-panel{min-height:auto}.fields.two,.segmented{grid-template-columns:1fr}.review-row{grid-template-columns:1fr;gap:4px}.wizard-actions{align-items:stretch}.primary{min-width:0}.wizard-actions .primary{flex:1}.success-screen{padding:40px 18px 32px}.success-summary>div{grid-template-columns:1fr;gap:3px}.brand-logo{object-position:left center}footer{flex-direction:column;gap:4px}}
@media(max-width:470px){.progress-item span:last-child{max-width:62px;line-height:1.15}.wizard-actions{gap:8px}.back-btn{font-size:13px}.primary{padding:10px 13px}.slots{grid-template-columns:1fr 1fr}}
