:root {
  /* Marca */
  --zk-cyan: #00D4FF;
  --zk-cyan-hover: #35ddff;
  --zk-navy: #0F1729;
  --zk-navy-mid: #1a2540;
  --zk-navy-light: #1e3a5f;
  /* Tinte de cian legible sobre blanco. daisyUI tiene un solo --p, así que el cian
     de marca sirve para fondos y bordes pero no para texto; este es el de texto.
     tailwind.config.js lo lee para theme.extend.textColor.primary. */
  --zk-cyan-text: #0891b2;
  /* Azul acero: chips de avatar, enlaces de la ficha, pills «Validando/Pendiente»
     y el hover del botón de login. NO es reemplazable por el cian de marca: sobre
     texto blanco da 5,3:1 de contraste y el cian da 1,9:1. */
  --zk-blue: #185FA5;
  --zk-blue-soft: rgba(24, 95, 165, 0.1);

  /* Texto */
  --zk-text-base: #2e3440;
  --zk-text-muted: #8aa0b6;
  --zk-text-sidebar: #cbd5e1;
  /* Texto secundario legible sobre blanco: las notas y el pie de los correos.
     --zk-text-muted da 2,7:1 sobre blanco y no sirve para texto chico; este da 4,8:1. */
  --zk-text-secondary: #64748b;

  /* Fondo y bordes */
  --zk-bg: #f8fafc;
  --zk-border: #e5e7eb;
  --zk-white: #ffffff;

  /* Estados */
  --zk-success: #16a34a;
  --zk-error: #dc2626;
  --zk-warning: #d97706;

  /* Estado de email: relleno de gráficos (donut de Inicio). Mismo orden que
     EMAIL_STATUS_ROWS (apps/dashboards/services.py). No sirven para texto: sobre
     blanco dan menos de 3:1. Las pills usan las clases -700 de _email_status_badge.html. */
  --zk-email-valid: #5BAE8E;
  --zk-email-invalid: #D9787C;
  --zk-email-risky: #E4B363;
  --zk-email-unknown: #CBD5E1;
}