@media (max-width: 768px) {
  :root {
    --sidebar-width: 100%;
  }

  #sidebar {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 1000;
  }

  .table-wrapper {
    overflow-x: auto;
  }

  #sidebar.collapsed {
    width: 0;
  }

  main {
    display: none;
    padding: 0;
  }

  header {
    padding: 20px;
  }

  main.expanded {
    display: block;
    margin-left: 0;
    width: 100%;
  }

  footer {
    padding: 20px;
  }

  .logo {
    z-index: 2;
  }

  #close-sidebar {
    display: block;
    position: absolute;
    color: var(--color-0);
    top: 10px;
    right: 10px;
    padding: 10px;
    background-color: transparent;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    z-index: 1001;
  }

  .login {
    padding: 3rem;
    width: 95%;
  }

  .modal-content {
    padding: 3rem;
    width: 95%;
  }

  .display-flex {
    gap: 1rem;
  }

  .width100 {
    width: 100% !important;
  }

  .search-filter {
    flex-direction: column-reverse;
    gap: 1rem;
    padding: 20px;
  }

  .search-filter .search {
    width: 100%;
  }

  .search input {
    width: 100%;
  }

  .filters select {
    width: 100%;
    margin-bottom: 10px;
  }

  .primary-button,
  .secondary-button,
  .small-button,
  .delete-button {
    width: 100%;
    text-align: center;
  }

  .responsive-table th,
  .responsive-table td {
    white-space: nowrap;
  }
}
