* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, Arial, sans-serif; background: var(--bg-base); color: var(--text-primary); overflow-x: hidden; max-width: 100%; }
body { min-height: 100vh; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 16px; padding: 20px; }

/* ── Global scrollbar styling ── */
/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}

/* Webkit (Chrome, Safari, Edge) */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }
::-webkit-scrollbar-corner { background: transparent; }

/* ── Money color utility ── */
.money-pos { color: #059669 !important; }
.money-neg { color: #dc2626 !important; }
[data-theme="dark"] .money-pos { color: #34d399 !important; }
[data-theme="dark"] .money-neg { color: #f87171 !important; }
