/**
 * AegisX Design Tokens — AUTO-GENERATED
 * Source: tokens/dtcg/*.json  ·  Generator: scripts/build-tokens.mjs
 * Do not edit directly — edit the JSON and run `pnpm tokens:build`.
 *
 * 3-layer architecture:
 *   1. PRIMITIVE --ax-color-*   2. SEMANTIC --ax-{role}-*   3. COMPONENT --ax-{comp}-*
 */

:root {
  /* ── Layer 1 · Primitive palette ── */
  --ax-color-zinc-50: #fafafa;
  --ax-color-zinc-100: #f4f4f5;
  --ax-color-zinc-200: #e4e4e7;
  --ax-color-zinc-300: #d4d4d8;
  --ax-color-zinc-400: #a1a1aa;
  --ax-color-zinc-500: #71717a;
  --ax-color-zinc-600: #52525b;
  --ax-color-zinc-700: #3f3f46;
  --ax-color-zinc-800: #27272a;
  --ax-color-zinc-900: #18181b;
  --ax-color-zinc-950: #09090b;

  --ax-color-gray-50: #f9fafb;
  --ax-color-gray-100: #f3f4f6;
  --ax-color-gray-200: #e5e7eb;
  --ax-color-gray-300: #d1d5db;
  --ax-color-gray-400: #9ca3af;
  --ax-color-gray-500: #6b7280;
  --ax-color-gray-600: #4b5563;
  --ax-color-gray-700: #374151;
  --ax-color-gray-800: #1f2937;
  --ax-color-gray-900: #111827;

  --ax-color-indigo-50: #e8eaf6;
  --ax-color-indigo-100: #c5cae9;
  --ax-color-indigo-200: #9fa8da;
  --ax-color-indigo-300: #7986cb;
  --ax-color-indigo-400: #5c6bc0;
  --ax-color-indigo-500: #3f51b5;
  --ax-color-indigo-600: #3949ab;
  --ax-color-indigo-700: #303f9f;
  --ax-color-indigo-800: #283593;
  --ax-color-indigo-900: #1a237e;

  --ax-color-emerald-50: #ecfdf5;
  --ax-color-emerald-100: #d1fae5;
  --ax-color-emerald-200: #a7f3d0;
  --ax-color-emerald-300: #6ee7b7;
  --ax-color-emerald-400: #34d399;
  --ax-color-emerald-500: #10b981;
  --ax-color-emerald-600: #059669;
  --ax-color-emerald-700: #047857;
  --ax-color-emerald-800: #065f46;
  --ax-color-emerald-900: #064e3b;

  --ax-color-amber-50: #fffbeb;
  --ax-color-amber-100: #fef3c7;
  --ax-color-amber-200: #fde68a;
  --ax-color-amber-300: #fcd34d;
  --ax-color-amber-400: #fbbf24;
  --ax-color-amber-500: #f59e0b;
  --ax-color-amber-600: #d97706;
  --ax-color-amber-700: #b45309;
  --ax-color-amber-800: #92400e;
  --ax-color-amber-900: #78350f;

  --ax-color-red-50: #fef2f2;
  --ax-color-red-100: #fee2e2;
  --ax-color-red-200: #fecaca;
  --ax-color-red-300: #fca5a5;
  --ax-color-red-400: #f87171;
  --ax-color-red-500: #ef4444;
  --ax-color-red-600: #dc2626;
  --ax-color-red-700: #b91c1c;
  --ax-color-red-800: #991b1b;
  --ax-color-red-900: #7f1d1d;

  --ax-color-blue-50: #eff6ff;
  --ax-color-blue-100: #dbeafe;
  --ax-color-blue-200: #bfdbfe;
  --ax-color-blue-300: #93c5fd;
  --ax-color-blue-400: #60a5fa;
  --ax-color-blue-500: #3b82f6;
  --ax-color-blue-600: #2563eb;
  --ax-color-blue-700: #1d4ed8;
  --ax-color-blue-800: #1e40af;
  --ax-color-blue-900: #1e3a8a;

  --ax-color-cyan-50: #ecfeff;
  --ax-color-cyan-100: #cffafe;
  --ax-color-cyan-200: #a5f3fc;
  --ax-color-cyan-300: #67e8f9;
  --ax-color-cyan-400: #22d3ee;
  --ax-color-cyan-500: #06b6d4;
  --ax-color-cyan-600: #0891b2;
  --ax-color-cyan-700: #0e7490;
  --ax-color-cyan-800: #155e75;
  --ax-color-cyan-900: #164e63;

  --ax-color-purple-50: #faf5ff;
  --ax-color-purple-100: #f3e8ff;
  --ax-color-purple-200: #e9d5ff;
  --ax-color-purple-300: #d8b4fe;
  --ax-color-purple-400: #c084fc;
  --ax-color-purple-500: #9333ea;
  --ax-color-purple-600: #7e22ce;
  --ax-color-purple-700: #6b21a8;
  --ax-color-purple-800: #581c87;
  --ax-color-purple-900: #3b0764;

  --ax-color-pink-50: #fdf2f8;
  --ax-color-pink-100: #fce7f3;
  --ax-color-pink-200: #fbcfe8;
  --ax-color-pink-300: #f9a8d4;
  --ax-color-pink-400: #f472b6;
  --ax-color-pink-500: #ec4899;
  --ax-color-pink-600: #db2777;
  --ax-color-pink-700: #be185d;
  --ax-color-pink-800: #9d174d;
  --ax-color-pink-900: #831843;

  /* ── Layer 2 · Semantic (light defaults) ── */
  /* Background */
  --ax-background-page: var(--ax-color-zinc-50);
  --ax-background-default: #ffffff;
  --ax-background-subtle: var(--ax-color-zinc-100);
  --ax-background-muted: var(--ax-color-zinc-50);
  --ax-background-emphasis: var(--ax-color-zinc-700);
  /* Text */
  --ax-text-disabled: var(--ax-color-zinc-300);
  --ax-text-subtle: var(--ax-color-zinc-400);
  --ax-text-secondary: var(--ax-color-zinc-500);
  --ax-text-default: var(--ax-color-zinc-700);
  --ax-text-strong: var(--ax-color-zinc-900);
  --ax-text-heading: #0a0a0a;
  --ax-text-inverted: #ffffff;
  /* Border */
  --ax-border-subtle: var(--ax-color-zinc-100);
  --ax-border-default: var(--ax-color-zinc-200);
  --ax-border-emphasis: var(--ax-color-zinc-300);
  /* Primary (brand — Material Indigo) */
  --ax-primary-light: var(--ax-color-indigo-300);
  --ax-primary: var(--ax-color-indigo-500);
  --ax-primary-dark: var(--ax-color-indigo-700);
  /* Role palettes × 6 variants */
  --ax-brand-faint:    #e8eaf6;
  --ax-brand-muted:    #9fa8da;
  --ax-brand-subtle: #7986cb;
  --ax-brand-default: #3f51b5;
  --ax-brand-emphasis: #303f9f;
  --ax-brand-inverted: #ffffff;
  --ax-success-faint:    #d1fae5;
  --ax-success-muted:    var(--ax-color-emerald-100);
  --ax-success-subtle:   var(--ax-color-emerald-200);
  --ax-success-default:  var(--ax-color-emerald-500);
  --ax-success-emphasis: var(--ax-color-emerald-700);
  --ax-success-inverted: #ffffff;
  --ax-warning-faint:    #fef3c7;
  --ax-warning-muted:    var(--ax-color-amber-100);
  --ax-warning-subtle:   var(--ax-color-amber-200);
  --ax-warning-default:  var(--ax-color-amber-500);
  --ax-warning-emphasis: var(--ax-color-amber-700);
  --ax-warning-inverted: #ffffff;
  --ax-error-faint:    #fee2e2;
  --ax-error-muted:    var(--ax-color-red-100);
  --ax-error-subtle:   var(--ax-color-red-200);
  --ax-error-default:  var(--ax-color-red-500);
  --ax-error-emphasis: var(--ax-color-red-700);
  --ax-error-inverted: #ffffff;
  --ax-info-faint:    #dbeafe;
  --ax-info-muted:    var(--ax-color-blue-100);
  --ax-info-subtle:   var(--ax-color-blue-200);
  --ax-info-default:  var(--ax-color-blue-500);
  --ax-info-emphasis: var(--ax-color-blue-700);
  --ax-info-inverted: #ffffff;
  /* Surface / role border */
  --ax-info-surface: #dbeafe;
  --ax-info-border: #93c5fd;
  --ax-warning-surface: #fef3c7;
  --ax-warning-border: #fcd34d;
  --ax-success-surface: #d1fae5;
  --ax-success-border: #6ee7b7;
  --ax-error-surface: #fee2e2;
  --ax-error-border: #fca5a5;
  /* Specialized surfaces (theme-locked) */
  --ax-surface-paper:              var(--ax-color-zinc-50);
  --ax-surface-paper-stage:        var(--ax-color-zinc-200);
  --ax-surface-paper-ink:          #0a0a0a;
  --ax-surface-paper-ink-soft:     var(--ax-color-zinc-700);
  --ax-surface-paper-ink-meta:     var(--ax-color-zinc-500);
  --ax-surface-paper-rule:         #0a0a0a;
  --ax-surface-paper-border:       var(--ax-color-zinc-300);
  --ax-surface-paper-row-alt:      var(--ax-color-zinc-50);
  --ax-surface-terminal:           var(--ax-color-zinc-950);
  --ax-surface-terminal-text:      var(--ax-color-zinc-200);
  --ax-surface-terminal-meta:      var(--ax-color-zinc-500);
  --ax-surface-terminal-rule:      var(--ax-color-zinc-800);
  --ax-surface-notification-from:  var(--ax-color-zinc-800);
  --ax-surface-notification-to:    var(--ax-color-zinc-900);
  --ax-surface-notification-text:  #ffffff;
  --ax-surface-notification-shadow:var(--ax-color-zinc-950);
  /* ID bands (hospital wristband identity) */
  --ax-id-band-allergy:    var(--ax-color-red-700);
  --ax-id-band-fall-risk:  var(--ax-color-amber-700);
  --ax-id-band-dnr:        var(--ax-color-purple-600);
  --ax-id-band-restricted: var(--ax-color-pink-600);
  --ax-id-band-limb-alert: var(--ax-color-emerald-700);

  /* ── Layer 3 · Component tokens ── */
  /* Navigation */
  --ax-nav-bg: #ffffff;
  --ax-nav-text: var(--ax-color-zinc-600);
  --ax-nav-text-hover: var(--ax-color-zinc-900);
  --ax-nav-text-active: var(--ax-color-indigo-600);
  --ax-nav-bg-active: var(--ax-color-indigo-50);
  --ax-nav-border: var(--ax-border-subtle);
  /* Table */
  --ax-table-header-bg: var(--ax-background-muted);
  --ax-table-header-text: var(--ax-text-secondary);
  --ax-table-row-hover-bg: var(--ax-background-muted);
  --ax-table-cell-border: var(--ax-border-default);
  --ax-table-cell-text: var(--ax-text-default);
  /* Button */
  --ax-button-primary-bg: var(--ax-primary);
  --ax-button-primary-bg-hover: var(--ax-primary-dark);
  --ax-button-primary-text: #ffffff;
  --ax-button-secondary-bg: #ffffff;
  --ax-button-secondary-bg-hover: var(--ax-background-muted);
  --ax-button-secondary-text: var(--ax-text-default);
  --ax-button-secondary-border: var(--ax-border-default);
  --ax-button-danger-bg: var(--ax-error-default);
  --ax-button-danger-bg-hover: var(--ax-error-emphasis);
  /* Input */
  --ax-input-bg: #ffffff;
  --ax-input-bg-disabled: var(--ax-background-muted);
  --ax-input-text: var(--ax-text-heading);
  --ax-input-placeholder: var(--ax-text-subtle);
  --ax-input-border: var(--ax-border-default);
  --ax-input-border-hover: var(--ax-border-emphasis);
  --ax-input-border-focus: var(--ax-primary);
  --ax-input-border-error: var(--ax-error-default);
  /* Focus ring */
  --ax-focus-ring-width: 2px;
  --ax-focus-ring-offset: 2px;
  --ax-focus-ring-opacity: 0.5;
  --ax-focus-ring-color: #3b82f6;
  /* Component — locked accent values */
  --ax-component-toggle-thumb:     #ffffff;
  --ax-component-orgavatar-purple: var(--ax-color-purple-600);
  /* Control sizing (density-default) */
  --ax-control-h: 3rem;
  --ax-control-h-sm: 2.5rem;
  --ax-control-h-lg: 3.5rem;
  --ax-control-pad-x: 0.875rem;
  --ax-control-pad-y: 0.625rem;
  --ax-control-gap: 0.5rem;
  --ax-control-icon: 1.125rem;
  /* Form layout */
  --ax-form-gap-dense: 0.75rem;
  --ax-form-gap-default: 1rem;
  --ax-form-gap-relaxed: 1rem;
  --ax-form-section-gap: 2.5rem;
  --ax-form-card-padding: 0.75rem;
  /* State layers (M3) */
  --ax-state-hover-opacity: 0.08;
  --ax-state-focus-opacity: 0.12;
  --ax-state-pressed-opacity: 0.12;
  --ax-state-dragged-opacity: 0.16;
  /* Opacity */
  --ax-opacity-disabled: 0.4;
  --ax-opacity-hover: 0.8;
  --ax-opacity-active: 0.6;

  /* ── Spacing (4px grid) ── */
  --ax-spacing-2xs: 0.125rem;
  --ax-spacing-xs: 0.25rem;
  --ax-spacing-sm: 0.5rem;
  --ax-spacing-md: 1rem;
  --ax-spacing-lg: 1.5rem;
  --ax-spacing-xl: 2rem;
  --ax-spacing-2xl: 2.5rem;
  --ax-spacing-3xl: 3rem;
  --ax-spacing-4xl: 4rem;
  --ax-component-xs: var(--ax-spacing-xs);
  --ax-component-sm: var(--ax-spacing-sm);
  --ax-component-md: var(--ax-spacing-md);
  --ax-component-lg: var(--ax-spacing-lg);
  --ax-layout-xs: var(--ax-spacing-sm);
  --ax-layout-sm: var(--ax-spacing-lg);
  --ax-layout-md: var(--ax-spacing-xl);
  --ax-layout-lg: var(--ax-spacing-2xl);
  --ax-layout-xl: var(--ax-spacing-3xl);
  --ax-inset-xs: var(--ax-spacing-xs);
  --ax-inset-sm: var(--ax-spacing-sm);
  --ax-inset-md: var(--ax-spacing-lg);
  --ax-inset-lg: var(--ax-spacing-xl);
  --ax-inset-xl: var(--ax-spacing-2xl);
  --ax-stack-xs: var(--ax-spacing-xs);
  --ax-stack-sm: var(--ax-spacing-sm);
  --ax-stack-md: var(--ax-spacing-lg);
  --ax-stack-lg: var(--ax-spacing-xl);
  --ax-stack-xl: var(--ax-spacing-2xl);

  /* ── Typography ── */
  --ax-font-sans: "IBM Plex Sans Thai", "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --ax-font-serif: Georgia, Cambria, "Times New Roman", Times, serif;
  --ax-font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --ax-text-xs-size: 0.75rem;
  --ax-text-xs-line: 1.125rem;
  --ax-text-sm-size: 0.875rem;
  --ax-text-sm-line: 1.25rem;
  --ax-text-md-size: 1rem;
  --ax-text-md-line: 1.5rem;
  --ax-text-lg-size: 1.125rem;
  --ax-text-lg-line: 1.75rem;
  --ax-text-xl-size: 1.25rem;
  --ax-text-xl-line: 1.875rem;
  --ax-display-xs-size: 1.5rem;
  --ax-display-xs-line: 2rem;
  --ax-display-xs-tracking: 0;
  --ax-display-sm-size: 1.875rem;
  --ax-display-sm-line: 2.375rem;
  --ax-display-sm-tracking: 0;
  --ax-display-md-size: 2.25rem;
  --ax-display-md-line: 2.75rem;
  --ax-display-md-tracking: -0.02em;
  --ax-display-lg-size: 3rem;
  --ax-display-lg-line: 3.75rem;
  --ax-display-lg-tracking: -0.02em;
  --ax-font-weight-regular: 400;
  --ax-font-weight-medium: 500;
  --ax-font-weight-semibold: 600;
  --ax-font-weight-bold: 700;
  --ax-leading-tight: 1.25;
  --ax-leading-normal: 1.5;
  --ax-leading-relaxed: 1.75;
  --ax-tracking-tight: -0.02em;
  --ax-tracking-normal: 0;
  --ax-tracking-wide: 0.025em;
  --ax-tracking-widest: 0.1em;

  /* ── Radius ── */
  --ax-radius-none: 0;
  --ax-radius-sm: 0.25rem;
  --ax-radius-md: 0.375rem;
  --ax-radius-lg: 0.5rem;
  --ax-radius-xl: 0.75rem;
  --ax-radius-2xl: 1rem;
  --ax-radius-full: 9999px;

  /* ── Border width ── */
  --ax-border-width-none: 0;
  --ax-border-width-thin: 1px;
  --ax-border-width-default: 1px;
  --ax-border-width-thick: 2px;

  /* ── Shadow & elevation ── */
  --ax-shadow-none: none;
  --ax-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --ax-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --ax-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --ax-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --ax-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --ax-elevation-0: none;
  --ax-elevation-1: var(--ax-shadow-sm);
  --ax-elevation-2: var(--ax-shadow-md);
  --ax-elevation-3: var(--ax-shadow-lg);
  --ax-elevation-4: var(--ax-shadow-xl);

  /* ── Motion ── */
  --ax-duration-instant: 0ms;
  --ax-duration-fast: 150ms;
  --ax-duration-normal: 250ms;
  --ax-duration-slow: 350ms;
  --ax-duration-slower: 500ms;
  --ax-duration-m3-short1: 50ms;
  --ax-duration-m3-short2: 100ms;
  --ax-duration-m3-short3: 150ms;
  --ax-duration-m3-short4: 200ms;
  --ax-duration-m3-medium1: 250ms;
  --ax-duration-m3-medium2: 300ms;
  --ax-duration-m3-medium3: 350ms;
  --ax-duration-m3-medium4: 400ms;
  --ax-duration-m3-long1: 400ms;
  --ax-duration-m3-long2: 500ms;
  --ax-duration-m3-long3: 550ms;
  --ax-duration-m3-long4: 600ms;
  --ax-easing-linear: linear;
  --ax-easing-ease: ease;
  --ax-easing-easeIn: cubic-bezier(0.4, 0, 1, 1);
  --ax-easing-easeOut: cubic-bezier(0, 0, 0.2, 1);
  --ax-easing-easeInOut: cubic-bezier(0.4, 0, 0.2, 1);
  --ax-easing-m3-standard: cubic-bezier(0.2, 0, 0, 1);
  --ax-easing-m3-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);
  --ax-easing-m3-standard-decelerate: cubic-bezier(0, 0, 0, 1);
  --ax-easing-m3-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --ax-easing-m3-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
  --ax-easing-m3-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);

  /* ── Z-index scale ── */
  --ax-z-base: 0;
  --ax-z-dropdown: 1000;
  --ax-z-sticky: 1100;
  --ax-z-fixed: 1200;
  --ax-z-overlay: 1300;
  --ax-z-modal: 1400;
  --ax-z-popover: 1450;
  --ax-z-toast: 1500;
  --ax-z-debug: 9999;

  /* ── Grid ── */
  --ax-grid-columns: 12;
  --ax-grid-gutter: 24px;

  /* ── Accessibility ── */
  --ax-a11y-touch-target-min: 48px;
  --ax-a11y-text-min-contrast: 4.5;
  --ax-a11y-text-enhanced-contrast: 7;

  /* ── Breakpoints ── */
  --ax-breakpoint-xs: 0px;
  --ax-breakpoint-sm: 600px;
  --ax-breakpoint-md: 960px;
  --ax-breakpoint-lg: 1280px;
  --ax-breakpoint-xl: 1440px;
  --ax-breakpoint-2xl: 1920px;
  --ax-container-sm: 640px;
  --ax-container-md: 960px;
  --ax-container-lg: 1280px;
  --ax-container-xl: 1440px;
  --ax-container-2xl: 1728px;

  /* ── Clinical category colors (light) ── */
  --ax-cat-med-subtle:       var(--ax-color-indigo-50);
  --ax-cat-med-emphasis:     var(--ax-color-indigo-700);
  --ax-cat-med-fg:           var(--ax-text-inverted);
  --ax-cat-lab-subtle:       var(--ax-color-cyan-100);
  --ax-cat-lab-emphasis:     var(--ax-color-cyan-700);
  --ax-cat-lab-fg:           var(--ax-text-inverted);
  --ax-cat-imaging-subtle:   var(--ax-color-purple-100);
  --ax-cat-imaging-emphasis: var(--ax-color-purple-700);
  --ax-cat-imaging-fg:       var(--ax-text-inverted);
  --ax-cat-diet-subtle:      #ecfccb;
  --ax-cat-diet-emphasis:    #4d7c0f;
  --ax-cat-diet-fg:          var(--ax-text-inverted);
  --ax-cat-activity-subtle:  var(--ax-color-amber-100);
  --ax-cat-activity-emphasis:var(--ax-color-amber-700);
  --ax-cat-activity-fg:      var(--ax-text-inverted);
  --ax-cat-consult-subtle:   var(--ax-color-pink-100);
  --ax-cat-consult-emphasis: var(--ax-color-pink-700);
  --ax-cat-consult-fg:       var(--ax-text-inverted);
  --ax-cat-procedure-subtle: var(--ax-color-red-100);
  --ax-cat-procedure-emphasis:var(--ax-color-red-700);
  --ax-cat-procedure-fg:     var(--ax-text-inverted);
  --ax-cat-vital-subtle:     var(--ax-color-cyan-50);
  --ax-cat-vital-emphasis:   var(--ax-color-cyan-800);
  --ax-cat-vital-fg:         var(--ax-text-inverted);
}

