/* Recovery extends the established brand.css palette, never the experimental homepage. */
:root { --recovery-muted:#b7cbd6; --recovery-error:#ff9bab; --scroll-thumb:#386174; --scroll-track:var(--bg); --scroll-hover:#568299; --scroll-active:var(--purple); scrollbar-color:var(--scroll-thumb) var(--scroll-track); scrollbar-width:thin; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:var(--scroll-track); }
::-webkit-scrollbar-thumb { background:var(--scroll-thumb); border-radius:8px; }
::-webkit-scrollbar-thumb:hover { background:var(--scroll-hover); }
::-webkit-scrollbar-thumb:active { background:var(--scroll-active); }
.recovery-surface { width:min(520px,calc(100vw - 28px)); background:var(--card); color:var(--text); padding:32px; border-radius:16px; }
dialog.recovery-surface { max-height:calc(100dvh - 28px); overflow:auto; scrollbar-gutter:stable; border-color:var(--line); }
.recovery-surface h1,.recovery-surface h2 { font-size:28px; line-height:1.2; letter-spacing:-.02em; margin:16px 0; padding-right:16px; }
.recovery-surface p,.recovery-surface small { color:var(--recovery-muted); line-height:1.5; }
.recovery-surface label { color:var(--text); font-size:14px; }
.recovery-surface input { font-size:16px; caret-color:var(--purple); background:var(--bg); border-color:var(--line); }
.recovery-surface input[aria-invalid=true] { border-color:var(--recovery-error); }
.recovery-surface .primary { color:var(--bg); box-shadow:none; }
.recovery-surface .secondary { color:var(--text); background:var(--soft); border:1px solid var(--line); }
.recovery-surface button,.recovery-home { min-height:44px; transition:background-color .15s ease-out; }
.recovery-surface button:hover:not(:disabled),.recovery-home:hover { filter:brightness(1.15); cursor:pointer; }
.recovery-surface button:active:not(:disabled) { filter:brightness(.95); }
.recovery-surface button:disabled { opacity:.55; cursor:wait; }
.recovery-surface :focus-visible { outline:2px solid var(--purple); outline-offset:3px; }
.recovery-surface ::selection { background:var(--purple); color:var(--bg); }
.recovery-surface [hidden] { display:none!important; }
.recovery-field { display:flex; gap:8px; min-width:0; }
.recovery-field input { min-width:0; flex:1; }
.recovery-field button { flex-shrink:0; }
.recovery-account { display:grid; gap:6px; border-block:1px solid var(--line); padding:16px 0; overflow-wrap:anywhere; }
#recoveryIssue { margin-top:24px; }
.recovery-check { display:flex; align-items:flex-start; gap:12px; line-height:1.5; }
.recovery-check input { width:20px; height:20px; flex-shrink:0; accent-color:var(--purple); margin:0; }
.recovery-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.recovery-surface .recovery-status,.recovery-surface .form-error { min-height:1.5em; margin:12px 0; }
.recovery-surface .form-error { color:var(--recovery-error); }
.recovery-page { padding:32px 14px; min-height:100dvh; }
.recovery-page-content { margin:5vh auto; border:1px solid var(--line); }
.recovery-brand { margin-bottom:24px; font-size:18px; }
.recovery-home { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border-radius:11px; padding:11px 18px; }
.admin-heading { flex-wrap:wrap; }
@media(max-width:560px) { .recovery-surface { padding:24px 20px; } .recovery-page-content { margin:0 auto; } .recovery-actions { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { .recovery-surface button,.recovery-home { transition:none; } }
@media(forced-colors:active) { :root { scrollbar-color:auto; } .recovery-surface :focus-visible { outline-color:Highlight; } }
