:root{
  --rec-bg1:#0b1220;
  --rec-bg2:#0f1b33;
  --rec-text:#e6edf7;
  --rec-muted:#a9b6cc;
  --rec-line:rgba(255,255,255,.10);
  --rec-accent:#7c3aed;
  --rec-accent2:#22c55e;
  --rec-danger:#ef4444;
  --rec-shadow:0 18px 60px rgba(0,0,0,.45);
  --rec-radius:20px;
}
*{box-sizing:border-box}
body.recovery-page{
  margin:0;
  min-height:100vh;
  color:var(--rec-text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:
    radial-gradient(1200px 800px at 15% 10%,rgba(124,58,237,.35),transparent 55%),
    radial-gradient(1000px 700px at 90% 15%,rgba(34,197,94,.16),transparent 55%),
    linear-gradient(180deg,var(--rec-bg1),var(--rec-bg2));
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.recovery-shell{width:100%;max-width:960px;display:grid;grid-template-columns:1.05fr 1fr;gap:18px;align-items:stretch}
.recovery-hero,.recovery-card{border:1px solid var(--rec-line);border-radius:var(--rec-radius);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));box-shadow:var(--rec-shadow);overflow:hidden}
.recovery-hero{padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:470px;position:relative}
.recovery-brand{display:flex;align-items:center;gap:13px}.recovery-logo{width:58px;height:58px;object-fit:cover;border-radius:15px;border:1px solid var(--rec-line);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.recovery-brand strong{display:block;font-size:18px}.recovery-brand span{display:block;color:var(--rec-muted);font-size:12px;margin-top:3px}
.recovery-hero-copy{padding:20px 0}.recovery-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;border:1px solid rgba(124,58,237,.35);background:rgba(124,58,237,.12);color:#ddd6fe;font-size:12px;font-weight:750;margin-bottom:16px}
.recovery-hero h1{font-size:31px;line-height:1.14;margin:0 0 12px;letter-spacing:-.025em}.recovery-hero p{color:var(--rec-muted);line-height:1.6;margin:0;max-width:520px}
.recovery-meta{display:flex;flex-wrap:wrap;gap:8px}.recovery-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--rec-line);border-radius:999px;background:rgba(255,255,255,.03);font-size:12px;color:#c6d1e1}
.recovery-card{display:flex;flex-direction:column}.recovery-card-head{padding:22px 22px 17px;border-bottom:1px solid var(--rec-line);background:rgba(0,0,0,.09)}.recovery-card-head h2{margin:0;font-size:19px}.recovery-card-head p{margin:5px 0 0;color:var(--rec-muted);font-size:13px;line-height:1.45}.recovery-card-body{padding:22px;flex:1;display:flex;flex-direction:column}
.recovery-field{margin-bottom:14px}.recovery-field label{display:block;font-size:12px;font-weight:750;color:#cbd5e1;margin-bottom:7px}.recovery-input-wrap{position:relative}.recovery-input{width:100%;height:48px;border-radius:12px;border:1px solid var(--rec-line);background:rgba(8,17,31,.72);color:#fff;padding:0 13px;font:inherit;outline:none;transition:.2s ease}.recovery-input.has-toggle{padding-right:48px}.recovery-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(124,58,237,.14)}.recovery-input::placeholder{color:#6f8099}.password-toggle{position:absolute;right:7px;top:7px;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#9eb0c8;cursor:pointer;font-size:15px}.password-toggle:hover{background:rgba(255,255,255,.06);color:#fff}
.recovery-button{width:100%;min-height:48px;border:1px solid #8b5cf6;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font:inherit;font-weight:800;cursor:pointer;padding:11px 15px;box-shadow:0 10px 24px rgba(124,58,237,.20);transition:.2s ease}.recovery-button:hover{transform:translateY(-1px);filter:brightness(1.05)}.recovery-button:disabled{opacity:.55;cursor:wait;transform:none}
.recovery-status{display:none;margin:14px 0 0;padding:11px 12px;border:1px solid var(--rec-line);border-radius:11px;font-size:13px;line-height:1.45}.recovery-status.show{display:block}.recovery-status.info{background:rgba(56,189,248,.08);border-color:rgba(56,189,248,.28);color:#bae6fd}.recovery-status.ok{background:rgba(34,197,94,.09);border-color:rgba(34,197,94,.30);color:#bbf7d0}.recovery-status.error{background:rgba(239,68,68,.09);border-color:rgba(239,68,68,.32);color:#fecaca}
.recovery-note{font-size:12px;line-height:1.5;color:var(--rec-muted);margin-top:13px}.recovery-note strong{color:#d9e3f0}.recovery-actions{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.recovery-link{color:#c4b5fd;text-decoration:none;font-size:13px;font-weight:750}.recovery-link:hover{text-decoration:underline}.recovery-security{font-size:11px;color:#73859e;text-align:right}
.password-meter{height:5px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:7px}.password-meter span{display:block;height:100%;width:0;background:#f59e0b;transition:.2s ease}.password-meter[data-level="2"] span{width:45%}.password-meter[data-level="3"] span{width:72%;background:#38bdf8}.password-meter[data-level="4"] span{width:100%;background:#22c55e}.password-meter-text{font-size:11px;color:var(--rec-muted);margin-top:5px}
.recovery-invalid{display:grid;place-items:center;text-align:center;min-height:260px}.recovery-invalid-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin-bottom:14px;background:rgba(239,68,68,.11);border:1px solid rgba(239,68,68,.30);font-size:27px}.recovery-invalid h3{font-size:20px;margin:0 0 7px}.recovery-invalid p{color:var(--rec-muted);line-height:1.5;margin:0 0 18px;max-width:390px}
@media(max-width:820px){.recovery-shell{grid-template-columns:1fr;max-width:620px}.recovery-hero{min-height:auto}.recovery-hero-copy{padding:28px 0}.recovery-hero h1{font-size:27px}}
@media(max-width:520px){body.recovery-page{padding:14px}.recovery-hero{padding:21px}.recovery-card-head,.recovery-card-body{padding:18px}.recovery-actions{align-items:flex-start;flex-direction:column}.recovery-security{text-align:left}}
