/* ===========================================================================
   CENTINELA — capa semantica sobre el sistema de diseno de Elis Perez.

   DESDE EL 28 DE SEPTIEMBRE DE 2026 LOS COLORES Y LAS FUENTES SON LOS DE
   ELIS (ds/ds.css, generado desde su entrega con diseno/sistema-mancebo/
   extraer.py). Este archivo ya no tiene primitivos propios: traduce los
   nombres que la aplicacion consume desde siempre (--lienzo, --tinta,
   --accion, --hallazgo...) a los tokens de Elis (--background, --text-primary,
   --wine, --danger...). Asi toda la aplicacion toma la identidad nueva de
   una vez, y las pantallas se van rehaciendo con sus componentes (.ct-*)
   sin que lo que aun no se ha rehecho desentone.

   La paleta anterior («Pizarra y acero», diseno/paletas.py) queda retirada.

   Reglas que se conservan:
   - Ningun componente conoce un color crudo: consume esta capa o la de Elis.
   - El dato probatorio va en monoespaciada.
   - El tema oscuro NO es de Elis: su sistema es solo claro. Se deriva aqui
     de sus propios tokens (decision de Jorbito, 28 sep): noche verde bosque,
     mismo cromo. Si Elis entrega un oscuro, este se
     sustituye entero.
   =========================================================================== */

