.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:var(--modal-width,480px);background-color:var(--bg-card,#1a1b26);border:1px solid var(--border-color,#ffffff1a);border-radius:0;flex-direction:column;animation:.2s ease-out modalZoomIn;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem .5rem;display:flex}.modal-title{color:var(--text-primary,#fff);margin-bottom:.25rem;font-size:1.25rem;font-weight:700;line-height:1.2}.modal-description{color:var(--text-secondary,#a1a1aa);font-size:.875rem}.modal-close-btn{color:var(--text-secondary,#a1a1aa);cursor:pointer;background:0 0;border:none;border-radius:0;padding:.25rem;transition:all .15s}.modal-close-btn:hover{background-color:var(--bg-hover,#ffffff0d);color:var(--text-primary,#fff)}.modal-body{padding:1.5rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-form{flex-direction:column;gap:1rem;display:flex}.modal-field{flex-direction:column;gap:.375rem;display:flex}.modal-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.modal-input-wrapper{position:relative}.modal-input-icon{width:1rem;height:1rem;color:var(--text-secondary);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.modal-input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background-color:#0000;border-radius:0;padding:.625rem 1rem .625rem 2.5rem;font-size:.875rem;transition:all .2s}.modal-input::placeholder{color:var(--text-secondary);opacity:.6}.modal-input:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #a1deee1a}.modal-actions{gap:.75rem;padding-top:.5rem;display:flex}.modal-btn{cursor:pointer;border-radius:0;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.modal-btn-cancel{border:1px solid var(--border-color);color:var(--text-secondary);background-color:#0000}.modal-btn-cancel:hover{background-color:var(--bg-hover)}.modal-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.modal-btn-primary{background-color:var(--btn-primary);color:#fff;border:none}.modal-btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover)}.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-btn-danger{color:#fff;background-color:#dc2626;border:none;box-shadow:0 4px 6px -1px #dc262633}.modal-btn-danger:hover:not(:disabled){background-color:#ef4444}.modal-btn-danger:disabled{opacity:.5;cursor:not-allowed}.modal-btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-role-grid{grid-template-columns:1fr;gap:.5rem;display:grid}.modal-role-option{border:1px solid var(--border-color);cursor:pointer;border-radius:0;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.modal-role-option:hover{background-color:var(--bg-hover)}.modal-role-option.active{background-color:var(--btn-primary-hover);border-color:var(--accent-color)}.modal-role-icon{border-radius:0;padding:.5rem;transition:all .2s}.modal-role-option .modal-role-icon{background-color:var(--bg-hover);color:var(--text-secondary)}.modal-role-option.active .modal-role-icon{background-color:var(--accent-color);color:#fff}.modal-role-icon svg{width:1rem;height:1rem}.modal-role-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.modal-role-option.active .modal-role-label{color:var(--accent-color)}.modal-role-desc{color:var(--text-primary);font-size:.75rem;line-height:1.2}.modal-status{border-radius:0;margin-bottom:1rem;padding:.75rem;font-size:.875rem;font-weight:500}.modal-status.success{color:#22c55e;background-color:#22c55e1a;border:1px solid #22c55e33}.modal-status.error{color:#ef4444;background-color:#ef44441a;border:1px solid #ef444433}
