/*
 * Archivo: tokens.css
 * Ubicación: /Public/assets/css/core/tokens.css
 * Descripción: Tokens de diseño de NEXUS (ADR-015). Toda la interfaz toma colores, tipografía, radios y sombras de
 * estas variables; un tema (Public/themes/<id>/theme.json) solo cambia sus valores, sin tocar módulos ni PHP.
 * Los valores por defecto reproducen exactamente la apariencia original. Va primero en el bundle.
 */
:root {
    /* Pantalla de acceso (login): escena oscura propia, independiente del modo claro/oscuro del tema.
       Antes usaba los colores de TEXTO del tema como fondo: con un tema oscuro el fondo salía claro y las letras
       blancas no se veían. Cada tema define su propio login con estos tokens (oscuro por defecto, claro en «Nexus
       (claro)» y «Esmeralda»). */
    --nx-login-bg: #13233f;
    --nx-login-bg-deep: #050b18;
    --nx-login-text: #f8fafc;
    --nx-login-muted: #cbd5e1;
    --nx-login-field: #0b1527;
    --nx-login-card: rgba(255, 255, 255, 0.03);
    --nx-login-card-hover: rgba(255, 255, 255, 0.06);
    --nx-login-card-border: rgba(255, 255, 255, 0.08);
    --nx-login-card-shadow: rgba(0, 0, 0, 0.5);
    --nx-login-divider: rgba(255, 255, 255, 0.1);
    --nx-login-field-border: rgba(255, 255, 255, 0.18);
    --nx-login-text-shadow: rgba(0, 0, 0, 0.6);
    --nx-login-glow-1: #2563eb;
    --nx-login-glow-2: #06b6d4;
    --nx-login-button-mix: #050b18;

    /* Fondo y superficies */
    --nx-bg: #def4fd;
    --nx-surface: #ffffff;
    --nx-surface-2: #f8fafc;
    --nx-surface-3: #edf2f7;

    /* Bordes */
    --nx-border: #e2e8f0;
    --nx-border-strong: #cbd5e0;

    /* Texto */
    --nx-text: #2d3748;
    --nx-text-strong: #000000;
    --nx-text-body: #333333;
    --nx-text-secondary: #4a5568;
    --nx-text-muted: #718096;
    --nx-text-subtle: #a0aec0;
    --nx-text-on-primary: #ffffff;

    /* Marca */
    --nx-primary: #3182ce;
    --nx-primary-strong: #2b6cb0;
    --nx-primary-soft: #ebf8ff;
    --nx-primary-border: #bee3f8;
    --nx-accent: #187b72;
    --nx-highlight: #805ad5;

    /* Barra lateral (marco de la aplicación). Por defecto usa los tokens de superficie y texto: el tema claro queda
       igual y el oscuro la oscurece solo; un tema puede darle identidad propia (p. ej. Esmeralda). */
    --nx-sidebar-bg: var(--nx-surface);
    --nx-sidebar-border: var(--nx-border);
    --nx-sidebar-text: var(--nx-text-secondary);
    --nx-sidebar-icon: var(--nx-text-muted);
    --nx-sidebar-divider: var(--nx-surface-2);
    --nx-sidebar-hover-bg: var(--nx-surface-3);
    --nx-sidebar-hover-text: var(--nx-primary);

    /* Estados */
    --nx-success: #38a169;
    --nx-success-strong: #2f855a;
    --nx-success-text: #166534;
    --nx-success-soft: #dcfce7;
    --nx-success-border: #bbf7d0;
    --nx-danger: #e53e3e;
    --nx-danger-soft: #fff5f5;
    --nx-danger-border: #fecaca;
    --nx-warning: #d69e2e;
    --nx-warning-soft: #fffff0;
    --nx-warning-border: #fde68a;

    /* Tipografía, radios y sombras */
    --nx-font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --nx-radius-sm: 4px;
    --nx-radius: 8px;
    --nx-radius-lg: 12px;
    --nx-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);

    /* Alias de las variables previas (no usar en código nuevo) */
    --bg-light: var(--nx-bg);
    --border-color: var(--nx-border);
    --text-main: var(--nx-text-body);
    --text-muted: var(--nx-text-muted);
    --brand-blue: var(--nx-primary);
}
