/* Groundzy Color System */
/* Based on Brand Guide */

/* ========================================
   CENTRALIZED COLOR CONFIGURATION
   ========================================
   To update colors in the future, modify only the values below.
   All other color variables are derived from these base colors.
   ======================================== */

:root {
  /* ========================================
     BRAND COLOR DEFINITIONS
     Update these values to change the entire color scheme
     ======================================== */
  --anti-flash-white: #f1f5f5;    /* Main background color */
  --midnight-green: #19424a;       /* Primary text and dark elements */
  --green-yellow: #9fef4c;         /* Primary brand color - CTAs & highlights */
  --tea-green: #c9f3a1;           /* Subtle accents & success states */
  --kelly-green: #55aa32;         /* Secondary brand color */
  
  /* ========================================
     DERIVED COLOR VARIABLES
     These are automatically calculated from the brand colors above
     ======================================== */
  
  /* Primary Brand Colors */
  --color-green-yellow: var(--green-yellow);
  --color-dark-slate-gray: var(--midnight-green);
  
  /* Secondary Colors */
  --color-anti-flash-white: var(--anti-flash-white);
  --color-tea-green: var(--tea-green);
  --color-kelly-green: var(--kelly-green);
  
  /* Semantic Colors */
  --color-success: var(--kelly-green);
  --color-warning: #F59E0B;           /* Warning states */
  --color-error: #EF4444;             /* Error states */
  --color-info: #3B82F6;              /* Info states */
  
  /* Neutral Colors */
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-gray-50: #F9FAFB;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-300: #D1D5DB;
  --color-gray-400: #9CA3AF;
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;
  
  /* Background Colors */
  --bg-primary: var(--color-anti-flash-white);
  --bg-secondary: var(--color-white);
  --bg-tertiary: var(--color-gray-50);
  --bg-accent: var(--color-tea-green);
  
  /* Text Colors */
  --text-primary: var(--color-dark-slate-gray);
  --text-secondary: var(--color-gray-600);
  --text-tertiary: var(--color-gray-500);
  --text-inverse: var(--color-white);
  --text-accent: var(--color-green-yellow);
  
  /* Border Colors */
  --border-primary: var(--color-gray-200);
  --border-secondary: var(--color-gray-300);
  --border-accent: var(--color-green-yellow);
  --border-focus: var(--color-kelly-green);
  
  /* Shadow Colors */
  --shadow-light: rgba(25, 66, 74, 0.1);
  --shadow-medium: rgba(25, 66, 74, 0.15);
  --shadow-heavy: rgba(25, 66, 74, 0.25);
  
  /* Interactive Colors */
  --interactive-primary: var(--color-green-yellow);
  --interactive-primary-hover: #8DE43A;
  --interactive-primary-active: #7CD42A;
  --interactive-secondary: var(--color-tea-green);
  --interactive-secondary-hover: #B8E8A0;
  --interactive-secondary-active: #A8D890;
  
  /* Status Colors */
  --status-online: var(--color-success);
  --status-offline: var(--color-gray-400);
  --status-busy: var(--color-warning);
  --status-error: var(--color-error);
}

/* ========================================
   THEME OVERRIDES
   ======================================== */

/* Dark Theme Colors */
[data-theme="dark"] {
  --bg-primary: var(--color-gray-900);
  --bg-secondary: var(--color-gray-800);
  --bg-tertiary: var(--color-gray-700);
  --bg-accent: var(--color-gray-600);
  
  --text-primary: var(--color-white);
  --text-secondary: var(--color-gray-300);
  --text-tertiary: var(--color-gray-400);
  --text-inverse: var(--color-dark-slate-gray);
  
  --border-primary: var(--color-gray-700);
  --border-secondary: var(--color-gray-600);
  
  --shadow-light: rgba(0, 0, 0, 0.3);
  --shadow-medium: rgba(0, 0, 0, 0.4);
  --shadow-heavy: rgba(0, 0, 0, 0.5);
}

/* High Contrast Theme */
[data-theme="high-contrast"] {
  --color-green-yellow: #00FF00;
  --color-dark-slate-gray: #000000;
  --color-anti-flash-white: #FFFFFF;
  --color-tea-green: #00FF00;
  --color-kelly-green: #008000;
  
  --bg-primary: var(--color-white);
  --bg-secondary: var(--color-white);
  --bg-tertiary: var(--color-gray-100);
  
  --text-primary: var(--color-black);
  --text-secondary: var(--color-black);
  --text-tertiary: var(--color-black);
  
  --border-primary: var(--color-black);
  --border-secondary: var(--color-black);
}

/* Print Styles */
@media print {
  :root {
    --color-green-yellow: #000000;
    --color-dark-slate-gray: #000000;
    --color-anti-flash-white: #FFFFFF;
    --color-tea-green: #000000;
    --color-kelly-green: #000000;
    
    --bg-primary: var(--color-white);
    --bg-secondary: var(--color-white);
    --bg-tertiary: var(--color-white);
    
    --text-primary: var(--color-black);
    --text-secondary: var(--color-black);
    --text-tertiary: var(--color-black);
    
    --border-primary: var(--color-black);
    --border-secondary: var(--color-black);
  }
} 