/* =========================================================================
   GPSINTEGRA — Sistema de diseño (tokens + pulido global)
   Sobrio, profesional, sin dependencias externas (system fonts) para no
   afectar el rendimiento. Un solo archivo, cacheado.
   ========================================================================= */

:root {
  /* Marca / superficies (paleta sobria) */
  --navy: #0f2740;        /* navy profundo, ligeramente desaturado */
  --navy2: #173453;
  --bg: #f4f6f9;          /* fondo frío muy claro */
  --card: #ffffff;
  --surface-2: #f8fafc;
  --line: #e7ebf1;        /* bordes hairline */
  --line-2: #d9dfe8;
  --ink: #101a28;         /* texto principal */
  --muted: #5c6b7f;       /* texto secundario */
  --faint: #93a1b2;       /* texto terciario */
  --gray: #94a3b8;

  /* Acento y semánticos (versiones sobrias, no neón) */
  --green: #1f7a4d;       /* acento / positivo */
  --green-2: #1a6a43;
  --amber: #bf851f;       /* detenido / advertencia */
  --red: #bf4a44;         /* peligro / GPS mudo */

  /* Formas y sombras */
  --radius: 10px;
  --radius-sm: 8px;
  --sh-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .045);
  --sh-md: 0 6px 20px rgba(15, 23, 42, .08);
  --sh-lg: 0 24px 60px rgba(15, 23, 42, .22);

  --font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color-scheme: light;
}

/* ── pulido global (sólo lo que las páginas NO estilizan: sin conflictos) ── */
* { -webkit-tap-highlight-color: transparent; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

::selection { background: rgba(31, 122, 77, .16); }

:focus-visible { outline: 2px solid rgba(15, 39, 64, .35); outline-offset: 1px; }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--navy);
  box-shadow: 0 0 0 3px rgba(15, 39, 64, .10);
}

button { transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .04s ease; }
button:active { transform: translateY(.5px); }
a { transition: color .15s ease, background-color .15s ease; }

/* code inline sobrio */
code {
  background: #eef1f5;
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 1px 5px;
  font: .88em ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: #334155;
}

/* scrollbars finos y discretos */
* { scrollbar-width: thin; scrollbar-color: #cbd3de transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #cbd3de; border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: #b3bdca; border: 2px solid transparent; background-clip: content-box; }
