@media (max-width: 1024px) {
  .grid-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .sidebar {
    transform: translateX(-100%);
    width: var(--sidebar-width);
  }
  .sidebar.mobile-open {
    transform: translateX(0);
  }

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

  .header-title { font-size: var(--font-size-base); }

  .page-content { padding: 1rem; }

  .page-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .form-row { grid-template-columns: 1fr; }

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

  .modal { max-width: 100%; margin: 0.5rem; }
  .modal-lg, .modal-xl { max-width: 100%; }

  .auth-card { padding: 1.5rem; }

  .data-table { font-size: var(--font-size-xs); }
  .data-table th, .data-table td { padding: 0.5rem; }

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

@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr; }
  .quick-actions { grid-template-columns: 1fr; }
  .auth-card { padding: 1.25rem; }
  .toast { min-width: auto; max-width: calc(100vw - 2rem); }
}

/* Mobile sidebar overlay */
.sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: calc(var(--z-sidebar) - 1);
}

@media (max-width: 768px) {
  .sidebar-overlay.active { display: block; }
}
