/* Admin Tabulator — reusable dark-mode table for admin pages */

.admin-tabulator.tabulator {
  border: 1px solid var(--theme-border);
  border-radius: var(--border-radius-lg);
  background: var(--theme-bg);
  font-family: inherit;
  overflow: hidden;
}

.admin-tabulator.tabulator .tabulator-header {
  background: var(--theme-bg-muted);
  border-bottom: 1px solid var(--theme-border);
}

.admin-tabulator.tabulator .tabulator-header .tabulator-col {
  background: transparent;
  border-right: none;
  padding: var(--spacing-sm);
}

.admin-tabulator.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover {
  background: var(--theme-bg-subtle);
}

.admin-tabulator.tabulator .tabulator-header .tabulator-col .tabulator-col-title {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--theme-text-secondary);
}

.admin-tabulator.tabulator .tabulator-tableholder .tabulator-table .tabulator-row {
  background: var(--theme-bg);
  border-bottom: 1px solid var(--theme-border);
}

.admin-tabulator.tabulator .tabulator-tableholder .tabulator-table .tabulator-row:hover,
.admin-tabulator.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-selectable:hover {
  background: var(--theme-bg-subtle);
}

.admin-tabulator.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell {
  padding: var(--spacing-md);
  font-size: var(--font-size-sm);
  color: var(--theme-text);
}

/* Clickable rows */
.admin-tabulator.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-row-clickable {
  cursor: pointer;
}

/* Checklist — a binary version of the dashboard's meters, for the places where
   a thing is either set up or it is not */
.checklist { display: flex; flex-direction: column; gap: var(--spacing-xs); }
.checklist-item { display: flex; align-items: baseline; gap: var(--spacing-md); padding: var(--spacing-sm) 0; border-bottom: 1px solid var(--theme-border-subtle); }
.checklist-item:last-child { border-bottom: none; }
.checklist-mark { display: flex; align-items: center; color: var(--color-primary); }
.checklist-label { color: var(--theme-text); }
.checklist-detail { color: var(--theme-text-muted); font-size: var(--font-size-sm); margin-left: auto; text-align: right; }
.checklist-item-off .checklist-mark { color: var(--theme-text-faint); }
.checklist-item-off .checklist-label { color: var(--theme-text-muted); }

/* Risks — the few things worth acting on, said plainly */
.risk-list { display: flex; flex-direction: column; gap: var(--spacing-sm); }
.risk-item { display: flex; align-items: baseline; gap: var(--spacing-md); padding: var(--spacing-md); border-radius: var(--border-radius-sm); border-left: 2px solid var(--theme-border); background: var(--theme-bg-subtle); }
.risk-item-warning { border-left-color: var(--color-warning); }
.risk-item-danger { border-left-color: var(--color-danger); }
.risk-label { font-weight: var(--font-weight-semibold); white-space: nowrap; }
.risk-detail { color: var(--theme-text-muted); font-size: var(--font-size-sm); }
