/* ============================================================
   SIRIM · Plataforma — estilos base (self-hosted)
   ============================================================ */

/* ----------  Tipografías (subconjunto latino)  ---------- */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('../fonts/IBMPlexSans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2212;
}
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/IBMPlexMono-Regular.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/IBMPlexMono-Medium.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/IBMPlexMono-SemiBold.woff2') format('woff2'); }

/* ----------  Base (equivalente al <helmet> del diseño original)  ---------- */
* { box-sizing: border-box; }
html { background: #e9ebf0; }
body {
  margin: 0;
  background: #e9ebf0;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  color: #1b2432;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
strong, b { font-variant-numeric: tabular-nums; }
input, select, textarea { font-variant-numeric: tabular-nums; color: #1b2432; }
::selection { background: #cfe0f2; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #c8cfd8; border: 3px solid #e9ebf0; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #aeb7c2; }
a { color: #1f5fa8; text-decoration: none; }
a:hover { color: #0f2c4d; text-decoration: underline; }
input, select, button, textarea { font-family: 'IBM Plex Sans', system-ui, sans-serif; }
input:focus, select:focus { outline: 2px solid #7fa9d8; outline-offset: -1px; }

/* El lienzo del diseño es de ancho fijo (1440px); permitir scroll horizontal
   en pantallas menores sin romper la maquetación original. */
#app { display: block; }
#app > div { min-width: 0; }
body { overflow-x: auto; }

/* Plantillas embebidas nunca visibles */
script[type="text/template"] { display: none; }
