/* tokens.css - Halvest Design System Tokens */
:root {
  /* Brand Primitives */
  --hv-brand-navy: #192851;
  --hv-brand-purple: #6935de;
  --hv-brand-teal: #31d3c6;

  /* Product UI Layers */
  --hv-product-navy: #131e3d;
  --hv-product-purple: #6935d3;
  --hv-white: #ffffff;
  --hv-bg: #f9fafa;
  --hv-surface: var(--hv-white);
  --hv-text: var(--hv-product-navy);
  --hv-text-secondary: #6d6e73;
  --hv-line-soft: #f2f2f7;
  --hv-control-border: #757b8d;
  --hv-neutral-tint: #f0f0f5;
  --hv-purple-tint: #f1edfb;
  --hv-purple-tint-alt: #f2ebff;

  /* Interactive States */
  --hv-action: var(--hv-product-purple);
  --hv-action-hover: #5828bd;
  --hv-action-pressed: #49209e;

  /* Semantic Feedback */
  --hv-success: #166534;
  --hv-success-bg: #e4ffc2;
  --hv-warning: #92400e;
  --hv-warning-bg: #fff3d6;
  --hv-danger: #b42318;
  --hv-danger-bg: #feecec;
  --hv-info: var(--hv-brand-navy);
  --hv-info-bg: #e3ecff;
  --hv-overlay: rgba(19, 30, 61, 0.40);

  /* Typography Fallback Stack */
  --hv-font: 'Aeonik', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Spacing Scale (Normalized) */
  --hv-space-1: 0.25rem;    /* 4px */
  --hv-space-1-5: 0.375rem; /* 6px */
  --hv-space-2: 0.5rem;     /* 8px */
  --hv-space-3: 0.75rem;    /* 12px */
  --hv-space-4: 1rem;       /* 16px */
  --hv-space-5: 1.25rem;    /* 20px */
  --hv-space-6: 1.5rem;     /* 24px */
  --hv-space-8: 2rem;       /* 32px */
  --hv-space-10: 2.5rem;    /* 40px */
  --hv-space-12: 3rem;      /* 48px */
  --hv-space-16: 4rem;      /* 64px */
  --hv-space-24: 6rem;      /* 96px */

  /* Border Radii */
  --hv-radius-sm: 0.5rem;   /* 8px */
  --hv-radius-menu: 0.625rem; /* 10px */
  --hv-radius-card: 0.75rem;  /* 12px */
  --hv-radius-lg: 0.875rem;   /* 14px */
  --hv-radius-pill: 9999px;

  /* Elevation Shadows */
  --hv-shadow-button: 0 3px 6px rgba(105, 53, 211, 0.18);
  --hv-shadow-field: 0 3px 14px rgba(242, 242, 247, 0.5);
  --hv-shadow-card: 0 10px 14px rgba(242, 242, 247, 0.5);
  --hv-shadow-overlay: 0 16px 48px rgba(19, 30, 61, 0.16);
  --hv-content-max: 104rem; /* 1664px */

  /* Motion */
  --hv-motion-fast: 120ms;
  --hv-motion-base: 180ms;
  --hv-motion-slow: 240ms;
  --hv-ease: cubic-bezier(0.2, 0.8, 0.2, 1);

  /* Z-Index */
  --hv-z-sticky: 20;
  --hv-z-menu: 40;
  --hv-z-overlay: 80;
  --hv-z-dialog: 90;
  --hv-z-toast: 100;

  /* Runtime Tailwind Variable Bridge */
  --color-primary: #6935d3;
  --color-primary-rgb: 105 53 211;
  --ring: var(--hv-action);
  --ring-soft: rgba(105, 53, 211, 0.25);
}

/* Dark Mode Tokens Extension */
html.dark, .dark {
  --hv-bg: #0b0e14;
  --hv-surface: #141922;
  --hv-text: #f1f5f9;
  --hv-text-secondary: #94a3b8;
  --hv-line-soft: rgba(255, 255, 255, 0.08);
  --hv-control-border: #334155;
  --hv-neutral-tint: #1b2230;
  --hv-purple-tint: rgba(105, 53, 211, 0.18);
  --hv-purple-tint-alt: rgba(105, 53, 211, 0.25);
  --hv-shadow-card: 0 10px 24px rgba(0, 0, 0, 0.4);
  --hv-shadow-overlay: 0 24px 60px rgba(0, 0, 0, 0.7);
}
