body:has(.recovery-page) { display: flex; flex-direction: column; min-height: 100vh; padding-bottom: 0; }
body:has(.recovery-page) #container { flex: 1 0 auto; width: calc(100% - 32px); max-width: 1520px; margin: 0 auto; padding: 48px 0 64px; }
body:has(.recovery-page) > :is(.footer,footer) { position: static !important; float: none; flex-shrink: 0; }
.recovery-page { color: #283441; font-size: 14px; line-height: 1.6; text-align: left; }
.recovery-page *, .recovery-page *::before, .recovery-page *::after { box-sizing: border-box; letter-spacing: 0; }
.recovery-inner { max-width: 440px; margin: 0 auto; }
.recovery-page h1 { font-size: 26px; line-height: 1.35; font-weight: 500; margin: 0 0 28px; overflow-wrap: anywhere; }
.recovery-form { margin: 0; display: flex; flex-direction: column; gap: 20px; }
.recovery-form label { display: flex; flex-direction: column; gap: 8px; margin: 0; font-weight: 500; font-size: 13px; }
.recovery-form input:not([type=hidden]) { width: 100%; min-width: 0; height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 4px; background: #fff; color: #283441; font: inherit; }
.recovery-form button, .recovery-page .recovery-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px; margin: 0; padding: 10px 14px; border: 1px solid #2875cd; border-radius: 4px; background: #2875cd; color: #fff; font: inherit; font-size: 13px; text-transform: none; text-decoration: none; cursor: pointer; }
.recovery-form button:hover, .recovery-page .recovery-link:hover { background: #2064b2; }
.recovery-page .recovery-back { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 22px; color: #2673cc; font-size: 13px; text-decoration: none; }
.recovery-alert { padding: 12px 14px; margin-bottom: 20px; border: 1px solid #e3cbd0; border-radius: 4px; background: #fcf2f3; color: #9a5662; overflow-wrap: anywhere; }
.recovery-notice { border-top: 1px solid #dce4ed; padding: 24px 0; overflow-wrap: anywhere; }
.recovery-notice > i { font-size: 24px; color: #44816d; }
.recovery-notice p { margin: 12px 0 0; }
.recovery-captcha { max-width: 100%; overflow-x: auto; }
.recovery-captcha input { max-width: 100%; }
.recovery-captcha img { max-width: 100%; height: auto; }
.recovery-page :is(a,button,input):focus-visible { outline: 2px solid #2673cc; outline-offset: 3px; }
@media (max-width: 520px) { body:has(.recovery-page) #container { padding-top: 32px; } .recovery-page h1 { font-size: 24px; } }
