/* AuroraDocs Admin stylesheet.
   Palette, type scale, spacing, and radii come from the shared token package;
   this file only maps them onto the admin's native HTML. See apps/admin/DESIGN.md.
   Edit packages/design-tokens for shared palette changes. */
@import url('/aurora-tokens/tokens.css');

/* ------------------------------------------------------------------ */
/* Admin tokens: aliases onto the shared scale. No colour literals.    */
/* ------------------------------------------------------------------ */
:root[data-app="admin"] {
  --admin-font-sans: ui-sans-serif, system-ui, -apple-system, sans-serif;
  --admin-font-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
  --accent-contrast: var(--accent-text);
  --status-chip-red-fg: var(--danger-ink);
  --status-chip-green-fg: var(--success-ink);
  --status-chip-amber-fg: var(--warning-ink);

  /* Type: one page title, one section title, one body size, one meta size. */
  --admin-type-page: var(--text-display);
  --admin-type-section: var(--text-lg);
  --admin-type-metric: var(--text-title);
  --admin-type-body: var(--text-body);
  --admin-type-ui: var(--text-ui);
  --admin-type-meta: var(--text-sm);
  --admin-type-kicker: var(--text-sm);
  --admin-type-nav: var(--text-ui);
  --admin-type-code: var(--text-sm);

  /* Geometry */
  --admin-sidebar-width: 240px;
  --admin-page-max: 1180px;
  --admin-gutter: var(--space-8);
  --admin-section-gap: var(--space-10);
  --admin-radius-panel: var(--radius-lg);
  --admin-radius-control: var(--radius-md);
  --admin-radius-pill: var(--radius-full);
  --admin-control-height: 34px;
  --admin-control-height-sm: 28px;
  --admin-row-height: 44px;

  /* Surfaces */
  --admin-rule: var(--border-strong);
  --admin-rule-soft: var(--border);
  --admin-panel-bg: var(--panel);
  --admin-table-head-bg: var(--panel);
  /* Panels are flat, like the main app; elevation is for floating layers. */
  --admin-panel-shadow: none;
  /* Same values as the main app's --shadow-lg (apps/web/src/index.css). */
  --admin-dialog-shadow: 0 8px 24px rgb(0 0 0 / 0.12), 0 3px 8px rgb(0 0 0 / 0.07);
}

:root[data-app="admin"].dark {
  --admin-dialog-shadow: 0 8px 24px rgb(0 0 0 / 0.5);
}

/* ------------------------------------------------------------------ */
/* Base                                                                */
/* ------------------------------------------------------------------ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

html {
  -webkit-text-size-adjust: 100%;
  scrollbar-color: var(--scrollbar-thumb) transparent;
  scrollbar-width: thin;
}

body {
  margin: 0;
  background: var(--content-bg);
  color: var(--text-1);
  font-family: var(--admin-font-sans);
  font-size: var(--admin-type-body);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6, p, dl, dd, figure, pre, blockquote {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: 600;
  line-height: var(--leading-tight);
}

a {
  color: var(--accent-ink);
  text-decoration: none;
  text-underline-offset: 2px;
}

a:hover {
  text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

img,
svg {
  display: block;
  max-width: 100%;
}

code,
kbd,
pre,
samp {
  font-family: var(--admin-font-mono);
}

kbd {
  display: inline-flex;
  align-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border: 1px solid var(--admin-rule);
  border-radius: var(--radius-xs);
  background: var(--panel);
  color: var(--text-3);
  font-size: var(--text-xs);
  line-height: 1;
}

hr {
  border: 0;
  border-top: 1px solid var(--admin-rule-soft);
  margin: 0;
}

::selection {
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  color: inherit;
}

.dark ::selection {
  background: color-mix(in srgb, var(--accent) 30%, transparent);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[hidden] {
  display: none !important;
}

.admin-skip-link {
  position: absolute;
  left: var(--space-3);
  top: -100px;
  z-index: 100;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--admin-radius-control);
  background: var(--panel);
  box-shadow: var(--admin-dialog-shadow);
}

.admin-skip-link:focus {
  top: var(--space-3);
}

/* ------------------------------------------------------------------ */
/* Shell                                                               */
/* ------------------------------------------------------------------ */
.admin-shell {
  display: grid;
  grid-template-columns: var(--admin-sidebar-width) minmax(0, 1fr);
  height: 100dvh;
}

.admin-sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: var(--sidebar-bg);
  border-right: 1px solid var(--admin-rule-soft);
}

.admin-sidebar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4) var(--space-4) var(--space-2);
}

.admin-brand {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  color: var(--text-1);
}

.admin-brand:hover {
  text-decoration: none;
}

.admin-logo-mark {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  flex: none;
}

.admin-logo-mark--large {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.admin-brand__title {
  font-size: var(--admin-type-ui);
  font-weight: 600;
  white-space: nowrap;
}

.admin-brand__title span {
  color: var(--text-3);
  font-weight: 500;
}

.admin-sidebar-search {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  height: 32px;
  margin: var(--space-1) var(--space-3) var(--space-3);
  padding: 0 var(--space-2) 0 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-3);
  font-size: var(--admin-type-ui);
}

.admin-sidebar-search:hover {
  border-color: var(--border-strong);
  color: var(--text-2);
  text-decoration: none;
}

.admin-sidebar-search span {
  flex: 1;
}

.admin-sidebar-search__icon {
  width: 15px;
  height: 15px;
}

.admin-sidebar__nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0 var(--space-3) var(--space-4);
  overscroll-behavior: contain;
}

.admin-nav-group {
  margin-top: var(--space-3);
}

.admin-nav-group__label {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  height: 26px;
  padding: 0 var(--space-2);
  border-radius: var(--radius-sm);
  color: var(--text-3);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.admin-nav-group__label::-webkit-details-marker {
  display: none;
}

.admin-nav-group__label::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: 0;
  transition: opacity var(--motion-fast, 120ms) ease, transform var(--motion-fast, 120ms) ease;
}

.admin-nav-group:not([open]) > .admin-nav-group__label::after {
  transform: rotate(-45deg);
}

.admin-nav-group__label:hover {
  color: var(--text-2);
}

.admin-nav-group__label:hover::after,
.admin-nav-group:not([open]) > .admin-nav-group__label::after {
  opacity: 1;
}

.admin-nav-group__items {
  display: grid;
  gap: 1px;
}

/* Rows match the main app's `.sidebar-item`: 4px × 8px, 6px corners, and the
   filled row alone marks the current page. */
.admin-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 4px 8px;
  border-radius: 6px;
  color: var(--text-2);
  font-size: calc(14px * 0.93 * var(--font-scale));
  line-height: 1.35;
  transition: color 150ms;
}

.admin-nav-item:hover {
  background: var(--hover);
  color: var(--text-1);
  text-decoration: none;
}

.admin-nav-item--active,
.admin-nav-item--active:hover {
  background: var(--active);
  color: var(--text-1);
  font-weight: 500;
}

.admin-nav-item__icon {
  display: inline-flex;
  flex: none;
  color: var(--text-3);
}

.admin-nav-item--active .admin-nav-item__icon {
  color: var(--text-1);
}

.admin-nav-icon {
  width: 16px;
  height: 16px;
}

.admin-nav-item__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-sidebar__footer {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border-top: 1px solid var(--admin-rule-soft);
}

.admin-account {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.admin-account form {
  margin: 0;
}

.admin-account__avatar {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  flex: none;
  border-radius: var(--radius-full);
  background: var(--accent-quiet);
  color: var(--accent-ink);
  font-size: var(--text-xs);
  font-weight: 600;
}

.admin-account__email {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--text-2);
  font-size: var(--admin-type-meta);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-icon-button {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: none;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-3);
  cursor: pointer;
}

.admin-icon-button:hover {
  background: var(--hover-bg);
  color: var(--text-1);
  text-decoration: none;
}

.admin-icon-button svg {
  width: 16px;
  height: 16px;
}

.admin-theme-control {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  padding: 2px;
  border-radius: var(--radius-md);
  background: var(--chip-bg);
}

