/* Portal del trabajador — TOKENS (rediseño del 24/10/2026, dirección «Despacho»).

   Fuente única de los valores del portal. Antes leía los de la gestión
   (assets/css/nf-guia.css, --rv-*), que son los mismos de NewFox: el portal
   se reconocía por ellos y cualquier ajuste en la gestión le llegaba sin
   querer. Desde aquí el portal no carga esa hoja (lo vigila
   tests/PortalTrabajadorVisualTest.php).

   La marca de cada instalación y de cada empresa sigue mandando: estos tokens
   leen las --pe-* que escribe src/Branding/Tema.php (color, página, tinta,
   borde, sombra, radio y tipografías) y solo ponen el valor de fábrica cuando
   la marca no lo da. */

/* Tipografías de fábrica, servidas desde el propio portal: pedirlas a Google
   le contaba quién abría el portal en cada visita. El navegador solo descarga
   las que se usan, así que una marca con las suyas no baja ninguna de estas. */
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url('fuentes/jost-400.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url('fuentes/jost-500.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 600; font-display: swap; src: url('fuentes/jost-600.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 700; font-display: swap; src: url('fuentes/jost-700.woff2') format('woff2'); }
@font-face { font-family: 'Libre Baskerville'; font-style: normal; font-weight: 400; font-display: swap; src: url('fuentes/libre-baskerville-400.woff2') format('woff2'); }
/* La 700 solo baja si una marca pide títulos en negrita (marca_peso_titulos);
   sin el fichero el navegador la inventaría engordando la 400. */
@font-face { font-family: 'Libre Baskerville'; font-style: normal; font-weight: 700; font-display: swap; src: url('fuentes/libre-baskerville-700.woff2') format('woff2'); }

:root {
    /* Marca: deducida y con el contraste ya comprobado en Marca.php (el oscuro
       llega a 4,5:1 sobre blanco y sobre el tinte). Los de reserva son los de
       fábrica de Marca.php, para que sin tema el portal se vea neutro. */
    --emp-marca: var(--pe-primary, #2F5F86);
    --emp-marca-osc: var(--pe-primary-dark, #274E6E);
    --emp-marca-tinte: var(--pe-primary-tint, #EAEFF3);

    /* Superficies: papel cálido con una gota del color de la marca, que es lo
       que da el aire de despacho sin escribir un color de nadie. */
    --emp-papel: var(--pe-pagina, color-mix(in srgb, var(--emp-marca) 5%, #F7F3EE));
    --emp-superficie: #FFFFFF;
    --emp-superficie-2: color-mix(in srgb, var(--emp-marca) 4%, #FAF8F5);
    /* Un escalón más: celdas del calendario, pistas de progreso, iconos en hueco. */
    --emp-superficie-3: color-mix(in srgb, var(--emp-marca) 7%, #EFEAE3);

    /* Tinta: hacia el oscuro de la marca, no un gris neutro. Los tres
       niveles pasan AA sobre el papel y sobre blanco con cualquier marca,
       porque Marca.php ya garantiza que el oscuro da 4,5:1 sobre blanco: con
       el oscuro más claro posible, --emp-apagado (el más claro de los tres)
       da 5,5:1 sobre el papel y 5,1:1 sobre el tinte (calculado con la
       fórmula de la WCAG de Marca.php). */
    --emp-tinta: var(--pe-tinta, color-mix(in srgb, var(--emp-marca-osc) 20%, #151515));
    --emp-tinta-2: color-mix(in srgb, var(--emp-marca-osc) 25%, #3D3D3D);
    --emp-apagado: color-mix(in srgb, var(--emp-marca-osc) 30%, #565656);

    --emp-linea: var(--pe-borde, color-mix(in srgb, var(--emp-marca) 14%, #E7E1D9));
    --emp-linea-suave: color-mix(in srgb, var(--emp-marca) 8%, #F0EBE4);
    /* Separador degradado: se desvanece en los extremos en vez de cortar. */
    --emp-separador: linear-gradient(90deg, transparent, color-mix(in srgb, var(--emp-marca) 35%, transparent), transparent);

    /* Estados: no son marca, no cambian con la empresa. Valores medidos AA
       sobre su tinte (vienen de la guía de la casa, donde ya se midieron). */
    --emp-ok: #227952;
    --emp-ok-tinte: #EAF6F0;
    --emp-aviso: #9A6B00;
    --emp-aviso-tinte: #FFF4DB;
    /* --emp-aviso da 4,29:1 sobre su tinte; para TEXTO PEQUEÑO hace falta
       este, que da 5,17:1. */
    --emp-aviso-fuerte: #8A5F00;
    --emp-peligro: #C03A3A;
    --emp-peligro-tinte: #FDEDED;
    --emp-info: #0E6E8C;
    --emp-info-tinte: #E0F3F8;

    /* Tipos de ausencia y servicio del calendario: un tinte para el fondo y un
       texto medido AA sobre él (4,6–10:1). */
    --emp-tipo-lle-fondo: #EEF4DB; --emp-tipo-lle-tx: #4D6509;
    --emp-tipo-sal-fondo: #FBD9DF; --emp-tipo-sal-tx: #7D0018;
    --emp-tipo-exc-fondo: #FEF5DA; --emp-tipo-exc-tx: #8A6703;
    --emp-tipo-dis-fondo: #DEEFF2; --emp-tipo-dis-tx: #13505C;
    --emp-tipo-vip-fondo: #E8E7F3; --emp-tipo-vip-tx: #38355F;
    --emp-tipo-otro-fondo: #EEF1F4; --emp-tipo-otro-tx: #5F6E7C;

    /* Forma. El radio de la marca (marca_radio) manda sobre el de las
       tarjetas; los pequeños se quedan, porque un control de 28px de radio
       deja de parecer un control. */
    --emp-radio: var(--pe-radio, 18px);
    --emp-radio-boton: 12px;
    --emp-radio-sm: 10px;
    --emp-radio-pildora: 999px;

    /* Sombras teñidas de la marca, nunca en negro: en negro se ven baratas. */
    --emp-sombra-suave: 0 2px 14px color-mix(in srgb, var(--pe-sombra, var(--emp-marca-osc)) 7%, transparent);
    --emp-sombra: 0 10px 30px -14px color-mix(in srgb, var(--pe-sombra, var(--emp-marca-osc)) 40%, transparent);
    --emp-sombra-alta: 0 22px 50px -20px color-mix(in srgb, var(--pe-sombra, var(--emp-marca-osc)) 45%, transparent);

    /* Tipografía: serif de peso normal solo en titulares, Jost en todo lo
       demás. Las cifras van con la letra del texto y tabulares (en el body):
       la monoespaciada para fechas y horas era el rasgo más reconocible del
       portal anterior. */
    --emp-letra: var(--pe-fuente, 'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif);
    --emp-letra-titulos: var(--pe-fuente-titulos, 'Libre Baskerville', Georgia, 'Times New Roman', serif);
    --emp-peso-titulos: var(--pe-peso-titulos, 400);
    --emp-cifras: var(--pe-fuente-cifras, var(--emp-letra));

    --emp-ease: cubic-bezier(.4, 0, .2, 1);
}
