/**
 * Nature Index - CSS Variables
 * Core design tokens for the Nature Index theme
 * =============================================
 */

:root {
    /* ========================================
       Brand Colors - Nature Index Palette
       ======================================== */
    
    /* Primary - Forest Greens */
    --ni-primary-darkest: #0f2922;
    --ni-primary-dark: #1a3c34;
    --ni-primary: #2d5a4a;
    --ni-primary-light: #4a7c6f;
    --ni-primary-lighter: #6b9e8f;
    --ni-primary-lightest: #a8c9be;
    
    /* Accent - Leaf Green */
    --ni-accent-dark: #558b2f;
    --ni-accent: #7cb342;
    --ni-accent-light: #9ccc65;
    --ni-accent-lighter: #c5e1a5;
    
    /* Secondary - Earth Tones */
    --ni-earth-dark: #3e2723;
    --ni-earth: #5d4037;
    --ni-earth-light: #8d6e63;
    --ni-earth-lighter: #bcaaa4;
    
    /* Neutrals */
    --ni-white: #ffffff;
    --ni-gray-50: #fafafa;
    --ni-gray-100: #f5f7f6;
    --ni-gray-200: #eeeeee;
    --ni-gray-300: #e0e0e0;
    --ni-gray-400: #bdbdbd;
    --ni-gray-500: #9e9e9e;
    --ni-gray-600: #757575;
    --ni-gray-700: #616161;
    --ni-gray-800: #424242;
    --ni-gray-900: #212121;
    --ni-black: #000000;
    
    /* Text Colors */
    --ni-text-primary: #2c3e50;
    --ni-text-secondary: #546e7a;
    --ni-text-muted: #78909c;
    --ni-text-light: #b0bec5;
    --ni-text-inverse: #ffffff;
    
    /* Background Colors */
    --ni-bg-body: #f5f7f6;
    --ni-bg-surface: #ffffff;
    --ni-bg-surface-alt: #fafafa;
    --ni-bg-dark: #1a3c34;
    --ni-bg-darker: #0f2922;
    
    /* ========================================
       Semantic Colors
       ======================================== */
    
    /* Status Colors */
    --ni-success: #28a745;
    --ni-success-light: #d4edda;
    --ni-success-dark: #1e7e34;
    
    --ni-warning: #ffc107;
    --ni-warning-light: #fff3cd;
    --ni-warning-dark: #d39e00;
    
    --ni-danger: #dc3545;
    --ni-danger-light: #f8d7da;
    --ni-danger-dark: #bd2130;
    
    --ni-info: #17a2b8;
    --ni-info-light: #d1ecf1;
    --ni-info-dark: #117a8b;
    
    /* Confidence Level Colors */
    --ni-confidence-low: #ffc107;
    --ni-confidence-low-bg: #fff8e1;
    --ni-confidence-moderate: #17a2b8;
    --ni-confidence-moderate-bg: #e0f7fa;
    --ni-confidence-high: #28a745;
    --ni-confidence-high-bg: #e8f5e9;
    --ni-confidence-veryhigh: #1a3c34;
    --ni-confidence-veryhigh-bg: #e0f2f1;
    
    /* Indicator Domain Colors */
    --ni-domain-soil: #8d6e63;
    --ni-domain-soil-bg: #efebe9;
    --ni-domain-vegetation: #43a047;
    --ni-domain-vegetation-bg: #e8f5e9;
    --ni-domain-fauna: #ff7043;
    --ni-domain-fauna-bg: #fbe9e7;
    --ni-domain-water: #039be5;
    --ni-domain-water-bg: #e1f5fe;
    --ni-domain-erosion: #6d4c41;
    --ni-domain-erosion-bg: #d7ccc8;
    --ni-domain-carbon: #455a64;
    --ni-domain-carbon-bg: #eceff1;
    
    /* Assessment Context Colors */
    --ni-context-pristine: #1a3c34;
    --ni-context-pristine-bg: #e0f2f1;
    --ni-context-conservation: #2e7d32;
    --ni-context-conservation-bg: #e8f5e9;
    --ni-context-agricultural: #f9a825;
    --ni-context-agricultural-bg: #fffde7;
    --ni-context-rehabilitation: #6a1b9a;
    --ni-context-rehabilitation-bg: #f3e5f5;
    
    /* ========================================
       Typography
       ======================================== */
    
    /* Font Families */
    --ni-font-primary: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --ni-font-secondary: 'Crimson Text', Georgia, 'Times New Roman', serif;
    --ni-font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    
    /* Font Sizes - Desktop */
    --ni-text-xs: 0.75rem;      /* 12px */
    --ni-text-sm: 0.875rem;     /* 14px */
    --ni-text-base: 1rem;       /* 16px */
    --ni-text-lg: 1.125rem;     /* 18px */
    --ni-text-xl: 1.25rem;      /* 20px */
    --ni-text-2xl: 1.5rem;      /* 24px */
    --ni-text-3xl: 1.875rem;    /* 30px */
    --ni-text-4xl: 2.25rem;     /* 36px */
    --ni-text-5xl: 3rem;        /* 48px */
    --ni-text-6xl: 3.75rem;     /* 60px */
    
    /* Font Weights */
    --ni-font-light: 300;
    --ni-font-normal: 400;
    --ni-font-medium: 500;
    --ni-font-semibold: 600;
    --ni-font-bold: 700;
    
    /* Line Heights */
    --ni-leading-none: 1;
    --ni-leading-tight: 1.25;
    --ni-leading-snug: 1.375;
    --ni-leading-normal: 1.5;
    --ni-leading-relaxed: 1.625;
    --ni-leading-loose: 2;
    
    /* Letter Spacing */
    --ni-tracking-tight: -0.025em;
    --ni-tracking-normal: 0;
    --ni-tracking-wide: 0.025em;
    --ni-tracking-wider: 0.05em;
    --ni-tracking-widest: 0.1em;
    
    /* ========================================
       Spacing
       ======================================== */
    
    --ni-space-0: 0;
    --ni-space-1: 0.25rem;      /* 4px */
    --ni-space-2: 0.5rem;       /* 8px */
    --ni-space-3: 0.75rem;      /* 12px */
    --ni-space-4: 1rem;         /* 16px */
    --ni-space-5: 1.25rem;      /* 20px */
    --ni-space-6: 1.5rem;       /* 24px */
    --ni-space-8: 2rem;         /* 32px */
    --ni-space-10: 2.5rem;      /* 40px */
    --ni-space-12: 3rem;        /* 48px */
    --ni-space-16: 4rem;        /* 64px */
    --ni-space-20: 5rem;        /* 80px */
    --ni-space-24: 6rem;        /* 96px */
    
    /* ========================================
       Layout
       ======================================== */
    
    /* Container Widths */
    --ni-container-sm: 640px;
    --ni-container-md: 768px;
    --ni-container-lg: 1024px;
    --ni-container-xl: 1140px;
    --ni-container-2xl: 1320px;
    
    /* Breakpoints (for reference in JS) */
    --ni-breakpoint-sm: 576px;
    --ni-breakpoint-md: 768px;
    --ni-breakpoint-lg: 992px;
    --ni-breakpoint-xl: 1200px;
    --ni-breakpoint-2xl: 1400px;
    
    /* ========================================
       Borders & Radius
       ======================================== */
    
    --ni-border-width: 1px;
    --ni-border-color: #e0e0e0;
    --ni-border-color-light: #eeeeee;
    --ni-border-color-dark: #bdbdbd;
    
    --ni-radius-none: 0;
    --ni-radius-sm: 0.125rem;   /* 2px */
    --ni-radius-md: 0.25rem;    /* 4px */
    --ni-radius-lg: 0.5rem;     /* 8px */
    --ni-radius-xl: 0.75rem;    /* 12px */
    --ni-radius-2xl: 1rem;      /* 16px */
    --ni-radius-full: 9999px;
    
    /* ========================================
       Shadows
       ======================================== */
    
    --ni-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --ni-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
    --ni-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ni-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ni-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ni-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ni-shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    
    /* Colored Shadows */
    --ni-shadow-primary: 0 4px 14px 0 rgba(45, 90, 74, 0.3);
    --ni-shadow-accent: 0 4px 14px 0 rgba(124, 179, 66, 0.3);
    
    /* ========================================
       Transitions
       ======================================== */
    
    --ni-transition-fast: 150ms ease;
    --ni-transition-normal: 250ms ease;
    --ni-transition-slow: 350ms ease;
    --ni-transition-slower: 500ms ease;
    
    /* Specific Transitions */
    --ni-transition-colors: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
    --ni-transition-transform: transform 250ms ease;
    --ni-transition-shadow: box-shadow 250ms ease;
    --ni-transition-all: all 250ms ease;
    
    /* ========================================
       Z-Index Scale
       ======================================== */
    
    --ni-z-dropdown: 1000;
    --ni-z-sticky: 1020;
    --ni-z-fixed: 1030;
    --ni-z-modal-backdrop: 1040;
    --ni-z-modal: 1050;
    --ni-z-popover: 1060;
    --ni-z-tooltip: 1070;
    --ni-z-toast: 1080;
    
    /* ========================================
       Header Heights
       ======================================== */
    
    --ni-header-top-height: 40px;
    --ni-header-main-height: 80px;
    --ni-header-total-height: 120px;
    --ni-header-mobile-height: 60px;
}

/* ========================================
   Dark Mode Variables (Optional)
   ======================================== */

@media (prefers-color-scheme: dark) {
    :root.auto-dark {
        --ni-bg-body: #121212;
        --ni-bg-surface: #1e1e1e;
        --ni-bg-surface-alt: #2d2d2d;
        --ni-text-primary: #e0e0e0;
        --ni-text-secondary: #b0b0b0;
        --ni-border-color: #424242;
    }
}

.dark-mode {
    --ni-bg-body: #121212;
    --ni-bg-surface: #1e1e1e;
    --ni-bg-surface-alt: #2d2d2d;
    --ni-text-primary: #e0e0e0;
    --ni-text-secondary: #b0b0b0;
    --ni-border-color: #424242;
}

