.recovery-page { display: flex; min-height: 100vh; min-height: 100dvh; height: auto; overflow: auto; padding: max(20px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom)); align-items: flex-start; justify-content: center; }
.recovery-page .access-card { width: min(100%, 440px); margin: auto; }
.recovery-page h2 { color: var(--color-green); font-size: 1.3rem; margin: 22px 0 12px; }
.recovery-page p { line-height: 1.5; }
.recovery-page input { font-size: 16px; min-height: 44px; min-width: 0; width: 100%; }
.recovery-page button { min-height: 44px; }
.recovery-page [hidden] { display: none !important; }
.recovery-page a { color: var(--color-green); text-underline-offset: 3px; }
.recovery-page :focus-visible { outline: 3px solid var(--color-green); outline-offset: 3px; }
