:root { --ink:#071f1e; --lime:#a8f500; --muted:#667876; --line:#dce3da; --danger:#bd302e; }
        * { box-sizing:border-box; }
        html, body { min-height:100%; }
        body { margin:0; color:var(--ink); background:radial-gradient(circle at 92% 5%,rgba(168,245,0,.15),transparent 28rem),linear-gradient(135deg,#f7f8f4,#eef3ea); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
        .recovery-page { min-height:100vh; display:grid; place-items:center; padding:28px 16px; }
        .recovery-card { width:min(520px,100%); overflow:hidden; border:1px solid rgba(7,31,30,.1); border-radius:28px; background:#fff; box-shadow:0 28px 80px rgba(7,31,30,.13); }
        .recovery-head { padding:30px 34px 28px; color:#fff; background:radial-gradient(circle at 100% 0,rgba(168,245,0,.14),transparent 18rem),linear-gradient(145deg,#061d1c,#0d3531); }
        .recovery-brand img { display:block; width:auto; height:58px; max-width:220px; object-fit:contain; }
        .recovery-kicker { display:block; margin-top:26px; color:var(--lime); font-size:12px; font-weight:800; letter-spacing:.08em; }
        .recovery-head h1 { margin:8px 0; color:#f4fff4; font-size:31px; line-height:1.1; letter-spacing:-.035em; text-shadow:0 1px 14px rgba(255,255,255,.08); }
        .recovery-head p { margin:0; color:#b8cbc6; font-size:14px; line-height:1.6; }
        .recovery-body { padding:32px 34px 34px; }
        .form-label { margin-bottom:8px; color:#213b39; font-size:13px; font-weight:750; }
        .form-control { min-height:54px; border:1px solid var(--line); border-radius:14px; background:#f8faf7; padding:12px 15px; color:var(--ink); font-size:15px; box-shadow:none!important; }
        .form-control:focus { border-color:#83ba0b; background:#fff; box-shadow:0 0 0 4px rgba(168,245,0,.14)!important; }
        .recovery-button { width:100%; min-height:54px; display:flex; align-items:center; justify-content:center; gap:9px; border:0; border-radius:14px; background:var(--lime); color:#061c1a; font-weight:800; box-shadow:0 14px 28px rgba(124,181,0,.2); }
        .recovery-button:hover { background:#b5ff18; }
        .recovery-alert { margin-bottom:20px; padding:15px 16px; border-radius:14px; font-size:14px; line-height:1.55; }
        .recovery-alert.success { border:1px solid #cfe5b1; background:#f1fadf; color:#315207; }
        .recovery-alert.error, .validation-summary-errors { border:1px solid #f2c5c4; background:#fff5f4; color:var(--danger); }
        .validation-summary-errors { margin-bottom:20px; padding:13px 15px; border-radius:13px; font-size:13px; }
        .validation-summary-errors ul { margin:0; padding-left:18px; }
        .field-validation-error { display:block; margin-top:7px; color:var(--danger); font-size:12px; }
        .recovery-links { display:flex; align-items:center; justify-content:center; gap:8px; margin:22px 0 0; color:var(--muted); font-size:13px; }
        .recovery-links a { color:#426600; font-weight:800; text-decoration:none; }
        .recovery-links a:hover { color:#071f1e; }
        @media (max-width:520px) { .recovery-card { border-radius:22px; } .recovery-head,.recovery-body { padding-left:24px; padding-right:24px; } }
