:target { scroll-margin-top: 114px; }

@media print {
    header.navbar, .d-print-none { display: none !important; }
    .card { break-inside: avoid; }
}

/* Bootstrap tab visibility — override any Tabler CSS that may expose inactive panes */
.tab-content > .tab-pane { display: none !important; }
.tab-content > .tab-pane.active,
.tab-content > .tab-pane.show { display: block !important; }

/* Sub-navbar: scroll at container level so the Tabler ::after underline (bottom:-.25rem) is not clipped */
nav.navbar-expand-md.sticky-top .container-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
nav.navbar-expand-md.sticky-top .container-xl::-webkit-scrollbar { display: none; }
nav.navbar-expand-md.sticky-top .navbar-nav {
    flex-wrap: nowrap;
    min-width: max-content;
}

/* Active tab styling for .nav-link.active (Tabler Bootstrap Tab standard) */
nav.navbar-expand-md.sticky-top .navbar-nav .nav-link.active {
    position: relative;
    color: var(--tblr-navbar-active-color);
}
nav.navbar-expand-md.sticky-top .navbar-nav .nav-link.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -.25rem;
    border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);
    border-bottom-width: 2px;
}

@media (max-width: 767.98px) {
    nav.navbar-expand-md.sticky-top .navbar-nav .nav-link.active::after {
        display: none;
    }
    .page header.navbar .navbar-brand.mx-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .page header.navbar .navbar-toggler.d-md-none {
        margin-right: auto;
    }
    .subnavbar-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1100;
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: 0.75rem 1rem 1rem;
        margin: 0;
        background: var(--tblr-body-bg);
        border-top: 1px solid rgba(0, 0, 0, .08);
        box-shadow: 0 -10px 30px rgba(0, 0, 0, .08);
    }
    .subnavbar-siteinfo {
        flex: 1 1 auto;
        min-width: 0;
    }
    .subnavbar-siteinfo a {
        min-width: 0;
    }
    .subnavbar-siteinfo .text-truncate {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: inline-block;
        max-width: 12rem;
    }
    .subnavbar-actions .btn-square {
        width: 3.5rem;
        height: 3.5rem;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: .75rem;
        min-width: 3.5rem;
    }
    .subnavbar-actions .btn-square i {
        font-size: 1.1rem;
    }
    .page-body {
        padding-bottom: 5rem;
    }
}

.overview-card { cursor: pointer; transition: box-shadow .15s, transform .1s; }
.overview-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.12); transform: translateY(-2px); }

/* Responsive card headers */
.card-header {
    flex-wrap: wrap;
    gap: 0.75rem;
}
.card-header .card-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}
.card-header .card-options {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
@media (max-width: 767.98px) {
    .card-header {
        justify-content: space-between;
    }
    .card-header .card-title {
        flex: 1 1 100%;
    }
    .card-header .card-options {
        width: 100%;
        justify-content: flex-start;
    }
}

/* Theme Switcher visibility */
.hide-theme-dark { display: none !important; }
.hide-theme-light { display: none !important; }

@media (prefers-color-scheme: dark) {
    .navbar-brand-image { filter: brightness(0) invert(1); }
}
[data-bs-theme="dark"] .navbar-brand-image { filter: brightness(0) invert(1); }
[data-bs-theme="dark"] .navbar-brand .fw-semibold {
    color: #ffffff !important;
}


