/* ============================================================================
   Untitled UI — Design Tokens  (tokens.css)
   ----------------------------------------------------------------------------
   Source of truth : Figma "Master Design file" (variable collections),
                     extracted via the Figma MCP. Brand = coral (#ff6b4a).
   Generated for   : Shopamine — dashboard look & feel handoff.

   Structure
     1. Primitives  — the raw palette (theme-independent)
     2. Spacing / Radius / Widths / Containers
     3. Typography  — families, weights, sizes, line-heights
     4. Icon sizes
     5. Shadows     — composed elevation (Untitled UI scale geometry)
     6. Semantic    — :root = LIGHT mode
     7. Dark mode   — [data-theme="dark"] overrides + prefers-color-scheme

   Usage
     • Light is the default. Toggle dark with  <html data-theme="dark">.
     • Reference semantic tokens in UI (var(--bg-primary), var(--text-primary),
       var(--border-primary)…), not raw primitives, so theming "just works".
     • Font: load Inter, e.g.
       <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
   ============================================================================ */

:root {
  /* ---- 1. Primitives — raw palette (do not theme these) ---- */
  /* Base */
  --color-base-white: #ffffff;
  --color-base-black: #000000;
  --color-base-transparent: #ffffff00;
  /* Neutral */
  --color-neutral-50: #fafafa;
  --color-neutral-100: #f5f5f5;
  --color-neutral-200: #e5e5e5;
  --color-neutral-300: #d4d4d4;
  --color-neutral-400: #a3a3a3;
  --color-neutral-500: #737373;
  --color-neutral-600: #525252;
  --color-neutral-700: #404040;
  --color-neutral-800: #262626;
  --color-neutral-900: #171717;
  --color-neutral-950: #0a0a0a;
  /* Neutral (alpha) */
  --color-neutral-alpha-50: #fffffff7;
  --color-neutral-alpha-100: #fffffff5;
  --color-neutral-alpha-200: #ffffffe5;
  --color-neutral-alpha-300: #ffffffd1;
  --color-neutral-alpha-400: #ffffff9e;
  --color-neutral-alpha-500: #ffffff6e;
  --color-neutral-alpha-600: #ffffff4a;
  --color-neutral-alpha-700: #ffffff38;
  --color-neutral-alpha-800: #ffffff1f;
  --color-neutral-alpha-900: #ffffff0d;
  --color-neutral-alpha-950: #ffffff00;
  /* Brand */
  --color-brand-50: #fff4f1;
  --color-brand-100: #ffe6e0;
  --color-brand-200: #ffcabd;
  --color-brand-300: #ffa994;
  --color-brand-400: #ff8a6e;
  --color-brand-500: #ff7656;
  --color-brand-600: #ff6b4a;
  --color-brand-700: #e0532f;
  --color-brand-800: #b5401f;
  --color-brand-900: #8f3318;
  --color-brand-950: #4e1809;
  /* Red */
  --color-red-50: #fef2f2;
  --color-red-100: #fee2e2;
  --color-red-200: #fecaca;
  --color-red-300: #fca5a5;
  --color-red-400: #f87171;
  --color-red-500: #ef4444;
  --color-red-600: #dc2626;
  --color-red-700: #b91c1c;
  --color-red-800: #991b1b;
  --color-red-900: #7f1d1d;
  --color-red-950: #450a0a;
  /* Orange */
  --color-orange-50: #fff7ed;
  --color-orange-100: #ffedd5;
  --color-orange-200: #fed7aa;
  --color-orange-300: #fdba74;
  --color-orange-400: #fb923c;
  --color-orange-500: #f97316;
  --color-orange-600: #ea580c;
  --color-orange-700: #c2410c;
  --color-orange-800: #9a3412;
  --color-orange-900: #7c2d12;
  --color-orange-950: #431407;
  /* Amber */
  --color-amber-50: #fffbeb;
  --color-amber-100: #fef3c7;
  --color-amber-200: #fde68a;
  --color-amber-300: #fcd34d;
  --color-amber-400: #fbbf24;
  --color-amber-500: #f59e0b;
  --color-amber-600: #d97706;
  --color-amber-700: #b45309;
  --color-amber-800: #92400e;
  --color-amber-900: #78350f;
  --color-amber-950: #451a03;
  /* Yellow */
  --color-yellow-50: #fefce8;
  --color-yellow-100: #fef9c3;
  --color-yellow-200: #fef08a;
  --color-yellow-300: #fde047;
  --color-yellow-400: #facc15;
  --color-yellow-500: #eab308;
  --color-yellow-600: #ca8a04;
  --color-yellow-700: #a16207;
  --color-yellow-800: #854d0e;
  --color-yellow-900: #713f12;
  --color-yellow-950: #422006;
  /* Lime */
  --color-lime-50: #f7fee7;
  --color-lime-100: #ecfccb;
  --color-lime-200: #d9f99d;
  --color-lime-300: #bef264;
  --color-lime-400: #a3e635;
  --color-lime-500: #84cc16;
  --color-lime-600: #65a30d;
  --color-lime-700: #4d7c0f;
  --color-lime-800: #3f6212;
  --color-lime-900: #365314;
  --color-lime-950: #1a2e05;
  /* Green */
  --color-green-50: #f0fdf4;
  --color-green-100: #dcfce7;
  --color-green-200: #bbf7d0;
  --color-green-300: #86efac;
  --color-green-400: #4ade80;
  --color-green-500: #22c55e;
  --color-green-600: #16a34a;
  --color-green-700: #15803d;
  --color-green-800: #166534;
  --color-green-900: #14532d;
  --color-green-950: #052e16;
  /* Emerald */
  --color-emerald-50: #ecfdf5;
  --color-emerald-100: #d1fae5;
  --color-emerald-200: #a7f3d0;
  --color-emerald-300: #6ee7b7;
  --color-emerald-400: #34d399;
  --color-emerald-500: #10b981;
  --color-emerald-600: #059669;
  --color-emerald-700: #047857;
  --color-emerald-800: #065f46;
  --color-emerald-900: #064e3b;
  --color-emerald-950: #022c22;
  /* Teal */
  --color-teal-50: #f0fdfa;
  --color-teal-100: #ccfbf1;
  --color-teal-200: #99f6e4;
  --color-teal-300: #5eead4;
  --color-teal-400: #2dd4bf;
  --color-teal-500: #14b8a6;
  --color-teal-600: #0d9488;
  --color-teal-700: #0f766e;
  --color-teal-800: #115e59;
  --color-teal-900: #134e4a;
  --color-teal-950: #042f2e;
  /* Cyan */
  --color-cyan-50: #ecfeff;
  --color-cyan-100: #cffafe;
  --color-cyan-200: #a5f3fc;
  --color-cyan-300: #67e8f9;
  --color-cyan-400: #22d3ee;
  --color-cyan-500: #06b6d4;
  --color-cyan-600: #0891b2;
  --color-cyan-700: #0e7490;
  --color-cyan-800: #155e75;
  --color-cyan-900: #164e63;
  --color-cyan-950: #083344;
  /* Sky */
  --color-sky-50: #f0f9ff;
  --color-sky-100: #e0f2fe;
  --color-sky-200: #bae6fd;
  --color-sky-300: #7dd3fc;
  --color-sky-400: #38bdf8;
  --color-sky-500: #0ea5e9;
  --color-sky-600: #0284c7;
  --color-sky-700: #0369a1;
  --color-sky-800: #075985;
  --color-sky-900: #0c4a6e;
  --color-sky-950: #082f49;
  /* Blue */
  --color-blue-50: #eff6ff;
  --color-blue-100: #dbeafe;
  --color-blue-200: #bfdbfe;
  --color-blue-300: #93c5fd;
  --color-blue-400: #60a5fa;
  --color-blue-500: #3b82f6;
  --color-blue-600: #2563eb;
  --color-blue-700: #1d4ed8;
  --color-blue-800: #1e40af;
  --color-blue-900: #1e3a8a;
  --color-blue-950: #172554;
  /* Indigo */
  --color-indigo-50: #eef2ff;
  --color-indigo-100: #e0e7ff;
  --color-indigo-200: #c7d2fe;
  --color-indigo-300: #a5b4fc;
  --color-indigo-400: #818cf8;
  --color-indigo-500: #6366f1;
  --color-indigo-600: #4f46e5;
  --color-indigo-700: #4338ca;
  --color-indigo-800: #3730a3;
  --color-indigo-900: #312e81;
  --color-indigo-950: #1e1b4b;
  /* Violet */
  --color-violet-50: #f5f3ff;
  --color-violet-100: #ede9fe;
  --color-violet-200: #ddd6fe;
  --color-violet-300: #c4b5fd;
  --color-violet-400: #a78bfa;
  --color-violet-500: #8b5cf6;
  --color-violet-600: #7c3aed;
  --color-violet-700: #6d28d9;
  --color-violet-800: #5b21b6;
  --color-violet-900: #4c1d95;
  --color-violet-950: #2e1065;
  /* Purple */
  --color-purple-50: #faf5ff;
  --color-purple-100: #f3e8ff;
  --color-purple-200: #e9d5ff;
  --color-purple-300: #d8b4fe;
  --color-purple-400: #c084fc;
  --color-purple-500: #a855f7;
  --color-purple-600: #9333ea;
  --color-purple-700: #7e22ce;
  --color-purple-800: #6b21a8;
  --color-purple-900: #581c87;
  --color-purple-950: #3b0764;
  /* Fuchsia */
  --color-fuchsia-50: #fdf4ff;
  --color-fuchsia-100: #fae8ff;
  --color-fuchsia-200: #f5d0fe;
  --color-fuchsia-300: #f0abfc;
  --color-fuchsia-400: #e879f9;
  --color-fuchsia-500: #d946ef;
  --color-fuchsia-600: #c026d3;
  --color-fuchsia-700: #a21caf;
  --color-fuchsia-800: #86198f;
  --color-fuchsia-900: #701a75;
  --color-fuchsia-950: #4a044e;
  /* Pink */
  --color-pink-50: #fdf2f8;
  --color-pink-100: #fce7f3;
  --color-pink-200: #fbcfe8;
  --color-pink-300: #f9a8d4;
  --color-pink-400: #f472b6;
  --color-pink-500: #ec4899;
  --color-pink-600: #db2777;
  --color-pink-700: #be185d;
  --color-pink-800: #9d174d;
  --color-pink-900: #831843;
  --color-pink-950: #500724;
  /* Rose */
  --color-rose-50: #fff1f2;
  --color-rose-100: #ffe4e6;
  --color-rose-200: #fecdd3;
  --color-rose-300: #fda4af;
  --color-rose-400: #fb7185;
  --color-rose-500: #f43f5e;
  --color-rose-600: #e11d48;
  --color-rose-700: #be123c;
  --color-rose-800: #9f1239;
  --color-rose-900: #881337;
  --color-rose-950: #4c0519;
  /* Slate */
  --color-slate-50: #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-400: #94a3b8;
  --color-slate-500: #64748b;
  --color-slate-600: #475569;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;
  --color-slate-950: #020617;
  /* Gray */
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  --color-gray-950: #030712;
  /* Zinc */
  --color-zinc-50: #fafafa;
  --color-zinc-100: #f4f4f5;
  --color-zinc-200: #e4e4e7;
  --color-zinc-300: #d4d4d8;
  --color-zinc-400: #a1a1aa;
  --color-zinc-500: #71717a;
  --color-zinc-600: #52525b;
  --color-zinc-700: #3f3f46;
  --color-zinc-800: #27272a;
  --color-zinc-900: #18181b;
  --color-zinc-950: #09090b;
  /* Stone */
  --color-stone-50: #fafaf9;
  --color-stone-100: #f5f5f4;
  --color-stone-200: #e7e5e4;
  --color-stone-300: #d6d3d1;
  --color-stone-400: #a8a29e;
  --color-stone-500: #78716c;
  --color-stone-600: #57534e;
  --color-stone-700: #44403c;
  --color-stone-800: #292524;
  --color-stone-900: #1c1917;
  --color-stone-950: #0c0a09;
  /* Taupe */
  --color-taupe-50: #fbfaf9;
  --color-taupe-100: #f3f1f1;
  --color-taupe-200: #e8e4e3;
  --color-taupe-300: #d8d2d0;
  --color-taupe-400: #aba09c;
  --color-taupe-500: #7c6d67;
  --color-taupe-600: #5b4f4b;
  --color-taupe-700: #473c39;
  --color-taupe-800: #2b2422;
  --color-taupe-900: #1d1816;
  --color-taupe-950: #0c0a09;
  /* Mauve */
  --color-mauve-50: #fafafa;
  --color-mauve-100: #f3f1f3;
  --color-mauve-200: #e7e4e7;
  --color-mauve-300: #d7d0d7;
  --color-mauve-400: #a89ea9;
  --color-mauve-500: #79697b;
  --color-mauve-600: #594c5b;
  --color-mauve-700: #463947;
  --color-mauve-800: #2a212c;
  --color-mauve-900: #1d161e;
  --color-mauve-950: #0c090c;
  /* Mist */
  --color-mist-50: #f9fbfb;
  --color-mist-100: #f1f3f3;
  --color-mist-200: #e3e7e8;
  --color-mist-300: #d0d6d8;
  --color-mist-400: #9ca8ab;
  --color-mist-500: #67787c;
  --color-mist-600: #4b585b;
  --color-mist-700: #394447;
  --color-mist-800: #22292b;
  --color-mist-900: #161b1d;
  --color-mist-950: #090b0c;
  /* Olive */
  --color-olive-50: #fbfbf9;
  --color-olive-100: #f4f4f0;
  --color-olive-200: #e8e8e3;
  --color-olive-300: #d8d8d0;
  --color-olive-400: #abab9c;
  --color-olive-500: #7c7c67;
  --color-olive-600: #5b5b4b;
  --color-olive-700: #474739;
  --color-olive-800: #2b2b22;
  --color-olive-900: #1d1d16;
  --color-olive-950: #0c0c09;

  /* ---- 2. Spacing (px) — 4px-based scale ---- */
  --spacing-none: 0px;
  --spacing-xxs: 2px;
  --spacing-xs: 4px;
  --spacing-sm: 6px;
  --spacing-md: 8px;
  --spacing-lg: 12px;
  --spacing-xl: 16px;
  --spacing-2xl: 20px;
  --spacing-3xl: 24px;
  --spacing-4xl: 32px;
  --spacing-5xl: 40px;
  --spacing-6xl: 48px;
  --spacing-7xl: 64px;
  --spacing-8xl: 80px;
  --spacing-9xl: 96px;
  --spacing-10xl: 128px;
  --spacing-11xl: 160px;

  /* ---- Radius (px) ---- */
  --radius-none: 0px;
  --radius-xxs: 2px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 20px;
  --radius-4xl: 24px;
  --radius-full: 9999px;

  /* ---- Widths / breakpoints (px) ---- */
  --width-xxs: 320px;
  --width-xs: 384px;
  --width-sm: 480px;
  --width-md: 560px;
  --width-lg: 640px;
  --width-xl: 768px;
  --width-2xl: 1024px;
  --width-3xl: 1280px;
  --width-4xl: 1440px;
  --width-5xl: 1600px;
  --width-6xl: 1920px;
  --paragraph-max-width: 720px;

  /* ---- Container ---- */
  --container-padding-mobile: 16px;
  --container-padding-desktop: 32px;
  --container-max-width-desktop: 1280px;

  /* ---- 3. Typography ---- */
  --font-family-display: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  /* font weights */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  /* font sizes (px) */
  --font-size-text-xs: 12px;
  --font-size-text-sm: 14px;
  --font-size-text-md: 16px;
  --font-size-text-lg: 18px;
  --font-size-text-xl: 20px;
  --font-size-display-xs: 24px;
  --font-size-display-sm: 30px;
  --font-size-display-md: 36px;
  --font-size-display-lg: 48px;
  --font-size-display-xl: 60px;
  --font-size-display-2xl: 72px;
  /* line heights (px) */
  --line-height-text-xs: 18px;
  --line-height-text-sm: 20px;
  --line-height-text-md: 24px;
  --line-height-text-lg: 28px;
  --line-height-text-xl: 30px;
  --line-height-display-xs: 32px;
  --line-height-display-sm: 38px;
  --line-height-display-md: 44px;
  --line-height-display-lg: 60px;
  --line-height-display-xl: 72px;
  --line-height-display-2xl: 90px;

  /* ---- 4. Icon sizes (Untitled UI Icons; stroke ~1.67px @ 24) ---- */
  --icon-size-xs: 16px;
  --icon-size-sm: 20px;
  --icon-size-md: 24px;

  /* ---- 5. Shadows — exact geometry from Figma effect styles ---- */
  --shadow-xs: 0 1px 2px 0 rgba(0,0,0,0.05);
  --shadow-sm: 0 1px 2px -1px rgba(0,0,0,0.10), 0 1px 3px 0 rgba(0,0,0,0.10);
  --shadow-md: 0 2px 4px -2px rgba(0,0,0,0.06), 0 4px 6px -1px rgba(0,0,0,0.10);
  --shadow-lg: 0 2px 2px -1px rgba(0,0,0,0.04), 0 4px 6px -2px rgba(0,0,0,0.03), 0 12px 16px -4px rgba(0,0,0,0.08);
  --shadow-xl: 0 3px 3px -1.5px rgba(0,0,0,0.04), 0 8px 8px -4px rgba(0,0,0,0.03), 0 20px 24px -4px rgba(0,0,0,0.08);
  --shadow-2xl: 0 4px 4px -2px rgba(0,0,0,0.04), 0 24px 48px -12px rgba(0,0,0,0.18);
  --shadow-3xl: 0 5px 5px -2.5px rgba(0,0,0,0.04), 0 32px 64px -12px rgba(0,0,0,0.14);
  /* solid-button skeuomorphic edges (shadow-xs-skeuomorphic) */
  --shadow-xs-skeuomorphic: 0 1px 2px 0 rgba(0,0,0,0.05), inset 0 -2px 0 0 rgba(0,0,0,0.05), inset 0 0 0 1px rgba(0,0,0,0.18);
  --shadow-skeuomorphic-inner: inset 0 -2px 0 0 rgba(0,0,0,0.05);
  --shadow-skeuomorphic-inner-border: inset 0 0 0 1px rgba(0,0,0,0.18);

  /* ============================================================ */
  /* 6. Semantic tokens — LIGHT mode (default)                    */
  /* ============================================================ */
  /* Background */
  --bg-primary: #ffffff;
  --bg-primary-alt: #ffffff;
  --bg-primary-hover: #fafafa;
  --bg-primary-solid: #0a0a0a;
  --bg-secondary: #fafafa;
  --bg-secondary-alt: #fafafa;
  --bg-secondary-hover: #f5f5f5;
  --bg-secondary-solid: #525252;
  --bg-tertiary: #f5f5f5;
  --bg-quaternary: #e9e9e9;
  --bg-overlay: #0a0a0a;
  --bg-brand-primary: #fff4f1;
  --bg-brand-primary-alt: #fff4f1;
  --bg-brand-secondary: #ffe6e0;
  --bg-brand-solid: #ff6b4a;
  --bg-brand-solid-hover: #e0532f;
  --bg-error-primary: #fef2f2;
  --bg-error-secondary: #fee2e2;
  --bg-error-solid: #dc2626;
  --bg-error-solid-hover: #b91c1c;
  --bg-warning-primary: #fefce8;
  --bg-warning-secondary: #fef9c3;
  --bg-warning-solid: #ca8a04;
  --bg-success-primary: #f0fdf4;
  --bg-success-secondary: #dcfce7;
  --bg-success-solid: #16a34a;

  /* Text */
  --text-primary: #171717;
  --text-primary-on-brand: #ffffff;
  --text-secondary: #404040;
  --text-secondary-hover: #262626;
  --text-secondary-on-brand: #ffcabd;
  --text-tertiary: #525252;
  --text-tertiary-hover: #404040;
  --text-tertiary-on-brand: #ffcabd;
  --text-quaternary: #737373;
  --text-quaternary-on-brand: #ffa994;
  --text-white: #ffffff;
  --text-placeholder: #737373;
  --text-brand-primary: #8f3318;
  --text-brand-secondary: #e0532f;
  --text-brand-secondary-hover: #b5401f;
  --text-brand-tertiary: #ff6b4a;
  --text-brand-tertiary-alt: #ff6b4a;
  --text-error-primary: #dc2626;
  --text-error-primary-hover: #b91c1c;
  --text-warning-primary: #ca8a04;
  --text-success-primary: #16a34a;

  /* Foreground */
  --fg-primary: #171717;
  --fg-secondary: #404040;
  --fg-secondary-hover: #262626;
  --fg-tertiary: #525252;
  --fg-tertiary-hover: #404040;
  --fg-quaternary: #a3a3a3;
  --fg-quaternary-hover: #737373;
  --fg-white: #ffffff;
  --fg-brand-primary: #ff6b4a;
  --fg-brand-primary-alt: #ff6b4a;
  --fg-brand-secondary: #ff7656;
  --fg-error-primary: #dc2626;
  --fg-error-secondary: #ef4444;
  --fg-warning-primary: #ca8a04;
  --fg-warning-secondary: #eab308;
  --fg-success-primary: #16a34a;
  --fg-success-secondary: #22c55e;

  /* Border */
  --border-primary: #d4d4d4;
  --border-secondary: #e5e5e5;
  --border-secondary-alt: #0000001a;
  --border-tertiary: #f5f5f5;
  --border-brand: #ff7656;
  --border-brand-alt: #ff6b4a;
  --border-error: #ef4444;
  --border-error-subtle: #fca5a5;

  /* Focus rings */
  --focus-ring: #ff7656;
  --focus-ring-error: #ef4444;

  /* Utility (charts, badges, statuses) */
  --utility-neutral-50: #fafafa;
  --utility-neutral-100: #f5f5f5;
  --utility-neutral-200: #e5e5e5;
  --utility-neutral-300: #d4d4d4;
  --utility-neutral-400: #a3a3a3;
  --utility-neutral-500: #737373;
  --utility-neutral-600: #525252;
  --utility-neutral-700: #404040;
  --utility-neutral-800: #262626;
  --utility-neutral-900: #171717;
  --utility-brand-50: #fff4f1;
  --utility-brand-100: #ffe6e0;
  --utility-brand-200: #ffcabd;
  --utility-brand-300: #ffa994;
  --utility-brand-400: #ff8a6e;
  --utility-brand-500: #ff7656;
  --utility-brand-600: #ff6b4a;
  --utility-brand-700: #e0532f;
  --utility-brand-800: #b5401f;
  --utility-brand-900: #8f3318;
  --utility-red-50: #fef2f2;
  --utility-red-100: #fee2e2;
  --utility-red-200: #fecaca;
  --utility-red-300: #fca5a5;
  --utility-red-400: #f87171;
  --utility-red-500: #ef4444;
  --utility-red-600: #dc2626;
  --utility-red-700: #b91c1c;
  --utility-orange-50: #fff7ed;
  --utility-orange-100: #ffedd5;
  --utility-orange-200: #fed7aa;
  --utility-orange-300: #fdba74;
  --utility-orange-400: #fb923c;
  --utility-orange-500: #f97316;
  --utility-orange-600: #ea580c;
  --utility-orange-700: #c2410c;
  --utility-amber-50: #fffbeb;
  --utility-amber-100: #fef3c7;
  --utility-amber-200: #fde68a;
  --utility-amber-300: #fcd34d;
  --utility-amber-400: #fbbf24;
  --utility-amber-500: #f59e0b;
  --utility-amber-600: #d97706;
  --utility-amber-700: #b45309;
  --utility-yellow-50: #fefce8;
  --utility-yellow-100: #fef9c3;
  --utility-yellow-200: #fef08a;
  --utility-yellow-300: #fde047;
  --utility-yellow-400: #facc15;
  --utility-yellow-500: #eab308;
  --utility-yellow-600: #ca8a04;
  --utility-yellow-700: #a16207;
  --utility-green-50: #f0fdf4;
  --utility-green-100: #dcfce7;
  --utility-green-200: #bbf7d0;
  --utility-green-300: #86efac;
  --utility-green-400: #4ade80;
  --utility-green-500: #22c55e;
  --utility-green-600: #16a34a;
  --utility-green-700: #15803d;
  --utility-emerald-50: #ecfdf5;
  --utility-emerald-100: #d1fae5;
  --utility-emerald-200: #a7f3d0;
  --utility-emerald-300: #6ee7b7;
  --utility-emerald-400: #34d399;
  --utility-emerald-500: #10b981;
  --utility-emerald-600: #059669;
  --utility-emerald-700: #047857;
  --utility-sky-50: #f0f9ff;
  --utility-sky-100: #e0f2fe;
  --utility-sky-200: #bae6fd;
  --utility-sky-300: #7dd3fc;
  --utility-sky-400: #38bdf8;
  --utility-sky-500: #0ea5e9;
  --utility-sky-600: #0284c7;
  --utility-sky-700: #0369a1;
  --utility-blue-50: #eff6ff;
  --utility-blue-100: #dbeafe;
  --utility-blue-200: #bfdbfe;
  --utility-blue-300: #93c5fd;
  --utility-blue-400: #60a5fa;
  --utility-blue-500: #3b82f6;
  --utility-blue-600: #2563eb;
  --utility-blue-700: #1d4ed8;
  --utility-indigo-50: #eef2ff;
  --utility-indigo-100: #e0e7ff;
  --utility-indigo-200: #c7d2fe;
  --utility-indigo-300: #a5b4fc;
  --utility-indigo-400: #818cf8;
  --utility-indigo-500: #6366f1;
  --utility-indigo-600: #4f46e5;
  --utility-indigo-700: #4338ca;
  --utility-purple-50: #faf5ff;
  --utility-purple-100: #f3e8ff;
  --utility-purple-200: #e9d5ff;
  --utility-purple-300: #d8b4fe;
  --utility-purple-400: #c084fc;
  --utility-purple-500: #a855f7;
  --utility-purple-600: #9333ea;
  --utility-purple-700: #7e22ce;
  --utility-fuchsia-50: #fdf4ff;
  --utility-fuchsia-100: #fae8ff;
  --utility-fuchsia-200: #f5d0fe;
  --utility-fuchsia-300: #f0abfc;
  --utility-fuchsia-400: #e879f9;
  --utility-fuchsia-500: #d946ef;
  --utility-fuchsia-600: #c026d3;
  --utility-fuchsia-700: #a21caf;
  --utility-pink-50: #fdf2f8;
  --utility-pink-100: #fce7f3;
  --utility-pink-200: #fbcfe8;
  --utility-pink-300: #f9a8d4;
  --utility-pink-400: #f472b6;
  --utility-pink-500: #ec4899;
  --utility-pink-600: #db2777;
  --utility-pink-700: #be185d;
  --utility-slate-50: #f8fafc;
  --utility-slate-100: #f1f5f9;
  --utility-slate-200: #e2e8f0;
  --utility-slate-300: #cbd5e1;
  --utility-slate-400: #94a3b8;
  --utility-slate-500: #64748b;
  --utility-slate-600: #475569;
  --utility-slate-700: #334155;

  /* Alpha overlays */
  --alpha-white-10: #ffffff1a;
  --alpha-white-20: #ffffff33;
  --alpha-white-30: #ffffff4d;
  --alpha-white-40: #ffffff66;
  --alpha-white-50: #ffffff80;
  --alpha-white-60: #ffffff99;
  --alpha-white-70: #ffffffb2;
  --alpha-white-80: #ffffffcc;
  --alpha-white-90: #ffffffe5;
  --alpha-white-100: #ffffff;
  --alpha-black-10: #0000001a;
  --alpha-black-20: #00000033;
  --alpha-black-30: #0000004d;
  --alpha-black-40: #00000066;
  --alpha-black-50: #00000080;
  --alpha-black-60: #00000099;
  --alpha-black-70: #000000b2;
  --alpha-black-80: #000000cc;
  --alpha-black-90: #000000e5;
  --alpha-black-100: #000000;

  /* focus ring (composed, exact) — solid brand ring + offset gap */
  --ring-brand: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--focus-ring);
  --ring-error: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--focus-ring-error);
}

