/* Premium, mobile-first six-digit code entry. The named server field is kept
   intact so all existing POST handlers continue to receive the same value. */
.premium-otp-source{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.premium-otp-wrap{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(6px,2.2vw,11px)!important;width:100%!important;max-width:370px!important;margin:10px 0 14px!important}
.premium-otp-cell{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;flex:1 1 0!important;width:0!important;min-width:0!important;max-width:54px!important;height:clamp(46px,13vw,58px)!important;padding:0!important;border:1px solid var(--border,rgba(167,139,250,.24))!important;border-radius:13px!important;background:linear-gradient(155deg,rgba(21,20,54,.98),rgba(12,12,35,.98))!important;color:var(--text,#f3f2ff)!important;text-align:center!important;font-family:inherit!important;font-size:clamp(19px,5vw,24px)!important;font-weight:800!important;line-height:1!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 4px 12px rgba(0,0,0,.08)!important;caret-color:transparent!important;outline:none!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease!important}
.premium-otp-cell:focus{border-color:#a78bfa!important;background:linear-gradient(155deg,rgba(43,30,89,.98),rgba(17,19,54,.98))!important;box-shadow:0 0 0 3px rgba(124,58,237,.2),0 8px 22px rgba(94,52,180,.16)!important;transform:translateY(-1px)!important}
.premium-otp-cell.is-filled{border-color:rgba(124,58,237,.68)!important;background:linear-gradient(155deg,rgba(39,28,78,.96),rgba(14,19,50,.98))!important}
.premium-otp-wrap[aria-disabled="true"] .premium-otp-cell{opacity:.65!important}
.premium-otp-hint{font-size:12px!important;color:var(--text-muted,#8987ac)!important;line-height:1.55!important;margin-top:7px!important}
.premium-otp-error{margin:0 0 14px!important}
.premium-otp-standalone-overlay{position:fixed!important;inset:0!important;z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:22px!important;background:rgba(4,4,19,.8)!important;-webkit-backdrop-filter:blur(17px)!important;backdrop-filter:blur(17px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .22s ease,visibility .22s ease!important}
.premium-otp-standalone-overlay.is-visible{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.premium-otp-standalone-card{position:relative!important;width:min(100%,350px)!important;box-sizing:border-box!important;padding:34px 25px 29px!important;border:1px solid rgba(167,139,250,.28)!important;border-radius:25px!important;background:linear-gradient(145deg,#171538,#09091f)!important;text-align:center!important;box-shadow:0 26px 90px rgba(0,0,0,.58),0 0 56px rgba(124,58,237,.2)!important;color:#f5f3ff!important}
.premium-otp-standalone-mark{display:grid!important;place-items:center!important;width:66px!important;height:66px!important;margin:0 auto 20px!important;border-radius:21px!important;border:1px solid rgba(167,139,250,.35)!important;background:linear-gradient(145deg,#5530c7,#3420a0)!important;color:#fff!important;font-size:30px!important;box-shadow:0 10px 28px rgba(124,58,237,.3)!important}
.premium-otp-standalone-spinner{width:25px!important;height:25px!important;border-radius:50%!important;border:3px solid rgba(255,255,255,.25)!important;border-top-color:#fff!important;animation:premiumOtpSpin .8s linear infinite!important}
.premium-otp-standalone-title{font-size:19px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#f5f3ff!important}
.premium-otp-standalone-copy{font-size:13px!important;line-height:1.7!important;margin-top:8px!important;color:#aaa8cb!important}
.premium-otp-standalone-overlay.is-success .premium-otp-standalone-mark{background:linear-gradient(145deg,#0dba8a,#078d72)!important;border-color:rgba(52,211,153,.45)!important}
.premium-otp-standalone-overlay.is-success .premium-otp-standalone-spinner{width:auto!important;height:auto!important;border:0!important;animation:none!important;font-size:30px!important}
@keyframes premiumOtpSpin{to{transform:rotate(360deg)}}
@media(max-width:360px){.premium-otp-wrap{gap:5px!important}.premium-otp-cell{border-radius:10px!important;height:45px!important}.premium-otp-standalone-card{padding:30px 19px 25px!important}}
@media(prefers-reduced-motion:reduce){.premium-otp-cell,.premium-otp-standalone-overlay{transition:none!important}.premium-otp-standalone-spinner{animation-duration:2s!important}}

/* Shared login/admin OTP success state: replace the brand mark with a clear verified check. */
.auth-loading-card.premium-otp-success{border-color:rgba(52,211,153,.34)!important;box-shadow:0 24px 90px rgba(0,0,0,.56),0 0 55px rgba(16,185,129,.12),inset 0 1px 0 rgba(255,255,255,.05)!important}
.auth-loading-card.premium-otp-success .auth-loading-mark.premium-otp-success-mark{display:grid!important;place-items:center!important;overflow:visible!important;border-radius:50%!important;border:1px solid rgba(52,211,153,.55)!important;background:linear-gradient(145deg,#10b981,#047857)!important;color:#fff!important;box-shadow:0 10px 30px rgba(16,185,129,.28)!important}
.auth-loading-mark.premium-otp-success-mark img{display:none!important}
.auth-loading-mark.premium-otp-success-mark::after{content:'✓';display:block!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:35px!important;font-weight:800!important;line-height:1!important;text-shadow:0 1px 2px rgba(0,0,0,.12)!important}
.auth-loading-card.premium-otp-success .auth-loading-orbit{border-color:rgba(52,211,153,.22)!important;animation:none!important}
.auth-loading-card.premium-otp-success .auth-loading-orbit-one{border-top-color:#34d399!important}
.auth-loading-card.premium-otp-success .auth-loading-orbit-two{border-bottom-color:rgba(52,211,153,.6)!important}
.auth-loading-card.premium-otp-success .auth-loading-dots{display:none!important}
