/* Design tokens — 02-AGENT-DESIGN.md §2. Single source of truth for color,
   type, spacing, radius, shadow and motion across every portal. */
:root {
  /* Color */
  --color-ink: #0E3A43;
  --color-ink-700: #12464F;
  --color-ink-900: #082026;
  --color-amber: #E8A13D;
  --color-amber-600: #C97F1F;
  --color-terracotta: #B5583A;
  --color-surface: #F7F9F9;
  --color-card: #FFFFFF;
  --color-hairline: #E2E8E8;
  --color-text: #16292C;
  --color-text-muted: #5C7275;
  --color-danger: #C0392B;
  --color-danger-surface: #FBEAE8;
  --color-success: #2E7D5B;
  --color-success-surface: #E7F3EC;

  /* Type */
  --font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;

  /* Glass surfaces — translucent, blurred cards over the app shell's
     gradient wash (main.css `.main`, `.auth-shell`). Falls back to the
     opaque `--color-card` automatically wherever `backdrop-filter` isn't
     supported, since these are only ever layered on `.card`/`.stat-card`
     alongside the solid color as a fallback (see `.card` in main.css). */
  --color-glass-surface: rgba(255, 255, 255, 0.68);
  --color-glass-border: rgba(14, 58, 67, 0.08);
  --blur-glass: 16px;

  /* Spacing (4pt grid) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;

  /* Radius & shadow */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(14, 58, 67, 0.08);
  --shadow-md: 0 4px 16px rgba(14, 58, 67, 0.12);
  --shadow-lg: 0 12px 32px rgba(14, 58, 67, 0.18);

  /* Motion */
  --motion-fast: 150ms;
  --motion-base: 250ms;
  --motion-slow: 400ms;

  /* Phase 1 (issue #248) — UX foundation additions */
  /* Tokenized focus ring (amber, matches the base `:focus-visible` accent). */
  --focus-ring: 0 0 0 3px rgba(232, 161, 61, 0.35);
  --focus-ring-offset: 2px;
  /* Semantic info/warning pairs, matching the success/danger surface pattern. */
  --color-warning: var(--color-amber-600);
  --color-warning-surface: color-mix(in srgb, var(--color-amber) 16%, #fff);
  --color-info: var(--color-ink-700);
  --color-info-surface: color-mix(in srgb, var(--color-ink) 8%, #fff);
  /* Elevation-on-hover shadow for lifted cards (between --shadow-md and -lg). */
  --shadow-hover: 0 8px 24px rgba(14, 58, 67, 0.14);

  /* Phase 1 (issue #276) — Union Admin redesign, app-shell chrome foundation.
     Sidebar navigation surface tokens, so the nav's rest/hover/active
     treatment is tuned in one place and every portal shell reuses it. */
  --nav-fg: rgba(255, 255, 255, 0.66);
  --nav-fg-hover: #ffffff;
  --nav-hover-surface: rgba(255, 255, 255, 0.07);
  --nav-active-fg: var(--color-amber);
  --nav-active-surface: rgba(232, 161, 61, 0.15);
  --nav-active-glow: 0 0 0 1px rgba(232, 161, 61, 0.18) inset;
  --sidebar-width: 248px;
}
