/* Users dashboard — builds on the shared admin chrome in admin.css. */
.snapshot-refresh { padding: 6px 10px; font-size: 12px; justify-self: start; }

.kpi-grid { grid-template-columns: repeat(6, 1fr); }
.kpi-grid article { position: relative; }
.kpi-grid strong { display: block; font-size: 26px; letter-spacing: -.02em; }
.kpi-grid small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.4; }

.tier-strip { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.tier-chip { padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); font-size: 12px; cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
.tier-chip strong { color: var(--text); font-weight: 600; margin-right: 4px; }
.tier-chip:hover { border-color: #4a586a; color: var(--text); }
.tier-chip.active { border-color: var(--accent-strong); background: #12281a; color: var(--accent); }
.tier-chip.banned strong { color: var(--danger); }

.row-count { color: var(--muted); font-size: 12px; align-self: center; }

/* Sortable headers */
.catalog-table th button { all: unset; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.catalog-table th button:hover { color: var(--text); }
.catalog-table th[aria-sort] button { color: var(--text); }
.catalog-table th[aria-sort="descending"] button::after { content: "↓"; }
.catalog-table th[aria-sort="ascending"] button::after { content: "↑"; }
.catalog-table td.num, .catalog-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.catalog-table th.num button { justify-content: flex-end; width: 100%; }
.catalog-table td.muted { color: var(--muted); }
.catalog-table tbody tr.is-banned .table-entity-name { color: #fda4af; }

.entity-line { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 4px; }
.mini-badge { padding: 2px 7px; border-radius: 999px; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; background: #232a34; color: var(--muted); }
.mini-badge.byok { background: #1f2a3f; color: #9ec5ff; }
.mini-badge.tier-expert, .mini-badge.tier-premium { background: #233029; color: var(--accent); }
.mini-badge.tier-pro { background: #2a2a3f; color: #c7c1ff; }
.mini-badge.tier-plus { background: #33301f; color: #fde68a; }
.mini-badge.tier-banned { background: #34232a; color: #fda4af; }

/* Meter: value + thin bar. Fill carries severity vs a limit; share-of-max uses the accent. */
.meter-cell { min-width: 150px; }
.meter { display: grid; gap: 5px; }
.meter-value { font-variant-numeric: tabular-nums; white-space: nowrap; }
.meter-sub { color: var(--muted); font-size: 11px; white-space: nowrap; }
.meter-track { height: 4px; border-radius: 4px; background: rgba(134, 239, 172, .14); overflow: hidden; }
.meter-fill { height: 100%; border-radius: 4px; background: var(--accent-strong); transition: width .3s; }
.meter.warn .meter-track { background: rgba(253, 230, 138, .16); }
.meter.warn .meter-fill { background: #fbbf24; }
.meter.danger .meter-track { background: rgba(251, 113, 133, .16); }
.meter.danger .meter-fill { background: var(--danger); }

.tier-select { height: 32px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; background: #0d1116; color: var(--text); }
.tier-select:focus { border-color: #3e8f5c; outline: none; box-shadow: 0 0 0 3px rgba(34, 197, 94, .1); }
.tier-select:disabled { opacity: .5; }

.tokens-split { color: var(--muted); font-size: 11px; }

@media (max-width: 1100px) { .kpi-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px) { .workspace-head { gap: 10px; } .tier-strip { justify-content: flex-start; } }
@media (max-width: 500px) { .kpi-grid { grid-template-columns: 1fr 1fr; } .kpi-grid strong { font-size: 22px; } .top-actions .ghost-button:not(:last-child) { display: none; } }
