/*****************************************************
 * CSS VARIABLES - DESIGN TOKENS
 * All colors, spacing, typography in one place
 *****************************************************/

:root {
  /* ===== COLORS ===== */
  
  /* Brand Colors - Scientific Blue */
  --color-primary: #0066cc;
  --color-primary-dark: #004c99;
  --color-primary-darker: #003366;
  --color-primary-light: #3385d6;
  --color-secondary:#D68433;
  
  /* Neutrals - Cooler, more professional */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-50: #f8f9fa;
  --color-gray-100: #e9ecef;
  --color-gray-200: #dee2e6;
  --color-gray-300: #ced4da;
  --color-gray-400: #adb5bd;
  --color-gray-500: #6c757d;
  --color-gray-600: #495057;
  --color-gray-700: #343a40;
  --color-gray-800: #212529;
  --color-gray-900: #0d1117;
  
  /* Semantic Colors */
  --color-success: #28a745;
  --color-warning: #ffc107;
  --color-error: #dc3545;
  --color-info: #17a2b8;
  
  /* Background Colors - More subtle */
  --bg-body: #f0f2f5;
  --bg-content: var(--color-white);
  --bg-sidebar: #f8f9fa;
  --bg-header: var(--color-primary);
  --bg-footer: var(--color-primary);
  
  /* Text Colors */
  --text-primary: #212529;
  --text-secondary: #495057;
  --text-muted: #6c757d;
  --text-on-primary: var(--color-white);
  --text-link: #0066cc;
  --text-link-hover: #004c99;
  
  /* Border Colors */
  --border-color: #dee2e6;
  --border-color-dark: #adb5bd;
  
  /* ===== SPACING ===== */
  --space-xs: 0.25rem;   /* 4px */
  --space-sm: 0.5rem;    /* 8px */
  --space-md: 0.75rem;   /* 12px - REDUCED from 16px */
  --space-lg: 1rem;      /* 16px - REDUCED from 24px */
  --space-xl: 1.5rem;    /* 24px - REDUCED from 32px */
  --space-2xl: 2rem;     /* 32px - REDUCED from 48px */
  --space-3xl: 3rem;     /* 48px - REDUCED from 64px */
  
  /* ===== TYPOGRAPHY ===== */
  
  /* Font Families */
  --font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
  
  /* Font Sizes */
  --text-xs: 0.75rem;    /* 12px */
  --text-sm: 0.875rem;   /* 14px */
  --text-base: 0.9375rem; /* 15px - slightly smaller */
  --text-lg: 1.0625rem;  /* 17px */
  --text-xl: 1.125rem;   /* 18px */
  --text-2xl: 1.375rem;  /* 22px */
  --text-3xl: 1.75rem;   /* 28px */
  --text-4xl: 2rem;      /* 32px */
  
  /* Font Weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  
  /* Line Heights */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;
  
  /* ===== LAYOUT ===== */
  
  /* Container Widths */
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1400px;    /* Increased from 1280px for better use of large screens */
  
  /* Header */
  --header-height-mobile: 75px;
  --header-height-tablet: 100px;
  --header-height-desktop: 150px;
  --header-logo-width: 140px;
  
  /* Sidebar */
  --sidebar-width: 20%;
  --sidebar-min-width: 200px;
  
  /* ===== EFFECTS ===== */
  
  /* Shadows - More subtle */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-xl: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  
  /* Border Radius - More subtle */
  --radius-sm: 0.25rem;  /* 4px */
  --radius-md: 0.375rem; /* 6px */
  --radius-lg: 0.5rem;   /* 8px */
  --radius-xl: 0.75rem;  /* 12px */
  --radius-full: 9999px;
  
  /* Transitions */
  --transition-fast: 150ms ease-in-out;
  --transition-base: 200ms ease-in-out;
  --transition-slow: 300ms ease-in-out;
  
  /* ===== Z-INDEX LAYERS ===== */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}

/* ===== BREAKPOINTS ===== */
/* Use these in media queries:
   Mobile:  up to 767px (default, mobile-first)
   Tablet:  768px - 1024px
   Desktop: 1025px+
*/