/* Font size classes — medium = app baseline; small/large are clearly smaller/larger */
.font-size-small {
    font-size: 0.8125rem; /* ~13px at 16px root — was 0.875rem */
}

.font-size-small .h1, .font-size-small h1 {
    font-size: 1.5rem;
}

.font-size-small .h2, .font-size-small h2 {
    font-size: 1.3125rem;
}

.font-size-small .h3, .font-size-small h3 {
    font-size: 1.125rem;
}

.font-size-small .card-body {
    font-size: 0.8125rem;
}

.font-size-medium {
    font-size: 1rem;
}

.font-size-large {
    font-size: 1.25rem; /* was 1.125rem — clearer step up from medium */
}

.font-size-large .h1, .font-size-large h1 {
    font-size: 2.5rem;
}

.font-size-large .h2, .font-size-large h2 {
    font-size: 2.125rem;
}

.font-size-large .h3, .font-size-large h3 {
    font-size: 1.875rem;
}

.font-size-large .card-body {
    font-size: 1.25rem;
}

/* Compact mode styles */
.compact-mode .card {
    margin-bottom: 0.75rem;
}

.compact-mode .card-body {
    padding: 0.75rem;
}

.compact-mode .container, 
.compact-mode .container-fluid {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.compact-mode .mb-3 {
    margin-bottom: 0.5rem !important;
}

.compact-mode .mb-4 {
    margin-bottom: 1rem !important;
}

.compact-mode .nav-link {
    padding: 0.25rem 0.5rem;
}

.compact-mode .form-group,
.compact-mode .mb-3 {
    margin-bottom: 0.5rem !important;
}

.compact-mode .table td, 
.compact-mode .table th {
    padding: 0.4rem;
}

/* Dark theme: defer to design-tokens.css — avoid conflicting #121212 palette (light-only polish). */

/* Smooth transitions for theme changes */
body {
    transition: background-color 0.3s ease, color 0.3s ease;
}

.card, .btn, .form-control, .dropdown-menu {
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
} 