.admin-theme-control__choice {
  display: grid;
  place-items: center;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-3);
  cursor: pointer;
}

.admin-theme-control__choice svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-theme-control__choice:hover {
  color: var(--text-1);
}

.admin-theme-control__choice[aria-pressed="true"] {
  background: var(--surface);
  color: var(--text-1);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--ink-pole) 8%, transparent);
}

.admin-nav-close,
.admin-nav-scrim,
.admin-mobilebar {
  display: none;
}

.admin-main {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  scroll-padding-top: var(--space-6);
}

.admin-page {
  width: 100%;
  max-width: calc(var(--admin-page-max) + 2 * var(--admin-gutter));
  margin: 0 auto;
  padding: var(--space-8) var(--admin-gutter) var(--space-10);
}

.admin-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  padding-bottom: var(--space-6);
  margin-bottom: var(--space-8);
  border-bottom: 1px solid var(--admin-rule-soft);
}

.admin-page-header__text {
  display: grid;
  gap: var(--space-1);
  min-width: 0;
}

.admin-page-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.admin-page-title {
  font-size: var(--admin-type-page);
  font-weight: 650;
  letter-spacing: -0.015em;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.admin-page-subtitle {
  color: var(--text-3);
  font-size: var(--admin-type-body);
  max-width: 72ch;
}

.admin-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 2px;
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-breadcrumbs__link {
  color: var(--text-3);
}

.admin-breadcrumbs__link:hover {
  color: var(--text-1);
}

.admin-breadcrumbs__separator {
  opacity: 0.5;
}

.admin-content {
  display: grid;
  gap: var(--admin-section-gap);
  min-width: 0;
}

.admin-content > * {
  min-width: 0;
}

/* ------------------------------------------------------------------ */
/* Command palette                                                     */
/* ------------------------------------------------------------------ */
.admin-command-backdrop {
  width: min(600px, calc(100vw - 32px));
  max-width: none;
  max-height: min(560px, calc(100dvh - 120px));
  margin: 12vh auto auto;
  padding: 0;
  border: 1px solid var(--border-strong);
  border-radius: 0.75rem;
  background: var(--content-bg);
  color: var(--text-1);
  box-shadow: var(--admin-dialog-shadow);
  overflow: hidden;
}

.admin-command-backdrop::backdrop {
  background: var(--overlay-backdrop);
}

.admin-command-palette {
  display: flex;
  flex-direction: column;
  max-height: inherit;
}

.admin-command-palette__search-form {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 0 var(--space-4);
  border-bottom: 1px solid var(--admin-rule-soft);
}

.admin-command-palette__search-icon {
  width: 18px;
  height: 18px;
  color: var(--text-3);
}

.admin-command-palette__input {
  flex: 1;
  height: 52px;
  border: 0;
  background: transparent;
  color: var(--text-1);
  font: inherit;
  font-size: var(--text-lg);
}

.admin-command-palette__input:focus,
.admin-command-palette__input:focus-visible {
  outline: none;
}

.admin-command-palette__results {
  display: grid;
  gap: 1px;
  min-height: 0;
  padding: var(--space-2);
  overflow-y: auto;
}

.admin-command-palette__results a {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: 38px;
  padding: 0 var(--space-3);
  border-radius: var(--admin-radius-control);
  color: var(--text-1);
  font-size: var(--admin-type-ui);
}

.admin-command-palette__results a:hover,
.admin-command-palette__results a:focus-visible {
  background: var(--hover-bg);
  text-decoration: none;
  outline: none;
}

.admin-command-palette__results a:not([hidden]):first-of-type {
  background: var(--selected-bg);
}

.admin-command-palette__results strong {
  font-weight: 500;
}

.admin-command-palette__results small {
  margin-left: auto;
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-command-item__icon {
  display: inline-flex;
  color: var(--text-3);
}

.admin-command-palette__empty,
.admin-command-palette__hint {
  padding: var(--space-3) var(--space-4);
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-command-palette__hint {
  border-top: 1px solid var(--admin-rule-soft);
}

/* ------------------------------------------------------------------ */
/* Typography helpers                                                  */
/* ------------------------------------------------------------------ */
.admin-section-title {
  font-size: var(--admin-type-section);
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

h3.admin-section-title,
h4.admin-section-title,
legend.admin-section-title,
.admin-subpanel .admin-section-title,
.admin-section-card .admin-section-card .admin-section-title {
  font-size: var(--admin-type-body);
}

/* Small context line above a title. Sentence case, quiet. */
.admin-kicker {
  color: var(--text-3);
  font-size: var(--admin-type-kicker);
  font-weight: 500;
  line-height: 1.4;
}

.admin-text-meta,
.admin-helper-text,
.admin-grid-cell-meta,
.admin-table-note {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  line-height: 1.5;
}

.admin-helper-text {
  max-width: 80ch;
  color: var(--text-2);
  font-size: var(--admin-type-ui);
}

.admin-text-meta--warn {
  color: var(--warning-ink);
}

.admin-text-danger,
.admin-field-error {
  color: var(--danger-ink);
}

.admin-field-error {
  font-size: var(--admin-type-meta);
}

.admin-detail-label {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  font-weight: 500;
  line-height: 1.4;
}

.admin-code,
.admin-mono {
  font-family: var(--admin-font-mono);
  font-size: var(--admin-type-code);
  overflow-wrap: anywhere;
}

.admin-code {
  padding: 1px 5px;
  border-radius: var(--radius-xs);
  background: var(--chip-bg);
  color: var(--text-1);
}

pre .admin-code,
.admin-code-block code {
  padding: 0;
  background: none;
}

.admin-code-block,
.admin-error-detail,
.admin-template-code-card pre {
  max-height: 420px;
  margin: 0;
  padding: var(--space-3) var(--space-4);
  overflow: auto;
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-control);
  background: var(--surface);
  color: var(--text-1);
  font-size: var(--admin-type-code);
  line-height: 1.6;
  white-space: pre;
}

.admin-link {
  color: var(--accent-ink);
}

.admin-list {
  display: grid;
  gap: var(--space-1);
  margin: 0;
  padding-left: var(--space-5);
}

/* ------------------------------------------------------------------ */
/* Layout primitives                                                   */
/* ------------------------------------------------------------------ */
.admin-stack {
  display: grid;
  gap: var(--space-4);
  min-width: 0;
  align-content: start;
}

.admin-stack--tight,
.admin-stack--compact {
  gap: var(--space-2);
}

.admin-stack--lg {
  gap: var(--space-8);
}

.admin-row {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.admin-row--gap {
  gap: var(--space-3);
}

.admin-row--wrap {
  flex-wrap: wrap;
}

.admin-row--muted {
  color: var(--text-3);
}

.admin-grid {
  display: grid;
  gap: var(--space-4);
  min-width: 0;
}

.admin-grid > * {
  min-width: 0;
}

.admin-grid--cards,
.admin-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.admin-grid--mini {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-3);
}

.admin-grid--main,
.admin-grid--recovery {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
}

.admin-grid--roles-screen,
.admin-grid--roles-actions {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.admin-span-full {
  grid-column: 1 / -1;
}

.admin-actions,
.admin-toolbar-actions,
.admin-row-actions,
:not(td).admin-table__actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  min-width: 0;
}

.admin-row-actions,
:not(td).admin-table__actions {
  flex-wrap: nowrap;
}

td.admin-table__actions {
  width: 1%;
  white-space: nowrap;
}

td.admin-table__actions .admin-row-actions {
  justify-content: flex-end;
}

.admin-table__actions form,
.admin-row-actions form,
.admin-toolbar-actions form,
.admin-actions form {
  margin: 0;
}

/* ------------------------------------------------------------------ */
/* Sections                                                            */
/* Routine sections are flat: a header and content, separated by space. */
/* Panels with a border are for tables, forms, and selected records.    */
/* ------------------------------------------------------------------ */
.admin-section-card {
  display: grid;
  gap: var(--space-4);
  min-width: 0;
  align-content: start;
}

.admin-section-card .admin-section-card,
.admin-subpanel {
  padding: var(--space-5);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
  box-shadow: var(--admin-panel-shadow);
}

.admin-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3) var(--space-4);
  min-width: 0;
}

.admin-section-header > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-section-header > div:first-child > .admin-text-meta,
.admin-section-header > div:first-child > .admin-helper-text {
  margin-top: 2px;
}

.admin-section-header--wrap {
  flex-wrap: wrap;
}

.admin-section-header--spaced {
  margin-bottom: var(--space-2);
}

.admin-section-header .admin-toolbar-actions {
  justify-content: flex-end;
}

/* A section whose header carries chips: keep the chips small and quiet. */
.admin-section-header .admin-status-chip,
.admin-section-header .admin-badge {
  flex: none;
}

.admin-page-lead {
  display: flex;
  align-items: center;
  gap: var(--space-3) var(--space-4);
  flex-wrap: wrap;
  min-width: 0;
  margin: 0;
}

.admin-page-lead > p {
  flex: 1 1 320px;
  color: var(--text-2);
  font-size: var(--admin-type-body);
}

.admin-page-lead__search {
  flex: 1 1 320px;
}

/* ------------------------------------------------------------------ */
/* Metrics                                                             */
/* One bordered strip with hairline dividers, never a wall of cards.   */
/* ------------------------------------------------------------------ */
.admin-command-metrics,
.admin-grid--cards:has(> .admin-stat-card) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-rule-soft);
  box-shadow: var(--admin-panel-shadow);
}

