@custom-variant dark (&:where(.dark, .dark *));
:root {
  --bg-primary: 255, 255, 255;
  --bg-primary-hover: 252, 252, 247;
  --bg-primary-solid: 123, 132, 142;
  --bg-secondary: 243, 249, 226;
  --bg-brand-primary: 143, 190, 63;
  --bg-brand-primary-hover: 126, 169, 52;
  --bg-brand-secondary: 243, 249, 226;
  --bg-brand-solid: 126, 169, 52;
  --bg-brand-solid-hover: 105, 143, 38;
  --bg-quaternary: 244, 246, 239;
  --bg-disabled: 244, 246, 239;
  --bg-disabled-subtle: 252, 252, 247;
  --bg-overlay: 123, 132, 142;
  --bg-error-primary: 240, 68, 56;
  --bg-error-solid: 217, 45, 32;
  --text-primary: 123, 132, 142;
  --text-secondary: 65, 70, 81;
  --text-tertiary: 83, 88, 98;
  --text-placeholder-subtle: 164, 167, 174;
  --text-primary-on-brand: 255, 255, 255;
  --text-brand-primary: 143, 190, 63;
  --text-brand-secondary: 126, 169, 52;
  --text-brand-tertiary: 143, 190, 63;
  --text-error-primary: 240, 68, 56;
  --text-white: 255, 255, 255;
  --fg-primary: 123, 132, 142;
  --fg-secondary: 65, 70, 81;
  --fg-tertiary: 83, 88, 98;
  --fg-quaternary: 164, 167, 174;
  --fg-disabled: 164, 167, 174;
  --fg-disabled-subtle: 213, 215, 218;
  --border-primary: 217, 230, 188;
  --border-brand: 143, 190, 63;
  --border-brand-alt: 126, 169, 52;
  --border-disabled: 213, 215, 218;
  --border-error: 180, 35, 24;
  --border-error-subtle: 254, 205, 202;
  --lms-bg-primary: 255, 255, 255;
  --lms-bg-primary-hover: 252, 252, 247;
  --lms-bg-primary-solid: 123, 132, 142;
  --lms-bg-secondary: 243, 249, 226;
  --lms-bg-brand-primary: 143, 190, 63;
  --lms-bg-brand-primary-hover: 126, 169, 52;
  --lms-bg-brand-secondary: 243, 249, 226;
  --lms-bg-brand-solid: 126, 169, 52;
  --lms-bg-brand-solid-hover: 105, 143, 38;
  --lms-bg-quaternary: 244, 246, 239;
  --lms-bg-disabled: 244, 246, 239;
  --lms-bg-disabled-subtle: 252, 252, 247;
  --lms-bg-overlay: 123, 132, 142;
  --lms-bg-error-primary: 240, 68, 56;
  --lms-bg-error-solid: 217, 45, 32;
  --lms-text-primary: 123, 132, 142;
  --lms-text-secondary: 65, 70, 81;
  --lms-text-tertiary: 83, 88, 98;
  --lms-text-placeholder-subtle: 164, 167, 174;
  --lms-text-primary-on-brand: 255, 255, 255;
  --lms-text-brand-primary: 143, 190, 63;
  --lms-text-brand-secondary: 126, 169, 52;
  --lms-text-brand-tertiary: 143, 190, 63;
  --lms-text-error-primary: 240, 68, 56;
  --lms-text-white: 255, 255, 255;
  --lms-fg-primary: 123, 132, 142;
  --lms-fg-secondary: 65, 70, 81;
  --lms-fg-tertiary: 83, 88, 98;
  --lms-fg-quaternary: 164, 167, 174;
  --lms-fg-disabled: 164, 167, 174;
  --lms-fg-disabled-subtle: 213, 215, 218;
  --lms-border-primary: 217, 230, 188;
  --lms-border-brand: 143, 190, 63;
  --lms-border-brand-alt: 126, 169, 52;
  --lms-border-disabled: 213, 215, 218;
  --lms-border-error: 180, 35, 24;
  --lms-border-error-subtle: 254, 205, 202;
  --external-app-card-background: #ffffff;
  --external-app-card-border: #e9eaeb;
  --external-app-card-title: #414651;
  --external-app-card-logo: #414651;
  --external-app-card-logo-placeholder: #717680;
  --external-app-card-hover-background: #fcfcf7;
  --external-app-card-hover-border: #e9eaeb;
  --background: #fcfcf7;
  --foreground: #7b848e;
  --card: #ffffff;
  --card-foreground: #66707b;
  --popover: #ffffff;
  --popover-foreground: #4d5761;
  --primary: #8fbe3f;
  --primary-foreground: #ffffff;
  --secondary: #f3f9e2;
  --secondary-foreground: #7ea934;
  --muted: #f4f6ef;
  --muted-foreground: #99a1aa;
  --accent: #edf5d7;
  --accent-foreground: #7da730;
  --border: #d9e6bc;
  --input: #d9e6bc;
  --ring: #b5d766;
  --chart-1: #8fbe3f;
  --chart-2: #b5d766;
  --chart-3: #dceab9;
  --chart-4: #7b848e;
  --chart-5: #5a6470;
  --sidebar: #ffffff;
  --sidebar-foreground: #7b848e;
  --sidebar-primary: #8fbe3f;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #f3f9e2;
  --sidebar-accent-foreground: #717680;
  --sidebar-border: #e9eaeb;
  --sidebar-ring: #b5d766;
  --system-card-background: #ffffff;
  --system-card-border: #9bc844;
  --system-card-title: #7eac31;
  --system-card-icon: #699f11;
  --system-card-arrow-border: #d4ee90;
  --system-card-arrow-icon: #699f11;
  --system-card-arrow-background: #ffffff;
  --system-card-hover-background: #f8fde8;
  --system-card-add-border: #d4ee90;
  --system-card-add-icon: #699f11;
  --lms-bg-footer: #e7e7e7;
}

