:root {
  /* Brand — deep teal / ink, not purple-default */
  --color-brand: #0f3d3e;
  --color-brand-strong: #0a2c2d;
  --color-brand-soft: #1a5c5e;
  --color-accent: #c45c26;
  --color-accent-hover: #a84c1e;
  --color-accent-soft: rgba(196, 92, 38, 0.12);

  /* Surfaces */
  --color-bg: #f3f0ea;
  --color-bg-elevated: #fffcf7;
  --color-bg-muted: #e8e3da;
  --color-bg-sidebar: #0f3d3e;
  --color-bg-sidebar-hover: rgba(255, 252, 247, 0.08);
  --color-bg-sidebar-active: rgba(255, 252, 247, 0.14);

  /* Text */
  --color-text: #1a1c1b;
  --color-text-muted: #5c635f;
  --color-text-faint: #8a918c;
  --color-text-on-brand: #f7f3ec;
  --color-text-on-brand-muted: rgba(247, 243, 236, 0.72);

  /* Borders & lines */
  --color-border: #d4cfc5;
  --color-border-strong: #b8b1a4;
  --color-focus: #1a5c5e;

  /* Semantic */
  --color-success: #1f6b4a;
  --color-success-bg: #e5f3ec;
  --color-warning: #9a6b12;
  --color-warning-bg: #faf0d8;
  --color-danger: #9b2c2c;
  --color-danger-bg: #f8e6e6;
  --color-info: #1a5c5e;
  --color-info-bg: #e4f0f0;

  /* Debit / Credit */
  --color-debit: #9b2c2c;
  --color-credit: #1f6b4a;

  /* Typography */
  --font-sans: "DM Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;

  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;

  /* Layout */
  --sidebar-width: 15.5rem;
  --sidebar-collapsed: 4.25rem;
  --topbar-height: 3.5rem;
  --content-max: 72rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;

  /* Elevation */
  --shadow-sm: 0 1px 2px rgba(26, 28, 27, 0.06);
  --shadow-md: 0 4px 16px rgba(26, 28, 27, 0.08);
  --shadow-lg: 0 12px 32px rgba(26, 28, 27, 0.12);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 140ms;
  --duration-normal: 220ms;

  /* Z-index */
  --z-sidebar: 40;
  --z-topbar: 30;
  --z-overlay: 50;
  --z-modal: 60;
  --z-toast: 70;
}
