body {
    overflow-x: hidden !important;
}

img {
    max-width: 100%;
    height: auto;
}

.content-wrapper,
.content,
.container-fluid {
    min-width: 0 !important;
}

.content-header .row,
.content .card-header,
.content .card-footer,
.content .btn-group,
.content .input-group,
.content .module-card .card-header,
.content .module-card .card-header-right,
.content .module-card .card-actions {
    gap: .5rem;
}

.content .table-responsive {
    -webkit-overflow-scrolling: touch;
}

.content .table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.content .table-wrap > .table,
.content .table-wrap > table,
.content .table-wrap .dataTables_wrapper {
    width: 100% !important;
}

.content .table-responsive > .table,
.content .table-responsive > table {
    min-width: 640px;
}

.dataTables_wrapper .row {
    align-items: center;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter .form-control,
.dataTables_wrapper .dataTables_length .form-control,
.select2-container,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    max-width: 100% !important;
}

.custom-file-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.small-box {
    margin-bottom: 1rem;
}

.small-box .inner h3 {
    word-break: break-word;
}

.profile-user-img,
#profile-preview,
#img_preview {
    max-width: 100% !important;
}

.list-group-item .float-right,
.list-group-item .badge.float-right {
    max-width: 58%;
    text-align: right;
}

@media (max-width: 991.98px) {
    .content-header .row > [class*="col-"],
    .content .row > [class*="col-"] {
        min-width: 0 !important;
    }

    .content .table-responsive,
    .content .table-wrap,
    .content table.dataTable {
        width: 100% !important;
    }

    .dataTables_wrapper .row > [class*="col-"] {
        margin-bottom: .5rem;
    }

    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        text-align: left !important;
    }

    .list-group-item .float-right,
    .list-group-item .badge.float-right {
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .login-box,
    .register-box {
        width: min(460px, calc(100vw - 1rem)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .form-control,
    .custom-select,
    .btn,
    .input-group-text {
        min-height: 44px;
    }

    .content-header {
        padding-bottom: .25rem !important;
    }

    .content-header .row > [class*="col-"] + [class*="col-"] {
        margin-top: .65rem;
    }

    .content-header .text-right,
    .content-header .text-sm-right,
    .card-footer.text-right {
        text-align: left !important;
    }

    .content-header .btn,
    .content .card-header .btn,
    .content .card-footer .btn,
    .content .btn-group,
    .content .input-group,
    .content .input-group > .form-control,
    .content .input-group > .custom-select,
    .content .input-group > .custom-file,
    .content .input-group-append,
    .content .input-group-prepend {
        width: 100% !important;
    }

    .content .input-group-append .btn,
    .content .input-group-prepend .btn,
    .content .btn-group > .btn {
        width: 100% !important;
        border-radius: .25rem !important;
    }

    .content .btn + .btn,
    .content .btn + .btn-group,
    .content .btn-group + .btn,
    .content .input-group + .input-group,
    .content .input-group + .btn,
    .content .btn-group + .btn-group {
        margin-left: 0 !important;
        margin-top: .5rem !important;
    }

    .content .card-header,
    .content .card-footer,
    .content .module-card .card-header-right,
    .content .module-card .card-actions {
        flex-direction: column;
        align-items: stretch !important;
    }

    .content .card-body {
        padding: .9rem;
    }

    .content .card-tools {
        width: 100%;
        justify-content: flex-end;
    }

    .dataTables_wrapper .row > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .dataTables_wrapper .dataTables_filter input,
    .dataTables_wrapper .dataTables_length select {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .dataTables_wrapper .dataTables_scrollBody {
        overflow-x: auto !important;
    }

    .dataTables_wrapper .dt-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
    }

    .dataTables_wrapper .dt-buttons .btn {
        flex: 1 1 100%;
    }

    .select2-container {
        width: 100% !important;
    }

    .small-box .inner {
        padding-right: 1rem;
    }

    .small-box .inner h3 {
        font-size: 1.5rem;
    }

    .small-box p {
        font-size: .9rem;
    }

    .profile-user-img,
    #profile-preview,
    #img_preview {
        width: min(140px, 38vw) !important;
        height: min(140px, 38vw) !important;
        object-fit: cover !important;
    }

    input[style*="width: 140px"],
    select[style*="width: 140px"] {
        width: 100% !important;
    }

    .badge-status,
    [style*="min-width: 120px"],
    [style*="min-width: 140px"] {
        min-width: 0 !important;
        width: auto !important;
    }

    .list-group-item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: .25rem;
    }

    .list-group-item .float-right,
    .list-group-item .badge.float-right {
        float: none !important;
        text-align: left;
    }

    .modal-dialog {
        margin: .75rem auto !important;
    }

    .swal2-popup {
        width: min(94vw, 34rem) !important;
    }

    .swal2-actions {
        width: 100%;
        gap: .5rem;
    }

    .swal2-actions button {
        flex: 1 1 auto;
    }
}
