.modal-overlay{z-index:9999;background-color:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{color:#333;background-color:#f0f0f0}.modal-header{text-align:center;border-bottom:1px solid #e0e0e0;padding:40px 40px 20px}.modal-icon{color:#007bff;margin-bottom:16px}.modal-header h2{color:#333;margin:0 0 8px;font-size:24px;font-weight:600}.modal-header p{color:#666;margin:0;font-size:14px}.modal-form{padding:30px 40px 40px}.modal-description{color:#666;margin:0 0 24px;font-size:14px;line-height:1.5}.form-group{margin-bottom:20px}.form-group label{color:#333;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500;display:flex}.form-group label svg{color:#007bff}.form-group input{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:16px;transition:all .2s}.form-group input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff1a}.form-group input:disabled{cursor:not-allowed;opacity:.6;background-color:#f5f5f5}.form-group input::placeholder{color:#999}.alert{border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:14px;line-height:1.5;display:flex}.alert svg{flex-shrink:0;margin-top:2px}.alert-error{color:#c33;background-color:#fee;border:1px solid #fcc}.alert-error svg{color:#c33}.modal-actions{gap:12px;margin-top:24px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:500;transition:all .2s;display:flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background-color:#007bff}.btn-primary:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:#333;background-color:#f0f0f0}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-block{width:100%}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-info{color:#666;background-color:#f8f9fa;border-radius:8px;align-items:center;gap:8px;margin-top:20px;padding:12px;font-size:13px;display:flex}.modal-info svg{color:#007bff;flex-shrink:0}.success-message{text-align:center;padding:40px}.success-icon{margin-bottom:24px;animation:.4s ease-out scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.success-icon svg{color:#28a745}.success-message h3{color:#333;margin:0 0 24px;font-size:22px;font-weight:600}.success-details{flex-direction:column;gap:12px;margin:24px 0;display:flex}.success-item{color:#666;background-color:#f8f9fa;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:12px;font-size:14px;display:flex}.success-item svg{color:#28a745}.success-item strong{color:#333}.success-note{color:#666;margin:24px 0;font-size:14px;line-height:1.5}@media (max-width:600px){.modal-content{border-radius:16px 16px 0 0;max-height:85vh}.modal-header{padding:30px 24px 20px}.modal-form,.success-message{padding:24px}.modal-actions{flex-direction:column}.btn{width:100%}}@media (prefers-color-scheme:dark){.modal-content{color:#e0e0e0;background:#1e1e1e}.modal-header{border-color:#333}.modal-header h2,.modal-header p,.form-group label,.success-message h3,.success-item strong{color:#e0e0e0}.modal-close{color:#999}.modal-close:hover{color:#fff;background-color:#333}.form-group input{color:#e0e0e0;background-color:#2a2a2a;border-color:#444}.form-group input:focus{border-color:#007bff}.btn-secondary{color:#e0e0e0;background-color:#333}.btn-secondary:hover:not(:disabled){background-color:#444}.modal-info,.success-item{background-color:#2a2a2a}}
