/* =========================================================
   Base — tipografia, reset leve e utilitários de cor
   ========================================================= */
* { box-sizing: border-box; }

html, body { height: 100%; }

body {
  font-family: var(--font-sans);
  background-color: var(--bg-page);
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.15s ease, color 0.15s ease;
}

h1, h2, h3, h4, h5, h6 { letter-spacing: -0.02em; color: var(--text-primary); }

a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-primary-hover); text-decoration: underline; }

/* Foco de teclado sempre visível */
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* Utilitários de dinheiro e texto auxiliar */
.text-money-up { color: var(--color-success); }
.text-money-down { color: var(--color-danger); }
.text-muted-2 { color: var(--text-muted); }

/* Scrollbar discreta, compatível com os dois temas */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: 999px;
  border: 2px solid var(--bg-page);
}
::-webkit-scrollbar-track { background: transparent; }
