/* Tokens de Cuadre — contrato visual, design-system.md §2 y §3.
   Fuente de verdad de color. Si un valor no está aquí, no se usa. */

:root {
  /* Base (estructura) */
  --bg:      #0E0E0E;
  --panel:   #161616;
  --panel2:  #1F1F1F;
  --line:    #2A2A2A;
  --txt:     #F4F4F4;
  --muted:   #9AA0A6;

  /* Bordes sutiles sobre panel */
  --hair:    #ffffff08;
  --hair2:   #ffffff12;

  /* Semánticos (estado, independientes del catálogo) */
  --good:    #17B978;  /* éxito, bajo presupuesto, "hacia ti", mes en curso */
  --lima:    #8BE04B;  /* acento / recencia */
  --gold:    #F2B01E;  /* aviso, excedente por decidir, badge FIJO */
  --danger:  #C81E3C;  /* alerta, sobre presupuesto, mes cerrado */

  /* Gradiente del botón de registro (barra inferior) */
  --plus-a:  #7A3FF2;
  --plus-b:  #5B5BF0;

  /* Track de los donuts */
  --track:   #1e1e1e;
  --track2:  #242424;

  /* Radios (design-system §6) */
  --r-sheet: 24px;
  --r-card:  18px;
  --r-pill:  16px;
  --r-tile:  12px;
  --r-btn:   16px;
  --r-chip:  999px;

  /* Espaciado */
  --pad-x:   18px;
  --tap:     42px;   /* objetivo táctil mínimo */
  --barra:   90px;   /* alto reservado para la barra inferior */

  /* Categorías — un color = una categoría, para siempre (§3).
     Duplicadas en categories.js para el lado JS; estos hex mandan. */
  --cat-ahorro:          #17B978;
  --cat-inversion:       #F2B01E;
  --cat-mercado:         #FF7A1A;
  --cat-restaurantes:    #FF5A5F;
  --cat-hogar:           #FFD21A;
  --cat-transporte:      #7A3FF2;
  --cat-salud:           #12C7B4;
  --cat-educacion:       #5B5BF0;
  --cat-entretenimiento: #FF2FB0;
  --cat-fitness:         #8BE04B;
  --cat-ropa:            #FF8CC6;
  --cat-deudas:          #C81E3C;
  --cat-regalos:         #B79CFF;
  --cat-suscripciones:   #D0552F;
  --cat-otros:           #9AA0A6;
}