/* ============================================================ */
/* 7. Semantic tokens — DARK mode                               */
/*    Primitives, spacing, radius & type stay constant.         */
/* ============================================================ */
[data-theme="dark"] {
  /* Background */
  --bg-primary: #0a0a0a;
  --bg-primary-alt: #171717;
  --bg-primary-hover: #171717;
  --bg-primary-solid: #262626;
  --bg-secondary: #171717;
  --bg-secondary-alt: #0a0a0a;
  --bg-secondary-hover: #262626;
  --bg-secondary-solid: #525252;
  --bg-tertiary: #262626;
  --bg-quaternary: #333333;
  --bg-overlay: #262626;
  --bg-brand-primary: #ff7656;
  --bg-brand-primary-alt: #171717;
  --bg-brand-secondary: #ff6b4a;
  --bg-brand-solid: #ff6b4a;
  --bg-brand-solid-hover: #ff7656;
  --bg-error-primary: #450a0a;
  --bg-error-secondary: #dc2626;
  --bg-error-solid: #dc2626;
  --bg-error-solid-hover: #ef4444;
  --bg-warning-primary: #422006;
  --bg-warning-secondary: #ca8a04;
  --bg-warning-solid: #ca8a04;
  --bg-success-primary: #052e16;
  --bg-success-secondary: #16a34a;
  --bg-success-solid: #16a34a;

  /* Text */
  --text-primary: #fafafa;
  --text-primary-on-brand: #fafafa;
  --text-secondary: #d4d4d4;
  --text-secondary-hover: #e5e5e5;
  --text-secondary-on-brand: #d4d4d4;
  --text-tertiary: #a3a3a3;
  --text-tertiary-hover: #d4d4d4;
  --text-tertiary-on-brand: #a3a3a3;
  --text-quaternary: #a3a3a3;
  --text-quaternary-on-brand: #a3a3a3;
  --text-white: #ffffff;
  --text-placeholder: #737373;
  --text-brand-primary: #fafafa;
  --text-brand-secondary: #d4d4d4;
  --text-brand-secondary-hover: #e5e5e5;
  --text-brand-tertiary: #a3a3a3;
  --text-brand-tertiary-alt: #fafafa;
  --text-error-primary: #f87171;
  --text-error-primary-hover: #fca5a5;
  --text-warning-primary: #facc15;
  --text-success-primary: #4ade80;

  /* Foreground */
  --fg-primary: #ffffff;
  --fg-secondary: #d4d4d4;
  --fg-secondary-hover: #e5e5e5;
  --fg-tertiary: #a3a3a3;
  --fg-tertiary-hover: #d4d4d4;
  --fg-quaternary: #737373;
  --fg-quaternary-hover: #a3a3a3;
  --fg-white: #ffffff;
  --fg-brand-primary: #ff7656;
  --fg-brand-primary-alt: #d4d4d4;
  --fg-brand-secondary: #ff7656;
  --fg-error-primary: #ef4444;
  --fg-error-secondary: #f87171;
  --fg-warning-primary: #eab308;
  --fg-warning-secondary: #facc15;
  --fg-success-primary: #22c55e;
  --fg-success-secondary: #4ade80;

  /* Border */
  --border-primary: #404040;
  --border-secondary: #262626;
  --border-secondary-alt: #262626;
  --border-tertiary: #262626;
  --border-brand: #ff8a6e;
  --border-brand-alt: #404040;
  --border-error: #f87171;
  --border-error-subtle: #ef4444;

  /* Focus rings */
  --focus-ring: #ff7656;
  --focus-ring-error: #ef4444;

  /* Utility (charts, badges, statuses) */
  --utility-neutral-50: #171717;
  --utility-neutral-100: #262626;
  --utility-neutral-200: #404040;
  --utility-neutral-300: #404040;
  --utility-neutral-400: #525252;
  --utility-neutral-500: #737373;
  --utility-neutral-600: #a3a3a3;
  --utility-neutral-700: #d4d4d4;
  --utility-neutral-800: #e5e5e5;
  --utility-neutral-900: #f5f5f5;
  --utility-brand-50: #4e1809;
  --utility-brand-100: #8f3318;
  --utility-brand-200: #b5401f;
  --utility-brand-300: #e0532f;
  --utility-brand-400: #ff6b4a;
  --utility-brand-500: #ff7656;
  --utility-brand-600: #ff8a6e;
  --utility-brand-700: #ffa994;
  --utility-brand-800: #ffcabd;
  --utility-brand-900: #ffe6e0;
  --utility-red-50: #450a0a;
  --utility-red-100: #7f1d1d;
  --utility-red-200: #991b1b;
  --utility-red-300: #b91c1c;
  --utility-red-400: #dc2626;
  --utility-red-500: #ef4444;
  --utility-red-600: #f87171;
  --utility-red-700: #fca5a5;
  --utility-orange-50: #431407;
  --utility-orange-100: #7c2d12;
  --utility-orange-200: #9a3412;
  --utility-orange-300: #c2410c;
  --utility-orange-400: #ea580c;
  --utility-orange-500: #f97316;
  --utility-orange-600: #fb923c;
  --utility-orange-700: #fdba74;
  --utility-amber-50: #451a03;
  --utility-amber-100: #78350f;
  --utility-amber-200: #92400e;
  --utility-amber-300: #b45309;
  --utility-amber-400: #d97706;
  --utility-amber-500: #f59e0b;
  --utility-amber-600: #fbbf24;
  --utility-amber-700: #fcd34d;
  --utility-yellow-50: #422006;
  --utility-yellow-100: #713f12;
  --utility-yellow-200: #854d0e;
  --utility-yellow-300: #a16207;
  --utility-yellow-400: #ca8a04;
  --utility-yellow-500: #eab308;
  --utility-yellow-600: #facc15;
  --utility-yellow-700: #fde047;
  --utility-green-50: #052e16;
  --utility-green-100: #14532d;
  --utility-green-200: #166534;
  --utility-green-300: #15803d;
  --utility-green-400: #16a34a;
  --utility-green-500: #22c55e;
  --utility-green-600: #4ade80;
  --utility-green-700: #86efac;
  --utility-emerald-50: #022c22;
  --utility-emerald-100: #064e3b;
  --utility-emerald-200: #065f46;
  --utility-emerald-300: #047857;
  --utility-emerald-400: #059669;
  --utility-emerald-500: #10b981;
  --utility-emerald-600: #34d399;
  --utility-emerald-700: #6ee7b7;
  --utility-sky-50: #082f49;
  --utility-sky-100: #0c4a6e;
  --utility-sky-200: #075985;
  --utility-sky-300: #0369a1;
  --utility-sky-400: #0284c7;
  --utility-sky-500: #0ea5e9;
  --utility-sky-600: #38bdf8;
  --utility-sky-700: #7dd3fc;
  --utility-blue-50: #172554;
  --utility-blue-100: #1e3a8a;
  --utility-blue-200: #1e40af;
  --utility-blue-300: #1d4ed8;
  --utility-blue-400: #2563eb;
  --utility-blue-500: #3b82f6;
  --utility-blue-600: #60a5fa;
  --utility-blue-700: #93c5fd;
  --utility-indigo-50: #1e1b4b;
  --utility-indigo-100: #312e81;
  --utility-indigo-200: #3730a3;
  --utility-indigo-300: #4338ca;
  --utility-indigo-400: #4f46e5;
  --utility-indigo-500: #6366f1;
  --utility-indigo-600: #818cf8;
  --utility-indigo-700: #a5b4fc;
  --utility-purple-50: #3b0764;
  --utility-purple-100: #581c87;
  --utility-purple-200: #6b21a8;
  --utility-purple-300: #7e22ce;
  --utility-purple-400: #9333ea;
  --utility-purple-500: #a855f7;
  --utility-purple-600: #c084fc;
  --utility-purple-700: #d8b4fe;
  --utility-fuchsia-50: #4a044e;
  --utility-fuchsia-100: #701a75;
  --utility-fuchsia-200: #86198f;
  --utility-fuchsia-300: #a21caf;
  --utility-fuchsia-400: #c026d3;
  --utility-fuchsia-500: #d946ef;
  --utility-fuchsia-600: #e879f9;
  --utility-fuchsia-700: #f0abfc;
  --utility-pink-50: #500724;
  --utility-pink-100: #831843;
  --utility-pink-200: #9d174d;
  --utility-pink-300: #be185d;
  --utility-pink-400: #db2777;
  --utility-pink-500: #ec4899;
  --utility-pink-600: #f472b6;
  --utility-pink-700: #f9a8d4;
  --utility-slate-50: #020617;
  --utility-slate-100: #0f172a;
  --utility-slate-200: #1e293b;
  --utility-slate-300: #334155;
  --utility-slate-400: #475569;
  --utility-slate-500: #64748b;
  --utility-slate-600: #94a3b8;
  --utility-slate-700: #cbd5e1;

  /* Alpha overlays */
  --alpha-white-10: #0a0a0a1a;
  --alpha-white-20: #0a0a0a33;
  --alpha-white-30: #0a0a0a4d;
  --alpha-white-40: #0a0a0a66;
  --alpha-white-50: #0a0a0a80;
  --alpha-white-60: #0a0a0a99;
  --alpha-white-70: #0a0a0ab2;
  --alpha-white-80: #0a0a0acc;
  --alpha-white-90: #0a0a0ae5;
  --alpha-white-100: #0a0a0a;
  --alpha-black-10: #ffffff1a;
  --alpha-black-20: #ffffff33;
  --alpha-black-30: #ffffff4d;
  --alpha-black-40: #ffffff66;
  --alpha-black-50: #ffffff80;
  --alpha-black-60: #ffffff99;
  --alpha-black-70: #ffffffb2;
  --alpha-black-80: #ffffffcc;
  --alpha-black-90: #ffffffe5;
  --alpha-black-100: #ffffff;

}

