/* Page layout - make footer stick to bottom */
html, body {
    height: 100%;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
    /* reserve space so content isn't hidden by the fixed footer */
    --footer-height: 56px;
    padding-bottom: var(--footer-height);
}
/* Sidebar layout */
.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 260px;
    padding-top: 1rem;
    background-color: #0d6efd; /* bootstrap primary */
    color: #fff;
    overflow-y: auto;
}
.main-content {
    margin-left: 260px;
    padding-top: 1rem;
    flex: 1 0 auto; /* allow main content to grow and push footer down */
}
/* Responsive: stack sidebar on small screens */
@media (max-width: 767.98px) {
    .sidebar { position: relative; width: 100%; height: auto; }
    .main-content { margin-left: 0; }
}
/* Make accordion buttons blend with sidebar */
.accordion-button {
    background: transparent;
    color: #fff;
    box-shadow: none;
}
.accordion-button:not(.collapsed) {
    background: rgba(255,255,255,0.08);
    color: #fff;
}
.accordion-body a { color: #e9f2ff; text-decoration: none; }
/* Sidebar link styles and active state */
.sidebar .sidebar-link { color: #e9f2ff; text-decoration: none; display:block; padding: .15rem 0; }
.sidebar .sidebar-link:hover { color: #fff; text-decoration: none; }
.sidebar .sidebar-link.active-link { background: rgba(255,255,255,0.12); color: #fff; padding: .35rem .5rem; border-radius: .25rem; }

/* Fixed overlay footer */
.footer-fixed {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: var(--footer-height);
    display: flex;
    align-items: center;
    z-index: 1050;
}
/* on very small screens the footer can be slightly taller */
@media (max-width: 575.98px) {
    :root { --footer-height: 64px; }
}

.Zebra_Pagination {
    display: table;
}