.otp-login-page{max-width:520px;margin:36px auto 56px;padding:0 14px}
.otp-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.08);padding:26px}
.otp-head{text-align:center;margin-bottom:22px}
.otp-icon{width:62px;height:62px;border-radius:22px;background:#fff7ed;color:#ea580c;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:28px}
.otp-head h1{margin:0 0 8px;color:#111827;font-size:24px;font-weight:900}
.otp-head p{margin:0;color:#64748b;line-height:2;font-size:14px}
.otp-form{display:grid;gap:14px}
.otp-form label{display:grid;gap:8px;color:#334155;font-size:13px;font-weight:900}
.otp-form input{height:48px;border:1px solid #dbe3ef;border-radius:14px;padding:0 14px;font:inherit;background:#f8fafc;outline:0;text-align:center;direction:ltr;font-size:18px;font-weight:900;letter-spacing:1px}
.otp-form input:focus{background:#fff;border-color:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.08)}
.otp-submit{height:50px;border:0;border-radius:14px;background:#ef4056;color:#fff;font:inherit;font-weight:900;cursor:pointer}
.otp-submit:hover{filter:brightness(.98)}
.otp-alert{border-radius:14px;padding:12px 14px;margin-bottom:14px;line-height:2;font-size:13px;font-weight:800}
.otp-alert.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}
.otp-alert.error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
.otp-mobile-show{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px;text-align:center;color:#64748b;display:grid;gap:4px}
.otp-mobile-show b{color:#111827;direction:ltr}
.otp-test-code{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:10px;text-align:center;font-weight:900}
.otp-test-code b{direction:ltr;display:inline-block}
.otp-actions-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.otp-actions-row button{border:0;background:transparent;color:#0f766e;font:inherit;font-weight:900;cursor:pointer}
.otp-note{margin-top:16px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;line-height:2;font-size:13px}
@media(max-width:560px){.otp-card{padding:20px;border-radius:20px}.otp-head h1{font-size:21px}}
