/* Feedwrk Design System 1.5.1 — generated from tokens.json by scripts/build.mjs. Do not edit. */
:root, [data-theme="light"] {
  --background: oklch(0.972 0.002 285); /* Page canvas behind every panel. `foreground` and `muted-foreground` sit on it. Light: L 0.972, one clear step below `surface` so panels lift off the page. */
  --foreground: oklch(0.21 0.006 285); /* Primary text and headings on `background`, `surface`, `card`. */
  --surface: oklch(1 0 0); /* Panels, table bodies, toolbar controls, the selection bar. The `panel` utility paints it. */
  --surface-muted: oklch(0.958 0.003 285); /* Wells, field fills (`field`), table header tint, quiet count pills. */
  --card: oklch(1 0 0); /* Raised cards and the confirm dialog. Same value as `surface` in every theme. */
  --card-foreground: oklch(0.21 0.006 285); /* Text on `card`. */
  --popover: oklch(1 0 0); /* Menus, popovers, the command palette. */
  --popover-foreground: oklch(0.21 0.006 285); /* Text on `popover`. */
  --primary: oklch(0.55 0.16 249); /* The one main action per screen, links, active nav item text, active tab underline, selected count tile. Light #0074c9 (4.8:1 on `surface`, 4.6:1 on `background`), dark #3fa3fd. User-pickable: see the `accent-option-*` tokens. */
  --primary-foreground: oklch(0.99 0.002 285); /* Text and icons on a solid `primary` fill only. Never on an outline, a tint or a surface: there use `info-text`. */
  --secondary: oklch(0.968 0.003 285); /* Secondary button fill. */
  --secondary-foreground: oklch(0.28 0.008 285); /* Label on `secondary`. */
  --muted: oklch(0.968 0.003 285); /* Meter track, segmented-tab rail (at 40%). */
  --muted-foreground: oklch(0.52 0.012 285); /* Labels, meta lines, table headers, breadcrumbs, inactive tabs, icons beside nav labels. 4.5:1+ on `background` and `surface` in every theme (Light soft keeps the Light value, 4.7:1 / 4.9:1; soft contrast softens text and borders, never below AA). */
  --accent: oklch(0.955 0.008 285); /* Hover and pressed fill for ghost buttons, toolbar buttons, spine stops, menu items. */
  --accent-foreground: oklch(0.28 0.008 285); /* Text on `accent`. */
  --destructive: oklch(0.58 0.21 25); /* Delete / disconnect actions and blocked status only. Always with a word or icon. */
  --destructive-foreground: oklch(0.99 0.002 285); /* Text and icons on a solid `destructive` fill only. Never on an outline, a tint or a surface: there use `destructive-text`. */
  --success: oklch(0.51 0.14 162); /* Ready / Live status: badge text and dot (on a 10% tint), success fills. Status only, always with a word. Light #007d4c: 5.2:1 on `surface`, 5.0:1 on `background`, 4.5:1 on its own badge tint; white on it 5.0:1. */
  --success-foreground: oklch(0.99 0.002 285); /* Text and icons on a solid `success` fill only. Never on an outline, a tint or a surface: there use `success-text`. */
  --warning: oklch(0.72 0.16 72); /* Highlight colour: needs-attention status, amber notes and banners (at 10% fill, 40% border), warn counts, the credits meter at 80%+. User-pickable: see `highlight-option-*`. Never as body text on light surfaces (2.6:1); pair with an icon. */
  --warning-foreground: oklch(0.28 0.05 72); /* Text and icons on a solid `warning` fill only. Never on an outline, a tint or a surface: there use `warning-text`. */
  --success-text: oklch(0.48 0.14 162); /* Text and dot of the Ready / Live badge. 4.5:1 or more on the badge tint, `surface`, `surface-muted` and `background`. */
  --warning-text: oklch(0.51 0.16 72); /* Text and dot of the warning badge and any warning-coloured text (Light #9c5000). Use this, never `warning`, for text: `warning` is 2.2:1 as text in Light. */
  --destructive-text: oklch(0.52 0.21 25); /* Text and dot of the error badge and inline error text (field errors, ErrorAlert). 4.5:1 or more on its tint and on surfaces. */
  --info-text: oklch(0.49 0.16 249); /* Text and dot of the info badge. A darker `primary` so 11px badge text reaches 4.5:1 on its tint. */
  --border: oklch(0.935 0.003 285); /* Hairlines: panel outline, table row dividers, header and sidebar edges. */
  --border-strong: oklch(0.89 0.004 285); /* Control borders (toolbar buttons, selects, selection bar), kbd outline. Light is 1.5:1 on `surface`: controls are told apart by fill and label too, not border alone. */
  --border-control: oklch(0.63 0.006 285); /* Outline of controls whose border is their only edge: checkbox, radio, switch track off. 3:1 or more on `surface`, `surface-muted` and `background` (WCAG 1.4.11). */
  --input: oklch(0.92 0.004 285); /* Outline-button and input borders (shadcn `border-input`). */
  --ring: oklch(0.55 0.16 249); /* Focus ring. Follows `primary` and the chosen accent. */
  --sidebar: oklch(0.965 0.002 285); /* Navigation rail background. */
  --sidebar-foreground: oklch(0.21 0.006 285); /* Text on `sidebar`. */
  --sidebar-accent: oklch(0.93 0.005 285); /* Hover / open fill for sidebar items. */
  --sidebar-border: oklch(0.91 0.004 285); /* Sidebar edges and footer divider. */
  --accent-option-blue: oklch(0.55 0.16 249); /* Default brand accent (#0074c9 light, #3fa3fd dark). Settings → Appearance → Accent 'blue': replaces `primary` and `ring` when `data-accent="blue"` is on <html>. */
  --accent-option-violet: oklch(0.58 0.19 293); /* Settings → Appearance → Accent 'violet': replaces `primary` and `ring` when `data-accent="violet"` is on <html>. */
  --accent-option-emerald: oklch(0.58 0.13 162); /* Settings → Appearance → Accent 'emerald': replaces `primary` and `ring` when `data-accent="emerald"` is on <html>. */
  --accent-option-amber: oklch(0.66 0.15 66); /* Settings → Appearance → Accent 'amber': replaces `primary` and `ring` when `data-accent="amber"` is on <html>. */
  --accent-option-slate: oklch(0.44 0.02 285); /* Settings → Appearance → Accent 'slate': replaces `primary` and `ring` when `data-accent="slate"` is on <html>. */
  --accent-option-sky: oklch(0.6 0.13 225); /* Settings → Appearance → Accent 'sky': replaces `primary` and `ring` when `data-accent="sky"` is on <html>. */
  --accent-option-indigo: oklch(0.52 0.19 272); /* Settings → Appearance → Accent 'indigo': replaces `primary` and `ring` when `data-accent="indigo"` is on <html>. */
  --accent-option-fuchsia: oklch(0.57 0.22 328); /* Settings → Appearance → Accent 'fuchsia': replaces `primary` and `ring` when `data-accent="fuchsia"` is on <html>. */
  --accent-option-rose: oklch(0.58 0.2 15); /* Settings → Appearance → Accent 'rose': replaces `primary` and `ring` when `data-accent="rose"` is on <html>. */
  --accent-option-orange: oklch(0.62 0.18 44); /* Settings → Appearance → Accent 'orange': replaces `primary` and `ring` when `data-accent="orange"` is on <html>. */
  --accent-option-teal: oklch(0.56 0.11 195); /* Settings → Appearance → Accent 'teal': replaces `primary` and `ring` when `data-accent="teal"` is on <html>. */
  --highlight-option-amber: oklch(0.72 0.16 72); /* Default highlight (#e19100 light). Settings → Appearance → Highlight 'amber': replaces `warning` when `data-highlight="amber"` is on <html>. */
  --highlight-option-orange: oklch(0.68 0.18 48); /* Settings → Appearance → Highlight 'orange': replaces `warning` when `data-highlight="orange"` is on <html>. */
  --highlight-option-rose: oklch(0.64 0.19 18); /* Settings → Appearance → Highlight 'rose': replaces `warning` when `data-highlight="rose"` is on <html>. */
  --highlight-option-magenta: oklch(0.62 0.21 330); /* Settings → Appearance → Highlight 'magenta': replaces `warning` when `data-highlight="magenta"` is on <html>. */
  --highlight-option-violet: oklch(0.6 0.18 295); /* Settings → Appearance → Highlight 'violet': replaces `warning` when `data-highlight="violet"` is on <html>. */
  --highlight-option-teal: oklch(0.64 0.11 195); /* Settings → Appearance → Highlight 'teal': replaces `warning` when `data-highlight="teal"` is on <html>. */
  --highlight-option-lime: oklch(0.72 0.16 130); /* Settings → Appearance → Highlight 'lime': replaces `warning` when `data-highlight="lime"` is on <html>. */
  --shadow-panel: 0 0 0 1px oklch(0.21 0.006 285 / 0.02), 0 1px 2px oklch(0.21 0.006 285 / 0.04); /* Panels, drawers, the floating selection bar: a hairline edge and a 1–2px lift, nothing soft or wide. */
  --shadow-sm: 0 1px 1px oklch(0.21 0.006 285 / 0.04); /* Active segmented tab, outline and secondary buttons. */
  --shadow-dialog: 0 25px 50px -12px rgb(0 0 0 / 0.25); /* Confirm dialog (shadow-2xl). */
}
[data-theme="dark"] {
  --background: oklch(0.16 0.005 285);
  --foreground: oklch(0.97 0.002 285);
  --surface: oklch(0.2 0.006 285);
  --surface-muted: oklch(0.235 0.007 285);
  --card: oklch(0.2 0.006 285);
  --card-foreground: oklch(0.97 0.002 285);
  --popover: oklch(0.2 0.006 285);
  --popover-foreground: oklch(0.97 0.002 285);
  --primary: oklch(0.70 0.16 249);
  --primary-foreground: oklch(0.16 0.02 285);
  --secondary: oklch(0.26 0.008 285);
  --secondary-foreground: oklch(0.95 0.002 285);
  --muted: oklch(0.26 0.008 285);
  --muted-foreground: oklch(0.68 0.012 285);
  --accent: oklch(0.28 0.012 285);
  --accent-foreground: oklch(0.95 0.002 285);
  --destructive: oklch(0.68 0.19 25);
  --destructive-foreground: oklch(0.16 0.02 25);
  --success: oklch(0.72 0.15 162);
  --success-foreground: oklch(0.18 0.03 162);
  --warning: oklch(0.79 0.15 76);
  --warning-foreground: oklch(0.2 0.04 76);
  --success-text: oklch(0.72 0.15 162);
  --warning-text: oklch(0.79 0.15 76);
  --destructive-text: oklch(0.69 0.19 25);
  --info-text: oklch(0.70 0.16 249);
  --border: oklch(1 0 0 / 0.07);
  --border-strong: oklch(1 0 0 / 0.12);
  --border-control: oklch(0.53 0.008 285);
  --input: oklch(1 0 0 / 0.12);
  --ring: oklch(0.70 0.16 249);
  --sidebar: oklch(0.18 0.005 285);
  --sidebar-foreground: oklch(0.95 0.002 285);
  --sidebar-accent: oklch(0.26 0.01 285);
  --sidebar-border: oklch(1 0 0 / 0.08);
  --accent-option-blue: oklch(0.70 0.16 249);
  --accent-option-violet: oklch(0.68 0.17 293);
  --accent-option-emerald: oklch(0.7 0.14 162);
  --accent-option-amber: oklch(0.78 0.15 76);
  --accent-option-slate: oklch(0.8 0.01 285);
  --accent-option-sky: oklch(0.72 0.12 225);
  --accent-option-indigo: oklch(0.66 0.16 272);
  --accent-option-fuchsia: oklch(0.7 0.18 328);
  --accent-option-rose: oklch(0.7 0.17 15);
  --accent-option-orange: oklch(0.74 0.16 48);
  --accent-option-teal: oklch(0.7 0.11 195);
  --highlight-option-amber: oklch(0.79 0.15 76);
  --highlight-option-orange: oklch(0.77 0.16 52);
  --highlight-option-rose: oklch(0.72 0.17 18);
  --highlight-option-magenta: oklch(0.72 0.18 330);
  --highlight-option-violet: oklch(0.72 0.16 295);
  --highlight-option-teal: oklch(0.74 0.11 195);
  --highlight-option-lime: oklch(0.8 0.16 130);
  --shadow-panel: 0 0 0 1px oklch(1 0 0 / 0.02), 0 1px 2px oklch(0 0 0 / 0.3);
  --shadow-sm: 0 1px 1px oklch(0 0 0 / 0.25);
}
[data-theme="light-soft"] {
  --background: oklch(0.972 0.002 285);
  --foreground: oklch(0.32 0.006 285);
  --surface: oklch(1 0 0);
  --surface-muted: oklch(0.958 0.003 285);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.32 0.006 285);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.32 0.006 285);
  --primary: oklch(0.55 0.16 249);
  --primary-foreground: oklch(0.99 0.002 285);
  --secondary: oklch(0.968 0.003 285);
  --secondary-foreground: oklch(0.28 0.008 285);
  --muted: oklch(0.968 0.003 285);
  --muted-foreground: oklch(0.52 0.012 285);
  --accent: oklch(0.955 0.008 285);
  --accent-foreground: oklch(0.28 0.008 285);
  --destructive: oklch(0.58 0.21 25);
  --destructive-foreground: oklch(0.99 0.002 285);
  --success: oklch(0.51 0.14 162);
  --success-foreground: oklch(0.99 0.002 285);
  --warning: oklch(0.72 0.16 72);
  --warning-foreground: oklch(0.28 0.05 72);
  --success-text: oklch(0.48 0.14 162);
  --warning-text: oklch(0.51 0.16 72);
  --destructive-text: oklch(0.52 0.21 25);
  --info-text: oklch(0.49 0.16 249);
  --border: oklch(0.95 0.003 285);
  --border-strong: oklch(0.92 0.004 285);
  --border-control: oklch(0.63 0.005 285);
  --input: oklch(0.94 0.003 285);
  --ring: oklch(0.55 0.16 249);
  --sidebar: oklch(0.965 0.002 285);
  --sidebar-foreground: oklch(0.21 0.006 285);
  --sidebar-accent: oklch(0.93 0.005 285);
  --sidebar-border: oklch(0.91 0.004 285);
  --accent-option-blue: oklch(0.55 0.16 249);
  --accent-option-violet: oklch(0.58 0.19 293);
  --accent-option-emerald: oklch(0.58 0.13 162);
  --accent-option-amber: oklch(0.66 0.15 66);
  --accent-option-slate: oklch(0.44 0.02 285);
  --accent-option-sky: oklch(0.6 0.13 225);
  --accent-option-indigo: oklch(0.52 0.19 272);
  --accent-option-fuchsia: oklch(0.57 0.22 328);
  --accent-option-rose: oklch(0.58 0.2 15);
  --accent-option-orange: oklch(0.62 0.18 44);
  --accent-option-teal: oklch(0.56 0.11 195);
  --highlight-option-amber: oklch(0.72 0.16 72);
  --highlight-option-orange: oklch(0.68 0.18 48);
  --highlight-option-rose: oklch(0.64 0.19 18);
  --highlight-option-magenta: oklch(0.62 0.21 330);
  --highlight-option-violet: oklch(0.6 0.18 295);
  --highlight-option-teal: oklch(0.64 0.11 195);
  --highlight-option-lime: oklch(0.72 0.16 130);
}
[data-theme="light-high"] {
  --background: oklch(0.995 0.001 285);
  --foreground: oklch(0.14 0.006 285);
  --surface: oklch(1 0 0);
  --surface-muted: oklch(0.968 0.003 285);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.14 0.006 285);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.14 0.006 285);
  --primary: oklch(0.55 0.16 249);
  --primary-foreground: oklch(0.99 0.002 285);
  --secondary: oklch(0.968 0.003 285);
  --secondary-foreground: oklch(0.28 0.008 285);
  --muted: oklch(0.968 0.003 285);
  --muted-foreground: oklch(0.44 0.012 285);
  --accent: oklch(0.955 0.008 285);
  --accent-foreground: oklch(0.28 0.008 285);
  --destructive: oklch(0.58 0.21 25);
  --destructive-foreground: oklch(0.99 0.002 285);
  --success: oklch(0.51 0.14 162);
  --success-foreground: oklch(0.99 0.002 285);
  --warning: oklch(0.72 0.16 72);
  --warning-foreground: oklch(0.28 0.05 72);
  --success-text: oklch(0.48 0.14 162);
  --warning-text: oklch(0.51 0.16 72);
  --destructive-text: oklch(0.52 0.21 25);
  --info-text: oklch(0.49 0.16 249);
  --border: oklch(0.86 0.005 285);
  --border-strong: oklch(0.76 0.008 285);
  --border-control: oklch(0.63 0.008 285);
  --input: oklch(0.86 0.005 285);
  --ring: oklch(0.55 0.16 249);
  --sidebar: oklch(0.975 0.002 285);
  --sidebar-foreground: oklch(0.21 0.006 285);
  --sidebar-accent: oklch(0.93 0.005 285);
  --sidebar-border: oklch(0.91 0.004 285);
  --accent-option-blue: oklch(0.55 0.16 249);
  --accent-option-violet: oklch(0.58 0.19 293);
  --accent-option-emerald: oklch(0.58 0.13 162);
  --accent-option-amber: oklch(0.66 0.15 66);
  --accent-option-slate: oklch(0.44 0.02 285);
  --accent-option-sky: oklch(0.6 0.13 225);
  --accent-option-indigo: oklch(0.52 0.19 272);
  --accent-option-fuchsia: oklch(0.57 0.22 328);
  --accent-option-rose: oklch(0.58 0.2 15);
  --accent-option-orange: oklch(0.62 0.18 44);
  --accent-option-teal: oklch(0.56 0.11 195);
  --highlight-option-amber: oklch(0.72 0.16 72);
  --highlight-option-orange: oklch(0.68 0.18 48);
  --highlight-option-rose: oklch(0.64 0.19 18);
  --highlight-option-magenta: oklch(0.62 0.21 330);
  --highlight-option-violet: oklch(0.6 0.18 295);
  --highlight-option-teal: oklch(0.64 0.11 195);
  --highlight-option-lime: oklch(0.72 0.16 130);
}
[data-theme="light-max"] {
  --background: oklch(1 0 0);
  --foreground: oklch(0.08 0 0);
  --surface: oklch(1 0 0);
  --surface-muted: oklch(0.96 0.002 285);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.08 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.08 0 0);
  --primary: oklch(0.55 0.16 249);
  --primary-foreground: oklch(0.99 0.002 285);
  --secondary: oklch(0.968 0.003 285);
  --secondary-foreground: oklch(0.28 0.008 285);
  --muted: oklch(0.968 0.003 285);
  --muted-foreground: oklch(0.34 0.01 285);
  --accent: oklch(0.955 0.008 285);
  --accent-foreground: oklch(0.28 0.008 285);
  --destructive: oklch(0.58 0.21 25);
  --destructive-foreground: oklch(0.99 0.002 285);
  --success: oklch(0.51 0.14 162);
  --success-foreground: oklch(0.99 0.002 285);
  --warning: oklch(0.72 0.16 72);
  --warning-foreground: oklch(0.28 0.05 72);
  --success-text: oklch(0.47 0.14 162);
  --warning-text: oklch(0.50 0.16 72);
  --destructive-text: oklch(0.51 0.21 25);
  --info-text: oklch(0.49 0.16 249);
  --border: oklch(0.74 0.006 285);
  --border-strong: oklch(0.58 0.008 285);
  --border-control: oklch(0.58 0.008 285);
  --input: oklch(0.74 0.006 285);
  --ring: oklch(0.55 0.16 249);
  --sidebar: oklch(0.975 0.002 285);
  --sidebar-foreground: oklch(0.21 0.006 285);
  --sidebar-accent: oklch(0.93 0.005 285);
  --sidebar-border: oklch(0.91 0.004 285);
  --accent-option-blue: oklch(0.55 0.16 249);
  --accent-option-violet: oklch(0.58 0.19 293);
  --accent-option-emerald: oklch(0.58 0.13 162);
  --accent-option-amber: oklch(0.66 0.15 66);
  --accent-option-slate: oklch(0.44 0.02 285);
  --accent-option-sky: oklch(0.6 0.13 225);
  --accent-option-indigo: oklch(0.52 0.19 272);
  --accent-option-fuchsia: oklch(0.57 0.22 328);
  --accent-option-rose: oklch(0.58 0.2 15);
  --accent-option-orange: oklch(0.62 0.18 44);
  --accent-option-teal: oklch(0.56 0.11 195);
  --highlight-option-amber: oklch(0.72 0.16 72);
  --highlight-option-orange: oklch(0.68 0.18 48);
  --highlight-option-rose: oklch(0.64 0.19 18);
  --highlight-option-magenta: oklch(0.62 0.21 330);
  --highlight-option-violet: oklch(0.6 0.18 295);
  --highlight-option-teal: oklch(0.64 0.11 195);
  --highlight-option-lime: oklch(0.72 0.16 130);
}
[data-theme="dark-soft"] {
  --background: oklch(0.16 0.005 285);
  --foreground: oklch(0.90 0.002 285);
  --surface: oklch(0.2 0.006 285);
  --surface-muted: oklch(0.235 0.007 285);
  --card: oklch(0.2 0.006 285);
  --card-foreground: oklch(0.90 0.002 285);
  --popover: oklch(0.2 0.006 285);
  --popover-foreground: oklch(0.90 0.002 285);
  --primary: oklch(0.70 0.16 249);
  --primary-foreground: oklch(0.16 0.02 285);
  --secondary: oklch(0.26 0.008 285);
  --secondary-foreground: oklch(0.95 0.002 285);
  --muted: oklch(0.26 0.008 285);
  --muted-foreground: oklch(0.63 0.012 285);
  --accent: oklch(0.28 0.012 285);
  --accent-foreground: oklch(0.95 0.002 285);
  --destructive: oklch(0.68 0.19 25);
  --destructive-foreground: oklch(0.16 0.02 25);
  --success: oklch(0.72 0.15 162);
  --success-foreground: oklch(0.18 0.03 162);
  --warning: oklch(0.79 0.15 76);
  --warning-foreground: oklch(0.2 0.04 76);
  --success-text: oklch(0.72 0.15 162);
  --warning-text: oklch(0.79 0.15 76);
  --destructive-text: oklch(0.69 0.19 25);
  --info-text: oklch(0.70 0.16 249);
  --border: oklch(0.28 0.006 285);
  --border-strong: oklch(0.33 0.008 285);
  --border-control: oklch(0.53 0.008 285);
  --input: oklch(0.28 0.006 285);
  --ring: oklch(0.70 0.16 249);
  --sidebar: oklch(0.18 0.005 285);
  --sidebar-foreground: oklch(0.95 0.002 285);
  --sidebar-accent: oklch(0.26 0.01 285);
  --sidebar-border: oklch(1 0 0 / 0.08);
  --accent-option-blue: oklch(0.70 0.16 249);
  --accent-option-violet: oklch(0.68 0.17 293);
  --accent-option-emerald: oklch(0.7 0.14 162);
  --accent-option-amber: oklch(0.78 0.15 76);
  --accent-option-slate: oklch(0.8 0.01 285);
  --accent-option-sky: oklch(0.72 0.12 225);
  --accent-option-indigo: oklch(0.66 0.16 272);
  --accent-option-fuchsia: oklch(0.7 0.18 328);
  --accent-option-rose: oklch(0.7 0.17 15);
  --accent-option-orange: oklch(0.74 0.16 48);
  --accent-option-teal: oklch(0.7 0.11 195);
  --highlight-option-amber: oklch(0.79 0.15 76);
  --highlight-option-orange: oklch(0.77 0.16 52);
  --highlight-option-rose: oklch(0.72 0.17 18);
  --highlight-option-magenta: oklch(0.72 0.18 330);
  --highlight-option-violet: oklch(0.72 0.16 295);
  --highlight-option-teal: oklch(0.74 0.11 195);
  --highlight-option-lime: oklch(0.8 0.16 130);
}
[data-theme="dark-high"] {
  --background: oklch(0.13 0.005 285);
  --foreground: oklch(0.99 0.001 285);
  --surface: oklch(0.18 0.006 285);
  --surface-muted: oklch(0.235 0.007 285);
  --card: oklch(0.2 0.006 285);
  --card-foreground: oklch(0.99 0.001 285);
  --popover: oklch(0.2 0.006 285);
  --popover-foreground: oklch(0.99 0.001 285);
  --primary: oklch(0.70 0.16 249);
  --primary-foreground: oklch(0.16 0.02 285);
  --secondary: oklch(0.26 0.008 285);
  --secondary-foreground: oklch(0.95 0.002 285);
  --muted: oklch(0.26 0.008 285);
  --muted-foreground: oklch(0.76 0.012 285);
  --accent: oklch(0.28 0.012 285);
  --accent-foreground: oklch(0.95 0.002 285);
  --destructive: oklch(0.68 0.19 25);
  --destructive-foreground: oklch(0.16 0.02 25);
  --success: oklch(0.72 0.15 162);
  --success-foreground: oklch(0.18 0.03 162);
  --warning: oklch(0.79 0.15 76);
  --warning-foreground: oklch(0.2 0.04 76);
  --success-text: oklch(0.72 0.15 162);
  --warning-text: oklch(0.79 0.15 76);
  --destructive-text: oklch(0.69 0.19 25);
  --info-text: oklch(0.70 0.16 249);
  --border: oklch(0.36 0.008 285);
  --border-strong: oklch(0.46 0.01 285);
  --border-control: oklch(0.53 0.010 285);
  --input: oklch(0.36 0.008 285);
  --ring: oklch(0.70 0.16 249);
  --sidebar: oklch(0.18 0.005 285);
  --sidebar-foreground: oklch(0.95 0.002 285);
  --sidebar-accent: oklch(0.26 0.01 285);
  --sidebar-border: oklch(1 0 0 / 0.08);
  --accent-option-blue: oklch(0.70 0.16 249);
  --accent-option-violet: oklch(0.68 0.17 293);
  --accent-option-emerald: oklch(0.7 0.14 162);
  --accent-option-amber: oklch(0.78 0.15 76);
  --accent-option-slate: oklch(0.8 0.01 285);
  --accent-option-sky: oklch(0.72 0.12 225);
  --accent-option-indigo: oklch(0.66 0.16 272);
  --accent-option-fuchsia: oklch(0.7 0.18 328);
  --accent-option-rose: oklch(0.7 0.17 15);
  --accent-option-orange: oklch(0.74 0.16 48);
  --accent-option-teal: oklch(0.7 0.11 195);
  --highlight-option-amber: oklch(0.79 0.15 76);
  --highlight-option-orange: oklch(0.77 0.16 52);
  --highlight-option-rose: oklch(0.72 0.17 18);
  --highlight-option-magenta: oklch(0.72 0.18 330);
  --highlight-option-violet: oklch(0.72 0.16 295);
  --highlight-option-teal: oklch(0.74 0.11 195);
  --highlight-option-lime: oklch(0.8 0.16 130);
}
[data-theme="dark-max"] {
  --background: oklch(0.06 0 0);
  --foreground: oklch(1 0 0);
  --surface: oklch(0.13 0.004 285);
  --surface-muted: oklch(0.17 0.005 285);
  --card: oklch(0.13 0.004 285);
  --card-foreground: oklch(1 0 0);
  --popover: oklch(0.13 0.004 285);
  --popover-foreground: oklch(1 0 0);
  --primary: oklch(0.70 0.16 249);
  --primary-foreground: oklch(0.16 0.02 285);
  --secondary: oklch(0.26 0.008 285);
  --secondary-foreground: oklch(0.95 0.002 285);
  --muted: oklch(0.26 0.008 285);
  --muted-foreground: oklch(0.84 0.008 285);
  --accent: oklch(0.28 0.012 285);
  --accent-foreground: oklch(0.95 0.002 285);
  --destructive: oklch(0.68 0.19 25);
  --destructive-foreground: oklch(0.16 0.02 25);
  --success: oklch(0.72 0.15 162);
  --success-foreground: oklch(0.18 0.03 162);
  --warning: oklch(0.79 0.15 76);
  --warning-foreground: oklch(0.2 0.04 76);
  --success-text: oklch(0.72 0.15 162);
  --warning-text: oklch(0.79 0.15 76);
  --destructive-text: oklch(0.68 0.19 25);
  --info-text: oklch(0.70 0.16 249);
  --border: oklch(0.46 0.01 285);
  --border-strong: oklch(0.58 0.012 285);
  --border-control: oklch(0.58 0.012 285);
  --input: oklch(0.46 0.01 285);
  --ring: oklch(0.70 0.16 249);
  --sidebar: oklch(0.18 0.005 285);
  --sidebar-foreground: oklch(0.95 0.002 285);
  --sidebar-accent: oklch(0.26 0.01 285);
  --sidebar-border: oklch(1 0 0 / 0.08);
  --accent-option-blue: oklch(0.70 0.16 249);
  --accent-option-violet: oklch(0.68 0.17 293);
  --accent-option-emerald: oklch(0.7 0.14 162);
  --accent-option-amber: oklch(0.78 0.15 76);
  --accent-option-slate: oklch(0.8 0.01 285);
  --accent-option-sky: oklch(0.72 0.12 225);
  --accent-option-indigo: oklch(0.66 0.16 272);
  --accent-option-fuchsia: oklch(0.7 0.18 328);
  --accent-option-rose: oklch(0.7 0.17 15);
  --accent-option-orange: oklch(0.74 0.16 48);
  --accent-option-teal: oklch(0.7 0.11 195);
  --highlight-option-amber: oklch(0.79 0.15 76);
  --highlight-option-orange: oklch(0.77 0.16 52);
  --highlight-option-rose: oklch(0.72 0.17 18);
  --highlight-option-magenta: oklch(0.72 0.18 330);
  --highlight-option-violet: oklch(0.72 0.16 295);
  --highlight-option-teal: oklch(0.74 0.11 195);
  --highlight-option-lime: oklch(0.8 0.16 130);
}
:root {
  --space-1: 4px; /* Gap between tabs, segmented pills, sidebar items (gap-1). */
  --space-1\.5: 6px; /* Icon-to-label gap in nav, toolbar and tabs; toolbar control gap. */
  --space-2: 8px; /* Gap between buttons and toolbar groups; dialog footer gap. */
  --space-2\.5: 10px; /* Horizontal padding of toolbar controls and sidebar items; spine stop vertical padding. */
  --space-3: 12px; /* Gap icon tile ↔ text in spine stops and dialogs; tab horizontal padding. */
  --space-4: 16px; /* Table cell horizontal padding; page side gutter on phones; dialog section gap. */
  --space-5: 20px; /* Confirm dialog padding and footer offset. */
  --space-6: 24px; /* Page top padding on phones; selection bar offset from the bottom. */
  --space-8: 32px; /* Page side and top padding from 640px up. */
  --radius-sm: 4px; /* Kbd, checkbox, small chips. */
  --radius-md: 6px; /* Every control: buttons, toolbar controls, tiles, nav items, segmented pills. */
  --radius-tab: 6px; /* Legacy name: same as `radius-md`. Use `radius-md`. */
  --radius-lg: 8px; /* Fields, menus, tooltips, toasts, alerts: things you type in or that float. */
  --radius-panel: 10px; /* Every container: panels, cards, spine bar, segmented rail, selection bar, drawers, dialogs. */
  --radius-xl: 10px; /* Legacy name: same as `radius-panel`. Use `radius-panel`. */
  --radius-2xl: 10px; /* Legacy name: same as `radius-panel`. Use `radius-panel`. */
  --radius-full: 9999px; /* Status pills, meters, toolbar count badge. */
  --size-header: 64px; /* Top bar and sidebar brand row height. */
  --size-sidebar: 208px; /* Expanded sidebar width (w-52). */
  --size-sidebar-collapsed: 48px; /* Collapsed sidebar width (w-12). */
  --size-content: 1280px; /* Max content width (max-w-7xl). */
  --size-button: 36px; /* Default button height (h-9). */
  --size-control: 32px; /* Toolbar controls, small buttons, search fields (h-8). */
  --size-control-sm: 28px; /* Selection-bar actions, banner buttons, icon buttons in the header (h-7). */
  --size-dialog: 420px; /* Confirm dialog max width. */
  --size-touch: 44px; /* Minimum touch target on phones and tablets. */
  --size-settings-rail: 240px; /* Settings section rail width (SettingsShell). */
  --size-settings-header: 56px; /* Settings and onboarding header height. */
  --size-content-settings: 768px; /* Settings content max width (max-w-3xl). */
  --size-content-wizard: 672px; /* Wizard and onboarding content max width (max-w-2xl). */
  --size-wizard-rail: 280px; /* Onboarding step rail width. */
  --size-rail: 320px; /* Tool rails that push the content: filters, columns, the review queue. */
  --size-drawer: 480px; /* Side drawer for one object's detail over a list or the full-screen grid. */
  --size-toast: 400px; /* Toast max width, bottom right, 16px from the edges. */
  --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
  --text-page-title-lg: 600 22px/1.15 var(--font-sans); /* The page H1 from 768px up (`page-title` utility). One per screen; equals the menu label and last breadcrumb. */
  --text-page-title: 600 20px/1.15 var(--font-sans); /* The page H1 below 768px. */
  --text-section-title: 600 17px/24px var(--font-sans); /* Section headings inside a page, between `page-title` and `card-title`. */
  --text-stat-value: 600 26px/1 var(--font-sans); /* Big numbers in spine stops and count tiles: the first thing read on overview pages. Always tabular-nums. */
  --text-card-title: 600 14px/20px var(--font-sans); /* Panel, card and dialog titles. */
  --text-body: 400 14px/20px var(--font-sans); /* Default running text (text-sm). */
  --text-label: 500 14px/20px var(--font-sans); /* Buttons, page tabs, segmented tabs. */
  --text-table-cell: 400 13px/20px var(--font-sans); /* Cells in `data-table`. */
  --text-ui-small: 500 12px/16px var(--font-sans); /* Sidebar items, toolbar controls, breadcrumbs, small buttons, selection bar. */
  --text-caption: 400 12px/1.625 var(--font-sans); /* Dialog body, amber notes, banners (text-xs leading-relaxed). */
  --text-meta: 400 11px/16px var(--font-sans); /* Secondary line under a stat or title, in `muted-foreground`. */
  --text-eyebrow: 600 11px/16px var(--font-sans); /* `label-eyebrow`: sidebar group titles, section eyebrows. Set uppercase in CSS; write the words in sentence case. */
  --text-table-head: 600 11px/16px var(--font-sans); /* `data-table` header cells: uppercase via CSS (write the words in sentence case), `muted-foreground`, no tint. Uppercase so headers never blend with the rows. */
  --text-micro: 500 10px/14px var(--font-sans); /* Count pills in tabs and toolbar badges; `data-table-mini` headers (600, 0.08em, uppercase). */
  --text-mono-id: 400 12px/16px var(--font-mono); /* Machine strings only: SKUs, IDs, API keys, slugs, timestamps in logs. */
  --text-mono-kbd: 400 11px/16px var(--font-mono); /* Keyboard hints in `kbd`, version tag in the sidebar. */
}
.page-title-lg {
  font-family: var(--font-sans);
  font-size: 22px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.015em;
}
.page-title {
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.015em;
}
.section-title {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 24px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.stat-value {
  font-family: var(--font-sans);
  font-size: 26px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.card-title {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  letter-spacing: 0;
}
.body {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: 0;
}
.label {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0;
}
.table-cell {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: 0;
}
.ui-small {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0;
}
.caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.625;
  font-weight: 400;
  letter-spacing: 0;
}
.meta {
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 16px;
  font-weight: 400;
  letter-spacing: 0;
}
.eyebrow {
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.table-head {
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.micro {
  font-family: var(--font-sans);
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
  letter-spacing: 0;
}
.mono-id {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
  letter-spacing: 0;
}
.mono-kbd {
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 16px;
  font-weight: 400;
  letter-spacing: 0;
}