/* Optional: follow the OS setting when no explicit theme is set */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg-primary: #0a0a0a;
    --bg-primary-alt: #171717;
    --bg-primary-hover: #171717;
    --bg-primary-solid: #262626;
    --bg-secondary: #171717;
    --bg-secondary-alt: #0a0a0a;
    --bg-secondary-hover: #262626;
    --bg-secondary-solid: #525252;
    --bg-tertiary: #262626;
    --bg-quaternary: #333333;
    --bg-overlay: #262626;
    --bg-brand-primary: #ff7656;
    --bg-brand-primary-alt: #171717;
    --bg-brand-secondary: #ff6b4a;
    --bg-brand-solid: #ff6b4a;
    --bg-brand-solid-hover: #ff7656;
    --bg-error-primary: #450a0a;
    --bg-error-secondary: #dc2626;
    --bg-error-solid: #dc2626;
    --bg-error-solid-hover: #ef4444;
    --bg-warning-primary: #422006;
    --bg-warning-secondary: #ca8a04;
    --bg-warning-solid: #ca8a04;
    --bg-success-primary: #052e16;
    --bg-success-secondary: #16a34a;
    --bg-success-solid: #16a34a;
    --text-primary: #fafafa;
    --text-primary-on-brand: #fafafa;
    --text-secondary: #d4d4d4;
    --text-secondary-hover: #e5e5e5;
    --text-secondary-on-brand: #d4d4d4;
    --text-tertiary: #a3a3a3;
    --text-tertiary-hover: #d4d4d4;
    --text-tertiary-on-brand: #a3a3a3;
    --text-quaternary: #a3a3a3;
    --text-quaternary-on-brand: #a3a3a3;
    --text-white: #ffffff;
    --text-placeholder: #737373;
    --text-brand-primary: #fafafa;
    --text-brand-secondary: #d4d4d4;
    --text-brand-secondary-hover: #e5e5e5;
    --text-brand-tertiary: #a3a3a3;
    --text-brand-tertiary-alt: #fafafa;
    --text-error-primary: #f87171;
    --text-error-primary-hover: #fca5a5;
    --text-warning-primary: #facc15;
    --text-success-primary: #4ade80;
    --fg-primary: #ffffff;
    --fg-secondary: #d4d4d4;
    --fg-secondary-hover: #e5e5e5;
    --fg-tertiary: #a3a3a3;
    --fg-tertiary-hover: #d4d4d4;
    --fg-quaternary: #737373;
    --fg-quaternary-hover: #a3a3a3;
    --fg-white: #ffffff;
    --fg-brand-primary: #ff7656;
    --fg-brand-primary-alt: #d4d4d4;
    --fg-brand-secondary: #ff7656;
    --fg-error-primary: #ef4444;
    --fg-error-secondary: #f87171;
    --fg-warning-primary: #eab308;
    --fg-warning-secondary: #facc15;
    --fg-success-primary: #22c55e;
    --fg-success-secondary: #4ade80;
    --border-primary: #404040;
    --border-secondary: #262626;
    --border-secondary-alt: #262626;
    --border-tertiary: #262626;
    --border-brand: #ff8a6e;
    --border-brand-alt: #404040;
    --border-error: #f87171;
    --border-error-subtle: #ef4444;
    --focus-ring: #ff7656;
    --focus-ring-error: #ef4444;
    --utility-neutral-50: #171717;
    --utility-neutral-100: #262626;
    --utility-neutral-200: #404040;
    --utility-neutral-300: #404040;
    --utility-neutral-400: #525252;
    --utility-neutral-500: #737373;
    --utility-neutral-600: #a3a3a3;
    --utility-neutral-700: #d4d4d4;
    --utility-neutral-800: #e5e5e5;
    --utility-neutral-900: #f5f5f5;
    --utility-brand-50: #4e1809;
    --utility-brand-100: #8f3318;
    --utility-brand-200: #b5401f;
    --utility-brand-300: #e0532f;
    --utility-brand-400: #ff6b4a;
    --utility-brand-500: #ff7656;
    --utility-brand-600: #ff8a6e;
    --utility-brand-700: #ffa994;
    --utility-brand-800: #ffcabd;
    --utility-brand-900: #ffe6e0;
    --utility-red-50: #450a0a;
    --utility-red-100: #7f1d1d;
    --utility-red-200: #991b1b;
    --utility-red-300: #b91c1c;
    --utility-red-400: #dc2626;
    --utility-red-500: #ef4444;
    --utility-red-600: #f87171;
    --utility-red-700: #fca5a5;
    --utility-orange-50: #431407;
    --utility-orange-100: #7c2d12;
    --utility-orange-200: #9a3412;
    --utility-orange-300: #c2410c;
    --utility-orange-400: #ea580c;
    --utility-orange-500: #f97316;
    --utility-orange-600: #fb923c;
    --utility-orange-700: #fdba74;
    --utility-amber-50: #451a03;
    --utility-amber-100: #78350f;
    --utility-amber-200: #92400e;
    --utility-amber-300: #b45309;
    --utility-amber-400: #d97706;
    --utility-amber-500: #f59e0b;
    --utility-amber-600: #fbbf24;
    --utility-amber-700: #fcd34d;
    --utility-yellow-50: #422006;
    --utility-yellow-100: #713f12;
    --utility-yellow-200: #854d0e;
    --utility-yellow-300: #a16207;
    --utility-yellow-400: #ca8a04;
    --utility-yellow-500: #eab308;
    --utility-yellow-600: #facc15;
    --utility-yellow-700: #fde047;
    --utility-green-50: #052e16;
    --utility-green-100: #14532d;
    --utility-green-200: #166534;
    --utility-green-300: #15803d;
    --utility-green-400: #16a34a;
    --utility-green-500: #22c55e;
    --utility-green-600: #4ade80;
    --utility-green-700: #86efac;
    --utility-emerald-50: #022c22;
    --utility-emerald-100: #064e3b;
    --utility-emerald-200: #065f46;
    --utility-emerald-300: #047857;
    --utility-emerald-400: #059669;
    --utility-emerald-500: #10b981;
    --utility-emerald-600: #34d399;
    --utility-emerald-700: #6ee7b7;
    --utility-sky-50: #082f49;
    --utility-sky-100: #0c4a6e;
    --utility-sky-200: #075985;
    --utility-sky-300: #0369a1;
    --utility-sky-400: #0284c7;
    --utility-sky-500: #0ea5e9;
    --utility-sky-600: #38bdf8;
    --utility-sky-700: #7dd3fc;
    --utility-blue-50: #172554;
    --utility-blue-100: #1e3a8a;
    --utility-blue-200: #1e40af;
    --utility-blue-300: #1d4ed8;
    --utility-blue-400: #2563eb;
    --utility-blue-500: #3b82f6;
    --utility-blue-600: #60a5fa;
    --utility-blue-700: #93c5fd;
    --utility-indigo-50: #1e1b4b;
    --utility-indigo-100: #312e81;
    --utility-indigo-200: #3730a3;
    --utility-indigo-300: #4338ca;
    --utility-indigo-400: #4f46e5;
    --utility-indigo-500: #6366f1;
    --utility-indigo-600: #818cf8;
    --utility-indigo-700: #a5b4fc;
    --utility-purple-50: #3b0764;
    --utility-purple-100: #581c87;
    --utility-purple-200: #6b21a8;
    --utility-purple-300: #7e22ce;
    --utility-purple-400: #9333ea;
    --utility-purple-500: #a855f7;
    --utility-purple-600: #c084fc;
    --utility-purple-700: #d8b4fe;
    --utility-fuchsia-50: #4a044e;
    --utility-fuchsia-100: #701a75;
    --utility-fuchsia-200: #86198f;
    --utility-fuchsia-300: #a21caf;
    --utility-fuchsia-400: #c026d3;
    --utility-fuchsia-500: #d946ef;
    --utility-fuchsia-600: #e879f9;
    --utility-fuchsia-700: #f0abfc;
    --utility-pink-50: #500724;
    --utility-pink-100: #831843;
    --utility-pink-200: #9d174d;
    --utility-pink-300: #be185d;
    --utility-pink-400: #db2777;
    --utility-pink-500: #ec4899;
    --utility-pink-600: #f472b6;
    --utility-pink-700: #f9a8d4;
    --utility-slate-50: #020617;
    --utility-slate-100: #0f172a;
    --utility-slate-200: #1e293b;
    --utility-slate-300: #334155;
    --utility-slate-400: #475569;
    --utility-slate-500: #64748b;
    --utility-slate-600: #94a3b8;
    --utility-slate-700: #cbd5e1;
    --alpha-white-10: #0a0a0a1a;
    --alpha-white-20: #0a0a0a33;
    --alpha-white-30: #0a0a0a4d;
    --alpha-white-40: #0a0a0a66;
    --alpha-white-50: #0a0a0a80;
    --alpha-white-60: #0a0a0a99;
    --alpha-white-70: #0a0a0ab2;
    --alpha-white-80: #0a0a0acc;
    --alpha-white-90: #0a0a0ae5;
    --alpha-white-100: #0a0a0a;
    --alpha-black-10: #ffffff1a;
    --alpha-black-20: #ffffff33;
    --alpha-black-30: #ffffff4d;
    --alpha-black-40: #ffffff66;
    --alpha-black-50: #ffffff80;
    --alpha-black-60: #ffffff99;
    --alpha-black-70: #ffffffb2;
    --alpha-black-80: #ffffffcc;
    --alpha-black-90: #ffffffe5;
    --alpha-black-100: #ffffff;
  }
}

