*,
*::before,
*::after {
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

html, body {
    background: var(--bg);
    color: var(--text-primary);
}

body {
    min-height: 100vh;
}

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

label {
    color: var(--text-secondary);
    font-weight: 500;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: var(--radius-sm);
}

/* Bootstrap's border-* utilities hardcode a light-mode gray that ignores
   the theme, forcing every page to add style="border-color:var(--border)"
   inline. Overriding it here once removes that repeated hack everywhere. */
.border,
.border-top,
.border-bottom,
.border-start,
.border-end {
    border-color: var(--border) !important;
}
