/* Companion to clinic-ui.css: authentication pages only */
.auth-wrap {padding:clamp(2rem,6vw,5rem) 0;background:radial-gradient(circle at 80% 0%,#e8f5ee,transparent 40%),var(--clinic-bg,#f7faf8)}
.auth-layout {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.85fr);gap:clamp(1.3rem,4vw,3.5rem);align-items:stretch;max-width:1050px;margin:auto}
.auth-card {padding:clamp(1.4rem,4.5vw,3.2rem);min-width:0;box-shadow:0 22px 55px rgba(24,78,66,.085)}
.auth-step {display:flex;align-items:center;gap:.6rem;margin-bottom:1.9rem;max-width:255px}
.auth-step__dot {width:31px;height:31px;flex:none;border-radius:50%;display:grid;place-items:center;background:#edf3f0;color:#627d71;border:1px solid #d7e6df;font-size:.83rem;font-weight:750}
.auth-step__dot.is-current,.auth-step__dot.is-done {background:var(--clinic-primary,#137d6d);color:#fff;border-color:var(--clinic-primary,#137d6d)}
.auth-step__line {height:2px;flex:1;background:#dfebe5}.auth-step__line.is-done{background:#137d6d}
.auth-title {font-size:clamp(1.65rem,2.7vw,2.25rem);margin:.4rem 0 1rem}
.auth-desc {color:var(--clinic-muted,#617b73);line-height:2.1;margin:0 0 1.5rem}
.auth-field {margin:1rem 0 1.3rem;display:flex;flex-direction:column;gap:.45rem}
.auth-label {font-weight:800;color:var(--clinic-ink,#193a36);font-size:.96rem}
.auth-optional {font-weight:450;font-size:.82rem;color:var(--clinic-muted,#617b73);margin-inline-start:.35rem}
.auth-input {appearance:none;display:block;width:100%;min-height:56px;border:1px solid #ccded6;border-radius:13px;background:#fff;color:#193a36;padding:.9rem 1rem;font:inherit;font-size:1.02rem;outline:none;transition:border-color .18s,box-shadow .18s}
.auth-input::placeholder {color:#99ada5;opacity:1}
.auth-input:focus {border-color:#137d6d;box-shadow:0 0 0 4px rgba(19,125,109,.12)}
.auth-input.is-invalid {border-color:#c84d54}
.auth-input--otp {text-align:center;direction:ltr;letter-spacing:.45em;font-family:inherit,system-ui;font-size:1.55rem;font-weight:800;font-variant-numeric:tabular-nums}
.auth-hint {color:var(--clinic-muted,#617b73);font-size:.8rem;line-height:1.8}
.auth-error {color:#a62a35;font-size:.86rem}
.auth-error ul,.auth-card .errorlist {margin:.2rem 0;padding-inline-start:1.2rem}
.auth-submit {width:100%;margin-top:.75rem;cursor:pointer;font-size:1.02rem;border:0}
.auth-footnote {color:var(--clinic-muted,#617b73);font-size:.79rem;line-height:1.9;margin:1.3rem 0 0}
.auth-change-number {display:inline-block;color:var(--clinic-primary,#137d6d);font-size:.86rem;font-weight:750;text-decoration:none;margin-bottom:1.3rem}
.auth-change-number:hover {text-decoration:underline}
.auth-phone {direction:ltr;display:inline-block;font-weight:800;color:#193a36}
.auth-resend-form {text-align:center;margin-top:1rem}
.auth-resend {background:none;border:0;color:#137d6d;font-weight:800;padding:.6rem 1rem;cursor:pointer;min-height:45px}
.auth-resend:disabled {opacity:.55;cursor:not-allowed}
.auth-timer {text-align:center;min-height:1.7rem;color:#617b73;font-size:.88rem}
.auth-message {border-radius:12px;padding:.85rem 1rem;margin:1rem 0;line-height:1.9}
.auth-message--warning {color:#835b14;background:#fff6df;border:1px solid #e9d49a}
.auth-skip {display:block;text-align:center;padding:.75rem;color:#617b73;text-decoration:underline;font-weight:650}
.auth-aside {background:linear-gradient(150deg,#185b51,#137d6d);color:white;border-radius:24px;padding:clamp(2rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-aside::after {content:"";position:absolute;left:-95px;bottom:-95px;width:300px;height:300px;border:60px solid rgba(255,255,255,.045);border-radius:50%;pointer-events:none}
.auth-aside__icon {font-size:3.2rem;line-height:1;margin-bottom:1.6rem;color:#cdeada}
.auth-aside__eyebrow {color:#c5ede0;font-weight:750;font-size:.88rem}
.auth-aside h2 {font-weight:850;font-size:clamp(1.6rem,2.5vw,2.4rem);margin-bottom:1rem;line-height:1.6}
.auth-aside p {color:#e1f3eb;line-height:2.1;margin-bottom:1.4rem}
.auth-benefit {display:flex;align-items:center;gap:.7rem;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.16);font-weight:600}
.auth-benefit span {color:#bde8d8;font-size:1.2rem}
@media(max-width:780px){.auth-layout{grid-template-columns:1fr;max-width:550px}.auth-aside{padding:1.5rem}.auth-aside__icon{font-size:2rem;margin-bottom:.7rem}.auth-aside h2{font-size:1.3rem}.auth-aside p{margin-bottom:.6rem}}
@media(max-width:480px){.auth-wrap{padding:1.1rem 0 2rem}.auth-card{padding:1.4rem}.auth-aside{display:none}}
@media(prefers-reduced-motion:reduce){.auth-input{transition:none}}
