:root {
  --font-scale: 1;
  --fs-xs: calc(0.75rem * var(--font-scale));
  --fs-sm: calc(0.875rem * var(--font-scale));
  --fs-base: calc(1rem * var(--font-scale));
  --fs-lg: calc(1.125rem * var(--font-scale));
  --fs-xl: calc(1.25rem * var(--font-scale));
  --fs-2xl: calc(1.5rem * var(--font-scale));
  --fs-3xl: calc(1.875rem * var(--font-scale));
  
  --font-main: 'Outfit', system-ui, -apple-system, sans-serif;
  --font-numeric: 'Inter', system-ui, sans-serif;
  --font-accent: 'Michroma', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
}

body {
  font-family: var(--font-main);
  font-size: var(--fs-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Base resets para inputs - por defecto usarán Outfit */
button, input[type=email], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
  font-family: inherit;
}

/* Inputs numéricos y contraseñas prefieren fuentes mono o numéricas (Inter) */
input[type=number] {
  font-family: var(--font-numeric);
}
input[type=password] {
  font-family: caption;
  letter-spacing: .1em;
}

/* =========================================================
   MAPEO ESTRICTO DE FUENTES (REGLAS DE ARQUITECTURA)
   Asegura que el 100% de la plataforma respete la ley de fuentes.
   ========================================================= */

/* 1. Títulos y Badges Cortos (Michroma) */
h1, h2, h3, h4, h5, h6,
.config-title, .dashboard-section-title, .dashboard-stat-label, 
.dashboard-welcome-title, .hero-title, .landing-modal-title, 
.lock-title, .nav-brand-main, .plan-price, .profile-switcher-title, 
.section-title, .sidebar-brand, 
.font-accent, .michroma,
.font-\[\'Michroma\'\] {
  font-family: var(--font-accent) !important;
}

/* 2. Textos (Outfit) - Es la fuente principal */
.font-main, 
.font-sans,
.font-\[\'Outfit\'\] {
  font-family: var(--font-main) !important;
}

/* 3. Datos Numéricos y Código Estilizado (Inter) */
.font-numeric, 
.font-\[\'Inter\'\] {
  font-family: var(--font-numeric) !important;
}

/* 4. Código Puro (Monospace clásico) */
pre, code, 
.api-key-box, .font-mono, .mono, 
.table-cell-id, .token-hash, .version-ip {
  font-family: var(--font-mono) !important;
}