.user-cell { display: flex; align-items: center; gap: 10px; }
.user-name { font-weight: 500; }
.user-email { font-size: 12px; color: var(--c-text-secondary); }

.users-table tbody td { vertical-align: middle; }

.role-badge.role-super_admin { background: rgba(124,58,237,0.1); color: var(--c-purple); border: 1px solid rgba(124,58,237,0.3); }
.role-badge.role-admin       { background: rgba(26,58,92,0.08);  color: var(--c-navy);   border: 1px solid rgba(26,58,92,0.25); }
.role-badge.role-manager     { background: var(--c-blue-light);  color: var(--c-blue);   border: 1px solid #c8dcfe; }
.role-badge.role-technician  { background: var(--c-teal-light);  color: var(--c-teal);   border: 1px solid #a7e1d8; }
.role-badge.role-dispatcher  { background: var(--c-amber-light); color: var(--c-amber);  border: 1px solid #f5d6a3; }
.role-badge.role-billing     { background: rgba(190,24,93,0.08); color: #be185d;         border: 1px solid #f5b6cf; }
.role-badge.role-readonly    { background: var(--c-bg-hover);    color: var(--c-text-secondary); border: 1px solid var(--c-border); }

.toggle-switch {
  position: relative; display: inline-block;
  width: 36px; height: 20px;
}
.toggle-switch input {
  opacity: 0; width: 0; height: 0;
}
.toggle-track {
  position: absolute; cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #d1d5db;
  border-radius: 999px;
  transition: 0.15s;
}
.toggle-track::before {
  position: absolute; content: "";
  height: 14px; width: 14px;
  left: 3px; bottom: 3px;
  background: white; border-radius: 999px;
  transition: 0.15s;
}
.toggle-switch input:checked + .toggle-track { background: var(--c-navy); }
.toggle-switch input:checked + .toggle-track::before { transform: translateX(16px); }
.override-dot {
  position: absolute; top: -4px; right: -4px;
  width: 8px; height: 8px; border-radius: 999px;
  background: var(--c-amber); border: 2px solid white;
}

.permission-grid {
  width: 100%; border-collapse: collapse;
}
.permission-grid th, .permission-grid td {
  padding: 8px 10px; border-bottom: 1px solid var(--c-border);
  text-align: center;
}
.permission-grid th { font-weight: 600; color: var(--c-text-secondary); font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; background: var(--c-bg-hover); }
.permission-grid td:first-child, .permission-grid th:first-child { text-align: left; padding-left: 14px; }
.permission-grid tr:hover td { background: var(--c-bg-hover); }

.two-col-form {
  display: grid; grid-template-columns: 2fr 1fr; gap: 16px;
}
.two-col-form > .card { margin: 0; }
@media (max-width: 800px) {
  .two-col-form { grid-template-columns: 1fr; }
}
.toggle-row {
  display: flex; align-items: center; gap: 10px; cursor: pointer;
  padding: 8px 0; font-size: 13px;
}

.danger-zone {
  border-color: #f5c2c2; background: #fef7f7;
}
.danger-zone .card-title { color: var(--c-red); }

.filter-bar {
  display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
  margin-bottom: 16px;
}

/* ── System SLA row in admin list ──────────────────────────── */
.sla-system-row { opacity: 0.85; }
.sla-system-row td { color: var(--c-text-muted); }
.system-badge {
  display: inline-block;
  font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .04em; padding: 1px 6px;
  border-radius: 3px;
  background: var(--c-bg-hover);
  border: 1px solid var(--c-border);
  color: var(--c-text-muted);
  margin-left: 6px; vertical-align: middle;
}

/* License status badges (effective_status) */
.lic-active    { background:#e8f5e9; color:#2e7d32; border:1px solid #a5d6a7; }
.lic-suspended { background:#fdeaea; color:#e24b4a; border:1px solid #fca5a5; }
.lic-expired   { background:#f3f4f6; color:#6b7280; border:1px solid #e5e7eb; }
.lic-trial     { background:#eff6ff; color:#2563eb; border:1px solid #bfdbfe; }