/* ============================================================================
   8. COMPONENTS — element styles built on the tokens above
   ----------------------------------------------------------------------------
   Specs pulled exactly from Figma (Buttons 1:1183, Checkboxes 1097:63638,
   Inputs 85:1269). All values reference tokens, so light/dark "just works".
   Class prefix: .uui-  — apply on plain HTML for the dashboard look & feel.
   ============================================================================ */

/* ---- Component tokens (per-size specs) ---- */
:root {
  /* button sizes: height / pad-y / pad-x / font-size / line-height / gap */
  --btn-h-xs: 32px;  --btn-py-xs: 6px;  --btn-px-xs: 10px;
  --btn-h-sm: 36px;  --btn-py-sm: 8px;  --btn-px-sm: 12px;
  --btn-h-md: 36px;  --btn-py-md: 10px; --btn-px-md: 14px;
  --btn-h-lg: 44px;  --btn-py-lg: 10px; --btn-px-lg: 16px;
  --btn-h-xl: 48px;  --btn-py-xl: 12px; --btn-px-xl: 18px;
  /* input sizes: height / pad-y / pad-x */
  --input-h-sm: 36px; --input-py-sm: 8px;  --input-px-sm: 12px;
  --input-h-md: 40px; --input-py-md: 8px;  --input-px-md: 12px;
  --input-h-lg: 44px; --input-py-lg: 10px; --input-px-lg: 14px;
  /* controls */
  --control-sm: 16px; --control-md: 20px;
}

