.password-recovery { position:relative; min-height:100vh; padding-top:var(--rd-header-height); overflow:hidden; background:var(--rd-bg); color:var(--rd-text); isolation:isolate; }
.password-recovery__glow { position:absolute; z-index:-1; width:34rem; height:34rem; border-radius:50%; filter:blur(4px); opacity:.18; pointer-events:none; }
.password-recovery__glow--one { top:-15rem; left:-10rem; background:var(--rd-primary); }
.password-recovery__glow--two { right:-14rem; bottom:-18rem; background:var(--rd-accent); }
.password-recovery__layout { display:grid; grid-template-columns:minmax(320px,.9fr) minmax(460px,1.1fr); width:min(1180px,calc(100% - 48px)); min-height:calc(100vh - var(--rd-header-height) - 48px); margin:24px auto; overflow:hidden; border:1px solid var(--rd-border); border-radius:30px; background:var(--rd-surface); box-shadow:var(--rd-shadow); }
.password-recovery__intro { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(32px,5vw,64px); color:#fff; background:linear-gradient(150deg,color-mix(in srgb,var(--rd-primary-dark) 90%,#071426),color-mix(in srgb,var(--rd-primary) 78%,#071426)); }
.password-recovery__brand { display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none; }
.password-recovery__brand-mark { display:grid; width:48px; height:48px; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.24); border-radius:15px; background:rgba(255,255,255,.96); }
.password-recovery__brand-mark img { width:38px; height:38px; object-fit:contain; }
.password-recovery__brand strong,.password-recovery__brand small { display:block; }
.password-recovery__brand strong { font-size:1rem; font-weight:850; }
.password-recovery__brand small { color:rgba(255,255,255,.68); font-size:.7rem; }
.password-recovery__intro-copy { margin:70px 0 48px; }
.password-recovery__eyebrow { display:inline-flex; align-items:center; gap:7px; margin-bottom:18px; padding:7px 11px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.1); font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.password-recovery__intro h1 { max-width:500px; margin:0 0 18px; color:#fff; font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.05em; }
.password-recovery__intro p { max-width:510px; margin:0; color:rgba(255,255,255,.76); font-size:.96rem; line-height:1.75; }
.password-recovery__assurances { display:grid; gap:18px; margin:0; padding:0; list-style:none; }
.password-recovery__assurances li { display:flex; align-items:flex-start; gap:13px; }
.password-recovery__assurances li>i { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; border-radius:12px; background:rgba(255,255,255,.12); color:#fff; }
.password-recovery__assurances strong,.password-recovery__assurances small { display:block; }
.password-recovery__assurances strong { color:#fff; font-size:.82rem; }
.password-recovery__assurances small { margin-top:2px; color:rgba(255,255,255,.62); font-size:.7rem; line-height:1.5; }
.password-recovery__main { display:grid; place-items:center; padding:clamp(28px,6vw,76px); background:color-mix(in srgb,var(--rd-surface) 96%,transparent); }
.password-recovery__card { width:min(100%,520px); }
.password-recovery__mobile-brand { display:none; }
.password-recovery__heading { margin-bottom:28px; }
.password-recovery__step { display:inline-flex; margin-bottom:12px; color:var(--rd-primary); font-size:.7rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.password-recovery__heading h2 { margin:0 0 10px; color:var(--rd-text); font-size:clamp(1.65rem,3vw,2.2rem); letter-spacing:-.04em; }
.password-recovery__heading p { margin:0; color:var(--rd-muted); font-size:.88rem; line-height:1.65; }
.password-recovery__notice { display:flex; align-items:flex-start; gap:10px; margin-bottom:20px; padding:13px 14px; border:1px solid; border-radius:14px; font-size:.8rem; line-height:1.5; }
.password-recovery__notice--success { border-color:color-mix(in srgb,var(--rd-success) 34%,var(--rd-border)); background:color-mix(in srgb,var(--rd-success) 10%,var(--rd-surface)); color:var(--rd-success); }
.password-recovery__notice--error { border-color:color-mix(in srgb,var(--rd-danger) 34%,var(--rd-border)); background:color-mix(in srgb,var(--rd-danger) 10%,var(--rd-surface)); color:var(--rd-danger); }
.password-recovery__field { display:grid; gap:8px; }
.password-recovery__field label { margin:0; color:var(--rd-text); font-size:.78rem; font-weight:800; }
.password-recovery__field>small { color:var(--rd-muted); font-size:.7rem; }
.password-recovery__input-wrap { position:relative; }
.password-recovery__input-wrap>i { position:absolute; top:50%; left:15px; color:var(--rd-muted); transform:translateY(-50%); pointer-events:none; }
.password-recovery input { width:100%; min-height:50px; border:1px solid var(--rd-border); border-radius:14px; outline:0; background:var(--rd-surface-2); color:var(--rd-text); font:inherit; font-size:.86rem; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.password-recovery__input-wrap input { padding:11px 14px 11px 43px; }
.password-recovery input::placeholder { color:var(--rd-muted); opacity:.72; }
.password-recovery input:focus { border-color:color-mix(in srgb,var(--rd-primary) 62%,var(--rd-border)); background:var(--rd-surface); box-shadow:0 0 0 4px color-mix(in srgb,var(--rd-primary) 12%,transparent); }
.password-recovery__submit { display:flex; width:100%; min-height:50px; align-items:center; justify-content:center; gap:10px; margin-top:20px; border:0; border-radius:14px; background:linear-gradient(135deg,var(--rd-primary),var(--rd-primary-2)); color:#fff; font:inherit; font-size:.84rem; font-weight:850; box-shadow:0 12px 26px color-mix(in srgb,var(--rd-primary) 25%,transparent); cursor:pointer; transition:transform .18s ease,filter .18s ease; }
.password-recovery__submit:hover { filter:brightness(1.06); transform:translateY(-1px); }
.password-recovery__submit:disabled { cursor:wait; opacity:.7; transform:none; }
.password-recovery__submit.is-loading i { animation:recoveryPulse .7s ease-in-out infinite alternate; }
.password-recovery__label-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.password-recovery__label-row button { padding:0; border:0; background:none; color:var(--rd-primary); font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }
.password-recovery__code { padding:10px 16px; text-align:center; font-size:1.25rem!important; font-weight:850!important; letter-spacing:.38em; }
.password-recovery__password-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.password-recovery__back { margin-top:24px; padding-top:22px; border-top:1px solid var(--rd-border); text-align:center; }
.password-recovery__back a { display:inline-flex; align-items:center; gap:8px; color:var(--rd-muted); font-size:.78rem; font-weight:750; text-decoration:none; }
.password-recovery__back a:hover { color:var(--rd-primary); }
[data-theme="dark"] .password-recovery__main { background:color-mix(in srgb,var(--rd-surface) 97%,#000); }
[data-theme="dark"] .password-recovery__intro { background:linear-gradient(150deg,#14245b,#0b1639); }
@keyframes recoveryPulse { to { transform:translateX(4px); } }
@media (max-width:860px) { .password-recovery__layout { grid-template-columns:1fr; width:min(620px,calc(100% - 32px)); } .password-recovery__intro { display:none; } .password-recovery__main { padding:48px clamp(24px,7vw,54px); } .password-recovery__mobile-brand { display:block; margin-bottom:32px; } .password-recovery__mobile-brand img { width:auto; height:48px; } }
@media (max-width:520px) { .password-recovery__layout { width:100%; min-height:calc(100vh - var(--rd-header-height)); margin:0; border:0; border-radius:0; } .password-recovery__main { align-items:start; padding:38px 22px; } .password-recovery__password-grid { grid-template-columns:1fr; } }
