/* SERVICHECK — Legibilidad global de números críticos (2026-07-27, corregido 2026-07-29)
   El 0 y el 8 (y a veces la O) se confunden en números largos —cuentas bancarias,
   cédulas/RUC, números de cheque, códigos de autorización/devolución— con la
   tipografía por defecto. JetBrains Mono ya se usaba en casi toda la plataforma
   (clase .mono, 85+ usos) pero dependía 100% del CDN de Google Fonts: si el CDN no
   cargaba, el navegador caía a un monoespaciado del sistema operativo sin cero
   distinguible. Acá se hostea el archivo localmente (self-hosted, sin dependencia
   externa).

   CORRECCIÓN 29-jul-2026 (1ª vuelta): el archivo JetBrainsMono-Variable.woff2
   autohospedado el 27-jul es una copia byte-a-byte del build que sirve Google Fonts, y
   ESE build no trae las features OpenType 'zero'/'ss01' (verificado con fontTools:
   solo calt/ccmp/frac/locl). El puntito que se veía en el cero era simplemente el
   glifo por defecto de la fuente, no una feature activa — y a 13-14px/negrita ese
   punto es demasiado sutil (se pierde en el antialiasing, sobre todo con ClearType).
   Esa vuelta probó Roboto Mono (cero con barra diagonal) pero Carlos la rechazó: no
   quiere NINGUNA marca dentro del cero (ni punto ni diagonal), solo que se distinga
   por su FORMA (óvalo angosto) contra el 8 (redondo, con cintura).

   CORRECCIÓN 29-jul-2026 (2ª vuelta): se probó IBM Plex Mono y Space Mono asumiendo
   por una captura a 14px que su cero era un óvalo limpio — ERROR: al extraer el
   contorno real del glifo con fontTools (glyf.numberOfContours) ambas resultaron
   tener 3 contornos (aro exterior + contra-forma + un punto interno), el mismo patrón
   que JetBrains Mono, solo que el punto es más chico y se pierde de vista en capturas
   pequeñas. Ninguna de las dos llegó a producción — se detectó en pruebas locales.

   CORRECCIÓN 29-jul-2026 (3ª vuelta, definitiva): Courier Prime. Verificado con el
   MISMO método objetivo (no una captura que puede engañar): su glifo "0" tiene
   exactamente 2 contornos — aro exterior + contra-forma, sin ningún tercer contorno,
   es decir sin punto ni diagonal ni marca de ningún tipo — y su "8" tiene los 3
   contornos normales de un ocho (aro + 2 contraformas), sin nada añadido. Se
   distingue del 8 solo por ser angosto/ovalado donde el 8 es ancho y con cintura,
   exactamente lo que pidió Carlos. Confirmado también con captura real a 14px/700
   (tamaño real de Cuenta·Cheque·Monto) y aprobado por Carlos antes de este despliegue.
   Se autohospedan los 2 pesos que publica la familia (Regular/Bold = 400/700; no
   tiene Medium/SemiBold/variable) — un font-weight intermedio (500/600) pedido por
   algún template cae al peso más cercano disponible, la forma del cero no cambia con
   el peso. font-variant-numeric queda solo en tabular-nums (no-op inocuo en una
   fuente monoespaciada); font-feature-settings queda en 'normal' — Courier Prime ni
   siquiera trae una feature 'zero' que activar por error (verificado: solo
   'frac'/'locl').

   CORRECCIÓN 29-jul-2026 (4ª vuelta — auditoría total, teléfonos del panel Girador y
   TODA la plataforma): el barrido anterior solo cubría la LISTA de clases de abajo.
   Auditoría exhaustiva (3 agentes en paralelo + grep manual) encontró 100+ lugares en
   TODA la plataforma —.gd-ptel/.gd-pcod (teléfonos y código de autorización del panel
   Girador, el bug reportado), Central de Datos (.cedula-cell/.fecha-cell/.costo-cell/
   .gir-tel-chip), Devoluciones, Empresas, Cheques, Cuentas Cerradas, Bancos, Dashboard,
   portales cliente, #scqEquifaxPanel (Equifax)— que declaran su PROPIA regla local con
   font-family:'JetBrains Mono' (o var(--font-mono)/var(--f-mono) apuntando a esa misma
   familia) en vez de usar .num-claro/.mono. Cada una es un caso igual a .gd-ptel: nunca
   se agregó a la lista de abajo, así que nunca recibió el cero limpio — de ahí que el
   bug siguiera aaareciendo módulo por módulo cada vez que se creía cerrado.

   Ir clase por clase (100+ sitios, varios archivos CSS) es exactamente el patrón que
   ya falló 4 veces. Fix de raíz definitivo: el nombre 'JetBrains Mono' es, de hecho, la
   fuente monoespaciada "de la casa" en toda esta plataforma (85+ usos ya documentados
   en 2026-07-27, y la auditoría de hoy encontró decenas más) — así que en vez de perseguir
   cada selector, se REDEFINE qué es 'JetBrains Mono': el @font-face de abajo con ese
   nombre ahora apunta a los archivos de Courier Prime, NO a JetBrainsMono-Variable.woff2
   (que queda sin usar, no se borra por si algo externo lo referencia). Cualquier regla,
   presente o FUTURA, que pida font-family:'JetBrains Mono' —esté o no en la lista de
   abajo— dibuja el óvalo limpio automáticamente. Esto es lo que hace que no pueda
   volver a pasar: ya no depende de acordarse de agregar una clase a una lista. */
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 100 500;
  font-display: swap;
  src: url('../fonts/CourierPrime-Regular.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 501 800;
  font-display: swap;
  src: url('../fonts/CourierPrime-Bold.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
/* 'JetBrains Mono' REDEFINIDO (29-jul-2026, 4ª vuelta): mismos archivos que 'Courier
   Prime' de arriba, registrados también bajo este nombre — así CUALQUIER regla vieja o
   nueva que pida 'JetBrains Mono' por nombre dibuja el cero limpio sin que nadie tenga
   que tocarla. Ver comentario largo arriba. */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 500;
  font-display: swap;
  src: url('../fonts/CourierPrime-Regular.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 501 900;
  font-display: swap;
  src: url('../fonts/CourierPrime-Bold.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
/* 'IBM Plex Mono' REDEFINIDO también (29-jul-2026): #scqEquifaxPanel (panel Equifax,
   autorizaciones.css) usaba var(--f-mono):'IBM Plex Mono' — la fuente que ya se probó y
   se RECHAZÓ (su cero trae un punto, ver corrección 2ª vuelta arriba) — sin este
   @font-face, cualquier lugar que todavía pida 'IBM Plex Mono' por nombre volvería a
   mostrar el cero con punto. Mismo criterio que 'JetBrains Mono': redefinir el nombre,
   no perseguir cada selector. */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 100 500;
  font-display: swap;
  src: url('../fonts/CourierPrime-Regular.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 501 900;
  font-display: swap;
  src: url('../fonts/CourierPrime-Bold.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}

/* .num-claro: clase nueva, semántica, para marcar explícitamente "este número no se
   puede confundir" — usar en cuenta bancaria, cédula/RUC, número de cheque, código de
   autorización/devolución en código nuevo.
   .mono / .cr-mono / .coli-cuenta-num / .lst-mono: clases YA existentes en el
   codebase que ya venían usando JetBrains Mono para estos mismos datos (o, en el caso
   de .coli-cuenta-num, que nunca tuvo una regla propia y heredaba la fuente de texto
   normal) — se refuerzan acá mismo para no tener que tocar cada template uno por uno.
   font-family/font-feature-settings/font-variant-numeric van con !important: casi
   todos los módulos de arriba tienen su PROPIA regla local ".mono{font-family:...}"
   (preexistente, de antes de este archivo) que carga después de num-claro.css con la
   MISMA especificidad — sin !important esas reglas locales ganan por orden de
   cascada y esta reactivación queda pisada en silencio, tal como sucedía. */
.num-claro, .mono, .cr-mono, .coli-cuenta-num, .lst-mono,
.ah-cod, .ah-ced, #rcModalCedula, .ficha-ruc, #mdSub {
  font-family: 'Courier Prime', 'JetBrains Mono', ui-monospace, 'Courier New', monospace !important;
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: normal !important;
}
