@media (max-width: 768px) {
    .sidebar { transform: translateX(-100%); }
    .sidebar.open { transform: translateX(0); }
    .main-content { margin-left: 0; }
    .stats-grid { grid-template-columns: 1fr; }
    .calendar-grid { font-size: 0.8rem; }
    .filter-row { flex-direction: column; }
    .filter-group { min-width: 100%; }
    .charts-grid { grid-template-columns: 1fr; }
    .menu-toggle { display: block; }
}