:root {
    --sidebar-width: 260px;
    --transition: 0.3s ease;
}

@keyframes spinner-border { to { transform: rotate(360deg); } }

.spinner-border,
.spinner-border-sm {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: .25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-border .75s linear infinite;
}
.spinner-border-sm {
    width: .75rem;
    height: .75rem;
    border-width: .2em;
}

#layout-wrapper {
    display: grid;
    grid-template-columns: 0 1fr;
    min-height: 100vh;
    transition: grid-template-columns var(--transition);
}

body.sidebar-open #layout-wrapper {
    grid-template-columns: var(--sidebar-width) 1fr;
}

#sidebar-menu {
    overflow-y: auto;
    background: #f8f9fa;
    position: sticky;
    top: 56px;
    height: calc(100vh - 56px);
    scrollbar-width: thin;
    scrollbar-color: #adb5bd transparent;
}

#sidebar-menu::-webkit-scrollbar{
    width: 6px;
}
#sidebar-menu::-webkit-scrollbar-track{
    background: transparent;
}
#sidebar-menu::-webkit-scrollbar-thumb{
    background-color: #adb5bd;
    border-radius: 4px;
}
#sidebar-menu::-webkit-scrollbar-thumb:hover{
    background-color: #868e96;
}

#main-content {
    transition: none !important;
    padding: calc(56px + 1rem) 1rem 1rem;
    min-width:0;
}

.card {

}

#layout-wrapper{
    display:grid;
    grid-template-columns:0 minmax(0,1fr);
    min-height:100vh;
    transition: none !important;
}

body.sidebar-open #layout-wrapper{
    grid-template-columns:var(--sidebar-width) minmax(0,1fr);
}

#main-content{min-width:0;}

.sidebar-link{

}
.sidebar-link:hover,
.sidebar-link:focus{
    background-color:#e9ecef !important;
}

.breadcrumb{
    --bs-breadcrumb-margin-bottom: 0;
    font-size: .875rem;
}
.breadcrumb a{ text-decoration:none; }
.breadcrumb-item+.breadcrumb-item::before{ content: "›"; }

main h1, main h2, main h3{
    font-weight:700;
}

main>header:last-child{ margin-bottom:1rem; }

.table-top-scroll {
    overflow-y: hidden;
    overflow-x: auto;
}

.table {
    width: 100%;
    table-layout: fixed;
}

.table td {
    white-space: normal;
    overflow-wrap: anywhere;

}

.table td a {
    color: #4f555d;
    text-decoration: underline;

}

.table td a:hover,
.table td a:focus-visible {
    color: #65727b;
}

@media (max-width: 991.98px) {
    #layout-wrapper {
        grid-template-columns: 1fr !important;
    }

    body.sidebar-open #layout-wrapper {
        grid-template-columns: 1fr !important;
    }

    .navbar {
        position: relative;
        z-index: 1060;
    }

    .navbar .container-fluid {
        position: relative;
    }

    #navbarContent {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        background: var(--bg-color, #f8f9fa);
        border: 1px solid var(--border-color, #dee2e6);
        border-top: none;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        z-index: 1055;
    }

    #navbarContent .navbar-nav {
        padding: 0.5rem;
    }

    #sidebar-menu {
        position: fixed;
        top: 56px;
        left: 0;
        width: var(--sidebar-width);
        height: calc(100vh - 56px);
        z-index: 1050;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }

    body.sidebar-open #sidebar-menu {
        transform: translateX(0);
    }

    .sidebar-overlay {
        display: none;
        position: fixed;
        top: 56px;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1040;
    }

    body.sidebar-open .sidebar-overlay {
        display: block;
    }

    #main-content {
        padding-top: calc(56px + 1rem);
    }
}

@media (min-width: 992px) {
    .sidebar-overlay {
        display: none !important;
    }
}

