/* ============================================
   Design Tokens — Zulunity Proposal
   Cliente: Ludwig Franz
   ============================================ */

:root {
  /* --- Zulunity Brand --- */
  --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 modulos) --- */
  --mod-diseno-bg: #E3F2FD;
  --mod-diseno-border: #1565C0;
  --mod-diseno-text: #0D47A1;

  --mod-frontend-bg: #E8EAF6;
  --mod-frontend-border: #283593;
  --mod-frontend-text: #1A237E;

  --mod-catalogo-bg: #FFF8E1;
  --mod-catalogo-border: #F9A825;
  --mod-catalogo-text: #E65100;

  --mod-seo-bg: #F3E5F5;
  --mod-seo-border: #7B1FA2;
  --mod-seo-text: #4A148C;

  --mod-dns-bg: #E0F2F1;
  --mod-dns-border: #00897B;
  --mod-dns-text: #004D40;

  --mod-correo-bg: #FBE9E7;
  --mod-correo-border: #E64A19;
  --mod-correo-text: #BF360C;

  /* --- Phase Colors (5 fases) --- */
  --phase-1: #455A64;
  --phase-2: #1565C0;
  --phase-3: #F9A825;
  --phase-4: #7B1FA2;
  --phase-5: #009A6A;

  /* --- Typography --- */
  --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 --- */
  --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 --- */
  --sidebar-width: 260px;
  --content-max: 860px;
  --page-padding: 2rem;

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

  /* --- Shadows --- */
  --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 --- */
  --ease-default: 200ms ease;
}

.gantt-bar--phase1 { background: var(--phase-1); }
.gantt-bar--phase2 { background: var(--phase-2); }
.gantt-bar--phase3 { background: var(--phase-3); color: var(--dark-text); }
.gantt-bar--phase4 { background: var(--phase-4); }
.gantt-bar--phase5 { background: var(--phase-5); }

.module-card--diseno { background: var(--mod-diseno-bg); border-left-color: var(--mod-diseno-border); }
.module-card--diseno .module-card__title { color: var(--mod-diseno-text); }
.module-card--frontend { background: var(--mod-frontend-bg); border-left-color: var(--mod-frontend-border); }
.module-card--frontend .module-card__title { color: var(--mod-frontend-text); }
.module-card--catalogo { background: var(--mod-catalogo-bg); border-left-color: var(--mod-catalogo-border); }
.module-card--catalogo .module-card__title { color: var(--mod-catalogo-text); }
.module-card--seo { background: var(--mod-seo-bg); border-left-color: var(--mod-seo-border); }
.module-card--seo .module-card__title { color: var(--mod-seo-text); }
.module-card--dns { background: var(--mod-dns-bg); border-left-color: var(--mod-dns-border); }
.module-card--dns .module-card__title { color: var(--mod-dns-text); }
.module-card--correo { background: var(--mod-correo-bg); border-left-color: var(--mod-correo-border); }
.module-card--correo .module-card__title { color: var(--mod-correo-text); }
