/* GENERADO desde shared/brand/ — no editar acá. Correr: node shared/brand/sync.mjs */
/* ═══════════════════════════════════════════════════════════════════════
   Venture OS · tokens de marca (RevOS) — LA ÚNICA FUENTE.
   Se edita SOLO acá. `node shared/brand/sync.mjs` copia este archivo a cada
   app; `--check` falla si alguna copia se desvió.
   Un papel, una tinta, un acento (morado RevOS). Verde = estado "ok".
   Contrastes medidos (WCAG AA texto ≥ 4,5:1) en shared/brand/README.md.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  color-scheme: light;

  /* ── Papel (superficies) ── */
  --paper:   #F7F2E9;   /* fondo */
  --paper-2: #EFE7D6;   /* fondo hundido: sidebars, headers de tabla */
  --paper-3: #E5DBC4;   /* highlight: fila activa, hover */
  --card:    #FBF7EE;   /* tarjetas sobre paper */

  /* ── Tinta (texto) — las tres pasan 4,5:1 en TODAS las superficies ── */
  --ink:      #1A1714;
  --ink-soft-paper: #5A554D;  /* texto secundario */
  --ink-mute-paper: #655E56;  /* texto terciario: labels, metadatos */
  --ink-soft-dark:  #CFC7BA;  /* los mismos, sobre superficie de tinta (10,65:1) */
  --ink-mute-dark:  #B3AB9F;  /* (7,86:1) */
  /* Lo que usa el código: cambia solo según la superficie (ver base, abajo). */
  --ink-soft: var(--ink-soft-paper);
  --ink-mute: var(--ink-mute-paper);
  --rule:      #1A1714; /* bordes y hairlines */
  --rule-soft: #9A9389; /* divisores suaves — NUNCA texto (2,7:1) */

  /* ── Acento RevOS (morado) ── */
  --accent:      #8A3D62;
  --accent-2:    #6E2E4E; /* hover / pressed */
  --accent-soft: #EFE0E7; /* fondo de chip o fila marcada */
  --on-accent:   #F7F2E9; /* texto sobre acento (6,4:1) */

  /* ── Estados ── */
  --go:        #2C6A3B;  --go-soft:   #DDE8D4;  /* ok, cobrado, hecho */
  --warn:      #7E5700;  --warn-soft: #F0E3B8;  /* atención, pendiente */
  --bad:       #8A1F1F;  --bad-soft:  #F1D9D5;  /* error, perdido */
  --cash:      #3D6058;  --cash-soft: #D8E2DD;  /* plata */

  /* Escala de estado para pipelines (stages, estaciones). Todas pasan como texto. */
  --status-idle:   var(--ink-mute); /* nuevo, sin empezar */
  --status-active: var(--accent);   /* en curso */
  --status-wait:   var(--warn);     /* esperando, bloqueado */
  --status-ok:     var(--go);       /* hecho, ganado */
  --status-cash:   var(--cash);     /* cobrado */
  --status-lost:   var(--bad);      /* descartado, perdido */

  /* ── Tipografía: dos familias ── */
  /* En las apps Next, next/font define --font-sans/--font-mono en <html>. */
  --ff-sans: var(--font-sans, "Manrope"), "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --ff-mono: var(--font-mono, "JetBrains Mono"), "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Monaco, monospace;

  /* Escala cerrada: 8 tamaños. Nada fuera de esta lista. */
  --fs-1: 11px;  /* label mono, micro */
  --fs-2: 12px;  /* meta, chips */
  --fs-3: 13px;  /* tabla, texto denso */
  --fs-4: 14px;  /* cuerpo */
  --fs-5: 16px;  /* cuerpo destacado */
  --fs-6: 20px;  /* título de sección */
  --fs-7: 26px;  /* título de página */
  --fs-8: 34px;  /* número héroe / KPI */

  /* ── Espaciado: múltiplos de 4px ── */
  --sp-1: 4px;  --sp-2: 8px;   --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px;  --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;

  /* ── Radios ── */
  --r-1: 2px;      /* default: todo */
  --r-2: 6px;      /* inputs grandes, modales */
  --r-full: 999px; /* pills, avatares */

  /* ── Sombra dura (rasgo de marca) ── */
  --shadow-1: 2px 2px 0 0 var(--ink); /* botones, chips */
  --shadow-2: 4px 4px 0 0 var(--ink); /* tarjetas */
  --shadow-3: 6px 6px 0 0 var(--ink); /* hover de tarjeta, modales */
}

/* ── Base mínima, igual en todas las apps ── */
html, body { background: var(--paper); color: var(--ink); font-family: var(--ff-sans); }
::selection { background: var(--accent); color: var(--on-accent); }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
::placeholder { color: var(--ink-mute); opacity: 0.75; }

/* Superficies: sobre tinta, los grises de texto pasan a sus versiones claras; una
   superficie de papel adentro los devuelve. El fondo no cambia (usa --ink). */
.bg-ink, .bg-ink\/80, .bg-ink\/90, [data-surface="ink"] {
  --ink-soft: var(--ink-soft-dark);
  --ink-mute: var(--ink-mute-dark);
}
.bg-paper, .bg-paper-2, .bg-paper-3, .bg-card, [data-surface="paper"] {
  --ink-soft: var(--ink-soft-paper);
  --ink-mute: var(--ink-mute-paper);
}
