:root {
  color-scheme: light;

  /* Typography */
  --font-ui: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.8125rem;
  --font-size-md: 0.875rem;
  --font-size-base: 0.9375rem;
  --font-size-lg: 1.0625rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: clamp(1.5rem, 1.35rem + 0.6vw, 1.875rem);
  --font-size-3xl: clamp(1.875rem, 1.65rem + 0.9vw, 2.375rem);
  --line-height-tight: 1.2;
  --line-height-heading: 1.3;
  --line-height-body: 1.55;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Product palette */
  --app-bg: #f5f7fa;
  --surface: #ffffff;
  --surface-subtle: #f8fafc;
  --surface-muted: #f1f4f8;
  --surface-raised: #ffffff;
  --surface-inverse: #172033;

  --text-primary: #182235;
  --text-secondary: #4b596e;
  --text-muted: #6c788b;
  --text-subtle: #8994a5;
  --text-inverse: #f8fafc;

  --border: #dce2ea;
  --border-strong: #c9d1dc;
  --border-subtle: #e9edf2;

  --primary: #2859a6;
  --primary-hover: #214b8e;
  --primary-active: #1c4079;
  --primary-subtle: #edf3fc;
  --primary-border: #c9daf3;
  --primary-text: #244e8e;

  --success: #19714a;
  --success-hover: #145d3d;
  --success-subtle: #eaf7f0;
  --success-border: #bce3ce;
  --success-text: #145c3e;

  --warning: #a55d0a;
  --warning-hover: #874b08;
  --warning-subtle: #fff6e5;
  --warning-border: #f2d399;
  --warning-text: #7a4509;

  --danger: #b42318;
  --danger-hover: #941d14;
  --danger-subtle: #fff0ee;
  --danger-border: #f0c1bc;
  --danger-text: #912018;

  --info: #176b8f;
  --info-hover: #125a79;
  --info-subtle: #edf7fb;
  --info-border: #bddfec;
  --info-text: #155c7a;

  --neutral: #5d697a;
  --neutral-subtle: #f1f4f7;
  --neutral-border: #d7dde5;
  --neutral-text: #4d5969;

  /* Persistent navigation */
  --sidebar-bg: #151e2f;
  --sidebar-surface: #1c273b;
  --sidebar-surface-hover: #243149;
  --sidebar-surface-active: #2a3955;
  --sidebar-text: #e9eef6;
  --sidebar-text-muted: #aab5c5;
  --sidebar-border: rgba(255, 255, 255, 0.1);
  --sidebar-active-indicator: #79a7ef;
  --sidebar-width: 16rem;
  --sidebar-width-collapsed: 4.5rem;
  --topbar-height: 4rem;

  /* Spacing */
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 1.75rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* Shape */
  --radius-xs: 0.25rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 0.875rem;
  --radius-xl: 1rem;
  --radius-pill: 999px;
  --control-height-sm: 2rem;
  --control-height: 2.5rem;
  --control-height-lg: 2.875rem;

  /* Elevation */
  --shadow-xs: 0 1px 2px rgba(24, 34, 53, 0.05);
  --shadow-sm: 0 1px 3px rgba(24, 34, 53, 0.08), 0 1px 2px rgba(24, 34, 53, 0.04);
  --shadow-md: 0 8px 24px rgba(24, 34, 53, 0.1), 0 2px 6px rgba(24, 34, 53, 0.05);
  --shadow-lg: 0 18px 48px rgba(16, 24, 40, 0.16), 0 4px 12px rgba(16, 24, 40, 0.08);

  /* Interaction */
  --focus-color: #3c73c8;
  --focus-ring: 0 0 0 0.2rem rgba(60, 115, 200, 0.24);
  --transition-fast: 120ms ease;
  --transition-base: 180ms ease;
  --transition-slow: 240ms ease;

  /* Layers */
  --z-sidebar: 1035;
  --z-sidebar-scrim: 1030;
  --z-topbar: 1020;
  --z-dropdown: 1050;
  --z-toast: 1090;
  --z-drawer: 1080;
  --z-command: 1100;
  --z-tooltip: 1120;

  /* Content and responsive references */
  --content-max-width: 100rem;
  --breakpoint-xs: 23.4375rem;
  --breakpoint-md: 48rem;
  --breakpoint-lg: 64rem;
  --breakpoint-xl: 90rem;

  /* Bootstrap variable bridge */
  --bs-body-font-family: var(--font-ui);
  --bs-body-font-size: var(--font-size-base);
  --bs-body-line-height: var(--line-height-body);
  --bs-body-color: var(--text-primary);
  --bs-body-bg: var(--app-bg);
  --bs-primary: var(--primary);
  --bs-primary-rgb: 40, 89, 166;
  --bs-secondary: var(--neutral);
  --bs-secondary-rgb: 93, 105, 122;
  --bs-success: var(--success);
  --bs-success-rgb: 25, 113, 74;
  --bs-warning: var(--warning);
  --bs-warning-rgb: 165, 93, 10;
  --bs-danger: var(--danger);
  --bs-danger-rgb: 180, 35, 24;
  --bs-info: var(--info);
  --bs-info-rgb: 23, 107, 143;
  --bs-light: var(--surface-subtle);
  --bs-light-rgb: 248, 250, 252;
  --bs-dark: var(--surface-inverse);
  --bs-dark-rgb: 23, 32, 51;
  --bs-border-color: var(--border);
  --bs-border-radius: var(--radius-md);
  --bs-border-radius-sm: var(--radius-sm);
  --bs-border-radius-lg: var(--radius-lg);
  --bs-link-color: var(--primary);
  --bs-link-hover-color: var(--primary-hover);
  --bs-focus-ring-color: rgba(60, 115, 200, 0.24);
}
