@font-face{font-family:Manrope;src:url('/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:light;font-family:Manrope,Arial,Helvetica,sans-serif;color:#111714;background:#f6f6f3;font-synthesis:none}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{min-width:320px;min-height:100dvh;margin:0;padding:24px;display:grid;place-items:center;background:radial-gradient(circle at 50% 5%,#eeefeb,transparent 38rem),#f6f6f3}
button,input{font:inherit}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #555d56;outline-offset:3px}
.recovery-shell{display:grid;grid-template-columns:minmax(260px,330px) minmax(360px,490px);width:min(100%,820px);min-height:555px;overflow:hidden;border:1px solid #dfe2dd;border-radius:18px;background:#fff;box-shadow:0 28px 90px #11131412}
.recovery-intro{display:flex;flex-direction:column;justify-content:space-between;padding:31px;background:#171a1b;color:#f4f6f2}
.brand{display:inline-flex;align-items:center;gap:9px;width:max-content;color:#f4f6f2;font-size:19px;font-weight:600;letter-spacing:-.055em;text-decoration:none}
.brand img{display:block;width:32px;height:32px;filter:invert(1)}
.intro-label{color:#a8b0ad;font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.recovery-intro p{max-width:240px;margin:12px 0 0;color:#f4f6f2;font-size:27px;font-weight:500;line-height:1.25;letter-spacing:-.045em}
.recovery-intro small{max-width:250px;color:#aeb6b2;font-size:12px;line-height:1.7}
.recovery-card{min-width:0;padding:clamp(28px,4vw,46px);align-self:center}
.eyebrow{margin:0;color:#737973;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
h1{margin:11px 0 13px;font-size:clamp(27px,3vw,34px);font-weight:600;line-height:1.14;letter-spacing:-.055em}
.lead{margin:0;color:#677168;font-size:13px;line-height:1.65}
form{display:grid;gap:9px;margin:27px 0 17px}
label{color:#353c36;font-size:13px;font-weight:600}
input{width:100%;min-height:48px;margin-bottom:11px;padding:10px 13px;border:1px solid #d0d4cc;border-radius:12px;background:#fff;color:#111714;font-size:16px}
input:hover{border-color:#a4aaa2}
form>button,.recovery-link-primary{display:grid;place-items:center;width:100%;min-height:48px;margin-top:5px;padding:11px 17px;border:0;border-radius:12px;background:#111714;color:#fff;font-size:14px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}
form>button:hover:not(:disabled),.recovery-link-primary:hover{background:#353b36}
button:disabled{opacity:.62;cursor:wait}
.password-field{display:flex;align-items:center;margin-bottom:0;border:1px solid #d0d4cc;border-radius:12px}
.password-field:focus-within{outline:3px solid #555d5650}
.password-field input{flex:1;min-width:0;margin:0;border:0;outline:0}
.password-toggle{flex:0 0 auto;min-height:36px;margin:0 6px 0 0;padding:0 10px;border:0;border-radius:7px;background:#eff0ed;color:#414943;font-size:12px;font-weight:600;cursor:pointer}
.password-toggle:hover{background:#e5e8e3}
.field-help{margin:-2px 0 5px;color:#737b74;font-size:12px;line-height:1.5}
.form-status{min-height:20px;margin:0;color:#4f5950;font-size:13px;line-height:1.55}
.form-status:empty{display:none}
.form-status[data-state=error]{color:#963a35}
.form-status[data-state=success]{color:#305d40}
.back-link{display:inline-block;margin-top:23px;color:#353c36;font-size:13px;font-weight:600;text-decoration-color:#b8bdb6;text-underline-offset:4px}
.recovery-link-primary{margin:26px 0 5px}
@media(max-width:680px){body{padding:12px}.recovery-shell{display:block;min-height:0;border-radius:14px}.recovery-intro{display:block;padding:18px 20px}.recovery-intro>div,.recovery-intro>small{display:none}.recovery-card{padding:29px 20px 30px}}
@media(max-width:360px){body{padding:8px}.recovery-card{padding-inline:16px}}
