/* ---- Componentes con los tokens de componente del sistema Linex -----------------
   Mismas piezas de siempre (.btn, .panel, .kpi, .chip, tablas), medidas con los tokens
   btn/card/kpi/chip del ds-bundle y con la auditoria de taste-skill (redesign-existing-projects):
   cifras tabulares, titulos con tracking negativo, estados hover/active, transiciones cortas,
   foco visible, teclas <kbd> fisicas. Se carga despues de alias.css. */
h1, h2, h3 { letter-spacing: var(--lx-tracking-tight); text-wrap: balance; }
.btn, button.btn, button.primario, button.secundario {
  min-height: var(--lx-btn-sm-height);
  border-radius: var(--lx-btn-radius);
  font-size: var(--lx-btn-font-size);
  font-weight: var(--lx-btn-font-weight);
  transition: background var(--lx-duration-fast) var(--lx-ease), color var(--lx-duration-fast) var(--lx-ease), transform var(--lx-duration-fast) var(--lx-ease), box-shadow var(--lx-duration-fast) var(--lx-ease);
}
.btn:active, button:active { transform: scale(0.98); }
.btn.chico, button.chico { min-height: var(--lx-control-h-sm); border-radius: var(--lx-btn-radius); }
.panel, .tarjeta, .card { border-radius: var(--lx-card-radius); box-shadow: var(--lx-shadow-sm); transition: box-shadow var(--lx-duration-base) var(--lx-ease); }
.kpi { border-radius: var(--lx-kpi-radius); padding: var(--lx-kpi-pad-y) var(--lx-kpi-pad-x); }
.kpi .valor, .num, td.num, .edad, .money, .cifra { font-variant-numeric: tabular-nums; }
.kpi .valor { letter-spacing: var(--lx-tracking-tight); line-height: var(--lx-lh-tight); }
.chip, .pill, .etiqueta { border-radius: var(--lx-chip-radius); font-size: var(--lx-pill-font-size); font-weight: var(--lx-pill-font-weight); }
.grupo, .rotulo, .k-lbl { letter-spacing: var(--lx-tracking-label); text-transform: uppercase; font-size: 11px; font-weight: var(--lx-fw-bold); }
input, select, textarea { border-radius: var(--lx-field-radius); transition: border-color var(--lx-duration-fast) var(--lx-ease), box-shadow var(--lx-duration-fast) var(--lx-ease); }
table td, table th { font-variant-numeric: tabular-nums; }
kbd { font-family: var(--mono); font-size: 11px; padding: 1px 6px; border: 1px solid var(--borde); border-bottom-width: 2px; border-radius: 4px; background: var(--superficie-2); color: var(--texto-2); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }
