.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1976d240;z-index:1000;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;padding:20px;box-sizing:border-box}.modal{background:#fff;color:#333;padding:48px 40px 36px;border-radius:24px;box-shadow:0 20px 60px #1976d24d,0 8px 32px #0000001f;z-index:1001;min-width:420px;max-width:540px;width:100%;max-height:calc(100vh - 40px);overflow-y:auto;border:2px solid rgba(144,202,249,.3);transition:all .3s ease;box-sizing:border-box}@media (max-width: 600px){.modal{min-width:90vw;max-width:98vw;padding:32px 24px 24px;border-radius:20px}}.edit-modal{background:linear-gradient(135deg,#f8faff,#e8f4fd,#f0f8ff);border:2px solid #90caf9;box-shadow:0 24px 80px #1976d240,0 12px 40px #0000001a;min-width:560px;max-width:720px;padding:56px 48px 40px;border-radius:28px;position:relative;overflow:hidden;max-height:calc(100vh - 40px);overflow-y:auto}.edit-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1976d2,#42a5f5,#90caf9);border-radius:28px 28px 0 0}@media (max-width: 700px){.edit-modal{min-width:96vw;max-width:99vw;padding:32px 24px 24px;border-radius:24px}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h3{margin-top:0;font-size:1.4em;color:#1976d2;letter-spacing:.5px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#a0aec0;padding:8px;border-radius:12px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.close-btn:hover{background:#1976d21a;color:#1976d2;transform:scale(1.1)}.modal-form{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media (max-width: 900px){.form-row{grid-template-columns:1fr 1fr;gap:20px}}@media (max-width: 600px){.form-row{grid-template-columns:1fr;gap:16px}}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#1976d2;font-size:.95em;letter-spacing:.3px}.form-control{width:100%;padding:14px 16px;border:2px solid #e3f2fd;border-radius:12px;font-size:1em;background:#fffc;transition:all .3s ease;box-sizing:border-box}.form-control:focus{border:2px solid #1976d2;outline:none;box-shadow:0 0 0 4px #1976d21a;background:#fff;transform:translateY(-1px)}.form-control::placeholder{color:#9ca3af;font-style:italic}textarea.form-control{resize:vertical;min-height:80px;max-height:200px;font-family:inherit}select.form-control{cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;color:#1976d2;padding:8px 0}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:#1976d2;border-radius:4px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(25,118,210,.1)}.modal-actions button{padding:12px 28px;border-radius:12px;border:none;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;background:#1976d2;color:#fff;box-shadow:0 4px 12px #1976d233;display:flex;align-items:center;gap:8px;min-width:100px;justify-content:center;letter-spacing:.3px}.modal-actions button[type=button]{background:#f8f9fa;color:#6c757d;border:2px solid #e9ecef;box-shadow:0 2px 8px #0000001a}.modal-actions button:hover,.modal-actions button:focus{background:#1565c0;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #1976d24d}.modal-actions button[type=button]:hover,.modal-actions button[type=button]:focus{background:#e9ecef;color:#495057;border-color:#adb5bd;transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.modal-actions button:active{transform:translateY(0)}.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid #ffffff;border-radius:50%;border-top-color:transparent;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message,.success-message{margin-bottom:16px;font-size:1em;font-weight:500;padding:12px 16px;border-radius:8px;border-left:4px solid}.error-message{color:#d32f2f;background:#f443361a;border-left-color:#d32f2f}.success-message{color:#388e3c;background:#4caf501a;border-left-color:#388e3c}@media (max-width: 768px){.modal-actions{flex-direction:column;gap:12px}.modal-actions button{width:100%;padding:14px 24px}}.text-center{text-align:center}.mb-0{margin-bottom:0}.mt-16{margin-top:16px}.p-0{padding:0}
