/* ===========================================
   Seanet Infotec — Design Tokens v2
   =========================================== */

:root {
  /* ---- Brand ---- */
  --color-primary: #0033A0;
  --color-primary-light: #1A53CC;
  --color-primary-dark: #002266;
  --color-accent: #0055FF;
  --color-accent-glow: rgba(0, 85, 255, 0.3);
  --color-accent-subtle: rgba(0, 85, 255, 0.08);

  /* ---- Surfaces ---- */
  --color-bg: #060910;
  --color-bg-elevated: #0C1018;
  --color-surface: #111620;
  --color-surface-hover: #1A2030;
  --color-surface-active: #222838;
  --color-border: #1E2536;
  --color-border-light: #2A3348;

  /* ---- Text ---- */
  --color-text-primary: #F0F2F5;
  --color-text-secondary: #8B95A8;
  --color-text-muted: #5A6478;
  --color-text-inverse: #060910;

  /* ---- Status ---- */
  --color-success: #10B981;
  --color-warning: #F59E0B;
  --color-error: #EF4444;
  --color-info: #3B82F6;

  /* ---- Domain Colors (for service grouping) ---- */
  --domain-quantum: #8B5CF6;
  --domain-web: #3B82F6;
  --domain-cloud: #06B6D4;
  --domain-telco: #10B981;
  --domain-security: #EF4444;
  --domain-design: #F59E0B;
  --domain-business: #EC4899;
  --domain-advisory: #6366F1;

  /* ---- Glassmorphism ---- */
  --glass-bg: rgba(17, 22, 32, 0.6);
  --glass-border: rgba(255, 255, 255, 0.06);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  --glass-blur: 20px;

  /* ---- Typography ---- */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.25rem;
  --text-h5: 1.5rem;
  --text-h4: 1.75rem;
  --text-h3: 2rem;
  --text-h2: 2.75rem;
  --text-h1: 3.5rem;
  --text-hero: clamp(2.5rem, 6vw, 5rem);

  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  --leading-tight: 1.2;
  --leading-snug: 1.35;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.08em;

  /* ---- Spacing ---- */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;

  /* ---- Layout ---- */
  --container-max: 1200px;
  --container-narrow: 800px;
  --header-height: 72px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-full: 9999px;

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
  --duration-slower: 600ms;

  /* ---- Shadows ---- */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 16px 64px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 0 40px var(--color-accent-glow);

  /* ---- Z-index ---- */
  --z-base: 1;
  --z-card: 10;
  --z-sticky: 100;
  --z-header: 1000;
  --z-overlay: 2000;
  --z-modal: 3000;
  --z-toast: 4000;
}

/* ===========================================
   Theme System — Light default, Dark optional
   =========================================== */
:root,
:root[data-theme="light"] {
  color-scheme: light;
  --color-primary: #0033A0;
  --color-primary-light: #1A53CC;
  --color-primary-dark: #002266;
  --color-accent: #0055FF;
  --color-accent-glow: rgba(0, 85, 255, 0.18);
  --color-accent-subtle: rgba(0, 85, 255, 0.08);

  --color-bg: #F6F8FC;
  --color-bg-elevated: #FFFFFF;
  --color-surface: #FFFFFF;
  --color-surface-hover: #F0F5FF;
  --color-surface-active: #E8F0FF;
  --color-border: #DDE5F2;
  --color-border-light: #C8D5EA;

  --color-text-primary: #111827;
  --color-text-secondary: #526174;
  --color-text-muted: #7A8797;
  --color-text-inverse: #FFFFFF;

  --glass-bg: rgba(255, 255, 255, 0.78);
  --glass-border: rgba(17, 24, 39, 0.08);
  --glass-shadow: 0 18px 60px rgba(30, 48, 80, 0.12);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --color-primary: #0033A0;
  --color-primary-light: #1A53CC;
  --color-primary-dark: #002266;
  --color-accent: #0055FF;
  --color-accent-glow: rgba(0, 85, 255, 0.3);
  --color-accent-subtle: rgba(0, 85, 255, 0.08);

  --color-bg: #060910;
  --color-bg-elevated: #0C1018;
  --color-surface: #111620;
  --color-surface-hover: #1A2030;
  --color-surface-active: #222838;
  --color-border: #1E2536;
  --color-border-light: #2A3348;

  --color-text-primary: #F0F2F5;
  --color-text-secondary: #8B95A8;
  --color-text-muted: #5A6478;
  --color-text-inverse: #060910;

  --glass-bg: rgba(17, 22, 32, 0.6);
  --glass-border: rgba(255, 255, 255, 0.06);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
