.forgot-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;background:#0006;justify-content:center;align-items:center;padding:20px;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.forgot-modal-overlay.open{opacity:1;visibility:visible}.forgot-modal{background:var(--white);border-radius:20px;width:100%;max-width:400px;transition:transform .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;transform:scale(.95)translateY(20px);box-shadow:0 20px 60px #00000026,0 8px 25px #0000001a}.forgot-modal-overlay.open .forgot-modal{transform:scale(1)translateY(0)}.forgot-modal .modal-close{background:var(--bg-subtle);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .3s,color .3s,transform .3s;display:flex;position:absolute;top:16px;right:16px}.forgot-modal .modal-close:hover{background:var(--bg-hover);color:var(--text-primary);transform:rotate(90deg)}.forgot-modal .modal-content{text-align:center;flex-direction:column;align-items:center;padding:40px 32px 32px;display:flex}.forgot-modal .modal-icon{background:linear-gradient(135deg,var(--bg-subtle)0%,var(--bg-hover)100%);width:72px;height:72px;color:var(--accent-color);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.forgot-modal .modal-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:8px;font-size:1.5rem;font-weight:400}.forgot-modal .modal-subtitle{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:24px;font-size:.9rem;line-height:1.5}.forgot-form{flex-direction:column;gap:16px;width:100%;display:flex}.forgot-modal .form-field{text-align:left;flex-direction:column;gap:6px;display:flex}.forgot-modal .form-label{font-family:var(--font-body);color:var(--text-primary);font-size:.85rem;font-weight:500}.forgot-modal .input-wrapper{align-items:center;display:flex;position:relative}.forgot-modal .field-icon{color:var(--text-muted);pointer-events:none;transition:color .3s;position:absolute;left:14px}.forgot-modal .form-field:focus-within .field-icon{color:var(--accent-color)}.forgot-modal .form-field.error .field-icon{color:#dc2626}.forgot-modal .form-field.valid .field-icon{color:#10b981}.forgot-modal .form-input{width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--white);border:1.5px solid var(--border-color);border-radius:12px;outline:none;padding:14px 44px;font-size:16px;transition:border-color .3s,box-shadow .3s}.forgot-modal .form-input::placeholder{color:var(--text-muted)}.forgot-modal .form-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #54545514}.forgot-modal .form-field.error .form-input{background:#fef2f2;border-color:#dc2626}.forgot-modal .form-field.valid .form-input{border-color:#10b981}.forgot-modal .validation-icon{color:#10b981;position:absolute;right:14px}.forgot-modal .error-message{font-family:var(--font-body);color:#dc2626;opacity:0;min-height:0;max-height:0;font-size:.8rem;transition:all .3s;overflow:hidden}.forgot-modal .error-message.visible{opacity:1;min-height:18px;max-height:36px}.forgot-modal .submit-btn{width:100%;font-family:var(--font-body);color:var(--white);background:var(--text-primary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:.95rem;font-weight:600;transition:background-color .3s,transform .2s,box-shadow .3s;display:flex;box-shadow:0 4px 15px #00000026}.forgot-modal .submit-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0003}.forgot-modal .submit-btn svg{transition:transform .3s}.forgot-modal .submit-btn:hover svg{transform:translate(4px)}.back-to-login{font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:.9rem;transition:color .3s;display:flex}.back-to-login:hover{color:var(--text-primary)}.back-to-login svg{transition:transform .3s}.back-to-login:hover svg{transform:translate(-4px)}.loading-state{justify-content:center;min-height:280px}.loading-spinner{justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;display:flex;position:relative}.spinner-ring{border:3px solid var(--border-light);border-top-color:var(--accent-color);border-radius:50%;width:100%;height:100%;animation:1s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.spinner-icon{color:var(--accent-color);animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.loading-state .modal-subtitle{margin-bottom:0}.success-state .success-icon{color:#10b981;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;animation:.4s cubic-bezier(.4,0,.2,1) scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.email-sent-to{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:16px;padding:12px 20px;display:flex}.email-sent-to svg{color:var(--text-muted);flex-shrink:0}.email-sent-to span{font-family:var(--font-body);color:var(--text-primary);word-break:break-all;font-size:.9rem;font-weight:500}.success-note{font-family:var(--font-body);color:var(--text-muted);margin-bottom:24px;font-size:.8rem}.success-state .submit-btn{margin-top:0}.error-state .error-icon{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;animation:.5s ease-in-out shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.error-actions{flex-direction:column;gap:12px;width:100%;display:flex}.retry-btn{width:100%;font-family:var(--font-body);color:var(--white);background:var(--text-primary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:.95rem;font-weight:600;transition:background-color .3s,transform .2s;display:flex}.retry-btn:hover{background:var(--accent-hover);transform:translateY(-2px)}.retry-btn svg{transition:transform .3s}.retry-btn:hover svg{transform:rotate(-45deg)}.cancel-btn{width:100%;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:12px 24px;font-size:.9rem;font-weight:500;transition:color .3s;display:flex}.cancel-btn:hover{color:var(--text-primary)}@media (max-width:480px){.forgot-modal-overlay{align-items:flex-end;padding:16px}.forgot-modal{border-radius:20px 20px 0 0;max-width:100%}.forgot-modal .modal-content{padding:32px 24px 28px}.forgot-modal .modal-icon{width:64px;height:64px;margin-bottom:20px}.forgot-modal .modal-title{font-size:1.35rem}}
