/*
 * SMS OTP Login Pro for WHMCS — unified login compatibility layer.
 * The OTP view inherits the active WHMCS theme and applies only the small set
 * of rules needed for a consistent OTP/password switcher and request states.
 */
.otp_login_pro-unified {
    --otp-login-accent: #d72729;
    --otp-login-accent-hover: #ffa737;
    --otp-login-border: var(--arsam-border, var(--border, #e4e4e7));
    --otp-login-muted: var(--arsam-muted, var(--text-muted, #74767d));
    width:100%;max-width:540px;margin-right:auto;margin-left:auto;font-family:inherit!important;color:inherit
}

.otp_login_pro-unified input,
.otp_login_pro-unified select,
.otp_login_pro-unified textarea,
.otp_login_pro-unified button,
.otp_login_pro-unified .btn {
    font-family:inherit!important;
}
.otp_login_pro-unified *, .otp_login_pro-unified *::before, .otp_login_pro-unified *::after{box-sizing:border-box}
.otp_login_pro-tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 auto 12px;padding:4px;border:1px solid var(--otp-login-border);border-radius:10px;background:var(--bg-muted,#f6f7f8);overflow:hidden}
.otp_login_pro-tabs::before{content:"";position:absolute;z-index:0;top:4px;bottom:4px;inset-inline-start:4px;width:calc(50% - 6px);border-radius:7px;background:var(--otp-login-accent);box-shadow:0 2px 6px rgba(255,84,41,.18);transition:transform .24s cubic-bezier(.22,.61,.36,1),background-color .18s ease}
.otp_login_pro-unified[dir="ltr"].is-password-active .otp_login_pro-tabs::before{transform:translateX(calc(100% + 4px))}
.otp_login_pro-unified[dir="rtl"].is-password-active .otp_login_pro-tabs::before{transform:translateX(calc(-100% - 4px))}
.otp_login_pro-tab{position:relative;z-index:1;min-height:40px;border:0!important;border-radius:7px;background:transparent!important;color:var(--text-lifted,#6b7280)!important;font:inherit;font-size:13px;font-weight:700;cursor:pointer;box-shadow:none!important;outline:0!important;transition:color .2s ease,opacity .2s ease}
.otp_login_pro-tab.is-active{color:#fff!important}
.otp_login_pro-tab:focus,.otp_login_pro-tab:focus-visible{outline:0!important;box-shadow:none!important}
.otp_login_pro-tab:disabled{cursor:wait;opacity:.72}
.otp_login_pro-pane[hidden]{display:none!important}
.otp_login_pro-pane{animation:otp_login_pro-pane-in .18s ease both}
@keyframes otp_login_pro-pane-in{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.otp_login_pro-pane>form,.otp_login_pro-pane>.card,.otp_login_pro-pane form.login-form{width:100%}
.otp_login_pro-unified form.login-form .card,.otp_login_pro-otp-card{max-width:540px;margin-right:auto;margin-left:auto}
.otp_login_pro-heading p{line-height:1.9}.otp_login_pro-alert{margin-bottom:1rem;line-height:1.8}.otp_login_pro-alert[hidden]{display:none!important}
.otp_login_pro-request-form input[type="tel"],.otp_login_pro-verify-form input[inputmode="numeric"]{direction:ltr!important;text-align:left}
.otp_login_pro-code{direction:ltr!important;text-align:center!important;font-size:1.15rem!important;font-weight:700;letter-spacing:.28em;font-variant-numeric:tabular-nums}
.otp_login_pro-submit{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.otp_login_pro-unified .btn-primary,.otp_login_pro-unified button[type="submit"],.otp_login_pro-submit{border-color:var(--otp-login-accent)!important;background:var(--otp-login-accent)!important;color:#fff!important;box-shadow:none!important;outline:0!important;transition:background-color .16s ease,border-color .16s ease,opacity .16s ease}
.otp_login_pro-unified .btn-primary:hover:not(:disabled),.otp_login_pro-unified button[type="submit"]:hover:not(:disabled),.otp_login_pro-submit:hover:not(:disabled){border-color:var(--otp-login-accent-hover)!important;background:var(--otp-login-accent-hover)!important;color:#fff!important}
.otp_login_pro-unified button:focus,.otp_login_pro-unified button:focus-visible,.otp_login_pro-unified .btn:focus,.otp_login_pro-unified .btn:focus-visible{outline:0!important;box-shadow:none!important}
.otp_login_pro-unified button:disabled,.otp_login_pro-unified input:disabled{cursor:not-allowed;opacity:.65}
.otp_login_pro-spinner{width:16px;height:16px;flex:0 0 16px;display:inline-block;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:otp_login_pro-spin .7s linear infinite}.otp_login_pro-spinner[hidden]{display:none!important}@keyframes otp_login_pro-spin{to{transform:rotate(360deg)}}
.otp_login_pro-sent{margin-bottom:1rem;text-align:center;line-height:1.9}
.otp_login_pro-sent__mobile{display:inline-block!important;direction:ltr!important;unicode-bidi:isolate!important;text-align:left!important;white-space:nowrap;font-variant-numeric:tabular-nums}
.otp_login_pro-code:disabled{opacity:.75}.otp_login_pro-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.otp_login_pro-link{height:auto!important;min-height:0!important;padding:5px 0!important;border:0!important;background:transparent!important;color:var(--otp-login-accent)!important;box-shadow:none!important;outline:0!important;font:inherit;font-size:13px}.otp_login_pro-link:hover:not(:disabled){color:var(--otp-login-accent-hover)!important}.otp_login_pro-link:focus,.otp_login_pro-link:focus-visible{outline:0!important;box-shadow:none!important}.otp_login_pro-link:disabled{opacity:.5;cursor:not-allowed}
.otp_login_pro-unified.is-busy{cursor:progress}.otp_login_pro-unified.is-busy .otp_login_pro-pane{pointer-events:none}
.otp_login_pro-theme--nexus .otp_login_pro-tabs,.otp_login_pro-auto-theme .otp_login_pro-tabs{font-family:inherit}
@media(max-width:575.98px){.otp_login_pro-unified{max-width:100%}.otp_login_pro-tabs{margin-right:0;margin-left:0}.otp_login_pro-actions{align-items:stretch;flex-direction:column;gap:2px}.otp_login_pro-link{width:100%;justify-content:center}}

/* 1.0.1 accessibility/responsive refinements */
.otp_login_pro-unified input.form-control:focus,.otp_login_pro-unified select.form-control:focus,.otp_login_pro-unified textarea.form-control:focus{outline:0!important;border-color:#cfd6df!important;box-shadow:0 0 0 2px rgba(255,84,41,.035)!important}
@media(max-width:420px){.otp_login_pro-tabs{gap:3px}.otp_login_pro-tab{font-size:12px;padding-inline:8px}.otp_login_pro-otp-card .card-body{padding-inline:16px!important}}