:root {
  /* --- PALETA «VERDES EJECUTIVOS» (30 sep 2026) -----------------------------
     Sustituye al vinotinto y al marfil calido de Elis. Se redefine aqui, en la
     capa propia, y no en ds/ds.css (generado): asi sobrevive a una nueva
     extraccion. Los NOMBRES --wine* son los de Elis y se conservan para que su
     CSS no se toque: ahora son el verde de accion. Nada mas se renombra.

       --wine        #1D6B4F  Esmeralda profesional: boton primario, enlaces,
                              estado activo. 6.4:1 con blanco; 6.2:1 sobre marfil.
       --wine-dark   #1F3A2E  Verde bosque: barra lateral, hover/presionado,
                              tinta de titulares. 12.3:1 con blanco.
       --wine-light  #2F8A5E  Anillo de foco y trazos de acento.
       --background  #FBFAF5  Blanco marfil del area de trabajo.
       --cream       #F3F1E7  Marfil hondo: campos, tarjetas crema, tablas.
       --border      #E2DFD3  Linea calida neutra.

     El verde de ACENTO es azul-esmeralda (tono 158°) y se usa en relleno solido
     oscuro; el verde de EXITO («sin coincidencias», riesgo bajo) se movio a un
     verde hoja mas amarillo (tono 138°) y vive siempre como tinte claro con
     icono y texto. Son dos verdes que no se confunden: uno se pulsa, el otro
     se lee. Rojo (hallazgo), ambar (revision) y azul (optimo) no cambian. */
  --wine: #720019;
  --wine-dark: #4A0010;
  --wine-light: #8E1730;
  --cream: #EBE1CE;
  --surface: #F9F3E6;
  --background: #F3EBDB;
  --border: #DDD2BD;
  --text-primary: #211A18;
  --success: #299B68;
  --success-bg: #E5F4EC;
  --shadow-1: 0 1px 2px rgba(33, 26, 24, .06), 0 1px 1px rgba(33, 26, 24, .03);
  --shadow-2: 0 6px 18px -6px rgba(74, 0, 16, .14), 0 2px 4px rgba(33, 26, 24, .04);
  --shadow-3: 0 18px 44px -12px rgba(74, 0, 16, .30), 0 4px 10px rgba(33, 26, 24, .06);

  /* --- superficies y texto ------------------------------------------------- */
  --lienzo: var(--background);
  --superficie: var(--surface);
  --hundido: color-mix(in srgb, var(--cream) 70%, var(--background));
  --tinta: var(--text-primary);
  --tinta-suave: color-mix(in srgb, var(--text-primary) 55%, var(--text-secondary));
  --tinta-tenue: var(--text-secondary);
  --linea: var(--border);
  --linea-firme: var(--border-control);
  --linea-suave: color-mix(in srgb, var(--border) 60%, var(--surface));

  /* --- accion: el esmeralda (heredo el nombre --wine de Elis) --------------------
     Boton primario, estado activo, enlace destacado. */
  --accion: var(--wine);
  --accion-hover: var(--wine-dark);
  --accion-presionado: var(--wine-dark);
  --sobre-accion: var(--surface);
  --inserto: var(--wine-tint);

  /* --- estados ---------------------------------------------------------------
     HALLAZGO es el rojo de riesgo de Elis (--danger), no el verde de la accion:
     pulsar «Cotejar» y «esta persona esta designada» siguen siendo colores
     distintos, que es lo que la paleta anterior protegia.
     EXITO es nuevo: el sistema de Elis trae verde para «sin coincidencias» y
     riesgo bajo, como pidio la Dra. en la I Revision. */
  --hallazgo: var(--danger);
  --hallazgo-lavado: var(--danger-bg);
  --revision: var(--warning-ink);
  --revision-lavado: var(--warning-bg);
  --exito: var(--success-ink);
  --exito-lavado: var(--success-bg);
  /* INFO = AZUL = lo optimo, completo, al dia (la Dra., 29-sep): ya no es el
     vino claro. Lo consumen Identidad, Prensa, la suma de la matriz, el
     tablero y el anillo de foco de los campos. */
  --info: var(--blue);
  --info-lavado: var(--blue-bg);

  /* --- cromo: la barra lateral verde bosque, igual en los dos temas --------- */
  --chrome: var(--wine-dark);
  --chrome-alto: var(--wine);
  --linea-chrome: color-mix(in srgb, var(--cream) 14%, var(--wine-dark));
  --tinta-chrome: var(--cream);
  --tinta-chrome-suave: var(--on-dark-muted);

  /* --- tipografia: las familias de Elis ------------------------------------ */
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', 'Cascadia Mono', Consolas, monospace;
  --fuente-display: var(--font-heading);
  --fuente-ui: var(--font-ui);
  /* Sistema de Elis, decision explicita de su catalogo: «huellas, folios,
     documentos y fechas tecnicas en monoespaciada; el resto de cifras es
     Inter tabular». .dato es lo primero; las cifras llevan .cifra (o .ct-num). */
  --fuente-dato: var(--font-mono);

  /* Escala modular. Se multiplica por --f, que Ajustes cambia: el tamano de
     letra de quien lee manda sobre el del sistema. */
  --f: 1.12; /* el mismo «Normal» que LETRA_POR_DEFECTO en lib/tema.ts */
  --t-micro: calc(11px * var(--f));
  --t-aux:   calc(14px * var(--f));
  --t-base:  calc(17px * var(--f));
  --t-sub:   calc(21px * var(--f));
  --t-titulo:calc(28px * var(--f));
  --t-cifra: calc(34px * var(--f));
  --t-cifron:calc(44px * var(--f));

  --i-display: 1.12;
  --i-titulo: 1.18;
  --i-sub: 1.3;
  --i-prosa: 1.55;
  --i-ui: 1.35;
  --i-dato: 1.35;

  /* Baskerville ya viene espaciada para titulo: tracking casi neutro. */
  --tr-display: -0.01em;
  --tr-titulo: -0.008em;
  --tr-sub: -0.004em;
  --tr-micro: var(--tracking-caps);
  --tr-dato: -0.004em;

  --medida-prosa: 66ch;
  --medida-titular: 22ch;

  /* --- espaciado (se conserva: lo consume todo el markup existente) -------- */
  --e-0: 0;    --e-1: 2px;  --e-2: 4px;  --e-3: 8px;   --e-4: 12px;
  --e-5: 16px; --e-6: 24px; --e-7: 32px; --e-8: 48px;  --e-9: 64px;
  --e-10: 96px; --e-11: 128px;

  /* --- estructura: medidas de Elis ----------------------------------------- */
  --barra-modulos: var(--sidebar-w);
  --barra-modulos-plegada: 64px;
  --barra-superior: 72px;
  --fila-tabla: 44px;
  --toque-minimo: 44px;
  --ancho-trabajo: var(--content-max);

  /* --- radio: la escala de Elis -------------------------------------------- */
  --radio-chico: var(--radius-sm);
  --radio: var(--radius-md);
  --radio-grande: var(--radius-lg);
  --radio-pastilla: var(--radius-pill);
  --radio-foco: var(--radius-md);

  /* --- movimiento ----------------------------------------------------------- */
  --dur-feedback: var(--dur-fast);
  --dur-estado: var(--dur);
  --dur-pagina: 400ms;
  --ease-forense: var(--ease-out);

  /* --- tokens de firma que se conservan ------------------------------------
     El filete doble marca donde empieza la evidencia (custodia, firma). */
  --filete-doble: linear-gradient(
      to bottom,
      var(--linea-firme) 0 1px,
      transparent 1px 2px,
      var(--linea-firme) 2px 3px);
  --rombo: 6px;
  --sombra-reposo: var(--shadow-1);
  --sombra-atencion: var(--shadow-2);
  --sombra-flotante: var(--shadow-3);
}