/* ---- Buttons ---- */
.uui-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--spacing-xs);
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-text-sm);
  line-height: var(--line-height-text-sm);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  cursor: pointer; white-space: nowrap; user-select: none;
  transition: background-color .12s ease, color .12s ease, box-shadow .12s ease;
  /* default size = md */
  height: var(--btn-h-md); padding: var(--btn-py-md) var(--btn-px-md);
}
.uui-btn:focus-visible { outline: none; box-shadow: var(--ring-brand); }
.uui-btn .uui-icon { width: var(--icon-size-sm); height: var(--icon-size-sm); }

/* button sizes */
.uui-btn-xs { height: var(--btn-h-xs); padding: var(--btn-py-xs) var(--btn-px-xs); }
.uui-btn-sm { height: var(--btn-h-sm); padding: var(--btn-py-sm) var(--btn-px-sm); }
.uui-btn-md { height: var(--btn-h-md); padding: var(--btn-py-md) var(--btn-px-md); }
.uui-btn-lg { height: var(--btn-h-lg); padding: var(--btn-py-lg) var(--btn-px-lg); gap: var(--spacing-sm);
  font-size: var(--font-size-text-md); line-height: var(--line-height-text-md); }
.uui-btn-xl { height: var(--btn-h-xl); padding: var(--btn-py-xl) var(--btn-px-xl); gap: var(--spacing-sm);
  font-size: var(--font-size-text-md); line-height: var(--line-height-text-md); }

