/* ==========================================================================
   ORKO — tokens de diseño (Fase 1, guía de estilo validada)
   Uso: <html data-tema="oscuro|claro">. El tema lo decide cada terminal
   (oscuro, claro o automático por horario; DECISIÓN 061).
   ========================================================================== */

:root {
  /* --- Marca (oficial) --- */
  --orko-teal:        #01AF98;  /* Vibrancia y tecnología. Acento, iconos, selección en modo oscuro. NO como fondo de texto blanco (2,8:1). */
  --orko-carbon:      #35484F;  /* Solidez y confianza. Texto principal en claro, superficies en oscuro. */
  --orko-menta:       #A2DEC4;  /* Frescura y calma. Resaltados suaves, cantidad pendiente. */
  --orko-papel:       #F5F5ED;  /* Claridad. Fondo claro y el "papel" del ticket. */

  /* --- Derivados por contraste --- */
  --orko-teal-profundo: #017A6A; /* Botón principal con texto blanco (5,3:1) y texto de acento sobre papel (4,8:1). */
  --orko-noche:         #1E2A2F; /* Fondo del modo oscuro. Teal sobre noche 5,3:1. */
  --orko-carbon-alto:   #43585F; /* Superficie elevada en oscuro. */
  --orko-gris-texto:    #56666B; /* Texto secundario sobre papel (5,5:1). */
  --orko-gris-claro:    #B4C3C7; /* Texto secundario en oscuro: 8,1:1 sobre noche y 5,3:1 sobre Deep Charcoal. */

  /* --- Semánticos --- */
  --orko-peligro:   #C0392B;  /* Borrar, anular. Texto blanco 5,4:1. */
  --orko-aviso:     #F2B33D;  /* Cortesía de tarifa, licencia. Texto carbón 5,2:1. */
  --orko-otro-tpv:  #6A5ACD;  /* Cuenta abierta en otro terminal. Texto blanco 5,3:1. */

  /* --- Paleta cerrada de familias (todas con texto blanco ≥ 4,5:1) --- */
  --fam-teal:    #017A6A;
  --fam-ambar:   #A65E00;
  --fam-burdeos: #8E2442;
  --fam-teja:    #B0432B;
  --fam-oliva:   #5A6E1F;
  --fam-bosque:  #2C6E49;
  --fam-oceano:  #1F5F8B;
  --fam-indigo:  #4450A8;
  --fam-uva:     #6E3E9E;
  --fam-ciruela: #9A2F6E;
  --fam-cafe:    #6B4A2E;
  --fam-pizarra: #4C5F68;

  /* --- Tipografía --- */
  --fuente-ui:     "Plus Jakarta Sans", system-ui, "Segoe UI", Roboto, sans-serif;
  --fuente-ticket: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

  --txt-12: 0.75rem;   /* etiquetas mínimas: nunca por debajo */
  --txt-14: 0.875rem;
  --txt-16: 1rem;
  --txt-18: 1.125rem;  /* texto de botón de artículo */
  --txt-22: 1.375rem;
  --txt-28: 1.75rem;   /* total del ticket */
  --txt-36: 2.25rem;

  /* --- Espaciado (base 4 px) --- */
  --esp-1: 4px;  --esp-2: 8px;  --esp-3: 12px; --esp-4: 16px;
  --esp-5: 24px; --esp-6: 32px; --esp-7: 48px;

  /* --- Tacto: servicio con prisa, dedos mojados --- */
  --toque-min: 56px;      /* ningún control de venta por debajo */
  --toque-teclado: 64px;  /* teclas numéricas */

  /* --- Formas --- */
  --radio-s: 6px;   /* chips, líneas */
  --radio-m: 10px;  /* botones */
  --radio-l: 16px;  /* paneles */
}

/* --- Tema oscuro --- */
[data-tema="oscuro"] {
  --fondo:          var(--orko-noche);
  --superficie:     var(--orko-carbon);
  --superficie-2:   var(--orko-carbon-alto);
  --texto:          var(--orko-papel);
  --texto-suave:    var(--orko-gris-claro);
  --borde:          #4A6068;
  --acento:         var(--orko-teal);
  --seleccion:      var(--orko-teal);
  --boton-neutro:   var(--orko-carbon);
}

/* --- Tema claro --- */
[data-tema="claro"] {
  --fondo:          var(--orko-papel);
  --superficie:     #FFFFFF;
  --superficie-2:   #E9E9DF;
  --texto:          var(--orko-carbon);
  --texto-suave:    var(--orko-gris-texto);
  --borde:          #D5D8CE;
  --acento:         var(--orko-teal-profundo);
  --seleccion:      var(--orko-teal-profundo);
  --boton-neutro:   #FFFFFF;
}

/* Cifras siempre tabulares: los importes no bailan en columna */
.num { font-variant-numeric: tabular-nums; }
