.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-content h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.75rem}.form-group{margin-bottom:1.25rem}.form-group-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;display:grid}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-group input,.form-group select{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast);padding:.75rem;font-size:1rem}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #5a67d81a}.form-group input::placeholder{color:var(--text-tertiary)}.field-hint{color:var(--text-secondary);margin-top:.25rem;font-size:.85rem;display:block}.error-message{color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-sm);background:#dc35451a;margin-top:1rem;padding:.75rem;font-size:.9rem}.form-actions{border-top:1px solid var(--border-color);gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.form-actions button{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:600}.form-actions button[type=submit]{background:var(--primary-color);color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:#4c5ab8;transform:translateY(-1px);box-shadow:0 4px 12px #5a67d84d}.form-actions button[type=button]{background:var(--secondary-color);color:#fff}.form-actions button[type=button]:hover:not(:disabled){background:#5a6578}.form-actions button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.modal-content{width:95%;padding:1.5rem}.form-group-row{grid-template-columns:1fr}.modal-content h2{font-size:1.5rem}}