:root { color-scheme: light; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: #f5f4f0; color: #202b30; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: #225954; text-underline-offset: 3px; }
button, input { font: inherit; }
.recovery-header { max-width: 1120px; margin: 0 auto; padding: 32px 24px; }
.recovery-header .sek-topbar__wordmark { color: #263f36; }
.recovery-card { width: min(100% - 32px, 500px); margin: 24px auto 64px; padding: 36px; background: #fff; border: 1px solid #dfe3df; border-radius: 20px; box-shadow: 0 12px 38px #1c302b08; }
.recovery-eyebrow { margin: 0 0 12px; color: #587267; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
h1 { margin: 0 0 14px; font-size: clamp(27px, 5vw, 34px); line-height: 1.2; letter-spacing: -.03em; }
.recovery-lead { margin: 0 0 26px; color: #56635f; }
label { display: block; margin: 18px 0 7px; font-size: 14px; font-weight: 600; }
input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #aebcb5; border-radius: 8px; background: #fff; color: #202b30; }
input:focus { border-color: #225954; outline: 3px solid #22595420; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
:focus-visible { outline: 3px solid #65a896; outline-offset: 3px; }
.recovery-primary, .recovery-secondary { display: block; width: 100%; min-height: 48px; margin: 22px 0 0; padding: 12px 16px; border: 1px solid #225954; border-radius: 8px; font-weight: 600; text-align: center; text-decoration: none; }
.recovery-primary { color: #fff; background: #225954; }
.recovery-primary:hover { background: #194842; }
.recovery-secondary { color: #225954; background: #fff; }
button:disabled { opacity: .65; cursor: wait; }
.recovery-hint { margin: 7px 0 18px; color: #68756f; font-size: 13px; }
.recovery-status { margin-top: 18px; padding: 14px; background: #eff6f1; border-radius: 8px; overflow-wrap: anywhere; }
.recovery-status.error { background: #fff0ed; color: #9a3427; }
.recovery-legacy { margin-top: 22px; font-size: 14px; }
.recovery-help { margin-top: 28px; padding-top: 23px; border-top: 1px solid #e4e8e4; color: #56635f; font-size: 14px; }
.recovery-help strong { color: #293d34; }
.recovery-help p { margin: 8px 0 12px; }
.recovery-back, .recovery-new-link { display: inline-block; margin-top: 22px; font-size: 14px; }
@media (max-width: 540px) { .recovery-header { padding: 22px 20px; } .recovery-card { margin-top: 8px; padding: 26px 22px; } }
