/* 2FA Verification Form Styles */
.tfa-verification-form {
    max-width: 100%;
    padding: 20px 0;
}


.tfa-verification-form label {
    padding: 0;
}

.totp-tfa-instructions {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.6;
}

.totp-tfa-instructions strong {
    display: block;
    margin-bottom: 5px;
}

/*.totp-code-input {
    font-size: 24px !important;
    text-align: center;
    letter-spacing: 8px;
    padding: 12px !important;
    width: 100% !important;
    margin-bottom: 20px;
    font-family: 'Courier New', monospace;
    font-weight: bold;
    border: 2px solid #8c8f94;
    border-radius: 4px;
    transition: border-color 0.2s;
}*/

.totp-code-input:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

.recovery-code-link {
    text-align: left;
    margin-top: 20px;
    font-size: 13px;
}

.recovery-code-link a {
    color: white;
    text-decoration: none;
}

.recovery-code-link a:hover {
    color: white;
    text-decoration: underline;
}

.recovery-instructions {
    display: none;
    margin-top: 15px;
    padding: 12px 16px;
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    font-size: 13px;
    line-height: 1.6;
    border-radius: 2px;
}

.recovery-instructions.active {
    display: block;
}

.recovery-instructions strong {
    display: block;
    margin-bottom: 5px;
    color: #856404;
}

.back-to-login {
    text-align: left;
    margin-top: 20px;
}

.back-to-login a {
    color: #646970;
    text-decoration: none;
    font-size: 13px;
}

.back-to-login a:hover {
    color: white;
}


#tfa-login-form {
    font-size: .9375rem;
    max-width: 32rem;
    margin: 5rem auto
}

#tfa-login-form .input {
    width: 100%
}

#tfa-login-form .message {
    color: #3c3;
    margin: 1rem 0
}

.login-form-links {
    display: inline-flex;
    flex-direction: column
}

.login-form-links a {
    margin: .25rem 0
}

#tfa-login-form .message #login_error,
.error,
.required {
    color: #f35
}

#message,
.form-message {
    margin-bottom: 1rem
}

#message:empty,
.form-message:empty {
    display: none
}

#tfa-login-form .message #login_error a {
    display: none
}

#tfa-login-form .input {
    width: 100%;
}

/* 2FA Verification Form Styles */
.tfa-verification-form {
    max-width: 100%;
    padding: 20px 0;
}


.tfa-verification-form label {
    padding: 0;
}

.totp-tfa-instructions {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.6;
}

.totp-tfa-instructions strong {
    display: block;
    margin-bottom: 5px;
}

.totp-code-input:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

.recovery-code-link {
    text-align: left;
    margin-top: 20px;
    font-size: 13px;
}

.recovery-code-link a {
    color: white;
    text-decoration: none;
}

.recovery-code-link a:hover {
    color: white;
    text-decoration: underline;
}

.recovery-instructions {
    display: none;
    margin-top: 15px;
    padding: 12px 16px;
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    font-size: 13px;
    line-height: 1.6;
    border-radius: 2px;
}

.recovery-instructions.active {
    display: block;
}

.recovery-instructions strong {
    display: block;
    margin-bottom: 5px;
    color: #856404;
}
/* OTP verification and navigation feedback. */
form .is-login-progress{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;box-sizing:border-box;margin:22px 0 0;padding:20px 18px;border:1px solid rgba(255,255,255,.22);background:#0a0a0b;color:#ededed;font-family:inherit;font-size:13px;letter-spacing:.04em;line-height:1.6;text-align:center}
form .is-login-spinner{display:inline-block;flex:0 0 20px;width:20px;height:20px;box-sizing:border-box;border:1px solid rgba(255,255,255,.22);border-top-color:#f1f1f1;border-radius:50%;animation:is-login-spin .9s linear infinite}
@keyframes is-login-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){form .is-login-spinner{animation:none;border-color:#ededed}}

/* Keep progress in view and visible against the custom login design. */
#tfa-login-form form .is-login-progress{display:flex !important;margin:0 0 24px !important;padding:18px !important;border:1px solid rgba(255,255,255,.25) !important;background:#0a0a0b !important;color:#ededed !important}
#tfa-login-form .is-login-spinner{display:inline-block !important;border:1px solid #555 !important;border-top-color:#fff !important;animation:is-login-spin .9s linear infinite !important}
#tfa-login-form button .is-login-button-spinner{display:inline-block !important;vertical-align:middle;width:18px;height:18px;margin-right:12px;border:1px solid #aaa;border-top-color:#111;border-radius:50%;animation:is-login-spin .9s linear infinite}
#tfa-login-form form[aria-busy="true"] button[type="submit"]{opacity:1 !important;cursor:wait !important}
@media(prefers-reduced-motion:reduce){#tfa-login-form .is-login-spinner,#tfa-login-form button .is-login-button-spinner{animation:none !important}}
