:root{--up-bg-primary:#fff;--up-bg-secondary:#f8fafc;--up-bg-tertiary:#f1f5f9;--up-text-primary:#1e293b;--up-text-secondary:#475569;--up-text-muted:#64748b;--up-border:#e2e8f0;--up-border-light:#f1f5f9;--up-brand:#3b82f6;--up-brand-hover:#2563eb;--up-brand-light:#eff6ff;--up-success:#16a34a;--up-success-light:#dcfce7;--up-warning:#d97706;--up-warning-light:#fef3c7;--up-danger:#dc2626;--up-danger-light:#fee2e2;--up-purple:#4f46e5;--up-purple-light:#e0e7ff;--up-shadow:#0000000d;--up-shadow-md:#0000001a}@media (prefers-color-scheme:dark){:root{--up-bg-primary:#1e293b;--up-bg-secondary:#0f172a;--up-bg-tertiary:#334155;--up-text-primary:#f1f5f9;--up-text-secondary:#cbd5e1;--up-text-muted:#94a3b8;--up-border:#334155;--up-border-light:#1e293b;--up-brand:#60a5fa;--up-brand-hover:#3b82f6;--up-brand-light:#1e3a5f;--up-success:#34d399;--up-success-light:#064e3b;--up-warning:#fbbf24;--up-warning-light:#78350f;--up-danger:#f87171;--up-danger-light:#7f1d1d;--up-purple:#a855f7;--up-purple-light:#4c1d95;--up-shadow:#0003;--up-shadow-md:#0000004d}}.dark-mode{--up-bg-primary:#1e293b;--up-bg-secondary:#0f172a;--up-bg-tertiary:#334155;--up-text-primary:#f1f5f9;--up-text-secondary:#cbd5e1;--up-text-muted:#94a3b8;--up-border:#334155;--up-border-light:#1e293b;--up-brand:#60a5fa;--up-brand-hover:#3b82f6;--up-brand-light:#1e3a5f;--up-success:#34d399;--up-success-light:#064e3b;--up-warning:#fbbf24;--up-warning-light:#78350f;--up-danger:#f87171;--up-danger-light:#7f1d1d;--up-purple:#a855f7;--up-purple-light:#4c1d95;--up-shadow:#0003;--up-shadow-md:#0000004d}.light-mode{--up-bg-primary:#fff;--up-bg-secondary:#f8fafc;--up-bg-tertiary:#f1f5f9;--up-text-primary:#1e293b;--up-text-secondary:#475569;--up-text-muted:#64748b;--up-border:#e2e8f0;--up-border-light:#f1f5f9;--up-brand:#3b82f6;--up-brand-hover:#2563eb;--up-brand-light:#eff6ff;--up-success:#16a34a;--up-success-light:#dcfce7;--up-warning:#d97706;--up-warning-light:#fef3c7;--up-danger:#dc2626;--up-danger-light:#fee2e2;--up-purple:#4f46e5;--up-purple-light:#e0e7ff;--up-shadow:#0000000d;--up-shadow-md:#0000001a}.users-page{background:var(--up-bg-primary);border-radius:12px;min-height:100%;padding:1.5rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.page-header h2{color:var(--up-text-primary);margin:0;font-size:1.5rem;font-weight:600}.btn-primary{background:var(--up-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.btn-primary:hover{background:var(--up-brand-hover);transform:translateY(-1px)}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex}.spinner{border:3px solid var(--up-border);border-top-color:var(--up-brand);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-container{border:1px solid var(--up-border);border-radius:12px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.9rem}.users-table th{text-align:left;background:var(--up-bg-secondary);border-bottom:2px solid var(--up-border);color:var(--up-text-muted);padding:1rem;font-weight:600}.users-table td{border-bottom:1px solid var(--up-border);vertical-align:middle;color:var(--up-text-secondary);padding:1rem}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background:var(--up-bg-tertiary)}.user-cell{width:30%}.user-info{align-items:center;gap:.75rem;display:flex}.user-icon{background:var(--up-bg-tertiary);width:40px;height:40px;color:var(--up-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.user-icon.admin{background:var(--up-warning-light);color:var(--up-warning)}.user-icon.manager{background:var(--up-brand-light);color:var(--up-brand)}.user-icon.staff{background:var(--up-purple-light);color:var(--up-purple)}.user-icon.agent{background:var(--up-success-light);color:var(--up-success)}.user-icon.dispatcher{background:var(--up-bg-tertiary);color:var(--up-text-muted)}.user-name{color:var(--up-text-primary);font-weight:500}.user-email,.user-date{color:var(--up-text-muted);font-size:.85rem}.role-badge{text-transform:capitalize;border-radius:20px;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.role-badge.admin{background:var(--up-warning-light);color:var(--up-warning)}.role-badge.manager{background:var(--up-brand-light);color:var(--up-brand)}.role-badge.staff{background:var(--up-purple-light);color:var(--up-purple)}.role-badge.agent{background:var(--up-success-light);color:var(--up-success)}.role-badge.dispatcher{background:var(--up-bg-tertiary);color:var(--up-text-muted)}.actions{gap:.5rem;display:flex}.btn-edit,.btn-delete{cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:all .2s}.btn-edit{background:var(--up-brand-light);border:1px solid var(--up-brand);color:var(--up-brand)}.btn-edit:hover{background:var(--up-brand);color:#fff}.btn-delete{background:var(--up-danger-light);border:1px solid var(--up-danger);color:var(--up-danger)}.btn-delete:hover{background:var(--up-danger);color:#fff}.empty{text-align:center;color:var(--up-text-muted);padding:3rem!important}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--up-bg-primary);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--up-shadow-md);border-radius:16px;animation:.3s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--up-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{color:var(--up-text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600;display:flex}.modal-close{cursor:pointer;color:var(--up-danger);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.25rem;transition:color .2s;display:flex}.modal-close:hover{color:var(--up-danger);opacity:.8}.user-form{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--up-text-primary);font-size:.875rem;font-weight:500}.form-group input{border:1px solid var(--up-border);background:var(--up-bg-primary);color:var(--up-text-primary);border-radius:8px;padding:.7rem .875rem;font-size:.9rem;transition:all .2s}.form-group input:focus{border-color:var(--up-brand);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:var(--up-text-muted)}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:.5rem;display:flex}.btn-save,.btn-cancel{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-save{background:var(--up-brand);color:#fff}.btn-save:hover{background:var(--up-brand-hover)}.btn-cancel{background:var(--up-bg-tertiary);color:var(--up-text-secondary)}.btn-cancel:hover{background:var(--up-border)}@media (max-width:1024px){.users-page{padding:1rem}.users-table th,.users-table td{padding:.75rem}.user-date,.users-table th:nth-child(4),.users-table td:nth-child(4){display:none}}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.btn-primary{justify-content:center;width:100%}.users-table th:nth-child(3),.users-table td:nth-child(3){display:none}.modal{max-width:95%;margin:1rem}.actions{flex-direction:column;gap:.3rem}.btn-edit,.btn-delete{justify-content:center;width:100%}}@media (max-width:480px){.users-page{padding:.75rem}.page-header h2{font-size:1.25rem}.users-table th,.users-table td{padding:.6rem;font-size:.8rem}.user-icon{width:32px;height:32px;font-size:.9rem}.user-name{font-size:.85rem}.user-email{font-size:.8rem}.role-badge{padding:.2rem .5rem;font-size:.7rem}.modal-header,.user-form{padding:1rem}.modal-actions{flex-direction:column}.btn-save,.btn-cancel{justify-content:center;width:100%}.form-group input{padding:.6rem .75rem;font-size:.85rem}}
