/*
 * Global UI typography (applied to all regular pages, excluding report preview).
 * Keeps text consistently at 12px while leaving icon fonts and SVG charts untouched.
 */
body,
body :not(i):not([class*="bi-"]):not(svg):not(svg *) {
    font-size: 12px !important;
}

/* Bootstrap 5 helpers still used by older templates, implemented for Bootstrap 4. */
:where(select.form-select) {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

:where(select.form-select-sm) {
    padding: .25rem .5rem;
    line-height: 1.5;
    border-radius: .2rem;
}

:where(.form-label) {
    display: inline-block;
    margin-bottom: .5rem;
}

:where(.gap-2) {
    gap: .5rem;
}

:where(.d-grid) {
    display: grid;
}

/* 子页面 page-wrapper 与主框架 header 之间保留紧凑间距 */
.page-wrapper {
    padding-top: 10px !important;
}
