/* Generado desde tokens.json — no editar a mano. */
@font-face { font-family: "Inter"; src: url("fonts/Inter-latin.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("fonts/Montserrat-latin.woff2") format("woff2"); font-weight: 500 700; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --azul-profundo: #1b3a6b;
  --turquesa: #00b4d8;
  --navy-noche: #012257;
  --gris-claro: #f2f4f7;
  --gris-oscuro: #2b2d42;
  --blanco: #ffffff;
  --surface-page: var(--gris-claro);
  --surface-card: var(--blanco);
  --surface-raised: #ffffff;
  --surface-inverse: var(--navy-noche);
  --line: #e2e6ee;
  --line-strong: #7a8496;
  --ink: var(--gris-oscuro);
  --ink-heading: var(--azul-profundo);
  --ink-soft: #4a5261;
  --ink-muted: #6b7385;
  --ink-on-inverse: #ffffff;
  --ink-on-inverse-muted: #8fa2c0;
  --primary: var(--azul-profundo);
  --primary-hover: #142d55;
  --on-primary: #ffffff;
  --accent: var(--turquesa);
  --accent-ink: #0077a0;
  --accent-soft: #e0f6fb;
  --link: var(--accent-ink);
  --focus-ring: #0077a0;
  --estado-abierta: #006c84;
  --estado-abierta-soft: #e0f6fb;
  --estado-por-cerrar: #8a4b00;
  --estado-por-cerrar-soft: #fff1d6;
  --estado-evaluacion: #4a5261;
  --estado-evaluacion-soft: #edeff3;
  --estado-adjudicada: var(--azul-profundo);
  --estado-adjudicada-soft: #e3eaf5;
  --estado-cancelada: #a1261b;
  --estado-cancelada-soft: #fce9e7;
  --shadow-popover: 0 12px 32px -12px rgba(1, 34, 87, 0.28);
}
[data-theme="dark"] {
  color-scheme: dark;
  --surface-page: #071631;
  --surface-card: #0e2244;
  --surface-raised: #132b52;
  --line: #22375c;
  --line-strong: #6a7fa3;
  --ink: #e8edf5;
  --ink-heading: #ffffff;
  --ink-soft: #a9b7ce;
  --ink-muted: #8fa2c0;
  --primary: var(--turquesa);
  --primary-hover: #33c3e0;
  --on-primary: var(--navy-noche);
  --accent-ink: #7fd8ec;
  --accent-soft: #0b3446;
  --focus-ring: var(--turquesa);
  --estado-abierta: #7fd8ec;
  --estado-abierta-soft: #0b3446;
  --estado-por-cerrar: #ffc46b;
  --estado-por-cerrar-soft: #3a2708;
  --estado-evaluacion: #b7c6de;
  --estado-evaluacion-soft: #1c2f4f;
  --estado-adjudicada: #a9c3f0;
  --estado-adjudicada-soft: #17305a;
  --estado-cancelada: #f7a39a;
  --estado-cancelada-soft: #3d1614;
  --shadow-popover: 0 12px 32px -12px rgba(0, 0, 0, 0.6);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --container-max: 1240px;
  --header-height: 76px;
  --sidebar-width: 288px;
  --font-display: Montserrat, "Segoe UI", system-ui, sans-serif;
  --font-sans: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "Courier New", ui-monospace, monospace;
}
.t-display { font-family: var(--font-display); font-size: 42px; line-height: 46px; font-weight: 700; letter-spacing: -0.02em; }
.t-title { font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -0.01em; }
.t-amount { font-family: var(--font-display); font-size: 20px; line-height: 24px; font-weight: 700; }
.t-descriptor { font-family: var(--font-display); font-size: 13px; line-height: 18px; font-weight: 500; letter-spacing: 0.1em; }
.t-body { font-family: var(--font-sans); font-size: 16px; line-height: 1.55; font-weight: 400; }
.t-tender-title { font-family: var(--font-sans); font-size: 16px; line-height: 23px; font-weight: 600; }
.t-body-sm { font-family: var(--font-sans); font-size: 13.5px; line-height: 20px; font-weight: 400; }
.t-label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 600; }
.t-eyebrow { font-family: var(--font-sans); font-size: 11.5px; line-height: 16px; font-weight: 700; letter-spacing: 0.18em; }
.t-overline { font-family: var(--font-sans); font-size: 10.5px; line-height: 14px; font-weight: 700; letter-spacing: 0.14em; }
.t-code { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 400; }
