:root {
  color-scheme: light;

  /* Brand and semantic colors */
  --bsuite-primary-50: #ecf8f7;
  --bsuite-primary-100: #d3efed;
  --bsuite-primary-200: #a8dfdb;
  --bsuite-primary-300: #72c8c3;
  --bsuite-primary-400: #3aa9a5;
  --bsuite-primary-500: #167f7d;
  --bsuite-primary-600: #126b6a;
  --bsuite-primary-700: #115756;
  --bsuite-primary-800: #104645;
  --bsuite-primary-900: #0d3939;

  --bsuite-secondary-500: #335f8a;
  --bsuite-success-500: #21855b;
  --bsuite-danger-500: #c33f4a;
  --bsuite-warning-500: #b66a0b;
  --bsuite-info-500: #2878b5;

  /* Semantic surface tokens */
  --bsuite-bg: #f4f7f8;
  --bsuite-surface: #ffffff;
  --bsuite-surface-raised: #ffffff;
  --bsuite-surface-subtle: #eef3f4;
  --bsuite-card: #ffffff;
  --bsuite-border: #d9e2e5;
  --bsuite-border-strong: #b8c7cc;
  --bsuite-text: #1d2b32;
  --bsuite-text-muted: #61737c;
  --bsuite-heading: #13232b;
  --bsuite-link: #126b6a;
  --bsuite-sidebar: #172a33;
  --bsuite-sidebar-text: #dce7e9;
  --bsuite-sidebar-muted: #93a8ae;
  --bsuite-header: #ffffff;
  --bsuite-footer: #eef3f4;
  --bsuite-table-row: #ffffff;
  --bsuite-table-row-alt: #f8fafb;
  --bsuite-hover: #e8f3f3;
  --bsuite-selected: #d3efed;
  --bsuite-disabled-bg: #edf1f2;
  --bsuite-disabled-text: #8b9aa0;
  --bsuite-focus: #1d88c8;
  --bsuite-overlay: rgba(12, 27, 34, 0.52);

  /* Status colors */
  --bsuite-status-available-bg: #e3f4eb;
  --bsuite-status-available-fg: #176542;
  --bsuite-status-occupied-bg: #fde8e8;
  --bsuite-status-occupied-fg: #a52d39;
  --bsuite-status-reserved-bg: #e8eef8;
  --bsuite-status-reserved-fg: #31598a;
  --bsuite-status-pending-bg: #fff2d8;
  --bsuite-status-pending-fg: #8a5708;
  --bsuite-status-preparing-bg: #f7e8d6;
  --bsuite-status-preparing-fg: #934d08;
  --bsuite-status-ready-bg: #dff4ef;
  --bsuite-status-ready-fg: #0c6b5c;
  --bsuite-status-served-bg: #e8eef8;
  --bsuite-status-served-fg: #31598a;
  --bsuite-status-paid-bg: #e3f4eb;
  --bsuite-status-paid-fg: #176542;
  --bsuite-status-cancelled-bg: #fde8e8;
  --bsuite-status-cancelled-fg: #a52d39;
  --bsuite-status-draft-bg: #edf1f2;
  --bsuite-status-draft-fg: #53656d;
  --bsuite-status-completed-bg: #e3f4eb;
  --bsuite-status-completed-fg: #176542;
  --bsuite-status-inactive-bg: #edf1f2;
  --bsuite-status-inactive-fg: #6d7d84;

  /* Typography */
  --bsuite-font-sans: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --bsuite-font-mono: "Cascadia Code", Consolas, monospace;
  --bsuite-text-display: 2rem;
  --bsuite-text-h1: 1.5rem;
  --bsuite-text-h2: 1.25rem;
  --bsuite-text-h3: 1rem;
  --bsuite-text-body: 0.9375rem;
  --bsuite-text-small: 0.8125rem;
  --bsuite-text-caption: 0.75rem;
  --bsuite-leading-tight: 1.25;
  --bsuite-leading-normal: 1.5;

  /* 8px spacing system with half-step for compact controls */
  --bsuite-space-0: 0;
  --bsuite-space-0-5: 0.25rem;
  --bsuite-space-1: 0.5rem;
  --bsuite-space-2: 1rem;
  --bsuite-space-3: 1.5rem;
  --bsuite-space-4: 2rem;
  --bsuite-space-5: 2.5rem;
  --bsuite-space-6: 3rem;
  --bsuite-space-8: 4rem;

  /* Geometry */
  --bsuite-radius-button: 0.375rem;
  --bsuite-radius-input: 0.375rem;
  --bsuite-radius-card: 0.5rem;
  --bsuite-radius-dialog: 0.5rem;
  --bsuite-radius-table: 0.375rem;
  --bsuite-radius-pill: 999px;
  --bsuite-control-height-sm: 2rem;
  --bsuite-control-height: 2.5rem;
  --bsuite-control-height-lg: 3rem;
  --bsuite-touch-target: 2.75rem;
  --bsuite-sidebar-width: 15.5rem;
  --bsuite-sidebar-collapsed-width: 4.5rem;
  --bsuite-header-height: 4rem;
  --bsuite-content-max: 100rem;

  /* Elevation */
  --bsuite-shadow-sm: 0 1px 2px rgba(18, 39, 48, 0.08);
  --bsuite-shadow-md: 0 6px 18px rgba(18, 39, 48, 0.10);
  --bsuite-shadow-lg: 0 16px 40px rgba(18, 39, 48, 0.16);
  --bsuite-shadow-hover: 0 8px 22px rgba(18, 39, 48, 0.13);

  /* Motion */
  --bsuite-duration-fast: 150ms;
  --bsuite-duration: 200ms;
  --bsuite-duration-slow: 250ms;
  --bsuite-ease: cubic-bezier(0.2, 0, 0, 1);
}