.admin-command-metric,
.admin-stat-card {
  display: grid;
  gap: 2px;
  align-content: start;
  min-width: 0;
  padding: var(--space-4) var(--space-5);
  background: var(--admin-panel-bg);
}

.admin-command-metric dt,
.admin-stat-card__header,
.admin-stat-card__header .admin-kicker,
.admin-stat-card__header .admin-detail-label {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  font-weight: 500;
}

.admin-stat-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.admin-command-metric dd,
.admin-stat-card__value {
  margin: 0;
  color: var(--text-1);
  font-size: var(--admin-type-metric);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.admin-command-metric span,
.admin-stat-card__meta {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.admin-split-metric__value {
  font-size: var(--admin-type-metric);
  font-weight: 600;
}

/* Summary pills: a compact label/value pair used inside sections. */
.admin-summary-grid {
  display: grid;
  gap: var(--space-2);
}

.admin-summary-pill {
  display: grid;
  gap: 2px;
  align-content: start;
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-control);
  background: var(--admin-panel-bg);
}

.admin-summary-pill__label {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  font-weight: 500;
}

.admin-summary-pill strong {
  font-size: var(--admin-type-body);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.admin-summary-pill--green strong {
  color: var(--success-ink);
}

.admin-summary-pill--amber strong {
  color: var(--warning-ink);
}

.admin-summary-pill--red strong {
  color: var(--danger-ink);
}

.admin-summary-pill--neutral strong {
  color: var(--text-1);
}

/* ------------------------------------------------------------------ */
/* Property lists                                                      */
/* `.admin-grid--detail` children are label/value pairs. They render as  */
/* a two-column property list with hairlines, which scans far faster   */
/* than stacked uppercase labels.                                      */
/* ------------------------------------------------------------------ */
.admin-grid--detail,
.admin-key-value-grid,
.admin-aurora-ai-detail-grid,
.admin-compliance-meta-grid,
.admin-template-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 0 var(--space-8);
  margin: 0;
}

.admin-grid--detail > *,
.admin-key-value,
.admin-aurora-ai-detail,
.admin-compliance-meta-grid > *,
.admin-template-meta-grid > * {
  display: grid;
  grid-template-columns: minmax(110px, 38%) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: baseline;
  min-width: 0;
  padding: 9px 0;
  border-bottom: 1px solid var(--admin-rule-soft);
}

.admin-grid--detail > * > :first-child,
.admin-key-value__label,
.admin-aurora-ai-detail > :first-child {
  color: var(--text-3);
  font-size: var(--admin-type-ui);
  font-weight: 400;
}

.admin-grid--detail > * > :not(:first-child),
.admin-key-value__value,
.admin-aurora-ai-detail__value {
  grid-column: 2;
  min-width: 0;
  color: var(--text-1);
  font-size: var(--admin-type-ui);
  overflow-wrap: anywhere;
}

.admin-grid--detail > * > :not(:first-child) + :not(:first-child) {
  margin-top: 2px;
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-grid--detail > .admin-span-full {
  grid-column: 1 / -1;
}

/* ------------------------------------------------------------------ */
/* Chips and badges                                                    */
/* ------------------------------------------------------------------ */
.admin-status-chip,
.admin-badge,
.admin-tier-chip,
.admin-note-pill,
.admin-assigned {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  max-width: 100%;
  padding: 2px var(--space-2);
  border: 1px solid var(--chip-line);
  border-radius: var(--radius-sm);
  background: var(--chip-bg);
  color: var(--chip-ink);
  font-size: var(--text-xs);
  font-weight: 500;
  line-height: var(--leading-tight);
  white-space: nowrap;
  vertical-align: middle;
}

/* Chips match the main app's `Chip`: quiet fill, one line, ink text, no dot. */
.admin-status-chip--neutral {
  background: var(--chip-bg);
  color: var(--chip-ink);
}

.admin-status-chip--accent {
  background: color-mix(in srgb, var(--accent) 12%, var(--panel));
  color: var(--accent-ink);
  border-color: var(--accent-line);
}

.admin-status-chip--green {
  background: color-mix(in srgb, var(--success) 12%, var(--panel));
  color: var(--status-chip-green-fg);
  border-color: var(--success-line);
}

.admin-status-chip--amber {
  background: color-mix(in srgb, var(--warning) 12%, var(--panel));
  color: var(--status-chip-amber-fg);
  border-color: var(--warning-line);
}

.admin-status-chip--red {
  background: color-mix(in srgb, var(--danger) 12%, var(--panel));
  color: var(--status-chip-red-fg);
  border-color: var(--danger-line);
}

.admin-badge--neutral {
  color: var(--text-2);
}

.admin-badge--accent {
  border-color: var(--accent-line);
  background: var(--accent-quiet);
  color: var(--accent-ink);
}

.admin-badge--green {
  border-color: var(--success-line);
  background: var(--success-quiet);
  color: var(--success-ink);
}

.admin-tier-chip {
  font-weight: 600;
}

.admin-tier-chip--plus,
.admin-tier-chip--pro {
  background: var(--accent-quiet);
  color: var(--accent-ink);
}

.admin-tier-chip--internal {
  background: var(--warning-quiet);
  color: var(--warning-ink);
}

/* Filter chips are view switches: a segmented control. */
.admin-filter-chips {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  width: fit-content;
  max-width: 100%;
  padding: 2px;
  border-radius: var(--admin-radius-control);
  background: var(--hover-bg);
}

/* Matches the main app's `.aurora-segmented__option`. */
.admin-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.25rem 0.7rem;
  border-radius: calc(var(--radius-md) - 2px);
  color: var(--text-2);
  font-size: var(--text-ui);
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.admin-filter-chip:hover {
  color: var(--text-1);
  text-decoration: none;
}

.admin-filter-chip--active {
  background: var(--surface);
  color: var(--text-1);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--ink-pole) 8%, transparent);
}

.admin-filter-chips--summary {
  background: transparent;
  padding: 0;
  gap: var(--space-2);
}

/* ------------------------------------------------------------------ */
/* Buttons                                                             */
/* ------------------------------------------------------------------ */
/* Buttons match the main app's `.aurora-btn` variants: secondary is the
   default (surface fill, quiet text), primary and danger are solid, ghost is
   bare until hovered. */
.admin-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  height: var(--admin-control-height);
  padding: 0 0.875rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-2);
  font: inherit;
  font-size: var(--admin-type-ui);
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, filter 0.15s ease;
}

.admin-button:hover {
  border-color: var(--border-strong);
  background: var(--hover);
  color: var(--text-1);
  text-decoration: none;
}

.admin-button:active {
  background: var(--active);
}

