/* Tokens de marca (DISENO.md, versión final aprobada 23/09/2026 — ver marca/MARCA.md). Único
   lugar donde viven estos valores para pantalla; la plantilla del PDF no puede leer variables
   CSS (xhtml2pdf no las soporta) así que repite los mismos hexadecimales ahí — un test
   (tests/test_diseno.py) verifica que no se desincronicen. Criterio: ejecutivo y sobrio, fondo
   blanco, líneas finas, color de marca solo donde aporta información. */
:root {
    /* Colores de marca */
    --azul-marca: #004480;
    --azul-marca-hover: #003466;
    --celeste-marca: #1C60FF;
    --amarillo-acento: #F5C443;
    --blanco: #FFFFFF;

    /* Neutros */
    --texto: #14213A;            /* D: tinta (16,1:1) */
    --secundario: #465267;       /* D: texto 2 (7,9:1) */
    --terciario: #5C677A;        /* D: notas (5,7:1) */
    --rotulo-tabla: #9AA5B5;  /* 2,5:1: solo bordes y puntos, nunca texto (WCAG 2.2, marca Consta) */
    --sin-avance: #B4BDCA;
    --linea: #E4E7EC;
    --separador-fila: #E4E7EC;   /* D: una sola línea fina */
    --pista-barra: #E6ECF5;
    --fondo-celular: #FFFFFF;    /* D: el fondo es siempre blanco */
    --fondo-fila-desplegada: #F6F7F9;
    --fondo-resumen: #F6F7F9;    /* D: zona */
    /* Mejoras de carga, 2026-09-23 (punto 4): texto secundario más oscuro, solo dentro de la
       lista de celular de Carga (.lista-carga, ver estilo.css) — escritorio y acta siguen con
       --secundario de siempre. */
    --secundario-movil-carga: #3E4B60;

    /* Estados (punto de 7px + texto, no más etiquetas rellenas) */
    --estado-finalizado-punto: var(--azul-marca);
    --estado-finalizado-borde: var(--azul-marca);
    --estado-en-proceso-punto: var(--celeste-marca);
    --estado-en-proceso-borde: var(--celeste-marca);
    --estado-no-iniciado-punto: var(--blanco);
    --estado-no-iniciado-borde: var(--rotulo-tabla);
    --estado-abierta-punto: var(--estado-atencion-punto);
    --estado-abierta-borde: var(--estado-atencion-punto);
    --estado-liberada-punto: var(--rotulo-tabla);
    --estado-liberada-borde: var(--rotulo-tabla);
    /* Mejoras de carga, 2026-09-23 (punto 3): anillo/borde de la tarjeta o fila con una
       restricción abierta, en Carga. */
    --restriccion-abierta-anillo: #E2A008;  /* D: punto de atención, siempre con palabra */
    /* Pedido del dueño, 2026-09-24, antes de cerrar la Parte 2: "Reprogramado · dd/mm" en la
       columna Estado de la sección 02 del acta, con el mismo ámbar (no es un color nuevo). */
    --estado-reprogramado-punto: var(--restriccion-abierta-anillo);
    --estado-reprogramado-borde: var(--restriccion-abierta-anillo);

    /* Avance (positivo / sin cambio / negativo) */
    --avance-positivo: var(--celeste-marca);
    --avance-cero: var(--sin-avance);
    --avance-negativo: #7A4A00;  /* D: estado-atencion-texto (7,5:1) */

    /* Confirmación y aviso de regla */
    --confirmacion-texto: #3F7A5A;
    --aviso-fondo: #FFF9EB;
    --aviso-borde: #EBC96A;
    --aviso-texto: #6B5314;

    /* Rojo de alerta: valores de PRUEBA (dueño, 26/09/2026, ruta provisoria hasta el día del
       servidor) junto al monto del anticipo, en pantalla y en el PDF del certificado. */
    --rojo-alerta: #9E1B13;      /* D: estado crítico (8,0:1) */

    /* Tableros v2 (modo noche v8, maqueta 2A): fondo de las etiquetas de nivel del indicador 8
       «Bajo el mínimo» y «Sobresaliente» (Aceptable y En meta usan --aviso-fondo y --fondo-resumen). */
    --nivel-bajo-fondo: #FFF1E0;
    --nivel-sobresaliente-fondo: #E6EEFF;

    /* Foco del teclado (marca Consta, T10.7; WCAG 2.2): contorno de 2 px separado 2 px; sobre
       --azul-marca va en --amarillo-acento. */
    --foco: var(--celeste-marca);

    /* Sistema Consta v2 (dueño, 29/09/2026; diseno/sistema_v2/SISTEMA_V2.md §1 y §3). */
    --fondo-seleccion: #EAF1FF;  /* elegido o seleccionado (con contorno azul de 2 px), ítem activo del menú */
    --borde-campo: #808A9B;      /* D: borde de los campos (3,5:1 sobre blanco, WCAG 1.4.11) */
    /* El anillo de «terminado por nosotros, espera a otro» (blanco con borde 2 px azul) y el hueco de
       «no empezó» (blanco con borde --rotulo-tabla), del diccionario de estados (§5). */

    /* Letras: escala de D (v23b-D, diseno/d/tokens.json «Escala»; docs/v23/TOKENS_D.md). Archivo Expanded 600
       solo en títulos y cifras, en oración; Manrope en lo demás; nunca menos de 11,5 px. */
    --letra-titulo-pagina: 24px;   --peso-titulo-pagina: 600;   /* Archivo Expanded, en oración, tinta (30 en el celular) */
    --letra-cifra-manda: 40px;                                  /* la cifra que manda en una franja */
    --letra-cifra-grande: 24px;    --peso-cifra-grande: 600;    /* Archivo Expanded: cifra */
    --letra-cifra: 20px;           --peso-cifra: 600;           /* Archivo Expanded: cifra junto a la que manda */
    --letra-texto-destacado: 15px; --peso-texto-destacado: 700; /* título de bloque */
    --letra-frase: 17px;           --peso-frase: 600;           /* v23c-3 · C3.4: la frase de arriba, con lo malo primero */
    --letra-texto: 14px;           --peso-texto: 500;           /* texto (15 en el celular) */
    --letra-texto-tabla: 13.5px;   --peso-texto-tabla: 500;
    --letra-texto-chico: 12px;     --peso-texto-chico: 400;     /* nota */
    --letra-rotulo: 13px;          --peso-rotulo: 500;          /* contexto: reemplaza al rótulo en mayúsculas */
    --letra-etiqueta-campo: 13px;  --peso-etiqueta-campo: 600;
    --letra-boton: 14px;           --peso-boton: 700;
    --letra-menu: 14px;            --peso-menu: 600;            /* activo 700 */
    --tracking-rotulo: 0;

    /* Espacios (§3): 4, 8, 12, 16, 24, 32, 48. */
    --espacio-4: 4px; --espacio-8: 8px; --espacio-12: 12px; --espacio-16: 16px;
    --espacio-24: 24px; --espacio-32: 32px; --espacio-48: 48px;

    /* Fila de capítulo del certificado en PDF (v16, J3: antes escrito solo en la plantilla del PDF). */
    --fondo-capitulo: #EEF3FA;

    /* Mapa de avance de los tableros (v16, J4: antes escritos a mano en tableros.css): los dos
       tramos más bajos, azul claro con texto azul oscuro; los altos usan --celeste-marca y --azul-marca. */
    --calor-1-fondo: #E3ECFF;
    --calor-2-fondo: #A9C2FF;
    --calor-texto: #0B3FB8;

    /* Marco (§3 y §4). */
    --ancho-menu: 248px;
    --ancho-contenido: 1180px;
    --margen-celular: 16px;
    --alto-barra-celular: 56px;
    --tamano-toque: 44px;
    --tamano-punto: 7px;

    /* Radios */
    --radio-tarjeta: 12px;
    --radio-campo: 8px;
    --radio-etiqueta: 999px;

    /* D · Constancia (v23b-D, 04/10/2026; diseno/d/tokens.json): los colores que agrega D. */
    --tinta: #14213A;
    --linea-fuerte: #CDD3DC;          /* debajo de los títulos de columna, borde de botones secundarios */
    --zona: #F6F7F9;                  /* fondo de avisos y de lo que flota, nunca tarjetas */
    --estado-critico: #9E1B13;        /* SOLO «vencido», «sábado no» (relleno) y el punto de «Grave» */
    --estado-atencion-texto: #7A4A00; /* «atención», «plazo corrido», «vence hoy» (7,5:1) */
    --estado-atencion-punto: #E2A008; /* decorativo (2,3:1): siempre con su palabra */
    --estado-congelado: #2E4A6B;      /* punto y palabra «congelado» (9,1:1) */
    --estado-espera: #4A4A9C;         /* punto hueco y palabra «espera al fiscal» (7,6:1) */
    --estado-urgente-fondo: #14213A;  /* «Urgente»: relleno en tinta, texto blanco */
    --radio-boton: 8px;
    --radio-flota: 12px;
    --radio-estado: 4px;
    --entre-secciones: 32px;
    --boton-alto: 40px;               /* computadora; 44 en el celular, la acción principal 52 */

    /* Tipografía */
    --fuente-titulos: 'Archivo Expanded', system-ui, sans-serif;
    --fuente-texto: 'Manrope', system-ui, sans-serif;
}

/* D: en el celular (debajo de 900 px), título de pantalla de 30 px y texto de 15 px. Botones de 44 px debajo de 1180 px
   y en toda pantalla táctil (el celular y la tablet del fiscal, 1180 × 820); 40 en la computadora. */
@media (max-width: 899px) {
    :root { --letra-titulo-pagina: 30px; --letra-texto: 15px; }
}
@media (max-width: 1179px), (pointer: coarse) {
    :root { --boton-alto: 44px; }
}