/* button hierarchies */
.uui-btn-primary {
  background: var(--bg-brand-solid); color: var(--text-white);
  border: 0; box-shadow: var(--shadow-xs-skeuomorphic);
}
.uui-btn-primary:hover { background: var(--bg-brand-solid-hover); }

.uui-btn-secondary {
  background: var(--bg-primary); color: var(--text-secondary);
  border-color: var(--border-primary); box-shadow: var(--shadow-xs);
}
.uui-btn-secondary:hover { background: var(--bg-primary-hover); }

.uui-btn-tertiary { background: transparent; color: var(--text-tertiary); }
.uui-btn-tertiary:hover { background: var(--bg-primary-hover); }

.uui-btn-destructive { background: var(--bg-error-solid); color: var(--text-white);
  border: 0; box-shadow: var(--shadow-xs-skeuomorphic); }
.uui-btn-destructive:hover { background: var(--bg-error-solid-hover); }

/* link buttons (inline, no box) */
.uui-btn-link, .uui-btn-link-gray {
  height: auto; padding: 0; border: 0; background: transparent; box-shadow: none;
}
.uui-btn-link { color: var(--text-brand-secondary); }
.uui-btn-link:hover { color: var(--text-brand-secondary-hover); }
.uui-btn-link-gray { color: var(--text-tertiary); }
.uui-btn-link-gray:hover { color: var(--text-tertiary-hover); }

