.auth-otp-step{width:100%;max-width:26rem;margin:0 auto}.auth-otp-step__panel{padding:clamp(1.35rem,3vw,1.85rem);border-radius:1.25rem;background:linear-gradient(165deg,#fffdf9,#fff 55%,#fffcf7);border:1px solid rgba(201,148,30,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 28px rgba(31,26,20,.06)}.auth-otp-step__hero{text-align:center;margin-bottom:1.65rem}.auth-otp-step__icon-wrap{position:relative;width:4.5rem;height:4.5rem;margin:0 auto 1.15rem}.auth-otp-step__icon-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 210deg,rgba(232,176,61,.45),rgba(255,217,122,.15),rgba(232,176,61,.35));animation:auth-otp-ring-spin 12s linear infinite}@keyframes auth-otp-ring-spin{to{transform:rotate(1turn)}}.auth-otp-step__icon{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,#fff9f0,#ffe8b3);color:var(--color-gold-dark);font-size:1.55rem;border:2px solid rgba(201,148,30,.28);box-shadow:0 4px 16px rgba(201,148,30,.2)}.auth-otp-step__kicker{margin:0 0 .4rem;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-dark)}.auth-otp-step__title{margin:0 0 .45rem;font-family:var(--font-family-display);font-size:clamp(1.55rem,4vw,1.9rem);font-weight:700;letter-spacing:-.02em;color:var(--color-ink);line-height:1.2}.auth-otp-step__sub{margin:0 0 .65rem;font-size:1rem;line-height:1.5;color:var(--color-ink-muted)}.auth-otp-step__email-pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;max-width:100%;margin:0 auto;padding:.55rem 1rem;border-radius:999px;background:rgba(232,176,61,.12);border:1px solid rgba(201,148,30,.28);font-size:.95rem;font-weight:700;color:var(--color-ink);word-break:break-all}.auth-otp-step__email-pill svg{flex-shrink:0;color:var(--color-gold-dark);font-size:.9rem}.auth-otp-step__hint{margin:.85rem auto 0;font-size:.88rem;line-height:1.5;color:var(--color-ink-light);max-width:28rem}.auth-otp-step__form{gap:0}.auth-otp-inputs{display:flex;justify-content:center;gap:clamp(.4rem,2vw,.65rem);margin-bottom:.5rem}.auth-otp-input{width:clamp(2.5rem,11vw,3.1rem);height:clamp(3rem,12vw,3.65rem);text-align:center;font-size:clamp(1.25rem,4.5vw,1.55rem);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1.5px solid rgba(31,26,20,.12);border-radius:.85rem;background:#fff;color:var(--color-ink);caret-color:var(--color-gold-dark);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .12s ease}.auth-otp-input:hover:not(:disabled){border-color:rgba(201,148,30,.45)}.auth-otp-input:focus{outline:none;border-color:var(--color-gold-dark);box-shadow:0 0 0 3px rgba(232,176,61,.28);transform:translateY(-1px)}.auth-otp-input--filled{background:rgba(232,176,61,.08);border-color:rgba(201,148,30,.4)}.auth-otp-input:disabled{opacity:.65;cursor:not-allowed}.auth-otp-step__progress{margin:0 0 1rem;text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--color-ink-light)}.auth-otp-step__error{margin-bottom:1rem;text-align:left}.auth-otp-step__submit{margin-top:.25rem}.auth-otp-step__actions{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-top:1.15rem;padding-top:1.15rem;border-top:1px solid rgba(31,26,20,.08)}.auth-otp-step__action-btn{border:none;background:none;padding:.45rem .75rem;font-family:var(--font-family-main);font-size:.95rem;font-weight:600;color:var(--color-gold-dark);cursor:pointer;border-radius:.5rem;transition:color .15s ease,background .15s ease}.auth-otp-step__action-btn:hover:not(:disabled){color:var(--color-ink);background:rgba(232,176,61,.1);text-decoration:underline}.auth-otp-step__action-btn--muted{color:var(--color-ink-muted);font-weight:500}.auth-otp-step__action-btn--muted:hover:not(:disabled){color:var(--color-ink)}.auth-otp-step__action-btn:disabled{opacity:.55;cursor:not-allowed}.booking-auth-modal .auth-otp-step{max-width:100%}.booking-auth-modal .auth-otp-step__panel{padding:.25rem 0 0;border:none;box-shadow:none;background:transparent}@media (prefers-reduced-motion:reduce){.auth-otp-step__icon-ring{animation:none}.auth-otp-input:focus{transform:none}}@media (max-width:380px){.auth-otp-inputs{gap:.35rem}.auth-otp-step__panel{padding:1.15rem .95rem}.booking-auth-modal .auth-otp-step__panel{padding:.15rem 0 0}}