/* Platform admin site (admin.frissbi.com). Layout on top of /shared/theme.css and /portal/portal.css;
   theme tokens only. */

.admin-chips { display: flex; flex-wrap: wrap; gap: var(--fr-space-1-5); align-items: center; }
.admin-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fr-space-2) var(--fr-space-3); }

/* A destructive action: error ink on the surface, never white on red. */
.portal .admin-btn-danger { color: var(--fr-error-ink); border-color: var(--fr-error-border); }
.portal .admin-btn-danger:hover { background: var(--fr-error-tint); border-color: var(--fr-error-ink); }

.admin-seats { display: flex; flex-direction: column; gap: var(--fr-space-1); min-width: 120px; }
.admin-seats .portal-meter { max-width: 160px; }
.admin-seats-text { font-variant-numeric: tabular-nums; white-space: nowrap; }

.admin-callout {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--fr-space-3);
  padding: var(--fr-space-4);
  border: 1px dashed var(--fr-border-hover);
  border-radius: var(--fr-radius-lg);
  background: var(--fr-accent-tint);
}
.admin-callout p { max-width: 560px; color: var(--fr-text-secondary); }

.admin-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--fr-space-3); }
.admin-small { font-size: 12px; line-height: 16px; color: var(--fr-text-muted); }
.admin-nowrap { white-space: nowrap; }
.admin-fit { display: inline-flex; gap: var(--fr-space-1); flex-wrap: wrap; }
.admin-meta { display: flex; flex-wrap: wrap; gap: var(--fr-space-1) var(--fr-space-2); font-size: 12px; color: var(--fr-text-secondary); }
.admin-meta span { white-space: nowrap; }
.admin-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--fr-space-2); margin-top: var(--fr-space-2); }
.admin-dialog-text { color: var(--fr-text-secondary); }
.admin-stack { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.admin-stats-wide { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
