@media (max-width: 1050px) {
  .summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filter-grid { grid-template-columns: repeat(6, minmax(0,1fr)); }
  .span-2 { grid-column: span 2; }.span-3 { grid-column: span 3; }.span-4 { grid-column: span 3; }
  .span-5, .span-6, .span-8 { grid-column: span 6; }
  .split-pane, .dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  :root { --topbar-height: 52px; }
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: 230px; transform: translateX(-105%); transition: transform .18s ease; box-shadow: 8px 0 20px rgba(0,0,0,.2); }
  .app-shell.menu-open .sidebar { transform: translateX(0); }
  .menu-toggle { display: inline-grid; place-items: center; }
  .app-name { padding-left: 6px; font-size: 12px; }
  .clock { display: none; }
  .user-block { min-width: 105px; padding: 9px 10px; }
  .main-content { padding: 12px; }
  .screen-header { flex-direction: column; }
  .screen-actions { justify-content: flex-start; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filter-grid > * { grid-column: span 1; }
  .span-2, .span-3, .span-4, .span-5, .span-6, .span-8, .span-12 { grid-column: 1 / -1; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .login-window { grid-template-columns: 1fr; width: min(470px, 100%); }
  .login-banner { padding: 23px; }
  .login-banner-status { margin-top: 25px; }
  .login-panel { padding: 25px; }
  .detail-grid { grid-template-columns: 1fr; }
}