/* disabled (approximation — Untitled UI uses dedicated disabled tokens) */
.uui-btn:disabled, .uui-btn[aria-disabled="true"] {
  background: var(--bg-secondary); color: var(--text-quaternary);
  border-color: var(--border-secondary); box-shadow: none;
  cursor: not-allowed; pointer-events: none;
}

/* ---- Inputs ---- */
.uui-input {
  display: flex; align-items: center; gap: var(--spacing-md);
  width: 100%; box-sizing: border-box;
  height: var(--input-h-md); padding: var(--input-py-md) var(--input-px-md);
  font-family: var(--font-family-body); font-weight: var(--font-weight-medium);
  font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-primary);
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  transition: border-color .12s ease, box-shadow .12s ease;
}
.uui-input::placeholder { color: var(--text-placeholder); }
.uui-input:focus, .uui-input:focus-within {
  outline: none; border-color: var(--border-brand); box-shadow: var(--ring-brand);
}
.uui-input.is-error { border-color: var(--border-error); }
.uui-input.is-error:focus, .uui-input.is-error:focus-within { box-shadow: var(--ring-error); }
.uui-input:disabled, .uui-input[aria-disabled="true"] {
  background: var(--bg-secondary); color: var(--text-quaternary); cursor: not-allowed;
}
.uui-input-sm { height: var(--input-h-sm); padding: var(--input-py-sm) var(--input-px-sm); }
.uui-input-md { height: var(--input-h-md); padding: var(--input-py-md) var(--input-px-md); }
.uui-input-lg { height: var(--input-h-lg); padding: var(--input-py-lg) var(--input-px-lg); }

/* label + hint helpers */
.uui-label { display: block; font-family: var(--font-family-body);
  font-weight: var(--font-weight-medium); font-size: var(--font-size-text-sm);
  line-height: var(--line-height-text-sm); color: var(--text-secondary);
  margin-bottom: var(--spacing-sm); }
.uui-hint { font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-tertiary); margin-top: var(--spacing-sm); }
.uui-hint.is-error { color: var(--text-error-primary); }

/* ---- Tags input (Figma 3531:403112 placeholder / 403169 filled / 403207 filled+focus) ---- */
/* Wrap in a field group with .uui-label + .uui-hint for the full component. */
.uui-tag-input {
  display: flex; align-items: center; gap: var(--spacing-md);
  width: 100%; box-sizing: border-box; min-height: var(--input-h-md);
  padding: 6px var(--spacing-lg);
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  transition: border-color .12s ease, box-shadow .12s ease;
}
.uui-tag-input:focus-within { border-color: var(--border-brand); box-shadow: var(--ring-brand); }
.uui-tag-input .uui-tags { display: flex; align-items: center; gap: var(--spacing-sm); flex-shrink: 0; }
.uui-tag-input .uui-tag-field {
  flex: 1 0 60px; min-width: 60px; border: 0; outline: none; background: transparent; padding: 0;
  font-family: var(--font-family-body); font-weight: var(--font-weight-regular);
  font-size: var(--font-size-text-md); line-height: var(--line-height-text-md); color: var(--text-primary);
}
.uui-tag-input .uui-tag-field::placeholder { color: var(--text-placeholder); }
.uui-tag-input .uui-alert { width: var(--icon-size-xs); height: var(--icon-size-xs); flex-shrink: 0; margin-left: auto; display: none; color: var(--fg-error-primary); }
/* error state */
.uui-tag-input.is-error { border-color: var(--border-error-subtle); box-shadow: var(--shadow-xs); }
.uui-tag-input.is-error:focus-within { border-color: var(--border-error); box-shadow: var(--ring-error); }
.uui-tag-input.is-error .uui-alert { display: block; }
/* disabled state */
.uui-tag-input.is-disabled { background: var(--bg-secondary); cursor: not-allowed; }
.uui-tag-input.is-disabled .uui-tag-field { cursor: not-allowed; }

/* tag chip */
.uui-tag {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 2px var(--spacing-xs) 2px 9px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-sm);
  font-family: var(--font-family-body); font-weight: var(--font-weight-medium);
  font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-secondary); white-space: nowrap;
}
.uui-tag-close {
  display: grid; place-items: center; width: 16px; height: 16px; padding: 2px;
  border: 0; background: transparent; border-radius: 3px;
  color: var(--fg-quaternary); cursor: pointer;
  transition: background .12s ease, color .12s ease;
}
.uui-tag-close:hover { background: var(--bg-secondary); color: var(--fg-secondary); }
.uui-tag-close svg { width: 12px; height: 12px; }

/* applied-filter variant (ADM-1194) -- the entity-table filter chips. Tinted so an active
   filter cannot be mistaken for idle chrome on the grey header band. Opt in from UuiTag with
   `applied`; the generic .uui-tag above is unchanged. */
.uui-tag.uui-tag-brand {
  gap: 6px; height: 28px; padding: 0 4px 0 8px;
  background: var(--utility-brand-50);
  border-color: var(--utility-brand-200);
  color: var(--text-primary);
  transition: background .12s ease;
}
.uui-tag.uui-tag-brand:hover,
.uui-tag.uui-tag-brand.is-open { background: var(--utility-brand-100); }
.uui-tag.uui-tag-brand .uui-tag-close {
  width: 18px; height: 18px; border-radius: var(--radius-xs); color: var(--text-tertiary);
}
.uui-tag.uui-tag-brand .uui-tag-close:hover { background: var(--utility-brand-200); color: var(--text-primary); }

/* ---- Checkboxes & radios ---- */
.uui-checkbox, .uui-radio {
  -webkit-appearance: none; appearance: none; margin: 0;
  width: var(--control-md); height: var(--control-md); flex: 0 0 auto;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  cursor: pointer;
  transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.uui-checkbox { border-radius: var(--radius-sm); }       /* md = 20px */
.uui-checkbox.uui-sm { width: var(--control-sm); height: var(--control-sm); border-radius: var(--radius-xs); }
.uui-radio { border-radius: var(--radius-full); }
.uui-radio.uui-sm { width: var(--control-sm); height: var(--control-sm); }

.uui-checkbox:focus-visible, .uui-radio:focus-visible { outline: none; box-shadow: var(--ring-brand); }

.uui-checkbox:checked {
  background-color: var(--bg-brand-solid); border-color: var(--bg-brand-solid);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M10 3.5L4.75 8.75L2.25 6.25' stroke='white' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 80%;
}
.uui-radio:checked {
  background-color: var(--bg-brand-solid); border-color: var(--bg-brand-solid);
  background-image: radial-gradient(circle at center, #fff 0 33%, transparent 36%);
}
.uui-checkbox:disabled, .uui-radio:disabled {
  background: var(--bg-secondary); border-color: var(--border-secondary); cursor: not-allowed;
}

/* ---- Tabs (horizontal, underline) — Figma node 43:0 / Horizontal tabs 1319:13377 ---- */
.uui-tabs {
  display: flex; gap: var(--spacing-lg); align-items: stretch;
  border-bottom: 1px solid var(--border-secondary); margin-bottom: -1px;
}
.uui-tab {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--spacing-sm); height: 36px;
  padding: 0 var(--spacing-xxs) var(--spacing-lg);
  border: 0; border-bottom: 2px solid transparent; background: transparent;
  font-family: var(--font-family-body); font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-text-md); line-height: var(--line-height-text-md);
  color: var(--text-quaternary); white-space: nowrap; cursor: pointer;
  transition: color .12s ease, border-color .12s ease;
}
.uui-tab .uui-icon, .uui-tab svg { width: var(--icon-size-sm); height: var(--icon-size-sm); flex-shrink: 0; }
.uui-tab:hover { color: var(--text-secondary); }
/* active = brand text + 2px brand underline */
.uui-tab.is-current, .uui-tab[aria-current="page"] {
  color: var(--text-brand-secondary); border-bottom-color: var(--fg-brand-primary);
}
.uui-tab:focus-visible { outline: none; box-shadow: var(--ring-brand); border-radius: var(--radius-xs); }
.uui-tab:disabled { color: var(--text-quaternary); opacity: .5; cursor: not-allowed; }
/* optional count badge inside a tab */
.uui-tab-badge {
  background: var(--utility-neutral-50); border: 1px solid var(--utility-neutral-200);
  color: var(--utility-neutral-700); border-radius: var(--radius-full);
  font-size: var(--font-size-text-xs); font-weight: var(--font-weight-medium);
  line-height: var(--line-height-text-xs); padding: 0 var(--spacing-md);
}
/* sm size */
.uui-tabs-sm .uui-tab { height: 32px; font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm); }


