:root { color-scheme:dark; font-family:system-ui,sans-serif; background:#080b10; color:#f0f3f8; }
body { margin:0; min-height:100dvh; display:grid; place-items:center; }
.recovery { width:min(440px,calc(100vw - 64px)); padding:32px; margin:24px 0; border:1px solid #303b4b; border-radius:16px; background:#111923; box-shadow:0 20px 70px #0009; }
.brand { color:#f4c430; font-size:1.5rem; font-weight:800; text-decoration:none; }
h1 { font-size:1.6rem; margin-top:28px; } p { color:#c7d1df; line-height:1.6; }
form { display:grid; gap:12px; margin:24px 0; } label { font-weight:600; }
input { box-sizing:border-box; width:100%; border:1px solid #46556a; border-radius:8px; background:#09111b; color:#fff; padding:12px; font:inherit; }
button,.button { display:inline-block; border:0; border-radius:8px; padding:12px 18px; background:#f4c430; color:#151515; font:700 1rem system-ui; cursor:pointer; text-decoration:none; }
button:hover,.button:hover { background:#ffda60; } a { color:#cfe6ff; } :focus-visible { outline:2px solid #f4c430; outline-offset:3px; }
.errors:not(:empty) { padding:12px; border:1px solid #ee7979; border-radius:8px; background:#381a20; color:#ffdddd; } .errors.validation-summary-valid { display:none; }
.notice { padding:14px; border:1px solid #6ba998; border-radius:8px; background:#122c29; }