[data-theme="dark"] {
  color-scheme: dark;
  --bsuite-bg: #0d171c;
  --bsuite-surface: #142229;
  --bsuite-surface-raised: #1a2b33;
  --bsuite-surface-subtle: #1d3038;
  --bsuite-card: #142229;
  --bsuite-border: #30434b;
  --bsuite-border-strong: #496069;
  --bsuite-text: #e5edef;
  --bsuite-text-muted: #9eb0b6;
  --bsuite-heading: #f6f9fa;
  --bsuite-link: #71cbc6;
  --bsuite-sidebar: #091216;
  --bsuite-sidebar-text: #e8f0f1;
  --bsuite-sidebar-muted: #8da1a8;
  --bsuite-header: #142229;
  --bsuite-footer: #101d22;
  --bsuite-table-row: #142229;
  --bsuite-table-row-alt: #182831;
  --bsuite-hover: #20373e;
  --bsuite-selected: #184543;
  --bsuite-disabled-bg: #25343a;
  --bsuite-disabled-text: #74868c;
  --bsuite-focus: #65bfe8;
  --bsuite-overlay: rgba(0, 0, 0, 0.70);

  --bsuite-status-available-bg: #163b2c;
  --bsuite-status-available-fg: #8be0b6;
  --bsuite-status-occupied-bg: #48242a;
  --bsuite-status-occupied-fg: #ffadb4;
  --bsuite-status-reserved-bg: #203752;
  --bsuite-status-reserved-fg: #a9c9ef;
  --bsuite-status-pending-bg: #463717;
  --bsuite-status-pending-fg: #ffd27d;
  --bsuite-status-preparing-bg: #4a2d16;
  --bsuite-status-preparing-fg: #ffc286;
  --bsuite-status-ready-bg: #123e38;
  --bsuite-status-ready-fg: #89ded0;
  --bsuite-status-served-bg: #203752;
  --bsuite-status-served-fg: #a9c9ef;
  --bsuite-status-paid-bg: #163b2c;
  --bsuite-status-paid-fg: #8be0b6;
  --bsuite-status-cancelled-bg: #48242a;
  --bsuite-status-cancelled-fg: #ffadb4;
  --bsuite-status-draft-bg: #2b3a40;
  --bsuite-status-draft-fg: #bdcbd0;
  --bsuite-status-completed-bg: #163b2c;
  --bsuite-status-completed-fg: #8be0b6;
  --bsuite-status-inactive-bg: #2b3a40;
  --bsuite-status-inactive-fg: #aab9be;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --bsuite-duration-fast: 0ms;
    --bsuite-duration: 0ms;
    --bsuite-duration-slow: 0ms;
  }
}
