/**
 * Coatequitl Design System — tokens normativos (7.2.2 / P3)
 * Colores: NOM-003-SEGOB-2011 (protección civil), NOM-034/SEDATU (servicios),
 * severidad ISO 22324. Uso: var(--ctq-<token>) en cualquier vista del front.
 */
:root {
  /* Normativos de emergencia (NOM-003) */
  --ctq-refugio: #00a651;        /* verde: evacuación/refugios */
  --ctq-peligro: #d32f2f;        /* rojo: incendio/peligro */
  --ctq-advertencia: #f9a825;    /* amarillo: advertencia */
  --ctq-obligacion: #005eb8;     /* azul: obligación/servicios (sRGB aprox.) */

  /* Severidad ISO 22324 (reportes Moloch) */
  --ctq-sev-critico: #b71c1c;
  --ctq-sev-alto: #e65100;
  --ctq-sev-medio: #f9a825;
  --ctq-sev-bajo: #1565c0;
  --ctq-sev-informativo: #2e7d32;

  /* Marca táctica */
  --ctq-cyan: #00e5ff;
  --ctq-fondo-oscuro: #0a0f14;
  --ctq-panel: rgba(10, 15, 20, 0.92);

  /* Tipografía */
  --ctq-font-datos: "Cascadia Code", "JetBrains Mono", Consolas, monospace;
  --ctq-font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Espaciado y radios */
  --ctq-gap-1: 4px; --ctq-gap-2: 8px; --ctq-gap-3: 16px; --ctq-gap-4: 24px;
  --ctq-radio: 10px;
  --ctq-borde: 1px solid rgba(255, 255, 255, 0.12);
}

/* Aplicación opcional para superficies ciudadanas (modo claro) */
.ctq-ds { font-family: var(--ctq-font-ui); }
.ctq-ds .ctq-badge-normativa { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: .65rem; font-weight: 600; }
.ctq-ds .ctq-refugio { background: var(--ctq-refugio); color: #fff; }
.ctq-ds .ctq-servicio { background: var(--ctq-obligacion); color: #fff; }
.ctq-ds .ctq-peligro { background: var(--ctq-peligro); color: #fff; }

/* ── a11y 7.2.63 (barrido impeccable 2026-10-05): foco visible + movimiento reducido ── */
:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