/* ===========================================================================
   TEMA OSCURO — derivado, no de Elis. (Hoy retirado: lib/tema.ts fija el claro.)

   Noche verde bosque: el suelo es un negro con un punto del verde de la marca,
   el texto es un marfil frio. Se redefinen tambien los tokens de Elis, para que
   sus componentes (.ct-*) se pinten solos en oscuro sin tocar su CSS. Lo que
   Elis deriva con color-mix sobre --surface o --text-primary (tintes de vino,
   tintas de estado) se oscurece solo al cambiar la base. La barra lateral
   no cambia: es cromo, no lienzo (ver ds-app.css).

   El verde se aclara (#8FD1AE): Elis lo usa a la vez como texto (enlaces,
   nombre de usuario, rotulos) y como fondo con texto --surface (boton
   primario, avatar, pestana activa). Sobre suelo oscuro no hay un verde que
   sirva para las dos cosas, asi que en oscuro el boton primario es menta
   con texto oscuro y el texto en verde se lee con el mismo contraste.

   Contrastes: ver diseno/sistema-mancebo/contraste-oscuro.txt (se mide, no
   se estima).
   =========================================================================== */
@media (prefers-color-scheme: dark) {
  :root:not([data-tema='claro']) {
    --background: #0E1512;
    --surface: #151E19;
    --cream: #1D2924;
    --border: #2E3D35;
    --text-primary: #EDF2EC;
    --text-secondary: #C5D0C8;
    --success-bg: #12291A;
    --warning-bg: #33260F;
    --warning-ink: #E7CDA4;
    --danger: #F8C6C5;
    --danger-bg: #3A1618;
    --wine: #8FD1AE;
    --wine-dark: #BDE8D0;
    --wine-light: #8FD1AE;
    --border-control: #62766A;
    --ink-heading: #F3F7F1;
    --shadow-1: 0 1px 2px rgba(0, 0, 0, .35);
    --shadow-2: 0 6px 18px -6px rgba(0, 0, 0, .55);
    --shadow-3: 0 18px 44px -12px rgba(0, 0, 0, .7);

    --hundido: #0A100D;
    --accion: #8FD1AE;
    --accion-hover: #BDE8D0;
    --accion-presionado: #6FBF96;
    --sobre-accion: #0E1512;
    /* azul de lo optimo sobre suelo oscuro: 9.5:1 sobre --surface */
    --blue: #9DBEFF;
    --blue-bg: #12233F;
  }
}
[data-tema='oscuro'] {
    --background: #0E1512;
    --surface: #151E19;
    --cream: #1D2924;
    --border: #2E3D35;
    --text-primary: #EDF2EC;
    --text-secondary: #C5D0C8;
    --success-bg: #12291A;
    --warning-bg: #33260F;
    --warning-ink: #E7CDA4;
    --danger: #F8C6C5;
    --danger-bg: #3A1618;
    --wine: #8FD1AE;
    --wine-dark: #BDE8D0;
    --wine-light: #8FD1AE;
    --border-control: #62766A;
    --ink-heading: #F3F7F1;
    --shadow-1: 0 1px 2px rgba(0, 0, 0, .35);
    --shadow-2: 0 6px 18px -6px rgba(0, 0, 0, .55);
    --shadow-3: 0 18px 44px -12px rgba(0, 0, 0, .7);

    --hundido: #0A100D;
    --accion: #8FD1AE;
    --accion-hover: #BDE8D0;
    --accion-presionado: #6FBF96;
    --sobre-accion: #0E1512;
    --blue: #9DBEFF;
    --blue-bg: #12233F;
}
/* El interruptor gana en las dos direcciones: si el sistema esta en oscuro y
   el usuario pide claro, manda el usuario. Basta con no redefinir nada: los
   valores de :root son los claros de Elis. */