.admin-button:disabled,
.admin-button[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}

.admin-button--primary,
.admin-button--accent {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-contrast);
}

.admin-button--primary:hover,
.admin-button--accent:hover {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-contrast);
  filter: brightness(1.08);
}

.admin-button--primary:active,
.admin-button--accent:active,
.admin-button--danger:active {
  filter: brightness(0.94);
}

.admin-button--ghost {
  border-color: transparent;
  background: transparent;
  color: var(--text-2);
}

.admin-button--ghost:hover {
  border-color: transparent;
  background: var(--hover);
  color: var(--text-1);
}

.admin-button--danger {
  border-color: var(--danger);
  background: var(--danger);
  color: var(--danger-text);
}

.admin-button--danger:hover {
  border-color: var(--danger);
  background: var(--danger);
  color: var(--danger-text);
  filter: brightness(1.08);
}

.admin-button--danger:focus-visible {
  outline-color: var(--danger);
}

.admin-button--small {
  height: var(--admin-control-height-sm);
  padding: 0 10px;
  font-size: var(--admin-type-meta);
}

.admin-button--full {
  width: 100%;
}

.admin-copy-button {
  margin-left: var(--space-1);
}

.admin-logout-icon {
  display: inline-flex;
}

/* ------------------------------------------------------------------ */
/* Forms                                                               */
/* ------------------------------------------------------------------ */
.admin-form,
.admin-record-form {
  display: grid;
  gap: var(--space-4);
  min-width: 0;
}

.admin-record-form {
  max-width: 840px;
}

.admin-form-grid,
.admin-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-5);
  min-width: 0;
}

.admin-form-field,
.admin-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  align-content: start;
}

.admin-field > span:first-child,
.admin-form-field > span:first-child,
.admin-field__label,
.admin-form-field > label {
  color: var(--text-1);
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-field--wide,
.admin-form-field--wide,
.admin-field--grow {
  grid-column: 1 / -1;
}

.admin-field--inline {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.admin-input,
.admin-select,
.admin-textarea,
.admin-path-field input {
  width: 100%;
  min-width: 0;
  height: var(--admin-control-height);
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-1);
  font: inherit;
  font-size: var(--admin-type-ui);
  line-height: 1.4;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.admin-input::placeholder,
.admin-textarea::placeholder {
  color: var(--text-3);
  opacity: 0.8;
}

.admin-input:hover,
.admin-select:hover,
.admin-textarea:hover {
  border-color: var(--border-strong);
}

/* Same as the main app's `.input-accent:focus`: the border turns accent. */
.admin-input:focus,
.admin-textarea:focus {
  border-color: var(--accent);
  outline: none;
}

/* Same as the main app's `.aurora-select:focus-visible`. */
.admin-select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.admin-input[readonly] {
  background: var(--surface);
  color: var(--text-2);
}

/* Mirrors the main app's `.aurora-select`. */
.admin-select {
  padding: 0 1.75rem 0 0.7rem;
  color: var(--text-2);
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--text-3) 50%), linear-gradient(135deg, var(--text-3) 50%, transparent 50%);
  background-position: right 0.85rem top 55%, right 0.6rem top 55%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.admin-select:hover {
  color: var(--text-1);
}

.admin-select[multiple] {
  height: auto;
  padding: var(--space-1);
  background-image: none;
}

.admin-textarea {
  height: auto;
  min-height: 0;
  padding: var(--space-2) 10px;
  line-height: 1.55;
  resize: vertical;
}

.admin-code-editor,
.admin-template-code-input,
.admin-template-variables-input {
  font-family: var(--admin-font-mono);
  font-size: var(--admin-type-code);
}

.admin-input--otp {
  height: 44px;
  font-family: var(--admin-font-mono);
  font-size: var(--text-lg);
  letter-spacing: 0.3em;
  text-align: center;
}

.admin-checkbox,
input[type="checkbox"],
input[type="radio"] {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: none;
  accent-color: var(--accent);
}

.admin-field--checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--admin-type-ui);
}

.admin-field--checkbox input {
  margin-top: 2px;
}

.admin-toggle-row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-control);
  background: var(--admin-panel-bg);
  cursor: pointer;
}

.admin-toggle-row input {
  margin-top: 2px;
}

.admin-toggle-row__body {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-toggle-row__title {
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-toggle-row__meta {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-model-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.admin-form-group {
  display: grid;
  gap: var(--space-4);
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.admin-form-group + .admin-form-group {
  padding-top: var(--space-6);
  border-top: 1px solid var(--admin-rule-soft);
}

.admin-form-group > legend {
  float: left;
  width: 100%;
  margin-bottom: var(--space-4);
  padding: 0;
}

.admin-form-group > legend + * {
  clear: both;
}

.admin-form-section {
  display: grid;
  gap: var(--space-3);
  min-width: 0;
}

.admin-form-section__header {
  display: grid;
  gap: 2px;
}

.admin-form-inline,
.admin-inline-form {
  display: flex;
  align-items: flex-end;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin: 0;
  min-width: 0;
}

.admin-form-inline--stretch > .admin-field,
.admin-form-inline--stretch > label {
  flex: 1 1 220px;
}

.admin-save-bar,
.admin-template-save-row {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin: 0 calc(-1 * var(--space-2));
  padding: var(--space-3) var(--space-2);
  border-top: 1px solid var(--admin-rule-soft);
  background: color-mix(in srgb, var(--content-bg) 92%, transparent);
  backdrop-filter: blur(8px);
}

.admin-path-field input {
  font-family: var(--admin-font-mono);
  font-size: var(--admin-type-code);
}

/* Toolbars: search + filters + actions on one line, wrapping when tight. */
.admin-toolbar,
.admin-search-toolbar,
.admin-directory-toolbar__form,
.admin-compliance-toolbar {
  display: flex;
  align-items: flex-end;
  gap: var(--space-2) var(--space-3);
  flex-wrap: wrap;
  min-width: 0;
  margin: 0;
}

.admin-toolbar__search,
.admin-compliance-search,
.admin-search-toolbar > .admin-field:first-child,
.admin-form-inline--stretch > .admin-field:first-child {
  flex: 1 1 320px;
}

/* Exports and other secondary tools sit at the far end of a search row. */
.admin-search-toolbar > .admin-button--ghost:first-of-type {
  margin-left: auto;
}

.admin-grid-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto;
  gap: var(--space-3);
  align-items: end;
}

.admin-grid-toolbar--multiple {
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 200px) minmax(150px, 200px) auto;
}

.admin-grid-toolbar__search {
  min-width: 0;
}

.admin-grid-toolbar__actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.admin-directory-toolbar {
  display: grid;
  gap: var(--space-3);
}

.admin-directory-toolbar__select {
  min-width: 160px;
}

/* Native filter disclosure: a quiet "Filters" toggle. */
.admin-filter-disclosure {
  min-width: 0;
}

.admin-filter-disclosure > summary,
.admin-summary-disclosure > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 10px;
  border-radius: var(--admin-radius-control);
  color: var(--text-2);
  font-size: var(--admin-type-ui);
  font-weight: 500;
  cursor: pointer;
  list-style: none;
}

.admin-filter-disclosure > summary::-webkit-details-marker,
.admin-summary-disclosure > summary::-webkit-details-marker,
.admin-disclosure > summary::-webkit-details-marker,
.admin-form-disclosure > summary::-webkit-details-marker {
  display: none;
}

.admin-filter-disclosure > summary::before {
  content: "";
  width: 12px;
  height: 12px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M3 6h18M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M3 6h18M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.admin-filter-disclosure > summary:hover,
.admin-summary-disclosure > summary:hover {
  background: var(--hover-bg);
  color: var(--text-1);
}

.admin-filter-disclosure[open] > summary {
  background: var(--selected-bg);
  color: var(--text-1);
}

.admin-filter-fields {
  display: flex;
  align-items: flex-end;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-top: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
}

.admin-filter-fields > * {
  flex: 1 1 180px;
}

.admin-filter-fields > .admin-button,
.admin-filter-fields > .admin-toolbar-actions {
  flex: none;
}

/* ------------------------------------------------------------------ */
/* Disclosures                                                         */
/* ------------------------------------------------------------------ */
.admin-disclosure,
.admin-form-disclosure,
.admin-summary-disclosure {
  min-width: 0;
}

.admin-disclosure {
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
}

.admin-disclosure > summary,
.admin-form-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 48px;
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  list-style: none;
}

.admin-disclosure > summary > span:first-child,
.admin-danger-zone__summary-copy {
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: 2px var(--space-2);
  flex-wrap: wrap;
  min-width: 0;
}

.admin-disclosure > summary strong,
.admin-form-disclosure > summary strong {
  font-size: var(--admin-type-ui);
  font-weight: 600;
}

.admin-disclosure > summary .admin-kicker {
  display: none;
}

.admin-disclosure > summary::after,
.admin-form-disclosure > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  flex: none;
  margin-right: 4px;
  border-right: 1.5px solid var(--text-3);
  border-bottom: 1.5px solid var(--text-3);
  transform: rotate(45deg) translateY(-2px);
}

