/* admin.css — console-specific styles, built on bios.css tokens/components */

.admin-stats-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.admin-stats { display: flex; flex-wrap: wrap; gap: 12px; }
.stat-card {
  background: var(--background-100); border: 1px solid var(--background-200); border-radius: var(--radius-lg);
  padding: 12px 18px; min-width: 150px; box-shadow: var(--shadow-sm);
}
.stat-value { font-size: 1.3rem; font-weight: 750; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.stat-label { font-size: var(--text-xs); color: var(--text-600); margin-top: 2px; }

.admin-section { margin-bottom: 36px; }
.admin-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.admin-section-head h2 { font-size: var(--text-lg); font-weight: 700; scroll-margin-top: 20px; }

.admin-table-wrap { background: var(--background-100); border: 1px solid var(--background-200); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.admin-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.admin-table th {
  text-align: left; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .05em; color: var(--text-500);
  padding: 11px 16px; border-bottom: 1px solid var(--background-200); background: var(--background-50);
}
.admin-table td { padding: 11px 16px; border-bottom: 1px solid var(--background-200); vertical-align: middle; }
.admin-table tr:last-child td { border-bottom: none; }
.admin-table tr:hover td { background: color-mix(in srgb, var(--primary-500) 4%, transparent); }
.row-disabled { opacity: .5; }

.user-cell { display: flex; align-items: center; gap: 10px; }
.avatar-sm { width: 26px; height: 26px; font-size: 10px; }
.user-cell-name { font-weight: 600; font-size: var(--text-sm); }
.user-cell-email { font-size: var(--text-xs); color: var(--text-500); }

.role-pill { font-size: var(--text-xs); font-weight: 650; padding: 3px 9px; border-radius: var(--radius-full); text-transform: uppercase; letter-spacing: .03em; }
.role-admin { background: color-mix(in srgb, var(--secondary-600) 20%, var(--background-50)); color: var(--secondary-700); }
.role-viewer { background: color-mix(in srgb, var(--primary-600) 18%, var(--background-50)); color: var(--primary-700); }
.role-executive { background: color-mix(in srgb, var(--accent-600) 20%, var(--background-50)); color: var(--accent-700); }

.grant-pill {
  display: inline-block; font-size: var(--text-xs); background: var(--background-200); border: 1px solid var(--background-300); border-radius: var(--radius-sm);
  padding: 2px 8px; margin: 2px 3px 2px 0;
}
.grant-pill-all { background: color-mix(in srgb, var(--accent-600) 15%, var(--background-50)); border-color: color-mix(in srgb, var(--accent-600) 40%, var(--background-50)); color: var(--accent-700); }
.note-inline { color: var(--text-500); font-size: var(--text-sm); }

.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 5px; }
.status-active { background: var(--up); }
.status-disabled { background: var(--down); }

.cache-pill { font-size: var(--text-xs); color: var(--text-500); background: var(--background-200); border-radius: var(--radius-sm); padding: 2px 7px; }
.cache-pill.hit { color: var(--accent-700); background: color-mix(in srgb, var(--accent-600) 15%, var(--background-50)); }

.actions-cell { white-space: nowrap; display: flex; gap: 5px; flex-wrap: wrap; }

.grants-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.grant-row {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: var(--background-50); border: 1px solid var(--background-200); border-radius: var(--radius-md); padding: 9px 12px; font-size: var(--text-sm);
}
.grant-add-form { border-top: 1px solid var(--background-200); padding-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.grant-add-form h3 { font-size: var(--text-md); font-weight: 700; }
