/**
 * Design tokens — fuente única de colores, tipografía, espaciado y radios.
 * Todas las hojas de estilo deben referenciar estas variables.
 */
:root {
  /* Colores de marca */
  --navy: #0e2545;
  --navy-700: #15315a;
  --navy-900: #0a1c36;
  --gold: #c8a44d;
  --gold-600: #b08f3c;
  --violet: #6d28d9;
  --violet-600: #7c3aed;
  --violet-700: #5b21b6;

  /* Superficies y texto */
  --bg: #f5f6f8;
  --white: #ffffff;
  --text: #1a2233;
  --text-light: #647089;
  --border: #e3e7ee;

  /* Estados */
  --success: #0f9d6b;
  --error: #d6453d;
  --info: #2f6fdb;
  --warning: #8a6d00;
  --warning-bg: #fff8e6;

  /* Tipografía */
  --font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-size-2xs: 0.68rem;
  --font-size-xs: 0.72rem;
  --font-size-sm: 0.78rem;
  --font-size-md: 0.85rem;
  --font-size-base: 0.88rem;
  --font-size-body: 0.92rem;
  --font-size-input: 0.9375rem;
  --font-size-lg: 1.05rem;
  --font-size-xl: 1.12rem;
  --font-size-2xl: 1.25rem;
  --font-size-3xl: 1.55rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.2;
  --line-height-normal: 1.35;
  --line-height-relaxed: 1.5;
  --line-height-body: 1.6;

  /* Espaciado */
  --space-2xs: 0.15rem;
  --space-xs: 0.25rem;
  --space-sm: 0.35rem;
  --space-md: 0.5rem;
  --space-lg: 0.75rem;
  --space-xl: 1rem;
  --space-2xl: 1.25rem;
  --space-3xl: 1.5rem;
  --space-4xl: 1.75rem;
  --space-5xl: 2rem;

  /* Radios y sombras */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --radius: 14px;
  --radius-pill: 999px;
  --shadow: 0 10px 30px rgba(14, 37, 69, 0.08);
  --shadow-dropdown: 0 12px 32px rgba(14, 37, 69, 0.14);
  --shadow-nav: -8px 0 32px rgba(14, 37, 69, 0.15);

  /* Layout */
  --header-h: 52px;
  --bottom-nav-h: 0px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --content-max-width: 1600px;
  --content-width-desktop: 94%;
  --tap-target: 44px;

  /* Listados */
  --listing-articulo-min: 12rem;
  --listing-font-size: var(--font-size-md);
  --listing-line-height: var(--line-height-tight);
  --listing-clamp-lines: 2;
  --listing-btn-icon-size: 34px;
  --listing-btn-icon-svg: 16px;
  --listing-entity-link-font: inherit;
  --listing-filter-label-size: var(--font-size-sm);
  --listing-filter-input-padding: 0.45rem 0.65rem;
  --listing-cell-padding-y: 0.4rem;
  --listing-cell-padding-x: 0.5rem;
  --listing-card-gap: 0.5rem;
  --listing-card-padding: 0.75rem;
  --listing-actions-gap: 0.45rem;
  --listing-actions-min-compact: 10rem;
  --listing-actions-min-wide: 20rem;
  --listing-actions-min-ventas: 15.5rem;
  --listing-actions-max-ventas: 17rem;
  --listing-actions-rows-ventas: calc(
    var(--listing-btn-icon-size) + 2.45rem + var(--listing-actions-gap)
  );
  --listing-amount-weight: var(--font-weight-bold);

  /* Formularios */
  --field-label-size: var(--font-size-md);
  --field-input-padding: 0.45rem 0.65rem;
  --field-input-radius: var(--radius-md);
  --entity-id-size: var(--font-size-sm);
  --line-product-name-size: var(--font-size-xl);
  --line-header-size: var(--font-size-sm);
  --total-amount-size: var(--font-size-lg);

  /* Detalle / fichas */
  --detail-label-size: var(--font-size-sm);
  --detail-value-weight: var(--font-weight-semibold);
  --section-title-size: var(--font-size-input);
  --entity-title-size: var(--font-size-2xl);
}
