/* Normo — Color tokens. Fuente de verdad: Brandbook BB-001 v1.1 (canon).
   Cuatro colores cerrados. El color es un recurso escaso, con función.
   Sin gradientes, sin glows, sin colores fuera de esta paleta. */
:root {
  /* Paleta de sistema (canon) — equivalentes RAL D2 para producción */
  --normo-negro: #1A1A1A;    /* Negro estructural · RAL D2 000 10 00 */
  --normo-blanco: #FAF9F6;   /* Blanco técnico   · RAL D2 085 90 10 */
  --normo-verde: #0E8A52;    /* Verde sistema    · RAL D2 150 50 50 */
  --normo-amarillo: #F2DC00; /* Amarillo señal   · RAL D2 095 90 90 — ~5% de superficie */

  /* Derivados de opacidad sobre negro. Es la única forma de generar grises:
     no hay una escala de grises propia en la paleta. */
  --normo-negro-80: rgba(26, 26, 26, 0.80);
  --normo-negro-55: rgba(26, 26, 26, 0.55);
  --normo-negro-35: rgba(26, 26, 26, 0.35);
  --normo-negro-14: rgba(26, 26, 26, 0.14);
  --normo-negro-07: rgba(26, 26, 26, 0.07);
  --normo-negro-035: rgba(26, 26, 26, 0.035);

  /* Líneas y rejilla — el registro blueprint se dibuja con líneas, no con sombras */
  --normo-linea: rgba(26, 26, 26, 0.16);
  --normo-linea-fina: rgba(26, 26, 26, 0.09);
  --normo-rejilla: rgba(26, 26, 26, 0.07);
  --normo-cota: rgba(26, 26, 26, 0.35);

  /* Roles de superficie y texto */
  --normo-fondo: #FAF9F6;
  --normo-superficie: #FAF9F6;
  --normo-superficie-alt: #F2F1ED;
  --normo-superficie-oscura: #1A1A1A;
  --normo-texto: #1A1A1A;
  --normo-texto-medio: rgba(26, 26, 26, 0.80);
  --normo-texto-suave: rgba(26, 26, 26, 0.55);
  --normo-texto-tenue: rgba(26, 26, 26, 0.35);
  --normo-texto-inverso: #FAF9F6;

  /* Acentos funcionales */
  --normo-enlace: #0B6E42;   /* verde oscurecido: AA en texto pequeño (5.7:1) */
  --normo-activo: #0E8A52;   /* verde sistema para marcas, fills y estados */
  --normo-senal: #F2DC00;

  /* Pares de contraste verificados */
  --normo-sobre-verde: #FAF9F6;   /* AA solo desde 18px / 14px Medium */
  --normo-sobre-amarillo: #1A1A1A; /* el amarillo NUNCA admite texto claro */
  --normo-sobre-negro: #FAF9F6;

  /* Tintes — el único recurso de fondo teñido, siempre por opacidad */
  --normo-verde-bg: rgba(14, 138, 82, 0.10);
  --normo-verde-fg: #0B6E42;
  --normo-amarillo-bg: rgba(242, 220, 0, 0.18);
  --normo-amarillo-fg: #1A1A1A;

  /* Estado — extensión funcional de interfaz, no de marca.
     La paleta de marca no tiene rojo; este es un color de UI, nunca de comunicación. */
  --normo-ok: #0E8A52;
  --normo-aviso: #F2DC00;
  --normo-error: #A8412F;
  --normo-error-bg: rgba(168, 65, 47, 0.10);
  --normo-error-fg: #A8412F;
  --normo-neutro: rgba(26, 26, 26, 0.55);

  /* Estados de locker */
  --normo-locker-libre: #0E8A52;
  --normo-locker-ocupado: rgba(26, 26, 26, 0.14);
  --normo-locker-reservado: #F2DC00;
  --normo-locker-incidencia: #A8412F;

  /* Data-viz — se diferencia por valor, no por matiz. Sin arcoíris. */
  --normo-dv-1: #0E8A52;
  --normo-dv-2: #1A1A1A;
  --normo-dv-3: #F2DC00;
  --normo-dv-4: rgba(14, 138, 82, 0.55);
  --normo-dv-5: rgba(26, 26, 26, 0.55);
  --normo-dv-6: rgba(14, 138, 82, 0.25);
  --normo-dv-7: rgba(26, 26, 26, 0.25);
}
