@media (max-width: 991.98px) {
  body.sidebar-open {
    overflow: hidden;
  }

  .layout-row {
    flex-wrap: wrap;
  }

  .layout-content {
    width: 100%;
  }

  .app-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    transform: translateX(-100%);
    transition: transform 0.2s ease;
    z-index: 1050;
    overflow-y: auto;
  }

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

  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 1040;
  }

  body.sidebar-open .sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .mobile-nav-bar {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: #212529;
    padding: 0.5rem 1rem;
  }

  .sidebar-close {
    margin-top: 0.5rem;
  }

  .modal {
    --bs-modal-margin: 0.5rem;
  }

  .modal-dialog {
    max-width: 100%;
    width: calc(100% - (var(--bs-modal-margin) * 2));
  }
}
