/* ============================================================
   Genex Portal - Global Styles + Design Tokens
   ============================================================ */

:root {
  /* ---- Primary Purple ---- */
  --color-primary: #6C5CE7;
  --color-primary-light: #9B8FFF;
  --color-primary-dark: #4834D4;
  --color-primary-surface: #F3F1FF;
  --color-primary-container: #E8E5FF;

  /* ---- Neutral ---- */
  --color-gray-50: #F8F9FC;
  --color-gray-100: #F1F3F8;
  --color-gray-200: #E4E7F0;
  --color-gray-300: #CDD2DE;
  --color-gray-400: #A0A8BE;
  --color-gray-500: #7A839E;
  --color-gray-600: #5C6478;
  --color-gray-700: #3D4459;
  --color-gray-800: #262B3A;
  --color-gray-900: #141723;

  /* ---- Semantic ---- */
  --color-success: #00C48C;
  --color-warning: #FFAB2E;
  --color-error: #FF4757;
  --color-info: #3B82F6;

  /* ---- Background & Surface ---- */
  --color-bg: #F8F9FC;
  --color-surface: #FFFFFF;

  /* ---- Text ---- */
  --color-text-primary: #141723;
  --color-text-secondary: #5C6478;
  --color-text-tertiary: #A0A8BE;
  --color-text-on-primary: #FFFFFF;

  /* ---- Border ---- */
  --color-border: #E4E7F0;
  --color-border-light: #F1F3F8;

  /* ---- Typography ---- */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans SC', sans-serif;
  --font-family-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* ---- Spacing ---- */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 20px;
  --space-2xl: 24px;
  --space-3xl: 32px;
  --space-4xl: 40px;

  /* ---- Radius ---- */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-full: 999px;

  /* ---- Shadow ---- */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.08);
  --shadow-primary: 0 4px 16px rgba(108, 92, 231, 0.2);

  /* ---- Layout ---- */
  --header-height: 72px;
  --max-width: 1200px;
}

/* ---- Reset ---- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-family);
  color: var(--color-text-primary);
  background: var(--color-surface);
  line-height: 1.6;
}

a {
  color: inherit;
  text-decoration: none;
}

img, svg {
  display: block;
  max-width: 100%;
}

button {
  font-family: inherit;
  cursor: pointer;
}

/* ---- Utility ---- */
.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

@media (max-width: 768px) {
  .container {
    padding: 0 16px;
  }
}

/* ---- Scrollbar ---- */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-thumb {
  background: var(--color-gray-300);
  border-radius: 3px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
