/* Responsive Styles */

@media (max-width: 1024px) {
  .sidebar {
    width: 200px;
  }

  .main-content {
    margin-left: 200px;
  }

  .col-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  h1 {
    font-size: 1.75rem;
  }
  h2 {
    font-size: 1.5rem;
  }
  h3 {
    font-size: 1.25rem;
  }

  .sidebar {
    position: fixed;
    left: -250px;
    width: 250px;
    transition: left 0.3s ease;
    z-index: 999;
  }

  .sidebar.show {
    left: 0;
  }

  .main-content {
    margin-left: 0;
  }

  .navbar-container {
    justify-content: space-between;
  }

  .navbar-nav {
    gap: 1rem;
  }

  .col-2,
  .col-3,
  .col-4 {
    grid-template-columns: 1fr;
  }

  .page-title {
    font-size: 1.5rem;
  }

  table {
    font-size: 0.875rem;
  }

  table th,
  table td {
    padding: 0.5rem;
  }

  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 0.5rem;
  }

  .card {
    padding: 1rem;
  }

  .page-header {
    margin-bottom: 1rem;
  }

  .navbar-brand {
    font-size: 1.25rem;
  }

  table {
    font-size: 0.75rem;
  }

  .modal-content {
    width: 95%;
  }

  .breadcrumb {
    font-size: 0.75rem;
  }
}