/* ============================================================================
   9. COMPONENTS (extended) — dashboard patterns
   ----------------------------------------------------------------------------
   These are TOKEN-COMPOSED: every color / spacing / radius / type value is a
   real token from the file; geometry follows Untitled UI conventions. (Table,
   Card, Nav, Tabs, Menu, Avatar, Switch are composed patterns, not standalone
   Figma components in this file.) Ask to pixel-verify any specific one.
   ============================================================================ */

:root {
  --avatar-ring: inset 0 0 0 0.5px rgba(0,0,0,0.16), inset 0 0 0 1px rgba(255,255,255,0.24);
}

/* ---- Badges (pill) ---- */
.uui-badge {
  display: inline-flex; align-items: center; gap: var(--spacing-xs);
  border-radius: var(--radius-full); border: 1px solid transparent;
  font-family: var(--font-family-body); font-weight: var(--font-weight-medium);
  font-size: var(--font-size-text-xs); line-height: var(--line-height-text-xs);
  padding: 2px var(--spacing-md); white-space: nowrap;
}
.uui-badge.uui-md { font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm); padding: 2px var(--spacing-lg); }
.uui-badge.uui-lg { font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm); padding: var(--spacing-xs) var(--spacing-lg); }
.uui-badge .uui-dot { width: 6px; height: 6px; border-radius: var(--radius-full); background: currentColor; }
.uui-badge-modern { background: var(--bg-primary); border-color: var(--border-primary); color: var(--text-secondary); border-radius: var(--radius-sm); }
/* themes (bg-50 / text-700 / border-200) */
.uui-badge-gray    { background: var(--utility-neutral-50); color: var(--utility-neutral-700); border-color: var(--utility-neutral-200); }
.uui-badge-brand   { background: var(--utility-brand-50);   color: var(--utility-brand-700);   border-color: var(--utility-brand-200); }
.uui-badge-error   { background: var(--utility-red-50);     color: var(--utility-red-700);     border-color: var(--utility-red-200); }
.uui-badge-warning { background: var(--utility-yellow-50);  color: var(--utility-yellow-700);  border-color: var(--utility-yellow-200); }
.uui-badge-success { background: var(--utility-green-50);   color: var(--utility-green-700);   border-color: var(--utility-green-200); }

/* ---- Table ---- */
.uui-table { width: 100%; border-collapse: collapse; font-family: var(--font-family-body); background: var(--bg-primary); }
.uui-table thead th {
  text-align: left; padding: var(--spacing-lg) var(--spacing-3xl);
  background: var(--bg-secondary);
  font-size: var(--font-size-text-xs); line-height: var(--line-height-text-xs);
  font-weight: var(--font-weight-semibold); color: var(--text-tertiary);
  border-bottom: 1px solid var(--border-secondary);
}
.uui-table tbody td {
  padding: var(--spacing-xl) var(--spacing-3xl);
  font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-secondary); border-bottom: 1px solid var(--border-secondary);
}
.uui-table tbody tr:hover { background: var(--bg-primary-hover); }
.uui-table .uui-td-strong { color: var(--text-primary); font-weight: var(--font-weight-medium); }

/* ---- Card ---- */
.uui-card { background: var(--bg-primary); border: 1px solid var(--border-secondary);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); overflow: hidden; }
.uui-card-header { padding: var(--spacing-2xl) var(--spacing-3xl); border-bottom: 1px solid var(--border-secondary); }
.uui-card-body   { padding: var(--spacing-3xl); }
.uui-card-footer { padding: var(--spacing-2xl) var(--spacing-3xl); border-top: 1px solid var(--border-secondary); }

/* ---- Section header ---- */
.uui-section-header { display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--spacing-xl); margin-bottom: var(--spacing-2xl); }
.uui-section-header .uui-title { font-family: var(--font-family-body); font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-text-lg); line-height: var(--line-height-text-lg); color: var(--text-primary); }
.uui-section-header .uui-subtitle { font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-tertiary); margin-top: var(--spacing-xs); }
.uui-section-header .uui-actions { display: flex; gap: var(--spacing-md); flex: 0 0 auto; }

/* ---- Side-nav item ---- */
.uui-nav-item { display: flex; align-items: center; gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg); border-radius: var(--radius-sm);
  font-family: var(--font-family-body); font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-secondary); text-decoration: none; cursor: pointer;
  transition: background-color .12s ease, color .12s ease; }
.uui-nav-item .uui-icon { width: var(--icon-size-sm); height: var(--icon-size-sm); color: var(--fg-quaternary); }
.uui-nav-item:hover { background: var(--bg-primary-hover); }
.uui-nav-item.is-active { background: var(--bg-secondary-hover); color: var(--text-primary); }
.uui-nav-item.is-active .uui-icon { color: var(--fg-brand-primary); }

/* ---- Tabs (underline) ---- */
.uui-tabs { display: flex; gap: var(--spacing-xl); border-bottom: 1px solid var(--border-secondary); }
.uui-tab { appearance: none; background: none; border: 0; cursor: pointer;
  padding: 0 0 var(--spacing-lg); margin-bottom: -1px; border-bottom: 2px solid transparent;
  font-family: var(--font-family-body); font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-quaternary); transition: color .12s ease, border-color .12s ease; }
.uui-tab:hover { color: var(--text-secondary); }
.uui-tab.is-active { color: var(--text-brand-secondary); border-bottom-color: var(--border-brand); }

/* ---- Dropdown / menu ---- */
.uui-menu { background: var(--bg-primary); border: 1px solid var(--border-secondary);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--spacing-xs); min-width: 200px; }
.uui-menu-item { display: flex; align-items: center; gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg); border-radius: var(--radius-sm);
  font-family: var(--font-family-body); font-weight: var(--font-weight-medium);
  font-size: var(--font-size-text-sm); line-height: var(--line-height-text-sm);
  color: var(--text-secondary); cursor: pointer; text-decoration: none; }
.uui-menu-item:hover { background: var(--bg-primary-hover); }
.uui-menu-item .uui-icon { width: var(--icon-size-sm); height: var(--icon-size-sm); color: var(--fg-quaternary); }
.uui-menu-divider { height: 1px; background: var(--border-secondary); margin: var(--spacing-xs) 0; }

/* ---- Avatar ---- */
.uui-avatar { display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: var(--radius-full); overflow: hidden;
  background: var(--color-gray-100); color: var(--color-gray-600);
  font-family: var(--font-family-body); font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-text-sm); box-shadow: var(--avatar-ring); }
.uui-avatar img { width: 100%; height: 100%; object-fit: cover; }
.uui-avatar.uui-xs { width: 24px; height: 24px; font-size: 12px; }
.uui-avatar.uui-sm { width: 32px; height: 32px; }
.uui-avatar.uui-lg { width: 48px; height: 48px; font-size: var(--font-size-text-md); }
.uui-avatar.uui-xl { width: 56px; height: 56px; font-size: var(--font-size-text-md); }

/* ---- Tooltip (dark) ---- */
.uui-tooltip { display: inline-block; max-width: 320px;
  background: var(--bg-primary-solid); color: var(--text-white);
  border-radius: var(--radius-md); padding: var(--spacing-md) var(--spacing-lg);
  font-family: var(--font-family-body); font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-text-xs); line-height: var(--line-height-text-xs);
  box-shadow: var(--shadow-lg); }
.uui-tooltip .uui-tooltip-sub { display: block; margin-top: var(--spacing-xxs);
  font-weight: var(--font-weight-medium); color: var(--color-neutral-300); }

/* ---- Toggle / switch ---- */
.uui-switch { position: relative; display: inline-flex; align-items: center; }
.uui-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.uui-switch-track { position: relative; flex: 0 0 auto; width: 36px; height: 20px;
  border-radius: var(--radius-full); background: var(--bg-quaternary);
  transition: background-color .12s ease; cursor: pointer; }
.uui-switch-track::after { content: ""; position: absolute; top: 2px; left: 2px;
  width: 16px; height: 16px; border-radius: var(--radius-full); background: #fff;
  box-shadow: var(--shadow-sm); transition: transform .12s ease; }
.uui-switch input:checked + .uui-switch-track { background: var(--bg-brand-solid); }
.uui-switch input:checked + .uui-switch-track::after { transform: translateX(16px); }
.uui-switch input:focus-visible + .uui-switch-track { box-shadow: var(--ring-brand); }
.uui-switch.uui-md .uui-switch-track { width: 44px; height: 24px; }
.uui-switch.uui-md .uui-switch-track::after { width: 20px; height: 20px; }
.uui-switch.uui-md input:checked + .uui-switch-track::after { transform: translateX(20px); }

