/* =========================================================================
   NVIAR — Design Tokens v1.0
   Fuente única de verdad para colores, tipografía, espaciado, radios y sombras.
   No usar valores "hardcodeados" en los módulos: siempre var(--nv-*).
   ========================================================================= */
/* Fuentes auto-hospedadas (funciona sin internet, ideal para la instalación local) */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:800;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-800-italic.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/jetbrains-mono-latin-600-normal.woff2') format('woff2')}

:root {
  /* ---- Marca ---------------------------------------------------------- */
  --nv-navy-950: #050F26;
  --nv-navy-900: #071A3D;
  --nv-navy-800: #0B2559;
  --nv-navy-700: #12337A;
  --nv-navy-600: #1B4396;

  --nv-blue-700: #1446D6;
  --nv-blue-600: #1E5EFF;   /* primario */
  --nv-blue-500: #3B76FF;
  --nv-blue-300: #8FB0FF;
  --nv-blue-100: #DCE6FF;
  --nv-blue-50:  #EEF3FF;

  --nv-orange-600: #E9680C;
  --nv-orange-500: #FF7A1A; /* acento (la flecha del logo) */
  --nv-orange-100: #FFE3CC;
  --nv-orange-50:  #FFF4EB;

  /* ---- Neutros (gris azulado) ----------------------------------------- */
  --nv-gray-0:   #FFFFFF;
  --nv-gray-25:  #FAFBFD;
  --nv-gray-50:  #F4F6FA;
  --nv-gray-100: #EBEFF5;
  --nv-gray-200: #DDE3EC;
  --nv-gray-300: #C5CEDB;
  --nv-gray-400: #95A1B5;
  --nv-gray-500: #6B778C;
  --nv-gray-600: #4D586B;
  --nv-gray-700: #343E50;
  --nv-gray-800: #1E2636;
  --nv-gray-900: #0F1522;

  /* ---- Semánticos ----------------------------------------------------- */
  --nv-success-600: #0F8F47; --nv-success-500: #12A150; --nv-success-50: #E7F7EE;
  --nv-warning-600: #B87400; --nv-warning-500: #E09400; --nv-warning-50: #FFF6DE;
  --nv-danger-600:  #CC2F35; --nv-danger-500:  #E5484D; --nv-danger-50:  #FDECEC;
  --nv-info-600:    var(--nv-blue-700); --nv-info-500: var(--nv-blue-600); --nv-info-50: var(--nv-blue-50);

  /* ---- Estados logísticos (flujo actual del sistema) ------------------ */
  --nv-st-bodega:     #5B6B84;  --nv-st-bodega-bg:     #EEF1F6;  /* En bodega China */
  --nv-st-transito:   #1E5EFF;  --nv-st-transito-bg:   #EAF0FF;  /* En tránsito    */
  --nv-st-aduana:     #B87400;  --nv-st-aduana-bg:     #FFF4D9;  /* En aduana      */
  --nv-st-entregado:  #0F8F47;  --nv-st-entregado-bg:  #E5F6EC;  /* Entregado      */
  --nv-st-pendiente:  #7A5AF8;  --nv-st-pendiente-bg:  #F1EDFF;  /* Pendiente pago */

  /* ---- Alias de superficie (usar estos en componentes) ---------------- */
  --nv-bg:            var(--nv-gray-50);
  --nv-surface:       var(--nv-gray-0);
  --nv-surface-2:     var(--nv-gray-25);
  --nv-border:        var(--nv-gray-200);
  --nv-border-strong: var(--nv-gray-300);
  --nv-text:          var(--nv-gray-900);
  --nv-text-2:        var(--nv-gray-600);
  --nv-text-3:        var(--nv-gray-500);
  --nv-primary:       var(--nv-blue-600);
  --nv-primary-hover: var(--nv-blue-700);
  --nv-accent:        var(--nv-orange-500);
  --nv-sidebar-bg:    var(--nv-navy-900);
  --nv-sidebar-text:  #B7C3DC;
  --nv-focus-ring:    0 0 0 3px rgba(30, 94, 255, .28);

  /* ---- Tipografía ----------------------------------------------------- */
  --nv-font: 'Plus Jakarta Sans', 'PingFang SC', 'Microsoft YaHei', 'Segoe UI', system-ui, sans-serif;
  --nv-font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;

  --nv-fs-xs:   12px;  --nv-lh-xs:   16px;
  --nv-fs-sm:   13px;  --nv-lh-sm:   18px;
  --nv-fs-base: 14px;  --nv-lh-base: 20px;
  --nv-fs-md:   16px;  --nv-lh-md:   24px;
  --nv-fs-lg:   18px;  --nv-lh-lg:   26px;
  --nv-fs-xl:   22px;  --nv-lh-xl:   30px;
  --nv-fs-2xl:  28px;  --nv-lh-2xl:  36px;
  --nv-fs-3xl:  36px;  --nv-lh-3xl:  44px;

  --nv-fw-regular: 400; --nv-fw-medium: 500; --nv-fw-semibold: 600; --nv-fw-bold: 700; --nv-fw-black: 800;

  /* ---- Espaciado (base 4) --------------------------------------------- */
  --nv-sp-1: 4px;  --nv-sp-2: 8px;  --nv-sp-3: 12px; --nv-sp-4: 16px;
  --nv-sp-5: 20px; --nv-sp-6: 24px; --nv-sp-8: 32px; --nv-sp-10: 40px; --nv-sp-12: 48px;

  /* ---- Radios --------------------------------------------------------- */
  --nv-r-sm: 6px; --nv-r-md: 8px; --nv-r-lg: 12px; --nv-r-xl: 16px; --nv-r-full: 999px;

  /* ---- Sombras -------------------------------------------------------- */
  --nv-shadow-xs: 0 1px 2px rgba(15, 21, 34, .06);
  --nv-shadow-sm: 0 1px 3px rgba(15, 21, 34, .08), 0 1px 2px rgba(15, 21, 34, .04);
  --nv-shadow-md: 0 6px 16px -4px rgba(15, 21, 34, .10), 0 2px 4px rgba(15, 21, 34, .04);
  --nv-shadow-lg: 0 20px 40px -12px rgba(7, 26, 61, .25);

  /* ---- Layout --------------------------------------------------------- */
  --nv-sidebar-w: 248px;
  --nv-sidebar-w-collapsed: 72px;
  --nv-topbar-h: 64px;
  --nv-content-max: 1440px;

  /* ---- Movimiento ----------------------------------------------------- */
  --nv-ease: cubic-bezier(.2, .7, .2, 1);
  --nv-dur-fast: 120ms; --nv-dur: 200ms;
}
