/* ============================================================================
   instrument-dark — admin theme.

   Token overrides only, per docs/ADMIN-STANDARD.md §3.1. No layout, no
   components, no state colour. Everything structural lives in
   shared/admin.css so all admins behave identically.

   The family reads as deployed field instrumentation: a cooling surface ramp
   rather than a lightening one, machine type for anything a technician reads
   as a value, and tight corners so panels read as bezels rather than cards.

   The manifest's #00d4ff arrives as --adm-tpl-accent, set inline on <body>,
   so `--set accent=#xxxxxx` retargets the admin as well as the public page.

   Accent note: the public template runs the accent at full strength on a
   near-black field, where #00d4ff is legible. On the light ground the admin
   standard requires by default, that same cyan cannot carry white ink — so
   light mode mixes the accent toward the instrument's own deep-teal ground
   before using it as a brand surface. Dark mode restores it to near-raw and
   flips to dark ink. The accent is never used to encode data state in either
   mode; state colour stays in shared/admin.css.
   ========================================================================== */

/* ---------- Light (default) ------------------------------------------------ */

[data-adm-app] {
  /* Brand — chrome only: rail mark, active indicator, primary button.
     Mixed 52% toward the deep-teal ground so white ink stays legible. */
  --adm-brand: color-mix(in srgb, var(--adm-tpl-accent, #00d4ff) 52%, #04222e);
  --adm-brand-ink: #ffffff;

  /* Surfaces — bench daylight: cool neutrals, never warm. */
  --adm-bg: #eceff4;
  --adm-surface: #ffffff;
  --adm-surface-alt: #e4e9f0;
  --adm-border: #d2dae4;
  --adm-border-strong: #aeb9c7;

  /* Text — instrument ink. */
  --adm-text: #0c1522;
  --adm-text-muted: #4f5e72;
  --adm-text-faint: #7b8998;

  /* Shape — bezel corners, not app corners. */
  --adm-radius: 6px;
  --adm-radius-sm: 4px;

  /* Type — sans for prose, mono for anything read as a measurement.
     Display type is mono on purpose: headings are labels on a panel. */
  --adm-font-sans: Outfit, 'Avenir Next', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --adm-font-display: 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ---------- Dark ----------------------------------------------------------- */
/* The template's native field. Surfaces cool as they rise instead of
   lightening, matching the public page's --surface-0…--surface-3 ramp. */

[data-theme='dark'] [data-adm-app] {
  --adm-brand: color-mix(in srgb, var(--adm-tpl-accent, #00d4ff) 90%, #ffffff);
  --adm-brand-ink: #001018;

  --adm-bg: #030508;
  --adm-surface: #0a0f1a;
  --adm-surface-alt: #0f1729;
  --adm-border: #1c2942;
  --adm-border-strong: #2e4066;

  --adm-text: #e9effb;
  --adm-text-muted: #8a9ab1;
  --adm-text-faint: #5d6d86;
}
