/* Global responsive overrides */
#page-wrapper {
    min-width: 0;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    body {
        overflow-x: hidden;
    }

    body.mini-navbar {
        overflow: hidden;
    }

    #wrapper {
        display: block;
    }

    #page-wrapper {
        padding: 0 !important;
        font-size: 12px;
    }

    #page-wrapper > .row.border-bottom {
        margin: 0;
        background-color: #ffffff;
    }

    #page-wrapper .navbar.navbar-static-top {
        background-color: #ffffff !important;
        border-bottom: 1px solid #e7eaec;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 4px 0;
    }

    #page-wrapper .navbar-header {
        float: none;
        display: flex;
        align-items: center;
    }

    #page-wrapper .navbar-minimalize {
        float: none;
        margin: 6px 8px 6px 10px;
    }

    .navbar-static-side {
        display: block;
        position: fixed;
        top: 0;
        left: -220px;
        width: 220px;
        height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        z-index: 2001;
        transition: left 0.2s ease;
    }

    .mobile-sidebar-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.35);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        z-index: 2000;
        transition: opacity 0.2s ease;
    }

    body.mini-navbar .mobile-sidebar-overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .navbar-static-side .sidebar-collapse,
    .navbar-static-side .slimScrollDiv {
        height: 100vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .navbar-static-side .slimScrollDiv > .sidebar-collapse {
        height: 100vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .navbar-static-side .slimScrollBar,
    .navbar-static-side .slimScrollRail {
        display: none !important;
    }

    nav.navbar-static-side,
    .navbar-default,
    .navbar-default .sidebar-collapse,
    #side-menu {
        background-color: #2f4050;
    }

    body.mini-navbar .navbar-static-side,
    body.fixed-sidebar.mini-navbar .navbar-static-side {
        left: 0;
        width: 220px;
    }

    body.mini-navbar .profile-element,
    body.mini-navbar .nav-label,
    body.mini-navbar .navbar-default .nav li a span {
        display: inline-block;
    }

    body.mini-navbar .logo-element {
        display: none;
    }

    body.mini-navbar .nav-header {
        padding: 33px 25px;
        background-color: #2f4050;
    }

    body.mini-navbar .navbar-default .nav > li > a {
        font-size: 13px;
    }

    body.mini-navbar .nav .nav-second-level,
    body.mini-navbar .nav .nav-third-level {
        position: static;
        left: auto;
        top: auto;
        min-width: 0;
        width: 100%;
        padding: 0;
        box-shadow: none;
        background-color: #2f4050;
    }

    body.mini-navbar .nav li:hover > .nav-second-level,
    body.mini-navbar .nav li:focus > .nav-second-level {
        min-width: 0;
        border-radius: 0;
    }

    body.mini-navbar .nav-second-level li a {
        padding-left: 42px;
    }

    body.mini-navbar .nav-third-level li a {
        padding-left: 54px;
    }

    #page-wrapper {
        width: 100% !important;
        margin: 0 !important;
    }

    .navbar-top-links {
        float: none;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        padding-right: 8px;
        margin: 0 0 0 auto;
    }

    .navbar-top-links > li {
        float: none;
    }

    .navbar-top-links > li > a {
        padding: 8px 6px;
    }

    .navbar-top-links .welcome-message {
        display: none;
    }

    .wrapper {
        padding: 0 8px;
    }

    .wrapper-content {
        padding: 10px 0 18px;
    }

    .ibox-title,
    .ibox-content {
        padding: 10px;
    }

    .btn {
        font-size: 11px;
        padding: 5px 10px;
        border-radius: 12px;
        margin-bottom: 6px;
    }

    .btn-sm {
        font-size: 10px;
        padding: 4px 9px;
    }

    .btn-xs {
        font-size: 10px;
        padding: 4px 8px;
    }

    .btn + .btn {
        margin-left: 6px;
    }

    .btn-group .btn,
    .input-group-btn .btn {
        margin-bottom: 0;
    }

    .btn-group .btn + .btn {
        margin-left: 0;
    }

    .form-control {
        font-size: 11px;
        padding: 5px 8px;
    }

    .form-inline .form-group {
        display: block;
        margin-bottom: 10px;
    }

    .form-inline .form-control,
    .input-group {
        width: 100%;
    }

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

    .table-responsive > .table {
        margin-bottom: 0;
    }

    .table-responsive > .table > thead > tr > th,
    .table-responsive > .table > tbody > tr > td {
        white-space: nowrap;
        word-break: normal;
    }

    .table {
        font-size: 10px;
    }

    .table > thead > tr > th {
        font-size: 9px;
    }

    .dataTables_wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        width: 100%;
        text-align: left;
        margin-bottom: 6px;
    }

    .dataTables_wrapper .dataTables_length label,
    .dataTables_wrapper .dataTables_filter label {
        display: block;
        width: 100%;
    }

    .dataTables_wrapper .dataTables_length select,
    .dataTables_wrapper .dataTables_filter input {
        width: 100%;
        display: block;
        margin: 4px 0 0;
    }

    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        width: 100%;
        text-align: center;
        margin-top: 6px;
    }

    table.dataTable {
        width: auto !important;
        min-width: 100%;
        table-layout: auto;
    }

    table.dataTable th,
    table.dataTable td {
        box-sizing: border-box;
        padding: 4px 6px;
        white-space: nowrap !important;
        word-break: normal;
    }

    table.dataTable thead > tr > th.sorting,
    table.dataTable thead > tr > th.sorting_asc,
    table.dataTable thead > tr > th.sorting_desc {
        padding-right: 18px;
    }

    .table-scroll-x {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-scroll-x table,
    .table-scroll-x table.dataTable {
        width: auto !important;
        min-width: 100%;
        table-layout: auto;
    }

    .table-scroll-x th,
    .table-scroll-x td {
        white-space: nowrap !important;
        word-break: normal;
    }

    #page-wrapper h1 { font-size: 20px; }
    #page-wrapper h2 { font-size: 18px; }
    #page-wrapper h3 { font-size: 16px; }
    #page-wrapper h4 { font-size: 14px; }
    #page-wrapper h5 { font-size: 12px; }

    #page-wrapper .label,
    #page-wrapper .badge {
        font-size: 8px;
        padding: 2px 6px;
    }

    #page-wrapper .stat-title {
        font-size: 11px;
    }

    #page-wrapper .stat-value {
        font-size: 20px;
    }

    #page-wrapper .stat-subtext {
        font-size: 10px;
    }

    .modal-dialog {
        width: auto;
        margin: 10px;
    }
}