.admin-disclosure[open] > summary::after,
.admin-form-disclosure[open] > summary::after {
  transform: rotate(-135deg) translateY(-2px);
}

.admin-disclosure > summary:hover {
  background: var(--hover-bg);
}

.admin-disclosure[open] > summary {
  border-bottom: 1px solid var(--admin-rule-soft);
}

.admin-disclosure__content {
  padding: var(--space-4);
}

.admin-disclosure--technical {
  background: transparent;
  box-shadow: none;
}

.admin-form-disclosure {
  border-top: 1px solid var(--admin-rule-soft);
  border-bottom: 1px solid var(--admin-rule-soft);
}

.admin-form-disclosure > summary {
  padding-left: 0;
  padding-right: 0;
}

.admin-form-disclosure[open] {
  padding-bottom: var(--space-4);
}

.admin-summary-disclosure[open] > summary {
  margin-bottom: var(--space-3);
}

.admin-danger-zone {
  border-color: color-mix(in srgb, var(--danger) 35%, transparent);
}

.admin-danger-zone > summary strong {
  color: var(--danger-ink);
}

.admin-account-action-disclosure {
  border-color: var(--admin-rule);
}

/* ------------------------------------------------------------------ */
/* Tables                                                              */
/* ------------------------------------------------------------------ */
.admin-table-wrap,
.admin-md-table-wrap {
  max-height: min(70vh, 760px);
  min-width: 0;
  overflow: auto;
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
  box-shadow: var(--admin-panel-shadow);
  overscroll-behavior-x: contain;
}

.admin-table,
.admin-md-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--admin-type-ui);
  font-variant-numeric: tabular-nums;
}

.admin-table--wide {
  min-width: 960px;
}

.admin-table thead th,
.admin-md-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 36px;
  padding: 0 var(--space-3);
  border-bottom: 1px solid var(--border);
  background: var(--admin-panel-bg);
  color: var(--text-3);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
  white-space: nowrap;
}

.admin-table td,
.admin-table tbody th,
.admin-md-table td,
.admin-md-table tbody th {
  height: var(--admin-row-height);
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-rule-soft);
  color: var(--text-1);
  vertical-align: middle;
  overflow-wrap: break-word;
}

.admin-table tbody tr:last-child > *,
.admin-md-table tbody tr:last-child > * {
  border-bottom: 0;
}

.admin-table tbody tr:hover > * {
  background: var(--hover);
}

.admin-table th:first-child,
.admin-table td:first-child {
  padding-left: var(--space-4);
}

.admin-table th:last-child,
.admin-table td:last-child {
  padding-right: var(--space-4);
}

.admin-table--dense td {
  height: 38px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.admin-table td > .admin-text-meta,
.admin-table td > .admin-grid-cell-meta,
.admin-table td small {
  display: block;
  margin-top: 1px;
}

.admin-table td strong,
.admin-table__primary {
  font-weight: 500;
}

.admin-table-row--active td,
.admin-grid-row--active td,
.admin-table tbody tr.admin-table-row--active:hover td {
  background: var(--accent-quiet);
}

.admin-table-code-row td {
  background: var(--surface);
}

.admin-grid-sort {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
}

.admin-grid-sort span {
  opacity: 0.45;
}

.admin-grid-sort:hover,
.admin-grid-sort--active {
  color: var(--text-1);
  text-decoration: none;
}

.admin-grid-sort--active span {
  opacity: 1;
}

.admin-grid-empty {
  height: 96px !important;
  color: var(--text-3);
  text-align: center;
  white-space: normal;
}

.admin-grid-empty span {
  margin-right: var(--space-2);
}

.admin-grid-open {
  color: var(--accent-ink);
  font-weight: 500;
  white-space: nowrap;
}

.admin-grid-open::after {
  content: " →";
}

.admin-grid-open[aria-current="page"] {
  color: var(--text-3);
}

.admin-table td:has(> .admin-grid-open):last-child,
.admin-table th:last-child:empty {
  text-align: right;
}

/* ------------------------------------------------------------------ */
/* Lists                                                               */
/* ------------------------------------------------------------------ */
.admin-directory-list,
.admin-note-list,
.admin-account-activity-list,
.admin-billing-event-list,
.admin-consent-user-list,
.admin-search-results,
.admin-case-timeline,
.admin-governance-queue {
  display: grid;
  align-content: start;
  min-width: 0;
  /* Long lists scroll inside their own box, like tables. */
  max-height: min(70vh, 760px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
  box-shadow: var(--admin-panel-shadow);
}

.admin-list-row,
.admin-account-activity-row,
.admin-billing-event-row,
.admin-consent-user-row,
.admin-case-event,
.admin-governance-item,
.admin-search-result {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3) var(--space-4);
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--admin-rule-soft);
  color: var(--text-1);
}

.admin-list-row:last-child,
.admin-account-activity-row:last-child,
.admin-billing-event-row:last-child,
.admin-consent-user-row:last-child,
.admin-case-event:last-child,
.admin-governance-item:last-child,
.admin-search-result:last-child {
  border-bottom: 0;
}

a.admin-list-row:hover,
a.admin-search-result:hover,
.admin-consent-user-row:hover {
  background: var(--hover-bg);
  text-decoration: none;
}

.admin-list-row--active,
.admin-consent-user-row--active,
.admin-list-row--active:hover {
  background: var(--accent-quiet);
}

.admin-list-row--stackable {
  flex-wrap: wrap;
}

.admin-list-row__main,
.admin-directory-row__main,
.admin-search-result__main {
  display: grid;
  gap: 2px;
  flex: 1 1 260px;
  min-width: 0;
}

