/* ==========================================================================
   cx-tokens.css — Contracta design tokens
   fork de assets/styles/tokens.css@b92ede3 (portfolio v2) — DF-1/DF-2 FRONTEND-BRIEF:
   nombres idénticos (--color-*), sincronizar solo en major del design system.
   Delta Contracta: capa --status-* (7 pares) + --font-family-data (D3) +
   tokens de acción accesibles (regla §1.3: #10B981 jamás texto sobre claro).
   Hex values ONLY here.
   ========================================================================== */

/* -- Light (default) ------------------------------------------------------ */
:root {
  /* Primary palette (idéntica al portfolio) */
  --color-primary: #10B981;
  --color-primary-dark: #059669;
  --color-primary-darker: #047857;
  --color-primary-light: #D1FAE5;
  --color-primary-surface: #064E3B;
  --color-primary-text: #065F46;

  /* Neutrals (idénticos) */
  --color-heading: #1D2939;
  --color-body: #6B7280;
  --color-muted: #9CA3AF;
  --color-bg: #FFFFFF;
  --color-bg-alt: #F9FAFB;
  --color-border: #E5E7EB;

  /* Utility */
  --color-tag-bg: #F3F4F6;

  /* Acciones accesibles: botón primario usa darker (#047857 ≥4.5:1 con blanco) */
  --color-action-bg: var(--color-primary-darker);
  --color-action-hover: #065F46;
  --color-action-active: #04634A;

  /* Danger */
  --color-danger: #B91C1C;
  --color-danger-bg: #FEE2E2;

  /* Typography */
  --font-family: 'Poppins', sans-serif;
  --font-family-data: 'Space Grotesk', 'Poppins', sans-serif; /* D3: datos (fechas, códigos, montos, diffs) */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.8125rem;  /* 13px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.375rem;   /* 22px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --line-height-tight: 1.1;
  --line-height-snug: 1.2;
  --line-height-normal: 1.65;
  --line-height-relaxed: 1.7;
  --letter-spacing-eyebrow: 0.1em;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-pill: 999px;

  /* Shadows (solo superficies elevadas: modales, dropdowns) */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;

  /* Focus */
  --focus-ring: 3px solid #5FD3B8;
  --focus-offset: 2px;

  /* ── Capa --status-* (FRONTEND-BRIEF §7.2 canon DF-5 + DF-11) ──
     Pares bg-subtle / text-emphasis, todos ≥ 4.5:1. */
  --status-draft-bg: #F1F5F9;    --status-draft-text: #475569;
  --status-sent-bg: #FEF3C7;     --status-sent-text: #92400E;
  --status-signed-bg: #D1FAE5;   --status-signed-text: #065F46;
  --status-active-bg: #DBEAFE;   --status-active-text: #1E40AF;
  --status-expired-bg: #FEE2E2;  --status-expired-text: #991B1B;
  --status-archived-bg: #F3F4F6; --status-archived-text: #6B7280;
  --status-inactive-bg: #F3F4F6; --status-inactive-text: #6B7280;

  /* Bootstrap 5.3 overrides (bridge, idéntico al portfolio) */
  --bs-primary: var(--color-primary);
  --bs-primary-rgb: 16, 185, 129;
  --bs-primary-text-emphasis: var(--color-primary-text);
  --bs-primary-bg-subtle: var(--color-primary-light);

  --bs-body-bg: var(--color-bg);
  --bs-body-color: var(--color-body);
  --bs-body-font-family: var(--font-family);
  --bs-body-font-size: var(--font-size-base);
  --bs-body-line-height: var(--line-height-relaxed);

  --bs-heading-color: var(--color-heading);

  --bs-border-color: var(--color-border);
  /* En app: links NUNCA #10B981 sobre claro (2.54:1) — usan emphasis */
  --bs-link-color: var(--color-primary-text);
  --bs-link-hover-color: var(--color-primary-darker);
  --bs-link-color-rgb: 6, 95, 70;

  --bs-emphasis-color: var(--color-heading);
  --bs-secondary-color: var(--color-muted);
  --bs-tertiary-bg: var(--color-bg-alt);
}

/* -- Dark ------------------------------------------------------------------ */
:root[data-bs-theme="dark"] {
  --color-bg: #0F172A;
  --color-bg-alt: #1E293B;
  --color-heading: #F1F5F9;
  --color-body: #CBD5E1;
  --color-muted: #94A3B8;
  --color-border: #334155;
  --color-tag-bg: #1E293B;
  --color-primary-light: #064E3B;
  --color-primary-text: #6EE7B7;
  /* --color-primary stays CONSTANT #10B981 in both modes */

  --color-action-bg: #059669;   /* sobre dark 5.2:1 con blanco texto — AA */
  --color-action-hover: #10B981;
  --color-action-active: #047857;
  --color-danger: #FCA5A5;
  --color-danger-bg: #450A0A;

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);

  /* --status-* dark (DESIGN-BRIEF §1.3, todos ≥ 4.5:1 sobre dark) */
  --status-draft-bg: #1E293B;    --status-draft-text: #94A3B8;
  --status-sent-bg: #451A03;     --status-sent-text: #FCD34D;
  --status-signed-bg: #064E3B;   --status-signed-text: #6EE7B7;
  --status-active-bg: #172554;   --status-active-text: #93C5FD;
  --status-expired-bg: #450A0A;  --status-expired-text: #FCA5A5;
  --status-archived-bg: #1E293B; --status-archived-text: #94A3B8;
  --status-inactive-bg: #1E293B; --status-inactive-text: #94A3B8;

  /* BS5 dark overrides */
  --bs-body-bg: var(--color-bg);
  --bs-body-color: var(--color-body);
  --bs-heading-color: var(--color-heading);
  --bs-border-color: var(--color-border);
  --bs-tertiary-bg: var(--color-bg-alt);
  --bs-link-color: #6EE7B7;      /* sobre #0F172A ≈ 9:1 — AA */
  --bs-link-hover-color: #A7F3D0;
  --bs-link-color-rgb: 110, 231, 183;
  --bs-emphasis-color: var(--color-heading);
  --bs-secondary-color: var(--color-muted);
}
