.authentication-wrapper.forgot-password-page {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    overflow: hidden;
    background: #f7f9fc;
    color: #7d8aa5;
}
.forgot-password-page .authentication-item-wrapper {
    height: auto;
    min-height: 100vh;
    padding: 24px 12px;
}
.forgot-password-page .authentication-item-wrapper .authentication-right-item {
    flex: 0 1 420px;
    max-width: 420px;
    padding: 28px;
    border: 1px solid #e1e9ff;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(35, 55, 90, .06);
}
.recovery-content { text-align: center; }
.recovery-icon { width: 72px; max-width: 100%; margin: 0 auto 16px; }
.recovery-icon svg { display: block; width: 100%;  }
.recovery-content h1 { font-size: 26px; font-weight: 600; letter-spacing: -.5px; color: #0b173f; text-transform: none; line-height: 1.2; }
.recovery-description { max-width: 340px; margin: 12px auto 24px; font-size: 14px; line-height: 1.55; color: #74819d; }
.recovery-email-field { display: flex; align-items: center; gap: 12px; min-height: 48px; border: 1px solid #d2dced; border-radius: 8px; padding: 0 14px; text-align: left; transition: border-color .2s, box-shadow .2s; }
.recovery-email-field:focus-within { border-color: #5586ff; box-shadow: 0 0 0 4px rgba(69, 113, 255, .12); }
.recovery-email-field svg { width: 20px; height: 20px; flex-shrink: 0; }
.recovery-email-field input { min-width: 0; width: 100%; padding: 12px 0; background: transparent; border: 0; outline: 0; font-size: 16px; color: #172449; }
.recovery-email-field input::placeholder { color: #8290aa; opacity: 1; }
.recovery-submit { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 46px; margin-top: 16px; padding: 12px; border: 0; border-radius: 8px; color: #fff; background: linear-gradient(105deg, #2b92ff, #4630ed); box-shadow: none; font-size: 15px; font-weight: 600; transition: transform .2s, box-shadow .2s; }
.recovery-submit svg { width: 18px; height: 18px; }
.recovery-submit:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(69, 75, 229, .16); }
.recovery-submit:focus-visible, .recovery-login a:focus-visible { outline: 3px solid #708dff; outline-offset: 4px; }
.recovery-login { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 20px; font-size: 13px; }
.recovery-login::before, .recovery-login::after { content: ""; flex: 1; height: 1px; background: #dce3f1; }
.recovery-login a { padding: 4px 8px; border-radius: 16px; color: #3655ff; background: #eceeff; text-decoration: none; font-weight: 600; }
.recovery-login a:hover { background: #dfe4ff; }
.forgot-password-page .copyright-box p { margin: 24px 0 0 !important; padding: 0 !important; color: #7d8aa5; font-size: 12px; }
.forgot-password-page .copyright-box a { color: #6c7892; text-decoration: none; }
.recovery-error { color: #c53030; font-size: 14px; text-align: left; margin: 8px 0 0; }
@media (max-width: 479px) {
    .forgot-password-page .authentication-item-wrapper { padding: 20px 0; }
    .forgot-password-page .authentication-item-wrapper .authentication-right-item { padding: 24px 20px; }
    .recovery-content h1 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { .recovery-submit { transition: none; } }

.recovery-label { display: block; margin: 16px 0 8px; text-align: left; font-size: 14px; color: #172449; }
.recovery-help { margin: 18px auto 0; font-size: 13px; }
#recovery-otp { text-align: center; letter-spacing: 8px; font-size: 22px; }