.admin-list-row__title-row {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.admin-list-row__title {
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-list-row__aside,
.admin-directory-row__aside {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-governance-item > span:first-child,
.admin-search-result > span:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-governance-item strong {
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-governance-item small {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

a.admin-governance-item:hover {
  background: var(--hover-bg);
  text-decoration: none;
}

.admin-search-result__meta small {
  font-size: inherit;
}

.admin-directory-row__meta,
.admin-search-result__meta {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-directory-row__chips {
  display: flex;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.admin-list-copy {
  color: var(--text-2);
  font-size: var(--admin-type-ui);
}

/* Quick links: small navigation tiles. */
.admin-quick-link {
  display: grid;
  gap: 2px;
  align-content: start;
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-control);
  background: var(--admin-panel-bg);
  color: var(--text-1);
}

.admin-quick-link:hover {
  border-color: var(--admin-rule);
  background: var(--hover-bg);
  text-decoration: none;
}

.admin-quick-link strong {
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-quick-link strong::after {
  content: " →";
  color: var(--text-3);
}

.admin-quick-link span {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

/* ------------------------------------------------------------------ */
/* Feedback                                                            */
/* ------------------------------------------------------------------ */
/* Callouts match the main app's `.settings-info-callout`: a tint and one even
   hairline in the tone's hue. No side stripe; the tint and the copy carry it. */
.admin-alert,
.admin-notice {
  display: block;
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-control);
  background: var(--admin-panel-bg);
  color: var(--text-1);
  font-size: var(--admin-type-ui);
  line-height: 1.5;
}

.admin-notice--info {
  border-color: color-mix(in srgb, var(--accent) 30%, transparent);
  background: color-mix(in srgb, var(--accent) 8%, transparent);
}

.admin-alert--success,
.admin-notice--success {
  border-color: color-mix(in srgb, var(--success) 28%, transparent);
  background: color-mix(in srgb, var(--success) 8%, transparent);
}

.admin-notice--warn {
  border-color: color-mix(in srgb, var(--warning) 32%, transparent);
  background: color-mix(in srgb, var(--warning) 10%, transparent);
}

.admin-alert--error,
.admin-notice--error {
  border-color: color-mix(in srgb, var(--danger) 28%, transparent);
  background: color-mix(in srgb, var(--danger) 9%, transparent);
}

.admin-empty-state {
  display: grid;
  place-items: center;
  gap: var(--space-2);
  min-height: 120px;
  padding: var(--space-10) var(--space-4);
  color: var(--text-3);
  font-size: var(--admin-type-ui);
  text-align: center;
}

.admin-empty-state--compact {
  display: block;
  min-height: 0;
  padding: var(--space-2) 0;
  text-align: left;
}

.admin-data-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3) var(--space-4);
  flex-wrap: wrap;
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
}

.admin-data-state--partial,
.admin-data-state--stale {
  border-color: color-mix(in srgb, var(--warning) 32%, transparent);
  background: color-mix(in srgb, var(--warning) 10%, transparent);
}

.admin-data-state--unavailable {
  border-color: color-mix(in srgb, var(--danger) 28%, transparent);
  background: color-mix(in srgb, var(--danger) 9%, transparent);
}

.admin-data-state__body {
  display: grid;
  gap: var(--space-1);
  flex: 1 1 320px;
  min-width: 0;
}

.admin-data-state__heading {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.admin-data-state__heading .admin-section-title {
  font-size: var(--admin-type-body);
}

.admin-data-state__actions {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

/* ------------------------------------------------------------------ */
/* Home: operator work queue                                           */
/* ------------------------------------------------------------------ */
.admin-attention-queue,
.admin-cases-queue {
  display: grid;
  gap: var(--space-4);
}

.admin-operator-queue-summary {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.admin-operator-decision-queue td:first-child {
  width: 96px;
}

.admin-operator-decision-queue .admin-row-actions {
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-1);
}

.admin-operator-work-controls {
  display: grid;
  justify-items: end;
}

.admin-operator-work-controls > summary {
  list-style: none;
}

.admin-operator-work-controls > summary::-webkit-details-marker {
  display: none;
}

.admin-operator-work-controls[open] > summary {
  background: var(--selected-bg);
  color: var(--text-1);
}

.admin-operator-work-panel {
  width: 300px;
  margin-top: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-control);
  background: var(--surface);
  text-align: left;
  white-space: normal;
}

.admin-operator-work-form {
  gap: var(--space-3);
}

.admin-operator-work-panel .admin-case-timeline {
  box-shadow: none;
}

.admin-operator-areas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-4);
}

.admin-operator-filter {
  min-width: 0;
}

/* ------------------------------------------------------------------ */
/* Users                                                               */
/* ------------------------------------------------------------------ */
.admin-users-page,
.admin-user-detail,
.admin-user-detail__sections {
  display: grid;
  gap: var(--admin-section-gap);
  min-width: 0;
}

.admin-users-filters {
  display: grid;
  gap: var(--space-3);
}

.admin-users-grid td:first-child,
.admin-users-grid th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--admin-panel-bg);
}

.admin-users-grid th:first-child {
  z-index: 2;
  background: var(--admin-table-head-bg);
}

.admin-users-grid td {
  white-space: nowrap;
}

.admin-user-cell {
  display: grid;
  gap: 1px;
  min-width: 220px;
}

.admin-user-cell strong {
  font-weight: 500;
}

.admin-user-cell .admin-grid-open {
  font-size: var(--admin-type-meta);
}

.admin-user-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-rule-soft);
  box-shadow: var(--admin-panel-shadow);
}

.admin-user-overview__item {
  display: grid;
  gap: 2px;
  align-content: start;
  padding: var(--space-4) var(--space-5);
  background: var(--admin-panel-bg);
}

.admin-user-overview__item > :first-child {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

.admin-user-overview__item strong {
  font-size: var(--text-lg);
  font-weight: 600;
}

.admin-user-overview__item > :last-child:not(:first-child):not(strong) {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-user-overview__item--green strong {
  color: var(--success-ink);
}

.admin-user-overview__item--amber strong {
  color: var(--warning-ink);
}

.admin-user-overview__item--red strong {
  color: var(--danger-ink);
}

.admin-user-consent {
  display: grid;
  gap: var(--space-3);
}

.admin-user-consent__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3);
}

.admin-user-consent__header > div {
  display: grid;
  gap: 2px;
}

.admin-user-consent__proof {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-rule-soft);
}

.admin-user-consent__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--admin-panel-bg);
}

.admin-user-consent__row > div,
.admin-user-consent--unavailable > div {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.admin-user-consent__row strong {
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-user-consent__row span:not(.admin-status-chip),
.admin-user-consent--unavailable span {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-user-consent > .admin-link {
  justify-self: start;
  font-size: var(--admin-type-ui);
}

.admin-user-consent--unavailable {
  color: var(--text-3);
}

.admin-account-context-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
}

.admin-account-context-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-3);
}

.admin-account-context-empty {
  color: var(--text-3);
}

.admin-security-summary {
  display: grid;
  gap: var(--space-2);
}

.admin-account-activity-row {
  display: grid;
  gap: 2px;
}

.admin-account-activity-row strong {
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-account-activity-row > :not(strong) {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  overflow-wrap: anywhere;
}

a.admin-account-activity-row:hover {
  background: var(--hover-bg);
  text-decoration: none;
}

.admin-billing-event-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.admin-billing-event-row__identity,
.admin-billing-event-row__facts {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-billing-event-row__payload {
  grid-column: 1 / -1;
}

/* ------------------------------------------------------------------ */
/* Master / detail layouts                                             */
/* ------------------------------------------------------------------ */
.admin-template-layout,
.admin-compliance-layout,
.admin-consent-workspace,
.admin-aurora-ai-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
  min-width: 0;
}

.admin-aurora-ai-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}

.admin-template-browser,
.admin-compliance-results-panel,
.admin-consent-browser,
.admin-aurora-ai-rail {
  position: sticky;
  top: var(--space-4);
  display: grid;
  gap: var(--space-3);
  max-height: calc(100dvh - var(--space-8));
  min-width: 0;
  overflow: auto;
}

.admin-template-workspace,
.admin-template-pane,
.admin-compliance-doc-panel,
.admin-compliance-viewer,
.admin-consent-detail,
.admin-aurora-ai-page,
.admin-aurora-ai-form,
.admin-case-workspace {
  display: grid;
  gap: var(--space-5);
  min-width: 0;
  align-content: start;
}

.admin-template-list-item,
.admin-compliance-result {
  display: grid;
  gap: 2px;
  padding: 10px var(--space-3);
  border-radius: var(--admin-radius-control);
  color: var(--text-1);
}

.admin-template-list-item:hover,
.admin-compliance-result:hover {
  background: var(--hover-bg);
  text-decoration: none;
}

.admin-template-list-item--active,
.admin-compliance-result--active,
.admin-template-list-item--active:hover,
.admin-compliance-result--active:hover {
  background: var(--selected-bg);
}

.admin-template-list-item__main,
.admin-template-list-item__title-row,
.admin-compliance-result__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  min-width: 0;
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-template-list-item__key,
.admin-compliance-result__path {
  color: var(--text-3);
  font-family: var(--admin-font-mono);
  font-size: var(--text-xs);
  overflow-wrap: anywhere;
}

