@media (max-width: 1180px) { .dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 960px) {
  .app-shell { grid-template-columns: 1fr; }
  .app-sidebar { position: fixed; inset-block: 0; inset-inline-start: 0; z-index: 200; width: min(86vw, var(--facilop-sidebar-width)); transform: translateX(-105%); transition: transform .2s ease; }
  body.sidebar-open .app-sidebar { transform: translateX(0); }
  .mobile-overlay { display: block; position: fixed; inset: 0; background: rgba(15,23,42,.5); opacity: 0; pointer-events: none; z-index: 150; transition: opacity .2s ease; }
  body.sidebar-open .mobile-overlay { opacity: 1; pointer-events: auto; }
  .topbar { padding: 10px 14px; }
  .content-wrap { padding: 16px; }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-brand-panel { min-height: 280px; }
}
@media (max-width: 520px) {
  .topbar-actions { width: 100%; justify-content: flex-start; }
  .page-header { display: block; }
  .kpi-grid { grid-template-columns: 1fr; }
  .grid-auto { grid-template-columns: 1fr; }
  .card-facilop { padding: 14px; }
  .auth-form-panel { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
