/* ============================================
   PSG — Social Media Monitoring System
   Design Tokens — Zulunity Proposal
   ============================================ */

:root {
  /* --- Zulunity Brand (fixed) --- */
  --green-primary: #009A6A;
  --green-dark: #007A54;
  --green-medium: #60C6A4;
  --green-light: #D9F7EB;
  --green-very-light: #EEFFF7;
  --dark-text: #040816;
  --white: #FFFFFF;
  --gray-100: #F7F8FA;
  --gray-200: #E8ECF1;
  --gray-300: #CDD5DF;
  --gray-500: #6B7A90;
  --gray-700: #3D4A5C;

  /* --- Module Colors (6 modules) --- */
  /* 1. Scan Engine */
  --mod-scan-bg: #E3F2FD;
  --mod-scan-border: #1565C0;
  --mod-scan-text: #0D47A1;

  /* 2. Claude Skill */
  --mod-skill-bg: #F3E5F5;
  --mod-skill-border: #7B1FA2;
  --mod-skill-text: #4A148C;

  /* 3. Notion Storage */
  --mod-notion-bg: #FFF8E1;
  --mod-notion-border: #F9A825;
  --mod-notion-text: #E65100;

  /* 4. Notification Engine */
  --mod-notif-bg: #E0F2F1;
  --mod-notif-border: #00897B;
  --mod-notif-text: #004D40;

  /* 5. Orchestrator */
  --mod-orch-bg: #FBE9E7;
  --mod-orch-border: #E64A19;
  --mod-orch-text: #BF360C;

  /* 6. CI/CD & Infra */
  --mod-cicd-bg: #E8EAF6;
  --mod-cicd-border: #283593;
  --mod-cicd-text: #1A237E;

  /* --- Layer Colors (architecture diagram — 3 layers) --- */
  --layer-orchestration: #FBE9E7;
  --layer-orchestration-border: #E64A19;
  --layer-application: #E3F2FD;
  --layer-application-border: #1565C0;
  --layer-infra: #E8EAF6;
  --layer-infra-border: #283593;

  /* --- State Machine Colors (Circuit Breaker) --- */
  --state-closed: #E8F5E9;
  --state-closed-border: #2E7D32;
  --state-open: #FFCDD2;
  --state-open-border: #C62828;
  --state-halfopen: #FFE0B2;
  --state-halfopen-border: #E65100;

  /* --- State Machine generic --- */
  --state-error: #FFCDD2;
  --state-error-border: #C62828;
  --state-retry: #FFE0B2;
  --state-retry-border: #E65100;

  /* --- Contract Type Colors --- */
  --type-string: #1565C0;
  --type-object: #7B1FA2;
  --type-enum: #E65100;
  --type-int: #2E7D32;
  --type-array: #00838F;
  --type-float: #E64A19;

  /* --- Phase Colors (Gantt — 3 phases) --- */
  --phase-1: #455A64;
  --phase-2: #1565C0;
  --phase-3: #F9A825;

  /* --- Typography (fixed) --- */
  --font-heading: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  --font-body: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.5rem;
  --text-5xl: 3.5rem;

  --leading-tight: 1.25;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* --- Spacing (fixed) --- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* --- Layout (fixed) --- */
  --sidebar-width: 260px;
  --content-max: 860px;
  --page-padding: 2rem;

  /* --- Borders (fixed) --- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* --- Shadows (fixed) --- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);

  /* --- Transitions (fixed) --- */
  --ease-default: 200ms ease;
}
