/* ==========================================================================
   SSPS CloudNex — Design Tokens
   Single source of truth for color, type, spacing, radius, shadow, motion.
   ========================================================================== */

:root {
  /* Color — brand */
  --color-primary: #2563eb;
  --color-primary-dark: #1d4ed8;
  --color-purple: #7c3aed;
  --color-cyan: #06b6d4;

  /* Color — surface */
  --color-bg: #ffffff;
  --color-bg-alt: #f8fafc;
  --color-dark: #0f172a;
  --color-dark-alt: #16213e;

  /* Color — text */
  --color-text: #0f172a;
  --color-text-muted: #475569;
  --color-text-faint: #94a3b8;
  --color-text-on-dark: #f1f5f9;
  --color-text-on-dark-muted: #94a3b8;

  /* Color — border */
  --color-border: #e2e8f0;
  --color-border-dark: rgba(255, 255, 255, 0.1);

  /* Gradients */
  --gradient-brand: linear-gradient(135deg, var(--color-primary) 0%, var(--color-purple) 100%);
  --gradient-brand-cyan: linear-gradient(135deg, var(--color-cyan) 0%, var(--color-primary) 100%);
  --gradient-mesh: radial-gradient(at 20% 20%, rgba(37, 99, 235, 0.25) 0px, transparent 50%),
    radial-gradient(at 80% 0%, rgba(124, 58, 237, 0.22) 0px, transparent 50%),
    radial-gradient(at 90% 80%, rgba(6, 182, 212, 0.18) 0px, transparent 50%);

  /* Typography */
  --font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.25rem;
  --fs-3xl: clamp(2rem, 1.6rem + 1.6vw, 2.75rem);
  --fs-hero: clamp(2.25rem, 1.6rem + 2.6vw, 3.375rem);

  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-normal: 1.6;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* Spacing scale */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 6.5rem;

  /* Layout */
  --container-max: 1240px;
  --container-pad: clamp(1.25rem, 4vw, 2.5rem);

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.08);
  --shadow-md: 0 8px 24px -8px rgba(15, 23, 42, 0.12);
  --shadow-lg: 0 24px 48px -16px rgba(15, 23, 42, 0.18);
  --shadow-glow: 0 0 0 1px rgba(37, 99, 235, 0.08), 0 16px 40px -12px rgba(37, 99, 235, 0.25);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 600ms;

  /* Z-index */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
}
