:root {
  /* Brand colours: change these to re-theme the whole web panel */
  --brand-navy: #020146;
  --brand-navy-light: #1E1D6B;
  --brand-navy-dark: #01012E;
  --brand-yellow: #FFE600;
  --brand-yellow-dark: #E6CF00;

  /* Color Variables */
  --color-primary: var(--brand-navy);
  --color-primary-light: var(--brand-navy-light);
  --color-primary-dark: var(--brand-navy-dark);
  --color-on-primary: #FFFFFF;
  --color-highlight: var(--brand-yellow);
  --color-on-highlight: var(--brand-navy);
  --color-header-bg: var(--brand-navy);
  --color-header-text: #FFFFFF;
  --color-secondary: #FFFFFF;
  --color-secondary-dark: #F7F9FC;
  --color-accent: var(--brand-yellow);
  --color-accent-light: #FFF06B;
  --color-accent-dark: var(--brand-yellow-dark);

  /* Status Colors */
  --color-success: #34C759;
  --color-success-light: #5AD57E;
  --color-success-dark: #249A41;
  --color-warning: #FFCC00;
  --color-warning-light: #FFD633;
  --color-warning-dark: #CCA300;
  --color-error: #FF3B30;
  --color-error-light: #FF635B;
  --color-error-dark: #CC2F26;

  /* Neutral Colors */
  --color-text-primary: #1A202C;
  --color-text-secondary: #596780;
  --color-text-tertiary: #90A3BF;
  --color-border: #C3D4E9;
  --color-divider: #E9ECF5;
  --color-background: #F8F9FD;
  --color-card: #FFFFFF;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

  /* Typography */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  --font-size-xs: 0.75rem;
  /* 12px */
  --font-size-sm: 0.875rem;
  /* 14px */
  --font-size-md: 1rem;
  /* 16px */
  --font-size-lg: 1.125rem;
  /* 18px */
  --font-size-xl: 1.25rem;
  /* 20px */
  --font-size-2xl: 1.5rem;
  /* 24px */
  --font-size-3xl: 1.875rem;
  /* 30px */
  --font-size-4xl: 2.25rem;
  /* 36px */

  /* Font Weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Spacing (8px grid) */
  --space-1: 0.25rem;
  /* 4px */
  --space-2: 0.5rem;
  /* 8px */
  --space-3: 0.75rem;
  /* 12px */
  --space-4: 1rem;
  /* 16px */
  --space-5: 1.25rem;
  /* 20px */
  --space-6: 1.5rem;
  /* 24px */
  --space-8: 2rem;
  /* 32px */
  --space-10: 2.5rem;
  /* 40px */
  --space-12: 3rem;
  /* 48px */
  --space-16: 4rem;
  /* 64px */
  --space-20: 5rem;
  /* 80px */

  /* Border Radius */
  --radius-sm: 0.125rem;
  /* 2px */
  --radius-md: 0.25rem;
  /* 4px */
  --radius-lg: 0.5rem;
  /* 8px */
  --radius-xl: 0.75rem;
  /* 12px */
  --radius-2xl: 1rem;
  /* 16px */
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 300ms ease;
  --transition-slow: 500ms ease;

  /* Z-index */
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;

  /* Container widths */
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;
}

/* Dark Mode Variables */
[data-theme="dark"] {
  /* Navy is too dark to read on a dark background, so use a lighter indigo */
  --color-primary: #6C6BF0;
  --color-primary-light: #8C8BF5;
  --color-primary-dark: #4B49C9;
  --color-header-bg: #0B0A3A;
  --color-secondary: #1A1D2A;
  --color-secondary-dark: #12141F;
  --color-accent: var(--brand-yellow);

  /* Status Colors */
  --color-success: #34C759;
  --color-warning: #FFCC00;
  --color-error: #FF3B30;

  /* Neutral Colors */
  --color-text-primary: #F7F9FC;
  --color-text-secondary: #CED5E1;
  --color-text-tertiary: #90A3BF;
  --color-border: #384053;
  --color-divider: #2A3041;
  --color-background: #12141F;
  --color-card: #1A1D2A;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
}