/* Portal Vifer v3 · tokens. CLARO EJECUTIVO (decision de Sergio, 2026-10-09): el portal es para directores, no una
   terminal. Mismo cian de marca que la web, sobre fondo claro; la web sigue oscura. */
@font-face { font-family: "Outfit"; src: url("../assets/fonts/outfit-latin-variable.woff2") format("woff2"); font-weight: 300 800; font-display: swap; }
@font-face { font-family: "Bebas Neue"; src: url("../assets/fonts/bebas-neue-latin-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../assets/fonts/ibm-plex-mono-latin-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../assets/fonts/ibm-plex-mono-latin-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
  --bg: #f3f5f8;
  --surface-1: #ffffff;
  --surface-2: #f6f8fb;
  --surface-3: #eef1f6;
  --fg: #0e1726;
  --fg-muted: #4f5a6b;
  --fg-dim: #5a6373;
  --fg-on-cyan: #ffffff;
  --cyan: #00717d; /* blanco sobre cian y cian sobre gris claro: contraste 4,5+ */
  --cyan-bright: #00717d;
  --cyan-deep: #006a74;
  --cyan-tint-08: rgba(0, 152, 168, 0.08);
  --cyan-tint-12: rgba(0, 152, 168, 0.12);
  --cyan-tint-20: rgba(0, 152, 168, 0.2);
  --success: #0b6b41;
  --warning: #8f4c07;
  --danger: #c93434;
  --border-subtle: rgba(14, 23, 38, 0.08);
  --border-mid: rgba(14, 23, 38, 0.14);
  --border-strong: rgba(14, 23, 38, 0.26);
  --border-cyan: rgba(0, 152, 168, 0.3);
  --border-cyan-strong: rgba(0, 152, 168, 0.6);
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 22px; --r-pill: 999px;
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px; --s-8: 32px; --s-10: 40px; --s-12: 48px; --s-16: 64px;
  --shadow-md: 0 1px 2px rgba(16, 24, 40, 0.05), 0 8px 24px rgba(16, 24, 40, 0.07);
  --shadow-lg: 0 20px 50px rgba(16, 24, 40, 0.14);
  --glow-cyan-sm: 0 0 0 1px rgba(0, 152, 168, 0.25), 0 6px 20px rgba(0, 152, 168, 0.12);
  --font-display: "Outfit", system-ui, sans-serif;
  --font-body: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Outfit", system-ui, sans-serif; /* sin letra de maquina: las cifras, en Outfit con numeros tabulares */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 160ms;
  --dur-base: 280ms;
  /* Estructura del portal */
  --side-w: 248px;
  --top-h: 60px;
  --tab-h: 64px;
  --hue: var(--cyan);
  --hue-rgb: 0, 152, 168;
  --card-shadow: 0 1px 2px rgba(16, 24, 40, 0.05), 0 10px 30px rgba(16, 24, 40, 0.07);
  /* Lo que cambia con el tema (el oscuro, en oscuro.css): tinta y papel translucidos, colores de familia legibles */
  --scheme: light;
  --ink-rgb: 14, 23, 38;
  --paper-rgb: 255, 255, 255;
  --hue-k: 48%;
  --hue-base: #0b1220;
  --glow-top: #e3f4f6;
  --ghost: #c5ccd6;
  --cyan-wash: #e6f6f7;
  --ej-winbg: #eef9f3;
  --ej-badbg: #fdecec;
}
