body:not([data-role="superadmin"]) .superadmin-only,
body[data-role="admin"] #configuracion .settings-grid > button:not(:first-child),
body[data-role="manager"] .nav-item[data-view="configuracion"],
body[data-role="viewer"] .nav-item[data-view="configuracion"],
body:not([data-role="superadmin"]) .nav-item[data-view="facturacion"],
body:not([data-role="superadmin"]) [data-view-link="facturacion"],
body[data-role="viewer"] #quickAdd,
body[data-role="viewer"] [data-modal="memberModal"],
body[data-role="viewer"] [data-modal="importMembersModal"],
body[data-role="viewer"] [data-modal="subscriptionModal"],
body[data-role="viewer"] [data-modal="subscriptionTypeModal"],
body[data-role="viewer"] .row-actions,
body[data-role="viewer"] .sheet-actions,
body[data-role="viewer"] .center-quick,
body[data-role="viewer"] #centerDetailModal .status-actions,
body[data-role="viewer"] #memberEditForm .modal-actions,
body[data-role="viewer"] #newCenter,
body[data-role="viewer"] #addCenter {
  display: none !important;
}

.access-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: #f4eafa;
  color: #6f248b;
  font-size: 12px;
  font-weight: 700;
}

.rbac-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.rbac-table-wrap {
  overflow-x: auto;
  border: 1px solid #eadfeb;
  border-radius: 12px;
}

.rbac-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.rbac-table th,
.rbac-table td {
  padding: 11px 12px;
  border-bottom: 1px solid #eee5ef;
  text-align: left;
  vertical-align: middle;
}

.rbac-table th {
  background: #faf7fb;
  color: #655769;
  font-size: 12px;
}

.rbac-table tr:last-child td {
  border-bottom: 0;
}

.rbac-actions {
  display: flex;
  gap: 7px;
  justify-content: flex-end;
}

.rbac-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.rbac-form .full {
  grid-column: 1 / -1;
}

.rbac-centers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 7px;
}

.rbac-centers label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid #e8dce9;
  border-radius: 9px;
}

.rbac-note {
  padding: 11px 13px;
  margin-bottom: 15px;
  border-radius: 10px;
  background: #f8f3f9;
  color: #67586a;
}

@media (max-width: 680px) {
  .rbac-form,
  .rbac-centers {
    grid-template-columns: 1fr;
  }
  .rbac-form .full {
    grid-column: auto;
  }
}