.admin-template-list-item__description,
.admin-template-list-item__meta,
.admin-compliance-result__snippet,
.admin-compliance-result__updated,
.admin-compliance-result__footer {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-compliance-result__footer {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.admin-compliance-result-list {
  display: grid;
  gap: 1px;
  max-height: calc(100dvh - 260px);
  overflow: auto;
}

.admin-compliance-tags {
  display: flex;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.admin-compliance-actions {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.admin-compliance-source-note {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-template-editor-grid,
.admin-template-preview-grid,
.admin-template-validation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-4);
}

.admin-template-editor-card,
.admin-template-tool-card,
.admin-template-code-card,
.admin-template-preview-card,
.admin-template-help-card,
.admin-template-validation-card,
.admin-aurora-ai-settings-card {
  display: grid;
  gap: var(--space-3);
  align-content: start;
  min-width: 0;
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
  box-shadow: var(--admin-panel-shadow);
}

.admin-template-tool-card__header,
.admin-template-editor-header,
.admin-template-editor-meta,
.admin-template-editor-meta__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.admin-template-help-card__value {
  font-family: var(--admin-font-mono);
  font-size: var(--admin-type-code);
}

.admin-template-preview-subject {
  display: grid;
  gap: 2px;
}

.admin-template-preview-subject__value {
  font-weight: 600;
}

.admin-template-rendered-preview,
.admin-email-preview {
  min-height: 240px;
  overflow: auto;
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-control);
  background: var(--panel);
}

.admin-template-guidance {
  color: var(--text-2);
  font-size: var(--admin-type-ui);
}

.admin-template-description-field,
.admin-template-subject-input {
  grid-column: 1 / -1;
}

/* ------------------------------------------------------------------ */
/* Markdown reader (docs library)                                      */
/* ------------------------------------------------------------------ */
.admin-markdown-viewer {
  max-width: 76ch;
  color: var(--text-1);
  font-size: var(--admin-type-body);
  line-height: var(--leading-prose);
  overflow-wrap: anywhere;
}

.admin-markdown-viewer > * + * {
  margin-top: 0.85em;
}

.admin-markdown-viewer h1,
.admin-markdown-viewer h2,
.admin-markdown-viewer h3,
.admin-markdown-viewer h4 {
  margin-top: 1.6em;
  letter-spacing: -0.01em;
}

.admin-markdown-viewer h1 {
  font-size: var(--text-title);
}

.admin-markdown-viewer h2 {
  font-size: var(--text-lg);
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--admin-rule-soft);
}

.admin-markdown-viewer h3,
.admin-markdown-viewer h4 {
  font-size: var(--admin-type-body);
}

.admin-markdown-viewer ul,
.admin-markdown-viewer ol {
  padding-left: 1.4em;
}

.admin-markdown-viewer li + li {
  margin-top: 0.25em;
}

.admin-markdown-viewer pre {
  padding: var(--space-3) var(--space-4);
  overflow: auto;
  border-radius: var(--admin-radius-control);
  background: var(--surface);
  font-size: var(--admin-type-code);
}

.admin-markdown-viewer :not(pre) > code {
  padding: 1px 5px;
  border-radius: var(--radius-xs);
  background: var(--chip-bg);
  font-size: var(--admin-type-code);
}

.admin-markdown-viewer blockquote {
  padding-left: var(--space-4);
  border-left: 3px solid var(--admin-rule);
  color: var(--text-2);
}

.admin-md-table-wrap {
  max-height: none;
  box-shadow: none;
}

.admin-md-task {
  list-style: none;
}

.admin-md-task-item {
  display: inline-flex;
  gap: var(--space-2);
  align-items: baseline;
}

.admin-md-task--checked {
  color: var(--text-3);
  text-decoration: line-through;
}

/* ------------------------------------------------------------------ */
/* Search results                                                      */
/* ------------------------------------------------------------------ */
.admin-search-surface {
  display: grid;
  gap: var(--space-8);
}

.admin-search-group {
  display: grid;
  gap: var(--space-3);
}

/* ------------------------------------------------------------------ */
/* Sign in                                                             */
/* ------------------------------------------------------------------ */
.admin-auth-page {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 100dvh;
  padding: var(--space-6) var(--space-4);
  background:
    radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text-1) 9%, transparent) 1px, transparent 0) 0 0 / 22px 22px,
    var(--content-bg);
}

.admin-auth-theme {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 104px;
}

.admin-auth-card {
  display: grid;
  gap: var(--space-5);
  width: min(400px, 100%);
  padding: var(--space-8);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--radius-xl);
  background: var(--panel);
  box-shadow: var(--admin-dialog-shadow);
}

.admin-auth-brand {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.admin-auth-card__title {
  color: var(--text-2);
  font-size: var(--admin-type-ui);
  font-weight: 600;
}

.admin-auth-intro {
  display: grid;
  gap: var(--space-1);
}

.admin-auth-form-title {
  font-size: var(--text-title);
  font-weight: 650;
  letter-spacing: -0.01em;
}

.admin-auth-card__copy {
  color: var(--text-3);
  font-size: var(--admin-type-ui);
}

.admin-auth-card .admin-input {
  height: 40px;
}

.admin-auth-card .admin-button--full {
  height: 40px;
  margin-top: var(--space-1);
}

.admin-auth-card__actions {
  display: grid;
  gap: var(--space-2);
  padding-top: var(--space-4);
  border-top: 1px solid var(--admin-rule-soft);
}

.admin-auth-card__actions .admin-button {
  width: 100%;
  border-color: var(--admin-rule);
}

.admin-auth-card__actions form {
  margin: 0;
}

/* ------------------------------------------------------------------ */
/* Error pages                                                         */
/* ------------------------------------------------------------------ */
.admin-error-page {
  display: grid;
  place-items: center;
  min-height: 100dvh;
  padding: var(--space-6) var(--space-4);
}

.admin-error-card {
  display: grid;
  gap: var(--space-3);
  justify-items: start;
  width: min(520px, 100%);
}

.admin-error-card .admin-page-title {
  font-size: var(--text-title);
}

.admin-error-card > p:not(.admin-kicker) {
  color: var(--text-2);
}

/* ------------------------------------------------------------------ */
/* Responsive                                                          */
/* ------------------------------------------------------------------ */
@media (max-width: 1180px) {
  .admin-template-layout,
  .admin-compliance-layout,
  .admin-consent-workspace,
  .admin-aurora-ai-layout,
  .admin-account-context-grid,
  .admin-grid--main,
  .admin-grid--recovery {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-template-browser,
  .admin-compliance-results-panel,
  .admin-consent-browser,
  .admin-aurora-ai-rail {
    position: static;
    max-height: none;
  }

  .admin-compliance-result-list {
    max-height: 360px;
  }
}

@media (max-width: 1040px) {
  :root[data-app="admin"] {
    --admin-gutter: var(--space-5);
  }

  .admin-shell {
    display: block;
    height: auto;
    min-height: 100dvh;
  }

  .admin-main {
    overflow: visible;
  }

  /* No JavaScript: the sidebar stays in the flow above the page. */
  .admin-sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--admin-rule-soft);
  }

  .admin-sidebar__nav {
    overflow: visible;
  }

  /* With JavaScript: the sidebar is a drawer behind a menu button. */
  :root[data-admin-nav-ready="true"] .admin-mobilebar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    height: 52px;
    padding: 0 var(--space-3);
    border-bottom: 1px solid var(--admin-rule-soft);
    background: color-mix(in srgb, var(--content-bg) 92%, transparent);
    backdrop-filter: blur(8px);
  }

  .admin-mobilebar__title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    font-size: var(--admin-type-ui);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  :root[data-admin-nav-ready="true"] .admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    width: min(300px, 86vw);
    border-right: 1px solid var(--admin-rule-soft);
    border-bottom: 0;
    box-shadow: var(--admin-dialog-shadow);
    transform: translateX(-105%);
    visibility: hidden;
    transition: transform var(--motion-base, 200ms) ease, visibility 0s linear var(--motion-base, 200ms);
  }

  :root[data-admin-nav-ready="true"] .admin-sidebar__nav {
    overflow-y: auto;
  }

  :root[data-admin-nav-ready="true"] [data-admin-nav-open="true"] .admin-sidebar {
    transform: none;
    visibility: visible;
    transition: transform var(--motion-base, 200ms) ease;
  }

  :root[data-admin-nav-ready="true"] .admin-nav-close {
    display: inline-grid;
  }

  :root[data-admin-nav-ready="true"] [data-admin-nav-open="true"] .admin-nav-scrim {
    position: fixed;
    inset: 0;
    z-index: 30;
    display: block;
    background: var(--overlay-backdrop, color-mix(in srgb, var(--ink-pole) 30%, transparent));
  }

  .admin-page {
    padding-top: var(--space-6);
  }
}

