:root{--primary:#2157E5;--primary-hover:#1849C9;--navy:#031A4A;--text:#172033;--secondary:#475569;--muted:#8492A6;--border:#DFE7F2;--danger:#D94B56;--danger-bg:#FFF0F1;--success:#0F9F91;--success-bg:#E7F8F5}*{box-sizing:border-box}body{margin:0;font-family:"Inter",sans-serif;color:var(--text);background:#fff}.recovery-shell{display:grid;grid-template-columns:55% 45%;min-height:100vh}.recovery-visual{display:flex;align-items:flex-end;padding:64px;background:#06245C url("../../images/auth/banking-security-hero-v2.png") center/cover no-repeat;position:relative}.recovery-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(3,26,74,.92))}.recovery-visual-copy{position:relative;z-index:1;max-width:600px;color:#fff}.recovery-visual-copy span,.recovery-context{display:block;margin:0 0 12px;color:#3FC5C0;font-size: 11px;line-height:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.recovery-visual-copy h1{margin:0 0 12px;font-size: 28.8px;line-height:40px}.recovery-visual-copy p{margin:0;color:rgba(255,255,255,.8);font-size: 13.5px;line-height:24px}.recovery-panel{padding:40px clamp(48px,6vw,96px);display:flex;flex-direction:column}.recovery-brand{display:flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none}.recovery-brand i{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:var(--primary);border-radius:8px}.recovery-form-wrap{width:100%;max-width:520px;margin:auto}.recovery-form-wrap h2{margin:0 0 8px;color:#10234B;font-size: 28.8px;line-height:40px}.recovery-subtitle{margin:0 0 32px;color:var(--secondary);font-size: 12.6px;line-height:22px}.recovery-field{margin-bottom:20px}.recovery-field label{display:block;margin-bottom:8px;color:#26324A;font-size: 11.7px;font-weight:600}.recovery-input{height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #CBD7E5;border-radius:8px;background:#fff;transition:border .18s,box-shadow .18s}.recovery-input:focus-within{border-color:#2F6BFF;box-shadow:0 0 0 3px rgba(47,107,255,.12)}.recovery-input.is-error{border-color:var(--danger)}.recovery-input>i{color:var(--muted)}.recovery-input input{flex:1;min-width:0;border:0;outline:0;color:var(--text);font:14px/22px "Inter",sans-serif}.toggle-password{width:40px;height:40px;border:0;background:none;color:var(--secondary);cursor:pointer}.recovery-submit{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;background:var(--primary);color:#fff;font:600 14px "Inter",sans-serif;cursor:pointer;transition:background .18s,transform .18s}.recovery-submit:hover{background:var(--primary-hover);transform:translateY(-1px)}.recovery-submit:disabled{opacity:.7;cursor:not-allowed}.recovery-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.recovery-submit.is-loading .recovery-spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}.recovery-back{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;color:var(--primary);font-size: 11.7px;text-decoration:none}.recovery-alert{display:flex;gap:10px;margin-bottom:20px;padding:12px 14px;border:1px solid #F2C2C8;border-radius:8px;background:var(--danger-bg);color:#B73645;font-size: 11.7px;line-height:18px}.recovery-alert.is-success{border-color:#BDE8E1;background:var(--success-bg);color:#087E85}.field-error{margin:6px 0 0;color:var(--danger);font-size: 11px}:focus-visible{outline:3px solid rgba(47,107,255,.3);outline-offset:2px}@media(max-width:900px){.recovery-shell{display:block}.recovery-visual{display:none}.recovery-panel{min-height:100vh;padding:32px 24px}.recovery-form-wrap{margin:auto}.recovery-form-wrap h2{font-size: 23.4px;line-height:34px}}
