/* The same three steps follow the patient from the call to the completed profile. */
.registration-progress{display:flex;list-style:none;padding:0;margin:0 0 28px;gap:12px;counter-reset:step}
.registration-progress li{display:flex;align-items:center;gap:7px;flex:1;min-width:0;font-size:11px;font-weight:600;color:#8797a8;position:relative;white-space:nowrap}
.registration-step-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f0f4f8;border:1px solid #e5ebf2;color:#8493a4;font-size:11px;flex-shrink:0}
.registration-progress li.is-current{color:var(--brand-deep)}
.registration-progress .is-current .registration-step-number{background:var(--brand-deep);color:white;border-color:var(--brand-deep);box-shadow:0 0 0 4px #edf4fb}
.registration-progress .is-complete{color:#387666}
.registration-progress .is-complete .registration-step-number{background:#edf7f3;border-color:#dbede4;color:#387666}
.auth-flow .auth-card{min-height:0;padding-top:28px}
.auth-flow .hero{align-self:center}
.auth-flow .health-scene,.auth-flow .benefits{display:none}
.auth-flow .hero-description{max-width:420px}
.auth-flow .card-eyebrow{margin-bottom:22px}
.auth-flow .auth-card h2{font-size:30px;line-height:1.25;letter-spacing:-1.1px}
.auth-flow .step-icon{height:54px;width:54px;border-radius:18px;background:linear-gradient(145deg,#edf6ff,#e7f0fb);color:var(--brand-blue)}
.auth-flow .back-button{font-size:12px;min-height:32px;margin-bottom:18px}
.auth-flow .step-subtitle{font-size:13px;line-height:1.75;margin-bottom:24px}
.auth-flow .step-subtitle strong{font-size:14px;color:var(--ink);overflow-wrap:anywhere}
.auth-flow .field-label{font-size:12px}
.auth-flow .input-hint{font-size:11px;line-height:1.6}
.auth-flow .primary-button{min-height:52px;font-size:14px;border-radius:13px}
.auth-flow .form-error{font-size:12px;line-height:1.6}
.auth-flow .call-destination{padding:22px 16px 16px;border:1px solid #dbe9f7;background:linear-gradient(150deg,#f1f7fe,#f8fbff);border-radius:18px;margin-bottom:18px}
.call-destination>a{display:flex;align-items:center;justify-content:center;gap:9px;font-size:24px;line-height:1.4;min-height:44px;letter-spacing:-.3px}
.call-destination>a>.icon{width:18px;height:18px;flex-shrink:0}
.auth-flow .call-destination>span,.auth-flow .call-destination>p{font-size:12px;line-height:1.65}
.copy-call-number{font-size:11px;color:var(--brand-blue);min-height:34px;margin-top:8px;padding:6px 12px;border-radius:8px}
.copy-call-number:hover{background:#e4effa}
.call-status-panel{border:1px solid #e5ebf2;border-radius:13px;padding:15px 16px;margin:0 0 18px;background:#fff}
.call-status-panel .call-waiting{font-size:12px;margin:0;gap:9px}
.call-status-panel .status-dot{box-shadow:0 0 0 4px #e9f5fb}
.call-status-panel .call-expiry{font-size:11px;margin:8px 0 0 15px}
.auth-flow .call-footnote{font-size:11px}
.verified-contact{display:flex;align-items:center;gap:11px;padding:14px 16px;background:#f0f8f4;border:1px solid #e0efe6;border-radius:13px;margin-bottom:24px;color:#42735c;font-size:11px}
.verified-contact>.icon{height:19px;width:19px;flex-shrink:0}
.verified-contact strong{display:block;font-size:13px;margin-top:4px;color:#294d3c;font-weight:600}
.auth-flow .otp-input{height:76px;font-size:32px;letter-spacing:11px;padding-left:11px;border-radius:14px;background:#f7faff;font-weight:600}
.otp-input[aria-invalid=true]{border-color:#c65a63;box-shadow:0 0 0 3px #c65a6310}
.auth-flow .resend-area{margin-top:17px}
.auth-flow .resend-area button{font-size:12px;min-height:40px}
.email-delivery-note{font-size:11px;line-height:1.8;color:var(--muted);text-align:center;margin:12px 0 0}
.login-methods{display:grid;gap:12px;margin:0 0 18px}
.login-method{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:20px 17px;border:1px solid #dce8f5;border-radius:16px;background:linear-gradient(140deg,#f5faff,#fff);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.login-method:hover:not(:disabled){border-color:#7eafda;box-shadow:0 5px 20px #003f9310}
.login-method:focus-visible{outline:3px solid #6aace1;outline-offset:3px}
.login-method:disabled{opacity:.5;cursor:not-allowed}
.login-method-icon{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:13px;background:#e9f2fc;color:var(--brand-blue)}
.login-method-icon>.icon{width:20px;height:20px}
.login-method>span:nth-child(2){flex:1;min-width:0}
.login-method strong{display:block;font-size:14px;line-height:1.4;font-weight:600}
.login-method small{display:block;font-size:11px;line-height:1.7;margin-top:6px;color:var(--muted)}
.login-method>.icon{width:16px;height:16px;flex-shrink:0;color:var(--brand-blue)}
.login-link-note{display:flex;gap:12px;padding:18px 16px;background:#f1f7fd;border:1px solid #dfebf7;border-radius:15px;margin:0 0 24px}
.login-link-note>.icon,.login-link-check{width:22px;height:22px;flex-shrink:0;color:var(--brand-blue)}
.login-link-note strong{font-size:12px;line-height:1.5;color:var(--ink)}
.login-link-note p{font-size:12px;line-height:1.8;color:var(--muted);margin:6px 0 0}
@media(max-width:360px){.login-method{padding:17px 12px;gap:10px}.login-method strong{font-size:12px}.login-method small{font-size:10px}.login-method-icon{width:36px;height:36px}.login-method>.icon{width:12px;height:12px}}
.auth-flow .success-note{font-size:11px;line-height:1.8}
.patient-onboarding{background:radial-gradient(ellipse at top right,#e9f2fd80,transparent 48%),#f7f9fc}
.patient-onboarding-content>.registration-progress{max-width:410px;margin:4px 0 32px}
.patient-onboarding .profile-grid{gap:24px;align-items:start}
.patient-onboarding .portal-panel{border-radius:22px;box-shadow:0 10px 40px #003f9304}
.patient-onboarding .profile-intro{margin-bottom:26px;padding-bottom:26px}
.patient-onboarding .profile-avatar{background:linear-gradient(145deg,#edf5fe,#ddebf9);color:var(--brand-deep)}
.patient-onboarding .profile-form label{font-size:12px;line-height:1.6}
.patient-onboarding .profile-form input,.patient-onboarding .profile-form select{border-radius:11px;min-height:50px;font-size:14px;background:#fafcfe}
.patient-onboarding .profile-fields>label:has(input[name=middleName]){grid-column:1/-1}
.patient-onboarding .profile-form>.portal-primary{min-height:52px;font-size:14px;border-radius:13px}
.patient-onboarding .profile-source{line-height:1.8;font-size:11px}
.patient-onboarding .contacts-panel{background:#fff}
.patient-onboarding .contacts-panel>p{font-size:12px;line-height:1.8}
.patient-onboarding .profile-identity{border-radius:19px}
@media(max-width:730px){
 .auth-flow .header{height:82px;padding:0 20px}
 .auth-flow .header .brand-logo-window{width:125px}
 .auth-flow .header .brand-subtitle{font-size:9px}
 .auth-flow .header-location{display:none}
 .auth-flow .hero,.auth-flow .demo-invitation,.auth-flow .pwa-install-inline{display:none}
 .auth-flow .main{padding:0 16px;margin:12px auto 24px;gap:0;max-width:470px}
 .auth-flow .auth-card{padding:24px 23px 22px;border-radius:23px;overflow:visible;box-shadow:0 12px 40px #003f9306}
 .auth-flow .card-eyebrow{font-size:9px;margin-bottom:16px}
 .auth-flow .back-button{margin-bottom:15px}
 .auth-flow .auth-card h2{font-size:28px}
 .registration-progress{gap:12px;margin-bottom:26px}
 .registration-progress li{font-size:11px;gap:7px}
 .registration-step-number{width:24px;height:24px;font-size:10px}
 .auth-flow .step-subtitle{font-size:13px}
 .auth-flow .input-wrap input{font-size:16px}
 .auth-flow .call-destination>a{font-size:24px}
 .auth-flow .footer{padding-bottom:calc(20px + env(safe-area-inset-bottom));font-size:9px}
 .patient-onboarding-content{padding-bottom:calc(34px + env(safe-area-inset-bottom))}
 .patient-onboarding-content>.registration-progress{margin:4px 0 26px;max-width:none}
 .patient-onboarding .profile-grid{gap:18px}
 .patient-onboarding .portal-panel{border-radius:18px;padding:22px 20px}
 .patient-onboarding .profile-fields{gap:18px 12px}
 .patient-onboarding .profile-form input,.patient-onboarding .profile-form select{font-size:16px;min-width:0;width:100%}
 .patient-onboarding .profile-form>.portal-primary{position:sticky;bottom:calc(14px + env(safe-area-inset-bottom));width:100%;box-shadow:0 6px 25px #003f9325;z-index:2;margin-top:20px}
 .patient-onboarding .profile-source{font-size:11px}
 .patient-onboarding .profile-identity{display:none}
}
@media(max-width:360px){.auth-flow .auth-card{padding:22px 18px}.registration-progress{gap:7px}.registration-progress li{font-size:10px}.call-destination>a{font-size:22px}.patient-onboarding .profile-fields{grid-template-columns:minmax(0,1fr)}}

.patient-onboarding-header{position:relative}
.patient-onboarding-header .portal-exit{position:static;font-size:12px;display:flex;align-items:center;gap:7px}
.patient-onboarding-header .portal-exit:after{content:none}
@media(max-width:680px){.patient-onboarding .profile-intro{display:none}.patient-onboarding-notice{padding:13px 16px;margin-bottom:22px;align-items:center;gap:10px;border-radius:13px}.patient-onboarding-notice strong{font-size:12px}.patient-onboarding-notice p{display:none}.patient-onboarding-notice>.icon{height:17px;width:17px;margin:0}.patient-onboarding .profile-grid{margin-top:18px}}
