.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:linear-gradient(135deg,#ffffff1a,#ffffff08);border:1px solid #ffffff26;border-radius:1.5rem;width:100%;max-width:440px;padding:2.5rem;animation:.3s slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:.5rem;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:#ffffffe6}.modal-header{text-align:center;margin-bottom:2rem}.modal-header h2{margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.modal-header p{color:#fff9;font-size:.9375rem}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.modal-form .form-group{flex-direction:column;gap:.5rem;display:flex}.modal-form .form-group label{color:#fffc;font-size:.875rem;font-weight:500}.modal-form .form-group input{color:var(--foreground);background:#0000004d;border:1px solid #ffffff1a;border-radius:.75rem;padding:1rem;font-size:1rem;transition:border-color .3s}.modal-form .form-group input::placeholder{color:#ffffff4d}.modal-form .form-group input:focus{border-color:var(--primary);outline:none}.modal-form .form-group input:disabled{opacity:.6;cursor:not-allowed}.modal-form .btn-primary{text-align:center;width:100%;margin-top:.5rem}.modal-form .btn-primary:disabled{opacity:.7;cursor:not-allowed}.modal-error{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:.75rem;padding:.875rem 1rem;font-size:.875rem}.modal-success{text-align:center;padding:1rem 0}.modal-success .success-icon{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 1.5rem;display:flex}.modal-success .success-icon svg{color:#000;width:2rem;height:2rem}.modal-success h3{margin-bottom:.75rem;font-size:1.5rem;font-weight:600}.modal-success p{color:#fff9;margin-bottom:2rem}.modal-success .btn-primary{width:100%}@media (max-width:480px){.modal-card{padding:2rem 1.5rem}.modal-header h2{font-size:1.25rem}}
