/* =====================================================================
   BASE — fontes, reset, tipografia de elementos e utilitários.
   ===================================================================== */
@font-face { font-family: "Figtree"; src: url("../fonts/figtree-400.307f463f0f37.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("../fonts/figtree-500.81bd5eb4a927.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("../fonts/figtree-600.5e5a3d4bfb5c.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("../fonts/figtree-700.ebfec7c7abd1.woff2") format("woff2"); font-weight: 700; font-display: swap; }

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 15px/1.5 var(--fonte); background: var(--fundo); color: var(--texto); -webkit-font-smoothing: antialiased; }
a { color: var(--primaria); text-underline-offset: 2px; }
h1 { font-size: var(--fs-2xl); line-height: 1.2; font-weight: 600; letter-spacing: -0.01em; margin: 0; }
h2 { font-size: var(--fs-md); font-weight: 600; margin: 0 0 var(--esp-3); color: var(--texto); }
h3 { font-size: .9rem; font-weight: 600; margin: 0 0 var(--esp-2); }
p { margin: 0 0 var(--esp-3); }
code { font-size: .92em; }
fieldset { min-width: 0; }
:focus-visible { outline: 2px solid var(--primaria); outline-offset: 2px; }

/* Utilitários */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.secundario { color: var(--texto-2); }
.nota { margin: var(--esp-1) 0 0; font-size: .8rem; color: var(--texto-2); }
.alerta { color: var(--erro); font-weight: 600; }
.vazio { text-align: center; color: var(--texto-2); padding: var(--esp-8) var(--esp-4); }
.estreito { max-width: 480px; }
.so-movel { display: none; }

@media (max-width: 899px) {
  h1 { font-size: 1.3rem; }
  .so-movel { display: inline; }
  .so-desktop { display: none; }
}
