/* =====================================================================
   Kavos · tokens de diseño · mundo "Lámina de ingeniería"
   Fuente de verdad del lenguaje visual de las herramientas internas de
   Kavos Construcciones. Copiar este archivo tal cual a cada herramienta y
   construir sobre las variables --kv-*; no redefinir valores localmente.
   Documentación: DESIGN.md en la raíz del repo.
   ===================================================================== */
:root {
  /* --- papel y láminas --- */
  --kv-papel: #F9F9F7;                       /* la hoja: fondo de página */
  --kv-cuadricula: rgba(23, 25, 28, .045);   /* cuadrícula menor (24px) */
  --kv-cuadricula-mayor: rgba(23, 25, 28, .085); /* cuadrícula mayor (120px) */
  --kv-lamina: #FFFFFF;                      /* la lámina: tarjetas, paneles */
  --kv-superficie: #F1F2EE;                  /* celda rebajada dentro de una lámina */
  --kv-superficie-2: #F6F6F3;                /* cuerpo desplegado */
  --kv-marco: #B9BBB3;                       /* marco de la lámina, 1px */
  --kv-regla: #D5D7D1;                       /* hairlines, divisores de cajetín */

  /* --- tinta --- */
  --kv-tinta: #17191C;                       /* texto y cifras */
  --kv-tinta-2: #4B4F55;                     /* texto secundario (7,9:1 sobre blanco) */
  --kv-tinta-3: #8A8F96;                     /* guías, ejes, marcas; nunca texto que se lea */
  --kv-carbon: #16181B;                      /* rail de navegación, botones de IA */
  --kv-carbon-2: #23262B;                    /* hover en el rail */
  --kv-carbon-texto: #C9CDD3;                /* texto sobre carbón */

  /* --- marca (intocable) --- */
  --kv-naranja: #E8600C;                     /* marca de revisión y lectura activa */
  --kv-naranja-oscuro: #C24E07;              /* hover / presionado */
  --kv-naranja-suave: #FDECE0;               /* celda tintada que pide acción */
  --kv-naranja-linea: rgba(232, 96, 12, .6); /* nube de revisión (borde punteado) */

  /* --- estados (texto sobre blanco ≥ 4,5:1) --- */
  --kv-verde: #1F7A3C;
  --kv-verde-suave: #E6F2E9;
  --kv-rojo: #C92A2A;
  --kv-rojo-suave: #FBE9E9;
  --kv-ambar: #B7610A;
  --kv-ambar-suave: #FCEFD9;
  --kv-verde-barra-1: #2E9E4F;               /* barras de balance mensual */
  --kv-verde-barra-2: #1F7A3C;
  --kv-rojo-barra-1: #E24B4B;
  --kv-rojo-barra-2: #C92A2A;

  /* --- tipografía --- */
  --kv-fuente: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --kv-fuente-cifra: "Barlow Condensed", "Barlow", "Arial Narrow", Arial, sans-serif;
  --kv-t-xs: 11px;                           /* piso: notas al pie, ejes */
  --kv-t-sm: 12px;                           /* etiquetas, tablas densas */
  --kv-t-md: 14px;                           /* cuerpo */
  --kv-t-lg: 16px;                           /* nombre de obra, títulos de lámina */
  --kv-t-xl: 20px;                           /* importe en el cajetín */
  --kv-t-cota: 32px;                         /* cifra de una cota */
  --kv-t-cota-grande: 44px;                  /* la cota principal de la vista */
  --kv-t-seccion: 15px;                      /* título de sección (condensada, mayúsculas) */
  --kv-tracking-seccion: .06em;

  /* --- forma --- */
  --kv-radio-sm: 3px;                        /* chips */
  --kv-radio: 4px;                           /* láminas, botones, campos */
  --kv-radio-md: 6px;                        /* paneles flotantes */
  --kv-radio-pill: 999px;

  /* --- espacio (escala de 4) --- */
  --kv-esp-1: 4px;
  --kv-esp-2: 8px;
  --kv-esp-3: 12px;
  --kv-esp-4: 16px;
  --kv-esp-5: 24px;
  --kv-esp-6: 32px;
  --kv-esp-7: 40px;

  /* --- profundidad --- */
  --kv-sombra-2: 0 6px 18px rgba(23, 25, 28, .08);        /* lámina levantada al pasar el cursor */
  --kv-sombra-3: 0 12px 32px rgba(23, 25, 28, .14);       /* panel flotante */
  --kv-foco: 0 0 0 2px var(--kv-lamina), 0 0 0 4px var(--kv-naranja);

  /* --- movimiento --- */
  --kv-rapido: 140ms;
  --kv-normal: 240ms;
  --kv-lento: 420ms;
  --kv-curva: cubic-bezier(.16, 1, .3, 1);   /* llegada segura, sin rebote */

  /* --- estructura --- */
  --kv-rail: 232px;                          /* barra lateral en escritorio */
  --kv-nav-alto: 62px;                       /* nav inferior en móvil */
  --kv-contenido: 1240px;                    /* ancho máximo del área de contenido */
  --kv-margen: 16px;
}

/* Base mínima común a todas las herramientas */
html { -webkit-font-smoothing: antialiased; text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--kv-fuente);
  font-size: var(--kv-t-md);
  line-height: 1.45;
  color: var(--kv-tinta);
  background-color: var(--kv-papel);
  background-image:
    linear-gradient(var(--kv-cuadricula-mayor) 1px, transparent 1px),
    linear-gradient(90deg, var(--kv-cuadricula-mayor) 1px, transparent 1px),
    linear-gradient(var(--kv-cuadricula) 1px, transparent 1px),
    linear-gradient(90deg, var(--kv-cuadricula) 1px, transparent 1px);
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
  background-position: -1px -1px;
}
::selection { background: var(--kv-naranja-suave); color: var(--kv-tinta); }
:focus-visible { outline: none; box-shadow: var(--kv-foco); border-radius: var(--kv-radio); }
.kv-num, .num, .amt, .metric .v, .kmonto, .kleg-monto, .debtbox .v, td.num { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; animation-delay: 0ms !important; animation-iteration-count: 1 !important; }
}
