/* =========================================================================
   Tokens del sistema visual — sdd/spec_sistema-visual.md §2 y Enmienda 41.

   ESTE ES EL UNICO ARCHIVO DEL PROYECTO AUTORIZADO A CONTENER UN COLOR
   LITERAL. Los tokens de marca permanecen fijos; las superficies de lectura
   se resuelven por el data-theme explícito del documento.
   ========================================================================= */

:root {
  /* Identidad institucional fija en ambos temas. */
  --marca-navy: #0A1931;
  --marca-navy-profundo: #050E1C;
  --marca-azul: #1A3D63;
  --marca-azul-medio: #4A7FA7;
  --marca-azul-claro: #B3CFE5;
  --color-sobre-navy: #E7EEF6;
  --color-sobre-navy-fuerte: #FFFFFF;
  --borde-sobre-navy: rgba(179, 207, 229, 0.22);
  --fondo-sobre-navy: rgba(179, 207, 229, 0.07);

  /* Espacio: escala de 4 px. */
  --espacio-1: 4px;
  --espacio-2: 8px;
  --espacio-3: 12px;
  --espacio-4: 16px;
  --espacio-6: 24px;
  --espacio-8: 32px;
  --espacio-12: 48px;

  --radio-sm: 6px;
  --radio-md: 8px;
  --radio-lg: 18px;

  --tipo-titulo: Georgia, Cambria, "Times New Roman", serif;
  --tipo-cuerpo: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --texto-xs: 0.78rem;
  --texto-sm: 0.88rem;
  --texto-base: 1rem;
  --texto-lg: 1.25rem;
  --texto-xl: 1.7rem;
  --texto-2xl: 2.2rem;
}

:root[data-theme="light"] {
  color-scheme: light;

  /* Sidebar por rol: familia navy completa en light (Enmiendas 53–54). */
  --fondo-sidebar: #0A1931;
  --fondo-sidebar-profundo: #050E1C;
  --color-sidebar: #E7EEF6;
  --color-sidebar-fuerte: #FFFFFF;
  --color-sidebar-tenue: #B3CFE5;
  --fondo-sidebar-tenue: rgba(179, 207, 229, 0.07);
  --borde-sidebar-tenue: rgba(179, 207, 229, 0.22);
  --fondo-sidebar-activo: #1A3D63;
  --borde-sidebar-activo: #4A7FA7;
  --acento-sidebar: #B3CFE5;
  --fondo-sidebar-avatar: #4A7FA7;
  --borde-sidebar-avatar: #B3CFE5;
  --fondo-sidebar-flotante: #050E1C;
  --fondo-sidebar-disparador: #0A1931;

  --color-fondo: #F6FAFD;
  --color-superficie: #FFFFFF;
  --color-superficie-tenue: #F1F3F5;
  --color-superficie-campo: #FFFFFF;

  --color-texto: #17222E;
  --color-texto-secundario: #33404B;
  --color-texto-tenue: #55606B;
  --color-texto-inhabilitado: #98A2AC;
  --color-titulo: #0A1931;

  --color-borde: #C7D2DB;
  --color-borde-campo: #88929D;
  --color-inhabilitado: #A9B6C2;

  --color-accion: #1A3D63;
  --color-accion-hover: #0A1931;
  --color-sobre-accion: #FFFFFF;
  --color-acento: #1A3D63;
  --color-sobre-estado: #FFFFFF;
  --color-reconexion: #4A7FA7;
  --color-reconexion-hover: #1A3D63;
  --color-sobre-reconexion: #FFFFFF;

  --color-error: #B32121;
  --color-exito: #1E753B;
  --color-aviso: #7E5C19;
  --color-informacion: #1A3D63;

  --color-exito-fondo: #ECF7EE;
  --color-exito-borde: #C6DFCA;
  --color-exito-texto: #005E27;
  --color-aviso-fondo: #F8F3EB;
  --color-aviso-borde: #E2D6C2;
  --color-aviso-texto: #664600;
  --color-error-fondo: #FFEEEC;
  --color-error-borde: #FCCAC3;
  --color-error-texto: #970007;
  --color-informacion-fondo: #EFF4FA;
  --color-informacion-borde: #CCD9E8;
  --color-informacion-texto: #2D4F76;

  --sombra-tarjeta: 0 24px 60px rgba(10, 25, 49, 0.18);
  --sombra-foco: 0 0 0 3px rgba(26, 61, 99, 0.15);
  --sombra-foco-fuerte: 0 0 0 3px rgba(26, 61, 99, 0.35);
  --sombra-barra: 0 -1px 2px rgba(0, 0, 0, 0.2);
  --sombra-modal: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
  --velo-modal: rgba(0, 0, 0, 0.4);
}

