/* Reset + base element styling. No component classes here — see components.css. */

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

html, body {
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--line-height-normal);
    color: var(--color-text);
    background: var(--color-bg);
    min-height: 100vh;
}

h1, h2, h3, h4 {
    margin: 0;
    line-height: var(--line-height-tight);
}

p {
    margin: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

table {
    border-collapse: collapse;
    width: 100%;
}

button {
    font-family: inherit;
    font-size: inherit;
    cursor: pointer;
}

input, select, textarea {
    font-family: inherit;
    font-size: inherit;
}

/* Money coloring, driven by the `money_class` template filter. */
.text-positive { color: var(--color-money-positive); }
.text-negative { color: var(--color-money-negative); }
.text-neutral  { color: var(--color-money-neutral); }

@media (min-width: 1920px) {
    body {
        font-size: 1.125rem;
    }
}
