:root {
  /* Brand */
  --color-primary: #16233F;
  --color-primary-dark: #0D1526;
  --color-accent: #2E8FD6;
  --color-accent-hover: #2478B8;
  --color-accent-secondary: #1F8A5F;
  --color-gold: #C9922A;

  --module-accent: var(--color-accent);
  --module-accent-hover: var(--color-accent-hover);

  /* Surfaces — gris-azulado vivo para contraste sin cajas */
  --color-bg: #EEF2F7;
  --color-surface: #FFFFFF;
  --color-surface-hover: #F5F8FC;
  --color-surface-muted: #F3F6FA;
  --color-input-bg: #F7F9FC;

  /* Text */
  --color-text: #171A23;
  --color-text-muted: #5B6472;
  --color-text-inverse: #FFFFFF;

  /* Borders & core states */
  --color-border: #DCE2EB;
  --color-border-strong: #C5CAD4;
  --color-success: #1A9A68;
  --color-success-soft: rgba(26, 154, 104, 0.14);
  --color-warning: #D4951A;
  --color-warning-soft: rgba(212, 149, 26, 0.16);
  --color-danger: #D6453D;
  --color-danger-soft: rgba(214, 69, 61, 0.14);
  --color-info: #2E8FD6;
  --color-info-soft: rgba(46, 143, 214, 0.14);
  --color-focus-ring: rgba(46, 143, 214, 0.22);
  --color-overlay: rgba(13, 21, 38, 0.5);

  /* Semantic roles (terceros / CRM) */
  --color-cliente: #2E8FD6;
  --color-cliente-soft: rgba(46, 143, 214, 0.14);
  --color-proveedor: #C45C26;
  --color-proveedor-soft: rgba(196, 92, 38, 0.14);
  --color-ambos: #6B5CA5;
  --color-ambos-soft: rgba(107, 92, 165, 0.14);
  --color-prospecto: #2FA6A0;
  --color-prospecto-soft: rgba(47, 166, 160, 0.14);
  --color-pipeline: #7C6AF0;
  --color-pipeline-soft: rgba(124, 106, 240, 0.14);
  --color-negociacion: #C9922A;
  --color-negociacion-soft: rgba(201, 146, 42, 0.16);
  --color-gold-soft: rgba(201, 146, 42, 0.16);

  /* Mora scale */
  --color-mora-1: #D4951A;
  --color-mora-1-soft: rgba(212, 149, 26, 0.16);
  --color-mora-2: #E07856;
  --color-mora-2-soft: rgba(224, 120, 86, 0.16);
  --color-mora-3: #D6453D;
  --color-mora-3-soft: rgba(214, 69, 61, 0.16);

  /* Kanban / pipeline stages */
  --stage-neutral: #5B6472;
  --stage-neutral-tint: #EEF0F4;
  --stage-neutral-soft: rgba(91, 100, 114, 0.1);
  --stage-info: #2E8FD6;
  --stage-info-tint: #E6F2FB;
  --stage-info-soft: rgba(46, 143, 214, 0.12);
  --stage-pipeline: #7C6AF0;
  --stage-pipeline-tint: #EEEBFC;
  --stage-pipeline-soft: rgba(124, 106, 240, 0.12);
  --stage-negociacion: #C9922A;
  --stage-negociacion-tint: #FBF3E4;
  --stage-negociacion-soft: rgba(201, 146, 42, 0.14);
  --stage-success: #1A9A68;
  --stage-success-tint: #E6F6EF;
  --stage-success-soft: rgba(26, 154, 104, 0.12);
  --stage-danger: #D6453D;
  --stage-danger-tint: #FBEDED;
  --stage-danger-soft: rgba(214, 69, 61, 0.12);

  /* Company chip palette (rotating) */
  --company-color-0: #E07856;
  --company-color-1: #6B5CA5;
  --company-color-2: #2FA6A0;
  --company-color-3: #D1A23E;
  --company-color-4: #5B7FA6;
  --company-color-5: #B0577A;

  /* Chart palette */
  --chart-accent: #2E8FD6;
  --chart-success: #1A9A68;
  --chart-warning: #D4951A;
  --chart-danger: #D6453D;
  --chart-violet: #7C6AF0;
  --chart-teal: #2FA6A0;
  --chart-coral: #E07856;
  --chart-indigo: #5B7FA6;

  /* Typography */
  --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-ui: "Inter", system-ui, -apple-system, sans-serif;

  /* Layout */
  --sidebar-width: 272px;
  --sidebar-collapsed: 76px;
  --topbar-height: 72px;
  --grid: 8px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-modal: var(--radius-lg);
  --shadow-sm: 0 1px 2px rgba(22, 35, 63, 0.06);
  --shadow-md: 0 4px 12px rgba(22, 35, 63, 0.08);
  --shadow-lg: 0 12px 32px rgba(22, 35, 63, 0.14);
  --shadow-modal: 0 8px 24px rgba(22, 35, 63, 0.12), 0 2px 6px rgba(22, 35, 63, 0.06);

  /* Sidebar — azul suave, contraste con el contenido (#EEF2F7) */
  --sidebar-bg: #C9DFF2;
  --sidebar-surface: rgba(255, 255, 255, 0.72);
  --sidebar-text: #14304F;
  --sidebar-muted: #4A6F91;
  --sidebar-icon: #2E5F8A;
  --sidebar-border: rgba(30, 74, 120, 0.14);
  --sidebar-active-bg: #FFFFFF;
  --sidebar-active-text: #1A6BB8;
  --sidebar-hover-bg: rgba(255, 255, 255, 0.45);
  --sidebar-tree: rgba(30, 74, 120, 0.22);

  /* Motion */
  --transition-fast: 150ms ease;
  --transition-base: 220ms ease;
  --z-sidebar: 100;
  --z-topbar: 90;
  --z-dropdown: 200;
  --z-modal: 300;
  --z-toast: 400;
}

body {
  --module-accent-soft: color-mix(in srgb, var(--module-accent) 12%, transparent);
  --module-accent-shadow: color-mix(in srgb, var(--module-accent) 28%, transparent);
}

body[data-module-theme="dashboard"] {
  --module-accent: #2E8FD6;
  --module-accent-hover: #2478B8;
}

body[data-module-theme="terceros"] {
  --module-accent: #2FA6A0;
  --module-accent-hover: #258F8A;
}

body[data-module-theme="comercial"] {
  --module-accent: #E07856;
  --module-accent-hover: #C96545;
}

body[data-module-theme="compras"] {
  --module-accent: #C9922A;
  --module-accent-hover: #A87820;
}

body[data-module-theme="finanzas"] {
  --module-accent: #1A9A68;
  --module-accent-hover: #158557;
}

body[data-module-theme="inventario"] {
  --module-accent: #5B7FA6;
  --module-accent-hover: #4A6A8C;
}

body[data-module-theme="personas"] {
  --module-accent: #7C6AF0;
  --module-accent-hover: #6554D9;
}

body[data-module-theme="proyectos"] {
  --module-accent: #B0577A;
  --module-accent-hover: #944864;
}

body[data-module-theme="ia"] {
  --module-accent: #6B5CE7;
  --module-accent-hover: #5749C9;
}

body[data-module-theme="cuenta"] {
  --module-accent: #C9922A;
  --module-accent-hover: #A87820;
}

body[data-module-theme="superadmin"] {
  --module-accent: #3D5A80;
  --module-accent-hover: #2F4866;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0ms;
    --transition-base: 0ms;
  }
}
