:root {
  /* Base Colors */
  --bs-primary: #09AE8E;
  --bs-dark: #1F2423;
  
  /* Derived Colors */
  --bs-primary-light: #3abfac;
  --bs-primary-lighter: #6bcfc2;
  --bs-primary-lightest: #9cdfd7;
  --bs-primary-dark: #068a71;
  --bs-primary-darker: #046555;
  --bs-primary-darkest: #034138;
  
  --bs-dark-light: #4c504f;
  --bs-dark-lighter: #797c7b;
  --bs-dark-lightest: #a6a8a7;
  --bs-dark-dark: #191d1c;
  --bs-dark-darker: #131615;
  --bs-dark-darkest: #0c0e0e;
  
  /* Neutral Colors */
  --bs-white: #ffffff;
  --bs-gray: #dee2e6;
  --bs-gray-dark: #adb5bd;
  
  /* Status Colors */
  --bs-success: #28a745;
  --bs-info: #17a2b8;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-secondary: #6c757d;
  --bs-light: #f8f9fa;
  
  /* Fonts */
  --font-heading: 'Orbitron', sans-serif;
  --font-body: 'Space Grotesk', sans-serif;
  
  /* Text Colors */
  --bs-primary-text: var(--bs-primary);
  --bs-secondary-text: var(--bs-secondary);
  --bs-success-text: var(--bs-success);
  --bs-info-text: var(--bs-info);
  --bs-warning-text: var(--bs-warning);
  --bs-danger-text: var(--bs-danger);
  --bs-light-text: var(--bs-light);
  --bs-dark-text: var(--bs-dark);
  --bs-white-text: var(--bs-white);
  --bs-gray-text: var(--bs-gray-dark);
  --bs-gray-dark-text: #495057;
  
  /* Fills */
  --bs-white-fill: var(--bs-white);
  --bs-gray-fill: var(--bs-gray);
  --bs-gray-dark-fill: var(--bs-gray-dark);
  --bs-primary-fill: var(--bs-primary);
  --bs-secondary-fill: var(--bs-secondary);
  --bs-success-fill: var(--bs-success);
  --bs-info-fill: var(--bs-info);
  --bs-warning-fill: var(--bs-warning);
  --bs-danger-fill: var(--bs-danger);
  --bs-light-fill: var(--bs-light);
  --bs-dark-fill: var(--bs-dark);
  
  /* Outline Colors */
  --bs-white-outline: rgba(255, 255, 255, 0.5);
  --bs-gray-outline: rgba(222, 226, 230, 0.5);
  --bs-gray-dark-outline: rgba(173, 181, 189, 0.5);
  --bs-primary-outline: rgba(9, 174, 142, 0.5);
  --bs-secondary-outline: rgba(108, 117, 125, 0.5);
  --bs-success-outline: rgba(40, 167, 69, 0.5);
  --bs-info-outline: rgba(23, 162, 184, 0.5);
  --bs-warning-outline: rgba(255, 193, 7, 0.5);
  --bs-danger-outline: rgba(220, 53, 69, 0.5);
  --bs-light-outline: rgba(248, 249, 250, 0.5);
  --bs-dark-outline: rgba(31, 36, 35, 0.5);
  
  /* Gradient Fills */
  --bs-primary-gradient: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-primary-dark) 100%);
  --bs-dark-gradient: linear-gradient(135deg, var(--bs-dark) 0%, var(--bs-dark-dark) 100%);
  --bs-white-gradient: linear-gradient(135deg, var(--bs-white) 0%, #e9ecef 100%);
  --bs-gray-gradient: linear-gradient(135deg, var(--bs-gray) 0%, #ced4da 100%);
  --bs-gray-dark-gradient: linear-gradient(135deg, var(--bs-gray-dark) 0%, #868e96 100%);
  --bs-secondary-gradient: linear-gradient(135deg, var(--bs-secondary) 0%, #5a6268 100%);
  --bs-success-gradient: linear-gradient(135deg, var(--bs-success) 0%, #218838 100%);
  --bs-info-gradient: linear-gradient(135deg, var(--bs-info) 0%, #138496 100%);
  --bs-warning-gradient: linear-gradient(135deg, var(--bs-warning) 0%, #e0a800 100%);
  --bs-danger-gradient: linear-gradient(135deg, var(--bs-danger) 0%, #bd2130 100%);
  --bs-light-gradient: linear-gradient(135deg, var(--bs-light) 0%, #e2e6ea 100%);
  
  /* Gradient Outlines */
  --bs-primary-gradient-outline: linear-gradient(135deg, var(--bs-primary-outline) 0%, rgba(6, 138, 113, 0.5) 100%);
  --bs-dark-gradient-outline: linear-gradient(135deg, var(--bs-dark-outline) 0%, rgba(25, 29, 28, 0.5) 100%);
  
  /* Text Gradients */
  --bs-primary-text-gradient: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-primary-light) 100%);
  --bs-dark-text-gradient: linear-gradient(135deg, var(--bs-dark) 0%, var(--bs-dark-light) 100%);
  
  /* Buttons */
  --bs-primary-btn: var(--bs-primary);
  --bs-primary-btn-hover: var(--bs-primary-dark);
  --bs-dark-btn: var(--bs-dark);
  --bs-dark-btn-hover: var(--bs-dark-dark);
  
  /* Button Outlines */
  --bs-primary-outline-btn: transparent;
  --bs-primary-outline-btn-border: var(--bs-primary);
  --bs-primary-outline-btn-hover: var(--bs-primary);
  --bs-dark-outline-btn: transparent;
  --bs-dark-outline-btn-border: var(--bs-dark);
  --bs-dark-outline-btn-hover: var(--bs-dark);
  
  /* Cards */
  --bs-card-bg: var(--bs-white);
  --bs-card-border-color: rgba(0, 0, 0, 0.125);
  --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
  --bs-primary-card-bg: var(--bs-primary-lightest);
  --bs-dark-card-bg: var(--bs-dark-lightest);
  
  /* Tables */
  --bs-table-bg: var(--bs-white);
  --bs-table-accent-bg: rgba(0, 0, 0, 0.05);
  --bs-table-striped-color: #212529;
  --bs-table-active-color: #212529;
  --bs-table-hover-color: #212529;
  --bs-primary-table-bg: var(--bs-primary-lightest);
  --bs-dark-table-bg: var(--bs-dark-lightest);
  
  /* Forms */
  --bs-input-bg: var(--bs-white);
  --bs-input-border-color: var(--bs-gray);
  --bs-input-focus-border-color: var(--bs-primary);
  --bs-input-focus-box-shadow: 0 0 0 0.25rem rgba(9, 174, 142, 0.25);
  
  /* Backgrounds */
  --bs-primary-bg: var(--bs-primary);
  --bs-dark-bg: var(--bs-dark);
  --bs-primary-bg-subtle: var(--bs-primary-lightest);
  --bs-dark-bg-subtle: var(--bs-dark-lightest);
  
  /* Links */
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: var(--bs-primary-dark);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--bs-dark);
  font-weight: 700;
}
