.recovery-shell { width: min(100% - 40px, 440px); margin-inline: auto; }
.recovery-page main { padding-block: 64px; }
.recovery-page h1 { font-size: clamp(30px, 5vw, 36px); }
.recovery-form { display: grid; gap: 12px; margin-top: 28px; }
.recovery-form[hidden], .recovery-page button[hidden] { display: none; }
.recovery-form label { font-size: 15px; font-weight: 600; }
.recovery-form input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid var(--control-border); border-radius: 10px; background: var(--paper); color: var(--ink); font: inherit; font-size: 16px; }
.recovery-page .recovery-form p { margin: 0; }
.recovery-page button { font: inherit; cursor: pointer; }
.recovery-page .recovery-primary { min-height: 48px; padding: 11px 18px; border: 1px solid var(--accent); border-radius: 10px; background: var(--accent); color: var(--on-accent); font-weight: 600; }
.recovery-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.recovery-page .recovery-quiet { justify-self: start; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--olive); font-size: 15px; text-align: left; }
.recovery-quiet:hover { color: var(--olive-deep); text-decoration: underline; text-underline-offset: .2em; }
.recovery-page button:disabled { cursor: default; opacity: .65; }
.recovery-error { color: var(--error); font-size: 15px; overflow-wrap: anywhere; }
.recovery-error:empty { display: none; }
#recovery-account { overflow-wrap: anywhere; }
.recovery-new-link { margin-top: 12px; }
.recovery-page .recovery-back { margin: 32px 0 0; font-size: 15px; }
@media (max-width: 400px) { .recovery-shell { width: calc(100% - 32px); } .recovery-page main { padding-block: 40px 48px; } }