:root[data-theme="dark"] {
  color-scheme: dark;

  /* Sidebar por rol: familia carbón/gris completa en dark (Enmiendas 53–54). */
  --fondo-sidebar: #333333;
  --fondo-sidebar-profundo: #1F1F1F;
  --color-sidebar: #C9C9CE;
  --color-sidebar-fuerte: #F2F2F4;
  --color-sidebar-tenue: #C9C9CE;
  --fondo-sidebar-tenue: rgba(242, 242, 244, 0.08);
  --borde-sidebar-tenue: rgba(242, 242, 244, 0.22);
  --fondo-sidebar-activo: #3C3C41;
  --borde-sidebar-activo: #8F8F95;
  --acento-sidebar: #C9C9CE;
  --fondo-sidebar-avatar: #3C3C41;
  --borde-sidebar-avatar: #8F8F95;
  --fondo-sidebar-flotante: #1F1F1F;
  --fondo-sidebar-disparador: #333333;

  --color-fondo: #101012;
  --color-superficie: #18181B;
  --color-superficie-tenue: #1E1E21;
  --color-superficie-campo: #101012;

  --color-texto: #F2F2F4;
  --color-texto-secundario: #C9C9CE;
  --color-texto-tenue: #8F8F95;
  --color-texto-inhabilitado: #68686E;
  --color-titulo: #F2F2F4;

  --color-borde: #28282B;
  --color-borde-campo: #77777D;
  --color-inhabilitado: #3C3C41;

  --color-accion: #F2F2F4;
  --color-accion-hover: #C9C9CE;
  --color-sobre-accion: #101012;
  --color-acento: #C9C9CE;
  --color-sobre-estado: #FFFFFF;
  --color-reconexion: #C9C9CE;
  --color-reconexion-hover: #F2F2F4;
  --color-sobre-reconexion: #101012;

  --color-error: #C73434;
  --color-exito: #24864B;
  --color-aviso: #8F691B;
  --color-informacion: #3F6F99;

  --color-exito-fondo: #14251B;
  --color-exito-borde: #24864B;
  --color-exito-texto: #A3F0B8;
  --color-aviso-fondo: #271F12;
  --color-aviso-borde: #8F691B;
  --color-aviso-texto: #F2D08A;
  --color-error-fondo: #2B1719;
  --color-error-borde: #C73434;
  --color-error-texto: #FFB4AB;
  --color-informacion-fondo: #14212C;
  --color-informacion-borde: #3F6F99;
  --color-informacion-texto: #B3D5EF;

  --sombra-tarjeta: 0 10px 28px rgba(0, 0, 0, 0.45);
  --sombra-foco: 0 0 0 3px rgba(242, 242, 244, 0.22);
  --sombra-foco-fuerte: 0 0 0 3px rgba(242, 242, 244, 0.38);
  --sombra-barra: 0 -1px 2px rgba(0, 0, 0, 0.55);
  --sombra-modal: 0 8px 28px 2px rgba(0, 0, 0, 0.65);
  --velo-modal: rgba(0, 0, 0, 0.65);
}
