/* ============================================================
   TIPOGRAFÍA DE SÍGUELO — Sesión 201
   ============================================================

   La misma letra que el CRM «Síguelo Gestión»: IBM Plex Sans para todo el
   texto e IBM Plex Mono para patentes, IMEI, códigos y números técnicos.
   Esta hoja NO toca estructura ni colores de marca (el amarillo #FFD500 con
   borde #FFBF00, las esquinas de 8 px, el fondo #F4F5F7 siguen donde están):
   sólo fuente, tamaños, pesos, interlineado y colores de texto.

   Va enlazada DESPUÉS del CSS de cada página, para que sus reglas ganen a las
   genéricas. Lo que está escrito en línea (style="…") se reescribió a mano a
   la misma escala, porque una hoja no puede ganarle a un estilo en línea.

   LA ESCALA (no se usa nada bajo 11 px):
     h1 24/600 (letter-spacing -0.01em) · subtítulo 14 apagado
     h2 17/600 · h3 15/600 · texto 14/400 · ayudas 12 apagado
     menú 14/500 (activo 600) · grupos del menú 11/600 MAYÚSCULAS
     botones 14/500, alto mín. 40 (principal 600; chico 13, alto 32)
     campos 14, alto mín. 38 · etiquetas 12/600 apagado
     tablas: encabezados 12/600 apagado, celdas 13 · pestañas 14/500 (activa 600)
     chips 12/600 · patentes/IMEI/códigos en Mono 600 · cifras tabulares

   LAS FUENTES. Fase 1 de la estandarización (1-nov-2026): se sirven SOLO desde
   public/fuentes/ (los mismos woff2 de la familia Síguelo). Antes se pedían a
   Google Fonts y lo local era un respaldo con otro nombre; ahora no sale nada
   hacia afuera, la CSP no necesita fonts.googleapis.com ni fonts.gstatic.com,
   y la letra es la misma con o sin internet. */

@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fuentes/ibm-plex-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fuentes/ibm-plex-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fuentes/ibm-plex-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fuentes/ibm-plex-sans-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fuentes/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fuentes/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fuentes/ibm-plex-mono-latin-600-normal.woff2') format('woff2'); }

:root {
    --sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --mono: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
    --ink: #15181D;     /* texto principal */
    --ink-2: #3A414C;   /* texto secundario, menú */
    --muted: #5B6370;   /* ayudas, etiquetas, encabezados de tabla */
    --texto-secundario: var(--ink-2);
    --line: #E2E5EA;    /* bordes de tarjetas (como el CRM) */
    --line-2: #EEF0F3;  /* líneas finas entre ítems */
    --soft: #F7F8FA;    /* fondos suaves */
}

/* ── Base ── */
html { -webkit-text-size-adjust: 100%; }
body { font: 14px/1.45 var(--sans); color: var(--ink); }
code, kbd, pre, samp, .mono { font-family: var(--mono); }
.mono { font-weight: 600; font-variant-numeric: tabular-nums; }
b, strong { font-weight: 600; }
.tabular, .cifra, .kpi, .num, table, [data-cifra] { font-variant-numeric: tabular-nums; }

/* ── Títulos ── */
h1 { font-size: 24px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; color: var(--ink); }
h2 { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--ink); }
h3 { font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--ink); }
h4, h5, h6 { font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--ink); }
.header-title p, .subtitulo, h1 + p, h1 + div > p:first-child { font-size: 14px; color: var(--muted); font-weight: 400; }
small, .ayuda, .muted, .texto-ayuda, .nota { font-size: 12px; color: var(--muted); }

/* ── Menú lateral ── */
.nav-item { font-size: 14px; font-weight: 500; color: var(--ink-2); }
.nav-item.active { font-weight: 600; color: var(--ink); }
.nav-grupo, .menu-grupo { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.logo-container > span { font-size: 11px !important; font-weight: 600; letter-spacing: .06em !important; text-transform: uppercase; color: var(--muted) !important; }
.user-info { font-size: 13px; color: var(--ink-2); }
#tooltipMenu { font-size: 12px; font-weight: 600; font-family: var(--sans); }

/* ── Botones ── */
button, .btn, [role="button"] { font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.2; }
button { min-height: 32px; }
.btn { font-size: 14px; font-weight: 600; min-height: 40px; }
.btn-outline, .btn.secundario { font-weight: 500; }
.btn-chico, .btn.chico, button.chico { font-size: 13px; min-height: 32px; }

/* ── Campos y etiquetas ── */
input, select, textarea { font-family: var(--sans); font-size: 14px; color: var(--ink); line-height: 1.3; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
select, textarea { min-height: 38px; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
label { font-size: 12px; font-weight: 600; color: var(--muted); }
label.switch { font-size: inherit; }
.search-input { font-size: 14px; }

/* ── Tablas ── */
table { font-size: 13px; }
th { font-size: 12px; font-weight: 600; color: var(--muted); }
td { font-size: 13px; color: var(--ink); }
table .mono, td.mono { font-size: 13px; }

/* ── Pestañas ── */
.tab-logs-sistema, .pestana, .tab { font-size: 14px !important; font-weight: 500 !important; }
.tab-logs-sistema[style*="solid"], .pestana.activa, .tab.activa { font-weight: 600 !important; }

/* ── Chips, pastillas ── */
.badge, .chip, .pill, .rl-pill, .etiqueta, .sello { font-size: 12px; font-weight: 600; line-height: 1.3; }

/* ── Mapas y PDF ── */
.leaflet-container { font-family: var(--sans); }
.leaflet-popup-content { font-size: 13px; line-height: 1.45; color: var(--ink); }
.sheet-zip, .sheet-zip * { font-family: var(--sans); }

/* ── Ayuda del módulo (manual dentro del iframe y suelto) ── */
.ay-cab h3 { font-size: 15px; }
.ay-cab .rot { font-size: 11px; letter-spacing: .06em; color: var(--muted); font-weight: 600; }