/* ══════════════════════════════════════════════════════════════
 * DARK THEME
 * ══════════════════════════════════════════════════════════════ */
[data-theme="dark"] {
  /* Background (Tremor palette) */
  --ax-background-page: var(--ax-color-zinc-950);
  --ax-background-default: var(--ax-color-gray-900);
  --ax-background-subtle: var(--ax-color-gray-800);
  --ax-background-muted: #131a2b;
  --ax-background-emphasis: var(--ax-color-gray-300);
  /* Text (Gray scale) */
  --ax-text-disabled: var(--ax-color-gray-600);
  --ax-text-subtle: var(--ax-color-gray-500);
  --ax-text-secondary: var(--ax-color-gray-400);
  --ax-text-default: var(--ax-color-gray-300);
  --ax-text-strong: var(--ax-color-gray-200);
  --ax-text-heading: var(--ax-color-gray-100);
  --ax-text-inverted: var(--ax-color-gray-900);
  /* Border */
  --ax-border-subtle: var(--ax-color-gray-800);
  --ax-border-default: var(--ax-color-gray-700);
  --ax-border-emphasis: var(--ax-color-gray-600);
  /* Primary */
  --ax-primary-light: var(--ax-color-indigo-200);
  --ax-primary: var(--ax-color-indigo-400);
  --ax-primary-dark: var(--ax-color-indigo-600);
  /* Role palettes (dark) */
  --ax-brand-faint:    #1a237e;
  --ax-brand-muted:    #283593;
  --ax-brand-subtle: #303f9f;
  --ax-brand-default: #5c6bc0;
  --ax-brand-emphasis: #9fa8da;
  --ax-brand-inverted: #1a237e;
  --ax-success-faint:    var(--ax-color-emerald-900);
  --ax-success-muted:    var(--ax-color-emerald-800);
  --ax-success-subtle:   var(--ax-color-emerald-700);
  --ax-success-default:  var(--ax-color-emerald-400);
  --ax-success-emphasis: var(--ax-color-emerald-200);
  --ax-success-inverted: var(--ax-color-zinc-950);
  --ax-warning-faint:    var(--ax-color-amber-900);
  --ax-warning-muted:    var(--ax-color-amber-800);
  --ax-warning-subtle:   var(--ax-color-amber-700);
  --ax-warning-default:  var(--ax-color-amber-400);
  --ax-warning-emphasis: var(--ax-color-amber-200);
  --ax-warning-inverted: var(--ax-color-zinc-950);
  --ax-error-faint:    var(--ax-color-red-900);
  --ax-error-muted:    var(--ax-color-red-800);
  --ax-error-subtle:   var(--ax-color-red-700);
  --ax-error-default:  var(--ax-color-red-400);
  --ax-error-emphasis: var(--ax-color-red-200);
  --ax-error-inverted: var(--ax-color-zinc-950);
  --ax-info-faint:    var(--ax-color-blue-900);
  --ax-info-muted:    var(--ax-color-blue-800);
  --ax-info-subtle:   var(--ax-color-blue-700);
  --ax-info-default:  var(--ax-color-blue-400);
  --ax-info-emphasis: var(--ax-color-blue-200);
  --ax-info-inverted: var(--ax-color-zinc-950);
  /* Stronger shadows */
  --ax-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.5);
  --ax-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.5), 0 1px 3px 0 rgb(0 0 0 / 0.4);
  --ax-shadow-md: 0 2px 4px -2px rgb(0 0 0 / 0.5), 0 4px 8px -2px rgb(0 0 0 / 0.4);
  --ax-shadow-lg: 0 4px 6px -2px rgb(0 0 0 / 0.3), 0 12px 16px -4px rgb(0 0 0 / 0.5);
  --ax-shadow-xl: 0 8px 8px -4px rgb(0 0 0 / 0.3), 0 20px 24px -4px rgb(0 0 0 / 0.5);
  /* Component dark overrides */
  --ax-nav-bg: var(--ax-color-gray-900);
  --ax-nav-text: var(--ax-color-gray-400);
  --ax-nav-text-hover: var(--ax-color-gray-50);
  --ax-nav-text-active: var(--ax-color-indigo-300);
  --ax-nav-bg-active: rgb(63 81 181 / 0.15);
  --ax-button-secondary-bg: var(--ax-color-gray-800);
  --ax-button-secondary-bg-hover: var(--ax-color-gray-700);
  --ax-input-bg: var(--ax-color-gray-900);
  --ax-input-bg-disabled: var(--ax-color-gray-800);
  /* Specialized surfaces (dark — only non-locked flip) */
  --ax-surface-paper-stage:   var(--ax-color-zinc-900);
  --ax-surface-terminal:      var(--ax-color-zinc-900);
  --ax-surface-terminal-rule: var(--ax-color-zinc-700);
  /* Clinical category colors (dark) */
  --ax-cat-med-subtle:        color-mix(in srgb, var(--ax-color-indigo-400) 20%, transparent);
  --ax-cat-med-emphasis:      var(--ax-color-indigo-300);
  --ax-cat-med-fg:            var(--ax-color-zinc-950);
  --ax-cat-lab-subtle:        color-mix(in srgb, var(--ax-color-cyan-400) 18%, transparent);
  --ax-cat-lab-emphasis:      var(--ax-color-cyan-400);
  --ax-cat-lab-fg:            var(--ax-color-zinc-950);
  --ax-cat-imaging-subtle:    color-mix(in srgb, var(--ax-color-purple-400) 20%, transparent);
  --ax-cat-imaging-emphasis:  var(--ax-color-purple-400);
  --ax-cat-imaging-fg:        var(--ax-color-zinc-950);
  --ax-cat-diet-subtle:       color-mix(in srgb, #a3e635 18%, transparent);
  --ax-cat-diet-emphasis:     #a3e635;
  --ax-cat-diet-fg:           var(--ax-color-zinc-950);
  --ax-cat-activity-subtle:   color-mix(in srgb, var(--ax-color-amber-400) 20%, transparent);
  --ax-cat-activity-emphasis: var(--ax-color-amber-400);
  --ax-cat-activity-fg:       var(--ax-color-zinc-950);
  --ax-cat-consult-subtle:    color-mix(in srgb, var(--ax-color-pink-400) 20%, transparent);
  --ax-cat-consult-emphasis:  var(--ax-color-pink-400);
  --ax-cat-consult-fg:        var(--ax-color-zinc-950);
  --ax-cat-procedure-subtle:  color-mix(in srgb, var(--ax-color-red-400) 22%, transparent);
  --ax-cat-procedure-emphasis:var(--ax-color-red-400);
  --ax-cat-procedure-fg:      var(--ax-color-zinc-950);
  --ax-cat-vital-subtle:      color-mix(in srgb, var(--ax-color-cyan-400) 20%, transparent);
  --ax-cat-vital-emphasis:    var(--ax-color-cyan-400);
  --ax-cat-vital-fg:          var(--ax-color-zinc-950);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ax-background-page: var(--ax-color-zinc-950);
    --ax-background-default: var(--ax-color-gray-900);
    --ax-background-subtle: var(--ax-color-gray-800);
    --ax-background-muted: #131a2b;
    --ax-background-emphasis: var(--ax-color-gray-300);
    --ax-text-disabled: var(--ax-color-gray-600);
    --ax-text-subtle: var(--ax-color-gray-500);
    --ax-text-secondary: var(--ax-color-gray-400);
    --ax-text-default: var(--ax-color-gray-300);
    --ax-text-heading: var(--ax-color-gray-100);
    --ax-text-inverted: var(--ax-color-gray-900);
    --ax-border-subtle: var(--ax-color-gray-800);
    --ax-border-default: var(--ax-color-gray-700);
    --ax-border-emphasis: var(--ax-color-gray-600);
    --ax-primary: var(--ax-color-indigo-400);
  }
}

/* ── Density variants ── */
[data-density="compact"] {
  --ax-control-h: 2.5rem;
  --ax-control-pad-x: 0.625rem;
  --ax-control-pad-y: 0.375rem;
  --ax-control-gap: 0.375rem;
  --ax-control-icon: 1rem;
}
[data-density="spacious"] {
  --ax-control-h: 3.5rem;
  --ax-control-pad-x: 1.125rem;
  --ax-control-pad-y: 0.875rem;
  --ax-control-gap: 0.625rem;
  --ax-control-icon: 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --ax-duration-instant: 0ms;
    --ax-duration-fast: 0ms;
    --ax-duration-normal: 0ms;
    --ax-duration-slow: 0ms;
    --ax-duration-slower: 0ms;
  }
}