.dark {
  /* Base backgrounds */
  --bg-primary: 20, 26, 18;
  --bg-primary-hover: 28, 36, 24;
  --bg-primary-solid: 126, 169, 52;
  --bg-secondary: 28, 36, 24;
  --bg-quaternary: 36, 46, 30;
  --bg-disabled: 36, 46, 30;
  --bg-disabled-subtle: 42, 54, 36;
  --bg-overlay: 0, 0, 0;

  /* Brand */
  --bg-brand-primary: 143, 190, 63;
  --bg-brand-primary-hover: 170, 215, 90;
  --bg-brand-secondary: 28, 36, 24;
  --bg-brand-solid: 143, 190, 63;
  --bg-brand-solid-hover: 170, 215, 90;

  /* Error */
  --bg-error-primary: 240, 68, 56;
  --bg-error-solid: 217, 45, 32;

  /* Text */
  --text-primary: 235, 245, 225;
  --text-secondary: 200, 220, 180;
  --text-tertiary: 170, 190, 150;
  --text-placeholder-subtle: 130, 150, 115;
  --text-primary-on-brand: 255, 255, 255;
  --text-brand-primary: 190, 230, 120;
  --text-brand-secondary: 170, 215, 100;
  --text-brand-tertiary: 200, 230, 150;
  --text-error-primary: 255, 120, 110;
  --text-white: 255, 255, 255;

  /* Foreground */
  --fg-primary: 235, 245, 225;
  --fg-secondary: 200, 220, 180;
  --fg-tertiary: 170, 190, 150;
  --fg-quaternary: 130, 150, 115;
  --fg-disabled: 100, 120, 90;
  --fg-disabled-subtle: 70, 90, 60;

  /* Borders */
  --border-primary: 70, 90, 60;
  --border-brand: 143, 190, 63;
  --border-brand-alt: 170, 215, 90;
  --border-disabled: 70, 90, 60;
  --border-error: 180, 35, 24;
  --border-error-subtle: 120, 40, 35;

  /* Semantic */
  --background: #141a12;
  --foreground: #ebf5e1;

  --card: #1c2418;
  --card-foreground: #ebf5e1;

  --popover: #1c2418;
  --popover-foreground: #ebf5e1;

  --primary: #8fbe3f;
  --primary-foreground: #ffffff;

  --secondary: #1f2a1b;
  --secondary-foreground: #bfe67a;

  --muted: #24301f;
  --muted-foreground: #a0b893;

  --accent: #2c3826;
  --accent-foreground: #c8f08a;

  --border: #465c3a;
  --input: #465c3a;
  --ring: #b5d766;

  /* Charts */
  --chart-1: #b5d766;
  --chart-2: #dceab9;
  --chart-3: #7b848e;
  --chart-4: #c8f08a;
  --chart-5: #99a1aa;

  /* Sidebar */
  --sidebar: #182015;
  --sidebar-foreground: #ebf5e1;
  --sidebar-primary: #8fbe3f;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #24301f;
  --sidebar-accent-foreground: #ebf5e1;
  --sidebar-border: #465c3a;
  --sidebar-ring: #b5d766;

  /* External cards */
  --external-app-card-background: #1c2418;
  --external-app-card-border: #465c3a;
  --external-app-card-title: #ebf5e1;
  --external-app-card-logo: #bfe67a;
  --external-app-card-logo-placeholder: #a0b893;
  --external-app-card-hover-background: #24301f;
  --external-app-card-hover-border: #5f7a4f;

  /* System cards */
  --system-card-background: #1c2418;
  --system-card-border: #8fbe3f;
  --system-card-title: #bfe67a;
  --system-card-icon: #b5d766;
  --system-card-arrow-border: #465c3a;
  --system-card-arrow-icon: #bfe67a;
  --system-card-arrow-background: #141a12;
  --system-card-hover-background: #24301f;
  --system-card-add-border: #465c3a;
  --system-card-add-icon: #b5d766;

  /* Footer */
  --lms-bg-footer: #10150f;
}
