/**
 * Design Tokens - Mobile-first POS + Inventory App
 * All color, spacing, typography, and radius tokens
 */

:root {
  /* Colors - Primary Palette */
  --color-lime-accent: #c0e863;
  --color-lime-hover: #b0d850;
  --color-lime-pressed: #a0c840;
  
  /* Colors - Neutrals */
  --color-black: #000000;
  --color-gray-900: #1a1a1a;
  --color-gray-800: #333333;
  --color-gray-600: #666666;
  --color-gray-400: #999999;
  --color-gray-300: #cccccc;
  --color-gray-200: #e5e5e5;
  --color-gray-100: #f5f5f5;
  --color-white: #ffffff;
  
  /* Colors - Semantic */
  --color-primary: var(--color-lime-accent);
  --color-text-primary: var(--color-black);
  --color-text-secondary: var(--color-gray-600);
  --color-text-muted: var(--color-gray-400);
  --color-background: var(--color-gray-100);
  --color-surface: var(--color-white);
  --color-border: var(--color-gray-300);
  --color-border-light: var(--color-gray-200);
  
  /* Colors - Status */
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  
  /* Spacing Scale (8px base) */
  --spacing-1: 8px;
  --spacing-2: 12px;
  --spacing-3: 16px;
  --spacing-4: 24px;
  --spacing-5: 32px;
  --spacing-6: 48px;
  
  /* Typography - Font Families */
  --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  
  /* Typography - Font Sizes */
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 32px;
  
  /* Typography - Line Heights */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* Typography - Font Weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  
  /* Border Width - Hairline support */
  --border-width-hairline: 1px;
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  
  /* Touch Targets */
  --touch-target-min: 44px;
  
  /* Z-Index Scale */
  --z-index-base: 1;
  --z-index-dropdown: 10;
  --z-index-sticky: 20;
  --z-index-modal: 30;
  --z-index-toast: 40;
  
  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 350ms ease;
}

/* Support for hairline borders on retina displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  :root {
    --border-width-hairline: 0.5px;
  }
}
