/* ============================================================
   Rutaly — pulido visual global (base)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html { scroll-behavior: smooth; }

/* Tipografía */
body, .font-body, .font-headline, .font-display, .font-label {
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif !important;
}

/* Números tabulares + nunca se cortan */
.numero, .tabular-nums, td, th { font-variant-numeric: tabular-nums; }
td, th { white-space: nowrap !important; }

/* Foco elegante */
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible {
  outline: 2px solid #0e7c6b;
  outline-offset: 1px;
}

/* Selección de texto (resaltado teal, nunca blanco) */
::selection { background: #0e7c6b; color: #ffffff; }
::-moz-selection { background: #0e7c6b; color: #ffffff; }

/* Scrollbars — bien visibles */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-thumb { background: #64748b; border-radius: 8px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background-color: #475569; }
::-webkit-scrollbar-track { background: #e2e8f0; }
* { scrollbar-width: auto; scrollbar-color: #64748b #e2e8f0; }

/* Transiciones */
button, a { transition: background-color .15s ease, opacity .15s ease; }
