@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  font-family: var(--font-family);
  font-size: 16px;
  font-weight: 300;
  color: var(--color-navy);
  background: var(--color-bg-main);
  min-height: 100vh;
}

a { text-decoration: none; color: inherit; }
button { font-family: var(--font-family); cursor: pointer; }
input, textarea, select { font-family: var(--font-family); }
ul, ol { list-style: none; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--color-muted); }

/* Utilitários */
.d-flex { display: flex; }
.align-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.flex-1 { flex: 1; }
.gap-4 { gap: 4px; }
.gap-8 { gap: 8px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.mt-4 { margin-top: 4px; }
.mt-8 { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mb-4 { margin-bottom: 4px; }
.mb-8 { margin-bottom: 8px; }
.mb-16 { margin-bottom: 16px; }
.ml-auto { margin-left: auto; }
.w-100 { width: 100%; }
.text-danger { color: var(--color-danger); }
.text-muted { color: var(--color-text-muted); }
.text-green { color: var(--color-green-primary); }
.text-bold { font-weight: 600; }
.hidden { display: none !important; }
.cursor-pointer { cursor: pointer; }
.text-center { text-align: center; }

/* Formatação monetária */
.value-positive { color: var(--color-green-text); font-weight: 600; }
.value-negative { color: var(--color-danger); font-weight: 600; }
.value-zero { color: var(--color-text-muted); font-weight: 600; }
