/* Admin badge typography and contrast. Load after theme.css.
   Text uses the theme foreground; status hue belongs to borders/surfaces.
   Important declarations override legacy inline badge colors/sizes without
   changing the editors and renderers owned by other modules. */
body.admin-shell {
  --admin-badge-font: var(--font-main);
  --admin-badge-ink: var(--text-pure);
}

body.admin-shell :is(
  .sidebar-badge, .tag-status, .badge-val, .sample-badge, .db-chip,
  .lo-badge, .lo-chip-item, .cal-pillar-badge, .cal-today-tag, .cal-leap-now, .cal-legend-chip,
  .s1-badge, .s1-chip, .seed-badge, .km-chip, .cm-ex-chip, .cm-ex-badge,
  .nt-shin-chip, .pm-dial-tag, .rc-gbadge, .rc-tier, .frag-chip, .tune-chip, .mc-chip, .mb-chip,
  .members-tier, .members-sample-chip,
  .ops-source-chip, .ops-status-chip, .ops-context-chip, .ops-env-mark,
  .notices-sample-badge, .notices-status,
  .salon-admin-badge, .salon-admin-kind, .salon-admin-sample, .salon-admin-care
) {
  --admin-badge-accent: var(--border-box-bright);
  font: 600 14px/1.5 var(--admin-badge-font) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  color: var(--admin-badge-ink) !important;
  background: color-mix(in srgb, var(--admin-badge-accent) 9%, var(--bg-card-inner)) !important;
  border-color: color-mix(in srgb, var(--admin-badge-accent) 65%, var(--border-box-purple));
  text-shadow: none;
  opacity: 1;
  max-width: 100%;
  box-sizing: border-box;
}

/* Retain readable status distinctions without tinting the label itself. */
body.admin-shell :is(
  .tag-purple, .members-sample-chip, .notices-sample-badge, .salon-admin-sample,
  .ops-status-chip[data-tone="pending"], .ops-status-chip[data-tone="sample"],
  .ops-env-test, .ops-source-chip[data-status="test_only"], .ops-source-chip[data-status="loading"]
) { --admin-badge-accent: var(--purple-ink); }
body.admin-shell :is(
  .tag-success, .lo-badge.is-on, .lo-badge.is-set, .s1-badge.is-ok,
  .frag-chip.is-ok, .mc-chip.is-material, .mb-chip.is-picked, .sidebar-badge,
  .salon-admin-badge, .salon-admin-kind, .ops-env-live,
  .ops-status-chip[data-tone="success"], .ops-source-chip[data-status="available"],
  .notices-status[data-state="active"]
) { --admin-badge-accent: var(--neon-cyan); }
body.admin-shell :is(
  .tag-warn, .lo-badge.is-hold, .frag-chip.is-warn, .tune-chip.is-warn, .tune-chip.is-scored,
  .nt-shin-chip.is-power, .ops-env-unclassified, .ops-status-chip[data-tone="active"],
  .ops-source-chip[data-status="partial"], .ops-source-chip[data-status="unconfigured"]
) { --admin-badge-accent: var(--neon-yellow); }
body.admin-shell :is(
  .lo-badge.is-off, .mc-chip.is-user, .lo-badge.pm-key-a, .salon-admin-care,
  .ops-status-chip[data-tone="attention"], .ops-source-chip[data-status="unavailable"],
  .ops-source-chip[data-status="not_initialized"]
) { --admin-badge-accent: var(--pink-ink); }

/* Inner labels inherit the same text face, including the member tier label. */
body.admin-shell :is(.ops-source-copy, .members-label-text, .mb-chip-count, .km-chip b) {
  font: inherit;
  color: inherit;
  letter-spacing: 0;
}
body.admin-shell .members-tier .members-label-icon {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-weight: 400;
}
body.admin-shell :is(.members-sample-chip, .salon-admin-sample, .notices-sample-badge) {
  padding: 3px 8px;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.admin-shell :is(.mc-chip.is-dim, .mb-chip.is-unadopted, .frag-chip.is-muted,
  .tune-chip.is-off, .s1-chip.is-waiting, .db-chip.is-muted, .cal-legend-chip[aria-pressed="false"]) {
  border-style: dashed;
  opacity: 1;
}
body.admin-shell :is(.pm-rel-tag, .pm-dial-tag) text {
  font: 600 14px/1.5 var(--admin-badge-font) !important;
  fill: var(--admin-badge-ink) !important;
  letter-spacing: 0;
}
