html {
    scrollbar-gutter: stable;
}

body.erp-adminlte {
    --erp-header-height: 57px;
    --erp-sidebar-width: 280px;
    --erp-sidebar-collapsed-width: 70px;
    --erp-sidebar-transition: 360ms cubic-bezier(0.22, 1, 0.36, 1);
    background: #f4f6f9;
    overflow-y: scroll;
}

.erp-adminlte .app-wrapper {
    min-height: 100vh;
    background: #f4f6f9;
}

.erp-adminlte .app-main {
    min-height: calc(100vh - 113px);
    transition: margin-left var(--erp-sidebar-transition);
}

.erp-adminlte .app-header {
    position: sticky;
    top: 0;
    z-index: 1045;
}

.erp-adminlte .app-content {
    padding: 1rem 0 2rem;
}

.erp-adminlte .app-content-header {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: none !important;
}

.erp-adminlte .app-sidebar {
    --lte-sidebar-color: #5b7c9c;
    color: #ffffff;
    border-right: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    visibility: visible;
    will-change: transform, opacity;
    transition:
        transform var(--erp-sidebar-transition),
        opacity var(--erp-sidebar-transition),
        visibility 0s linear 0s;

}

.erp-adminlte .sidebar-brand,
.erp-adminlte .brand-link {
    min-height: 57px;
    display: flex;
    align-items: center;
}

.erp-adminlte .sidebar-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 57px;
    padding: 0.65rem 0.9rem;
    gap: 0.75rem;
}

.erp-adminlte .sidebar-logo-image {
    display: inline-flex;
    flex-shrink: 0;
}

.erp-adminlte .sidebar-logo-title {
    display: none;
    color: #517597;
    font-family: "Titan One", sans-serif;
    font-size: 1.35rem;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.brand-mark,
.user-avatar {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #515ea7, #517597);
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    box-shadow: 0 6px 18px rgba(163, 136, 50, 0.22);
}

.erp-adminlte .brand-text {
    color: #517597;
    font-family: "Titan One", sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.erp-adminlte .nav-sidebar .nav-link,
.erp-adminlte .sidebar-menu .nav-link {
    color: #517597;
}

.erp-adminlte .nav-sidebar .nav-link:hover,
.erp-adminlte .sidebar-menu .nav-link:hover,
.erp-adminlte .sidebar-menu .nav-link.active {
    background: rgba(163, 136, 50, 0.1);
    color: #8c7428;
}

.erp-adminlte .sidebar-menu .nav-treeview {
    padding-left: 0.5rem;
}

.erp-adminlte .sidebar-menu .menu-open > .nav-treeview {
    display: block;
}

.erp-adminlte .sidebar-menu .right {
    transition: none !important;
}

.erp-adminlte .sidebar-menu .menu-open > .nav-link .right {
    transform: rotate(90deg);
}

.erp-adminlte .content-wrapper,
.erp-adminlte .content-wrapper > .content,
.erp-adminlte .content-header,
.erp-adminlte .card-header,
.erp-adminlte .nav-sidebar .nav-link,
.erp-adminlte .sidebar-menu .nav-treeview {
    transition: none !important;
    animation: none !important;
}

.erp-adminlte .card-header,
.erp-adminlte .content-header {
    min-height: 3rem;
}

.erp-adminlte .card-header label.fs-4,
.erp-adminlte .card-header .card-title,
.erp-adminlte .content-header h1,
.erp-adminlte .content-header .h1,
.erp-adminlte .content-header .h2,
.erp-adminlte .content-header .h3 {
    line-height: 1.2;
    text-wrap: balance;
    color: var(--erp-label) !important;
}

.erp-adminlte .app-footer {
    padding: 0.85rem 1rem;
    margin-left: 0;
}

body.auth-adminlte,
body.error-adminlte {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(209, 178, 91, 0.22), transparent 32%),
        linear-gradient(180deg, #eef1f5 0%, #f8f9fb 100%);
}

.auth-shell,
.error-shell {
    min-height: calc(100vh - 72px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.auth-card,
.error-card {
    width: min(100%, 30rem);
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(31, 41, 55, 0.12);
    overflow: hidden;
}

.auth-card .card-header,
.error-card .card-header {
    background: linear-gradient(135deg, #ffffff, #f8fafc);
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    padding: 1.5rem 1.5rem 1rem;
}

.auth-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
}

.auth-brand img {
    width: 4.75rem;
    height: 4.75rem;
    object-fit: contain;
}

.auth-brand-title {
    font-family: "Titan One", sans-serif;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #517597;
}

.auth-card .card-body,
.error-card .card-body {
    padding: 1.5rem;
}

.auth-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.auth-actions .btn,
.error-card .btn {
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    font-weight: 600;
}

.auth-muted {
    color: #6c757d;
    font-size: 0.95rem;
}

.error-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    border-radius: 1rem;
    background: rgba(163, 136, 50, 0.12);
    color: #8c7428;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.erp-adminlte .navbar-brand .brand-text {
    font-family: inherit;
    text-transform: none;
    letter-spacing: 0;
}

@media (max-width: 991.98px) {
    body.erp-adminlte .app-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 1040;
        transform: translate3d(-100%, 0, 0);
        width: 280px;
        max-width: calc(100vw - 1.5rem);
        height: 100vh;
    }

    body.erp-adminlte.sidebar-open .app-sidebar {
        transform: translate3d(0, 0, 0);
        margin-top: 60px;
        height: calc(100vh - 60px);
    }

    body.erp-adminlte.sidebar-open::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.25);
        z-index: 1035;
    }
}

@media (min-width: 992px) {
    body.erp-adminlte .app-header {
        margin-left: 0 !important;
        transition: margin-left var(--erp-sidebar-transition);
    }

    body.erp-adminlte .app-sidebar .sidebar-logo-link {
        justify-content: flex-start;
    }

    body.erp-adminlte .app-sidebar .sidebar-logo-image {
        display: none;
    }

    body.erp-adminlte .app-sidebar .sidebar-logo-title {
        display: block;
    }

    body.erp-adminlte .app-sidebar {
        position: fixed;
        top: var(--erp-header-height);
        left: 0;
        bottom: 0;
        width: var(--erp-sidebar-width);
        min-height: calc(100vh - 57px);
        z-index: 1031;
        transform: translate3d(0, 0, 0);
    }

    /* body.erp-adminlte .app-main,
    body.erp-adminlte .app-footer {
        margin-left: var(--erp-sidebar-width);
        transition: margin-left 0.2s ease;
    } */

    body.erp-adminlte .sidebar-wrapper {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
    }

    body.erp-adminlte.sidebar-collapse .app-sidebar {
        width: var(--erp-sidebar-width);
        overflow: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translate3d(-100%, 0, 0);
        visibility: hidden;
        transition:
            transform var(--erp-sidebar-transition),
            opacity var(--erp-sidebar-transition),
            visibility 0s linear 360ms;
    }

    body.erp-adminlte.sidebar-collapse .app-header {
        margin-left: 0 !important;
    }

    body.erp-adminlte.sidebar-collapse .app-main,
    body.erp-adminlte.sidebar-collapse .app-footer {
        margin-left: 0;
    }

}