@media (max-width: 720px) {
  :root[data-app="admin"] {
    --admin-gutter: var(--space-4);
    --admin-section-gap: var(--space-8);
    --admin-type-page: var(--text-title);
  }

  .admin-page-header {
    align-items: flex-start;
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-4);
  }

  .admin-section-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-form-grid,
  .admin-form-fields,
  .admin-grid-toolbar,
  .admin-grid-toolbar--multiple,
  .admin-user-consent {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-grid--detail > *,
  .admin-key-value,
  .admin-aurora-ai-detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .admin-grid--detail > * > :not(:first-child),
  .admin-key-value__value,
  .admin-aurora-ai-detail__value {
    grid-column: 1;
  }

  .admin-button,
  .admin-input,
  .admin-select {
    min-height: 44px;
  }

  .admin-textarea {
    min-height: 88px;
  }

  .admin-section-card .admin-section-card,
  .admin-subpanel {
    padding: var(--space-4);
  }

  /* Tables keep a readable width and scroll sideways in their own box. */
  .admin-table {
    min-width: 640px;
  }

  /* Decision queues restack into labelled cards. */
  .admin-operator-decision-queue table,
  .admin-operator-decision-queue thead,
  .admin-operator-decision-queue tbody,
  .admin-operator-decision-queue tr,
  .admin-operator-decision-queue td {
    display: block;
    width: auto !important;
  }

  .admin-operator-decision-queue thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  .admin-operator-decision-queue tr {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
    border-bottom: 1px solid var(--admin-rule-soft);
  }

  .admin-operator-decision-queue td {
    height: auto;
    padding: 0 !important;
    border: 0;
    text-align: left !important;
    white-space: normal !important;
  }

  .admin-operator-decision-queue td[data-label] {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: var(--space-2);
    align-items: baseline;
  }

  .admin-operator-decision-queue td[data-label] > * {
    grid-column: 2;
  }

  .admin-operator-decision-queue td[data-label]::before {
    content: attr(data-label);
    grid-column: 1;
    grid-row: 1 / span 4;
    color: var(--text-3);
    font-size: var(--admin-type-meta);
  }

  .admin-operator-decision-queue td.admin-table__actions {
    display: block;
    margin-top: var(--space-2);
  }

  .admin-operator-decision-queue td.admin-table__actions::before {
    display: none;
  }

  .admin-operator-decision-queue,
  .admin-operator-decision-queue .admin-table-wrap {
    max-height: none;
  }

  .admin-operator-decision-queue table {
    min-width: 0;
  }

  .admin-operator-decision-queue tbody tr:hover td {
    background: transparent;
  }

  .admin-operator-decision-queue td:last-child .admin-button {
    width: 100%;
  }

  .admin-filter-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .admin-operator-work-panel {
    width: auto;
  }

  .admin-operator-decision-queue .admin-row-actions,
  .admin-operator-work-controls {
    align-items: stretch;
    justify-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

.admin-summary-disclosure > summary::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
}

.admin-summary-disclosure[open] > summary::after {
  transform: rotate(45deg) translateY(-2px);
}

/* ------------------------------------------------------------------ */
/* Page: AuroraAI, models, docs library, changelog */
/* ------------------------------------------------------------------ */
.admin-compliance-results-panel {
  overflow: visible;
}

.admin-compliance-search {
  display: grid;
  gap: var(--space-2);
  flex: none;
}

.admin-compliance-result-list {
  max-height: calc(100dvh - 24rem);
  min-height: 12rem;
}

.admin-compliance-result strong {
  font-size: var(--admin-type-ui);
  font-weight: 500;
}

.admin-changelog {
  max-width: 880px;
}

.admin-changelog-entry + .admin-changelog-entry {
  padding-top: var(--space-6);
  border-top: 1px solid var(--admin-rule-soft);
}

.admin-changelog-list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding-left: var(--space-5);
  list-style: disc;
  color: var(--text-1);
  font-size: var(--admin-type-body);
  line-height: var(--leading-prose);
}

.admin-changelog-list li::marker {
  color: var(--text-3);
}

.admin-changelog-list .admin-badge {
  margin-right: var(--space-1);
  vertical-align: 1px;
}
.admin-aurora-ai-panel {
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--admin-rule-soft);
  border-radius: var(--admin-radius-panel);
  background: var(--admin-panel-bg);
  box-shadow: var(--admin-panel-shadow);
}
.admin-model-discovery__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

/* ------------------------------------------------------------------ */
/* Page: Users, roles, consents */
/* ------------------------------------------------------------------ */
.admin-users-grid .admin-security-summary {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-2);
}

.admin-user-cell__name {
  font-weight: 500;
  color: var(--text-1);
}

.admin-user-cell__name:hover {
  color: var(--accent-ink);
}

.admin-users-count {
  margin: 0;
}
.admin-consent-user-row {
  align-items: center;
}

.admin-consent-user-row__check {
  display: flex;
  align-items: center;
  flex: none;
}

.admin-consent-user-row__link {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.admin-consent-user-row__identity {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.admin-consent-user-row__identity strong {
  font-weight: 500;
  color: var(--text-1);
}

.admin-consent-user-row__identity span {
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text-3);
  font-size: var(--admin-type-meta);
}

.admin-consent-user-row__status {
  flex: none;
}

.admin-user-cell > span,
.admin-user-cell > small {
  color: var(--text-3);
  font-size: var(--admin-type-meta);
  font-weight: 400;
}

/* ------------------------------------------------------------------ */
/* Page: Email templates */
/* ------------------------------------------------------------------ */
/* Email template list: key on one line, one-line description below. */
.admin-template-list-item {
  gap: 1px;
}

.admin-template-list-item__key {
  display: block;
  color: var(--text-1);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-type-code);
  font-weight: 500;
}

.admin-template-list-item__description {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* The save row sits after the last field instead of floating over it. */
.admin-template-save-row {
  position: static;
  margin: 0;
  padding: 0;
  border-top: 0;
  background: none;
  backdrop-filter: none;
  justify-content: flex-start;
}
/* ------------------------------------------------------------------ */
/* Page: Providers */
/* ------------------------------------------------------------------ */
.admin-provider-section {
  padding-top: var(--space-6);
  border-top: 1px solid var(--admin-rule-soft);
}
/* ------------------------------------------------------------------ */
/* Page: Case records and audit */
/* ------------------------------------------------------------------ */
/* Case records mix short facts with long text; a fixed label column keeps
   every value on the same left edge in both half and full width rows. */
.admin-case-detail > * {
  grid-template-columns: 170px minmax(0, 1fr);
}
/* Audit tables: keep timestamps on one line and let long ids wrap. */
.admin-audit-table td:first-child {
  white-space: nowrap;
}

.admin-audit-table td:nth-child(2),
.admin-audit-table td:nth-child(3),
.admin-audit-table td:nth-child(4) {
  min-width: 9em;
  overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------ */
/* Page: Support log */
/* ------------------------------------------------------------------ */
.admin-support-log td:first-child {
  min-width: 12rem;
  overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------ */
/* Shared fixes                                                        */
/* ------------------------------------------------------------------ */
/* A danger-zone disclosure is a section card too; keep its own padding. */
.admin-disclosure.admin-section-card,
.admin-section-card .admin-disclosure.admin-section-card {
  display: block;
  padding: 0;
  box-shadow: none;
}

.admin-table tbody th {
  font-weight: 500;
  text-align: left;
}
