/**
 * QS Tools Hub - Global CSS Variables
 * All QS Tools plugins should use these variables for consistency
 * Version: 1.0.0
 */

:root {
    /* ========================================
       COLOR SYSTEM
       ======================================== */
    
    /* Primary Colors */
    --qs-primary: #1a73e8;
    --qs-primary-dark: #1557b0;
    --qs-primary-light: #4a8fff;
    --qs-primary-lighter: #e8f1ff;
    
    /* Secondary Colors */
    --qs-secondary: #5f6368;
    --qs-secondary-dark: #3c4043;
    --qs-secondary-light: #9aa0a6;
    
    /* Semantic Colors */
    --qs-success: #0b8d5d;
    --qs-success-light: #d4edda;
    --qs-warning: #e6a700;
    --qs-warning-light: #fff3cd;
    --qs-error: #b3261e;
    --qs-error-light: #f8d7da;
    --qs-info: #1976d2;
    --qs-info-light: #e3f2fd;
    
    /* Neutral Colors */
    --qs-white: #ffffff;
    --qs-black: #000000;
    --qs-gray-50: #f8f9fa;
    --qs-gray-100: #f1f3f4;
    --qs-gray-200: #e8eaed;
    --qs-gray-300: #dadce0;
    --qs-gray-400: #bdc1c6;
    --qs-gray-500: #9aa0a6;
    --qs-gray-600: #80868b;
    --qs-gray-700: #5f6368;
    --qs-gray-800: #3c4043;
    --qs-gray-900: #202124;
    
    /* Text Colors */
    --qs-text-primary: #202124;
    --qs-text-secondary: #5f6368;
    --qs-text-disabled: #9aa0a6;
    --qs-text-inverse: #ffffff;
    
    /* Background Colors */
    --qs-bg-primary: #ffffff;
    --qs-bg-secondary: #f8f9fa;
    --qs-bg-tertiary: #f1f3f4;
    --qs-bg-dark: #202124;
    
    /* Border Colors */
    --qs-border-light: #e8eaed;
    --qs-border-medium: #dadce0;
    --qs-border-dark: #bdc1c6;
    
    /* ========================================
       TYPOGRAPHY
       ======================================== */
    
    /* Font Families */
    --qs-font-primary: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --qs-font-mono: 'Courier New', Courier, monospace;
    
    /* Font Sizes */
    --qs-font-xs: 0.75rem;      /* 12px */
    --qs-font-sm: 0.875rem;     /* 14px */
    --qs-font-base: 1rem;       /* 16px */
    --qs-font-lg: 1.125rem;     /* 18px */
    --qs-font-xl: 1.25rem;      /* 20px */
    --qs-font-2xl: 1.5rem;      /* 24px */
    --qs-font-3xl: 1.875rem;    /* 30px */
    --qs-font-4xl: 2.25rem;     /* 36px */
    
    /* Font Weights */
    --qs-weight-light: 300;
    --qs-weight-normal: 400;
    --qs-weight-medium: 500;
    --qs-weight-semibold: 600;
    --qs-weight-bold: 700;
    
    /* Line Heights */
    --qs-leading-tight: 1.25;
    --qs-leading-normal: 1.5;
    --qs-leading-relaxed: 1.75;
    
    /* ========================================
       SPACING
       ======================================== */
    
    --qs-space-xs: 0.25rem;     /* 4px */
    --qs-space-sm: 0.5rem;      /* 8px */
    --qs-space-md: 1rem;        /* 16px */
    --qs-space-lg: 1.5rem;      /* 24px */
    --qs-space-xl: 2rem;        /* 32px */
    --qs-space-2xl: 3rem;       /* 48px */
    --qs-space-3xl: 4rem;       /* 64px */
    
    /* ========================================
       BORDERS & RADIUS
       ======================================== */
    
    /* Border Radius */
    --qs-radius-sm: 4px;
    --qs-radius-md: 8px;
    --qs-radius-lg: 12px;
    --qs-radius-xl: 16px;
    --qs-radius-full: 9999px;
    
    /* Border Width */
    --qs-border-width: 1px;
    --qs-border-width-thick: 2px;
    
    /* ========================================
       SHADOWS
       ======================================== */
    
    --qs-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --qs-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --qs-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
    --qs-shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.12);
    --qs-shadow-xl: 0 8px 32px rgba(0, 0, 0, 0.15);
    
    /* ========================================
       TRANSITIONS
       ======================================== */
    
    --qs-transition-fast: 150ms ease;
    --qs-transition-base: 300ms ease;
    --qs-transition-slow: 500ms ease;
    
    /* ========================================
       Z-INDEX LAYERS
       ======================================== */
    
    --qs-z-base: 0;
    --qs-z-dropdown: 1000;
    --qs-z-sticky: 1020;
    --qs-z-fixed: 1030;
    --qs-z-modal-backdrop: 1040;
    --qs-z-modal: 1050;
    --qs-z-popover: 1060;
    --qs-z-tooltip: 1070;
    
    /* ========================================
       COMPONENT SPECIFIC
       ======================================== */
    
    /* Buttons */
    --qs-btn-padding-x: 1rem;
    --qs-btn-padding-y: 0.625rem;
    --qs-btn-font-size: var(--qs-font-sm);
    --qs-btn-border-radius: var(--qs-radius-full);
    
    /* Cards */
    --qs-card-padding: 1.25rem;
    --qs-card-border-radius: var(--qs-radius-md);
    --qs-card-shadow: var(--qs-shadow-md);
    
    /* Forms */
    --qs-input-padding-x: 0.75rem;
    --qs-input-padding-y: 0.625rem;
    --qs-input-border-radius: var(--qs-radius-md);
    --qs-input-border-color: var(--qs-border-medium);
    --qs-input-focus-border: var(--qs-primary);
}

/* ========================================
   DARK MODE SUPPORT (Optional)
   ======================================== */

@media (prefers-color-scheme: dark) {
    :root {
        --qs-text-primary: #e8eaed;
        --qs-text-secondary: #9aa0a6;
        --qs-text-disabled: #5f6368;
        
        --qs-bg-primary: #202124;
        --qs-bg-secondary: #292a2d;
        --qs-bg-tertiary: #35363a;
        
        --qs-border-light: #3c4043;
        --qs-border-medium: #5f6368;
        --qs-border-dark: #80868b;
    }
}

/* ========================================
   UTILITY CLASSES
   ======================================== */

.qs-text-primary { color: var(--qs-text-primary); }
.qs-text-secondary { color: var(--qs-text-secondary); }
.qs-text-success { color: var(--qs-success); }
.qs-text-warning { color: var(--qs-warning); }
.qs-text-error { color: var(--qs-error); }

.qs-bg-primary { background-color: var(--qs-bg-primary); }
.qs-bg-secondary { background-color: var(--qs-bg-secondary); }
.qs-bg-success { background-color: var(--qs-success-light); }
.qs-bg-warning { background-color: var(--qs-warning-light); }
.qs-bg-error { background-color: var(--qs-error-light); }

.qs-shadow-sm { box-shadow: var(--qs-shadow-sm); }
.qs-shadow-md { box-shadow: var(--qs-shadow-md); }
.qs-shadow-lg { box-shadow: var(--qs-shadow-lg); }

.qs-rounded-sm { border-radius: var(--qs-radius-sm); }
.qs-rounded-md { border-radius: var(--qs-radius-md); }
.qs-rounded-lg { border-radius: var(--qs-radius-lg); }
.qs-rounded-full { border-radius: var(--qs-radius-full); }
