/* ==========================================================================
   Springhead Design System — Tokens
   Importar este archivo y usar las variables. Nunca escribir hex literales.
   ========================================================================== */

:root {
  /* ---- Core palette (v2.2: realineada al manual de marca de Pia Pulgar,
     Manual Springhead.pdf p.7 — ver color.md "Manual = fuente") ---- */
  --sh-navy: #0B314A;
  --sh-navy-deep: #042037;
  --sh-teal: #1B7181;
  --sh-teal-soft: #4A8B98;
  --sh-yellow: #F1E51B;
  --sh-yellow-soft: #F7ED6E;
  --sh-yellow-ink: #8B8301;
  --sh-cream: #D9D6C7;
  --sh-paper: #F5F3EB;
  --sh-paper-warm: #EFECDE;
  --sh-off-white: #FAF8F1;
  --sh-white: #FFFFFF;

  /* ---- Paleta secundaria (manual p.7, v2.2) — variantes "soft" oficiales
     de cream/teal/navy. --sh-teal-soft (arriba) ahora usa el valor oficial
     del manual en vez del tinte derivado de v2.1; --sh-cream-soft y
     --sh-navy-soft son tokens nuevos. Ver color.md. ---- */
  --sh-cream-soft: #E7E7DE;
  --sh-navy-soft:  #3D5A6E;

  /* ---- Ink scale (derivada de navy; v2.2: recalculada en OKLCH manteniendo
     el mismo desplazamiento de luminosidad de cada escalón respecto de navy
     que en v2.1, re-anclada al nuevo navy. Ver color.md § Escala de tinta. ---- */
  --sh-ink-900: #042037;
  --sh-ink-800: #0B314A;
  --sh-ink-700: #23465F;
  --sh-ink-600: #3F6076;
  --sh-ink-500: #657C8C;
  --sh-ink-400: #8F9FAC;
  --sh-ink-300: #B8C2CA;
  --sh-ink-200: #D3D9DF;
  --sh-ink-100: #E1E4E7;
  --sh-ink-50:  #EAEBED;

  /* ---- Semantic (colores independientes de la paleta de marca; sin
     cambios en v2.2, salvo --sh-muted que es alias de ink-400) ---- */
  --sh-positive: #2E7D5B;
  --sh-negative: #B14B3F;
  --sh-warning:  #C68B2F;
  --sh-muted:    #8F9FAC;

  /* Alias semántico para capa de producto (mismos valores, nombre de uso común).
     No reemplazan a positive/negative: conviven. */
  --sh-success: var(--sh-positive);   /* 5.00:1 sobre blanco (AA) */
  --sh-danger:  var(--sh-negative);   /* 5.32:1 sobre blanco (AA) */
  --sh-info:    #1B7181;              /* = teal. v2.2: 5.64:1 sobre blanco (AA;
                                          era 7.57:1 AAA con el teal de v2.1) */

  /* Variante de texto de warning: --sh-warning (#C68B2F) da 2.94:1 sobre blanco,
     no pasa AA para texto. Usar --sh-warning-ink para texto/íconos sobre blanco
     o paper; --sh-warning sigue sirviendo como fill/badge con texto oscuro encima.
     Derivado del mismo matiz ámbar, mismo patrón que --sh-yellow-ink. */
  --sh-warning-ink: #8A5719;          /* 6.07:1 sobre blanco (AA) */

  /* ---- Type families (v3.0: realineadas al manual de marca, Manual
     Springhead.pdf p.16-17 — ver typography.md "Manual = fuente"). El manual
     define solo DOS tipografías: Ladislav Semibold (display/marca) y
     Helvetica (texto, en todo producto de marca incl. web). Source Serif 4,
     IBM Plex Sans, JetBrains Mono y Nunito salen del sistema. ---- */
  --sh-font-display: 'Ladislav SemiBold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --sh-font-text:    'Helvetica Neue', Helvetica, Arial, sans-serif;

  /* Pesos de Helvetica (--sh-font-text). Ladislav es un único peso (600,
     el propio archivo): nunca se le aplica --sh-fw-strong ni font-style
     italic (ver fonts/fonts.css, font-synthesis: none). */
  --sh-fw-text:   300; /* Helvetica Light — default de texto en todo producto de marca */
  --sh-fw-strong: 700; /* Helvetica Bold — énfasis, subtítulos de bloque, UI chrome */

  /* ---- Deprecated font-role aliases (v3.0) ----
     Los 7 nombres de token de v2.2 se mantienen para no romper a los repos
     que los vendorizaron (abd, agp, frc, shp): quedan repuntados al rol
     nuevo que mejor corresponde. --sh-f-display (antes Nunito, solo
     wordmark) apunta al nuevo display (Ladislav). El resto (serif: prosa/
     títulos; sans: UI/data; mono: números/captions) apunta a --sh-font-text,
     porque el manual solo tiene un texto para todo lo que no es el wordmark:
     Helvetica. Ver typography.md "Alias deprecados" para el detalle. */
  --sh-f-display: var(--sh-font-display); /* deprecado: antes Nunito */
  --sh-f-sans:    var(--sh-font-text);    /* deprecado: antes IBM Plex Sans */
  --sh-f-serif:   var(--sh-font-text);    /* deprecado: antes Source Serif 4 */
  --sh-f-mono:    var(--sh-font-text);    /* deprecado: antes JetBrains Mono; usar tabular-nums, no una fuente mono */

  --sh-f-body-serif: var(--sh-font-text); /* deprecado (v2.1), antes Source Serif 4 */
  --sh-f-body-sans:  var(--sh-font-text); /* deprecado (v2.1), antes IBM Plex Sans */
  --sh-f-body:       var(--sh-font-text); /* deprecado (v2.1) */

  /* ---- Spacing rhythm (4px base) ---- */
  --sh-r-1: 4px;   --sh-r-2: 8px;   --sh-r-3: 12px;  --sh-r-4: 16px;
  --sh-r-5: 24px;  --sh-r-6: 32px;  --sh-r-7: 48px;  --sh-r-8: 64px;
  --sh-r-9: 96px;  --sh-r-10: 128px;

  /* ---- Radii ---- */
  --sh-radius-sm: 4px;
  --sh-radius-md: 8px;
  --sh-radius-lg: 14px;
  --sh-radius-pill: 999px;

  /* ---- Borders ---- */
  --sh-border:        1px solid var(--sh-ink-200);
  --sh-border-strong: 1px solid var(--sh-ink-300);
  --sh-border-dotted: 1px dashed var(--sh-ink-300);

  /* ---- Focus ring (accesibilidad, ver product-ui.md) ---- */
  --sh-focus-ring-color:  var(--sh-teal); /* v2.2: 5.64:1 sobre blanco (AA), cumple 3:1 no-texto */
  --sh-focus-ring-width:  2px;
  --sh-focus-ring-offset: 2px;

  /* ---- Motion (ver Emil Kowalski en product-ui.md § Motion) ---- */
  --sh-motion-duration-fast: 120ms;  /* botones, toggles: 100-160ms */
  --sh-motion-duration-base: 200ms;  /* dropdowns, tooltips: 150-250ms */
  --sh-motion-duration-slow: 280ms;  /* modales, drawers: <=300ms */
  --sh-motion-ease-out:      cubic-bezier(0.16, 1, 0.3, 1);
  --sh-motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --sh-motion-stagger:       50ms;   /* listas: 30-80ms por ítem */

  /* ---- Densidad de tabla / alto de fila (ver product-ui.md § Tablas) ---- */
  --sh-row-height-compact:     32px;
  --sh-row-height-comfortable: 40px;
  --sh-row-height-relaxed:     48px;

  /* ---- Touch targets (Fitts, ver product-ui.md § Formularios) ---- */
  --sh-touch-target-min:    44px; /* mínimo absoluto, cualquier input/botón */
  --sh-touch-target-tablet: 48px; /* pantallas de planta/packing, con guantes */

  /* ---- Z-index (capas de superposición) ---- */
  --sh-z-dropdown: 1000;
  --sh-z-sticky:   1100;
  --sh-z-overlay:  1200;
  --sh-z-modal:    1300;
  --sh-z-toast:    1400;
  --sh-z-tooltip:  1500;

  /* ---- Chart-specific ---- */
  --sh-chart-bg:        var(--sh-off-white);
  --sh-chart-grid:      var(--sh-ink-200);
  --sh-chart-axis:      var(--sh-ink-300);
  /* v2.1: alias reapuntado de --sh-ink-500 a --sh-ink-600. v2.2: valores
     recalculados junto con toda la escala ink (ver arriba); el veredicto no
     cambia: ink-500 da 3.9-4.4:1 sobre paper/off-white/blanco (sigue
     fallando AA de texto normal, 4.5:1); ink-600 da 6.0-6.7:1 (sigue
     pasando). Ver CHANGELOG 2.2. */
  --sh-chart-tick:      var(--sh-ink-600);
  --sh-chart-c1:        var(--sh-navy);   /* primera serie */
  --sh-chart-c2:        var(--sh-teal);   /* segunda serie */
  --sh-chart-highlight: var(--sh-yellow); /* la serie destacada */
  --sh-chart-c3:        var(--sh-ink-600);
  --sh-chart-c4:        var(--sh-ink-400);
}
