/* ==========================================================================
   reponsive.css — Media query / responsive overrides cho admin.css
   (tách riêng khỏi admin.css theo cùng quy ước tổ chức CSS của mekong)
   ========================================================================== */

@media (max-width: 991.98px) {
    .div_top_nav_master_wrapper {
        display: block;
        height: 48px !important;
        max-height: none;
        overflow: hidden;
    }

    .div_top_nav_master_wrapper .top-nav-scroll-button {
        position: absolute;
        z-index: 2;
        top: 50%;
        display: inline-flex;
        width: 32px;
        height: 32px;
        padding: 0 !important;
        color: #eafff0;
        border-color: rgba(220, 252, 231, .38) !important;
        background-color: rgba(8, 78, 47, .86) !important;
        background-image: linear-gradient(145deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .08)) !important;
        align-items: center;
        justify-content: center;
        transform: translateY(-50%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 2px 6px rgba(0, 34, 15, .18);
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .div_top_nav_master_wrapper .top-nav-scroll-prev {
        left: .65rem;
    }

    .div_top_nav_master_wrapper .top-nav-scroll-next {
        right: .65rem;
    }

    .div_top_nav_master_wrapper > .menu {
        height: 100%;
        padding: 0 3.05rem;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: .15rem;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .div_top_nav_master_wrapper > .menu::-webkit-scrollbar {
        display: none;
    }

    .div_top_nav_master_wrapper > .menu > .menu-item {
        flex: 0 0 auto;
    }

    .div_top_nav_master_wrapper .menu-link {
        min-height: 48px;
    }

    .div_top_nav_master_wrapper .menu-submenu {
        position: fixed;
        top: calc(var(--bs-app-header-height) + 48px);
        right: .5rem;
        left: .5rem;
        min-width: 0;
        max-height: calc(100vh - (var(--bs-app-header-height) + 56px));
        margin-left: 0;
        overflow-y: auto;
        background: #fff;
        border: 0;
        box-shadow: 0 .25rem .75rem rgba(16, 24, 40, .14);
    }

    .div_header_master_wrapper .mobile-toggler {
        display: none;
    }

    .div_header_master_wrapper .account-menu-text {
        max-width: 68px;
    }

    .div_header_master_wrapper .account-menu-text strong {
        font-size: .58rem;
    }

    .div_header_master_wrapper .account-menu-text small {
        font-size: .48rem;
    }
}

@media (max-width: 992px) {
    .dataTables_wrapper .dataTables_filter input {
        min-width: 160px;
    }
}

@media (max-width: 768px) {
    .app-content {
        padding-right: .65rem;
        padding-left: .65rem;
    }

    .card {
        border-radius: var(--radius-md);
    }

    .card-header {
        padding: .65rem;
        border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
    }

        .card-header .btn {
            width: auto;
        }

    .card-body,
    .card-footer,
    .modal-body,
    .modal-footer {
        padding: .65rem;
    }

    .table > thead > tr > th,
    .table > tbody > tr > td {
        padding: .42rem .5rem;
        font-size: .8rem;
    }

    .dataTables_wrapper .top,
    .dataTables_wrapper .bottom,
    .dataTables_wrapper .bottom .row {
        display: flex;
        flex-direction: column;
        align-items: stretch !important;
        gap: .4rem;
    }

    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        width: 100%;
        text-align: center !important;
    }

    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        width: auto;
        text-align: initial !important;
    }

        .dataTables_wrapper .dataTables_filter input {
            width: 160px;
            min-width: 0;
        }

        .dataTables_wrapper .dataTables_paginate .pagination {
            flex-wrap: wrap;
            justify-content: center;
        }

    .breadcrumb {
        font-size: 75%;
    }

    #footer.app-footer {
        left: 0 !important;
        text-align: center;
    }

        #footer.app-footer span {
            white-space: normal;
        }
}

@media (max-width: 576px) {
    body {
        font-size: .875rem;
    }

    .btn {
        min-height: 34px;
    }

    .modal-dialog {
        margin: .4rem;
    }

    .modal-content {
        border-radius: var(--radius-md);
    }

    .input-group {
        flex-wrap: nowrap;
    }

    .input-group-text {
        padding-right: .5rem;
        padding-left: .5rem;
        font-size: .76rem;
    }

    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        width: 100%;
        text-align: center !important;
    }

    .dataTables_wrapper .dataTables_filter input {
        width: calc(100% - 70px);
    }

    .dataTables_wrapper .dataTables_paginate .page-link {
        min-width: 32px;
        height: 32px;
        padding: .3rem .5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 991.98px) {
    .div_header_master_wrapper .mobile-toggler {
        display: none;
    }

    .div_header_master_wrapper .brand,
    .div_header_master_wrapper .brand-logo {
        display: inline-flex !important;
    }

    .div_header_master_wrapper.app-header {
        padding: 0 .55rem;
    }

    .div_header_master_wrapper .brand-text {
        font-size: .68rem;
        letter-spacing: 0;
    }

    .app-content {
        min-height: 0;
        padding: .6rem .65rem;
    }

    .footer-content {
        flex-direction: column;
        justify-content: center;
        gap: .2rem;
        text-align: center;
    }

    #footer.app-footer {
        min-height: 48px;
        padding: .25rem .65rem;
    }
}
