/* Exalumnos Juan Bueno — tokens de diseño. Generado desde tokens.json */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap");
:root {
  --azul-liceo: #0082F4; /* Azul institucional de las piezas del Liceo. Rellenos de marca, encabezados de 24px o más,  */
  --azul-accion: #006BCC; /* Botones primarios, encabezados de pantalla y fondo de la tarjeta digital: toda superficie  */
  --marino: #0B4A80; /* Texto principal y títulos sobre fondo y superficie (8.6:1). Texto sobre dorado (5.0:1). */
  --escudo-marino: #252A4B; /* Azul oscuro del anillo del escudo. Superficies oscuras: reverso de la tarjeta, encabezado  */
  --dorado: #FEB101; /* Acento cálido de las piezas del Liceo. Insignias de porcentaje de descuento, resaltes y de */
  --granate: #7E180B; /* Borde granate del escudo. Uso escaso: sellos, insignia de membresía. Texto blanco encima ( */
  --fondo: #F7F8FC; /* Fondo general de las pantallas. */
  --superficie: #FFFFFF; /* Tarjetas, hojas inferiores y campos de formulario sobre el fondo. */
  --azul-tenue: #E4F0FD; /* Fondo de chips de categoría, filas seleccionadas y avisos informativos. Texto marino encim */
  --texto-suave: #5B6B82; /* Texto secundario, ayudas y metadatos (5.1:1 sobre fondo). */
  --borde: #D5DCE8; /* Divisores y bordes decorativos de tarjetas. No usar como único borde de un campo. */
  --borde-control: #74829A; /* Borde de campos de texto, casillas y selectores (3:1 o más sobre superficie). */
  --exito: #16794A; /* Resultado VÁLIDO al escanear la tarjeta, confirmaciones. Texto blanco encima (5.4:1). */
  --error: #B42318; /* Tarjeta inválida, suspendida o vencida; errores de formulario. Texto blanco encima (6.6:1) */
  --space-1: 4px;
  --space-2: 8px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --sombra-tarjeta: 0 10px 28px rgba(11, 74, 128, 0.18);
  --sombra-suave: 0 2px 8px rgba(11, 74, 128, 0.08);
  --font-sans: "Plus Jakarta Sans", "Segoe UI", Roboto, system-ui, sans-serif;
}
.t-display { font-family: var(--font-sans); font-size: 32px; line-height: 38px; font-weight: 800; letter-spacing: -0.01em; }
.t-titulo { font-family: var(--font-sans); font-size: 24px; line-height: 30px; font-weight: 700; }
.t-subtitulo { font-family: var(--font-sans); font-size: 18px; line-height: 24px; font-weight: 600; }
.t-cuerpo { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.t-cuerpo-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.t-etiqueta { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.06em; }
.t-porcentaje { font-family: var(--font-sans); font-size: 40px; line-height: 40px; font-weight: 800; }
