@media (max-width: 1280px) {
  .topbar { grid-template-columns: 1fr; }
  .topbar-actions { justify-content: flex-start; }
  .report-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .program-card-grid, .group-card-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1180px) {
  .app-shell, .sidebar-collapsed .app-shell { grid-template-columns: 1fr; }
  .sidebar, .sidebar-collapsed .sidebar { position: relative; height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding: .9rem; overflow: visible; }
  .brand, .sidebar-collapsed .brand { grid-template-columns: 48px 1fr auto; padding-bottom: .5rem; }
  .sidebar-collapsed .brand__text, .sidebar-collapsed .nav-label { display: block; }
  .sidebar-collapsed .nav-tab { width: auto; height: auto; justify-content: flex-start; padding: .75rem; }
  .nav-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); flex: 1 1 720px; }
  .sidebar-card { display: none !important; }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sheet-toolbar, .shipping-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .debt-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-layout, .program-layout-groups, .crm-layout { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .main { padding: .75rem; }
  .sidebar { padding: .8rem; }
  .nav-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .kpi-grid, .dashboard-grid, .form-grid, .config-grid, .report-layout, .field-grid.cols-2, .field-grid.cols-4, .sheet-toolbar, .shipping-toolbar, .debt-card-grid, .program-card-grid, .group-card-grid, .report-summary-grid, .meta-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .topbar { border-radius: 18px; }
  .inline-control { flex-direction: column; }
  .form-actions, .button-row { justify-content: stretch; }
  .btn { width: 100%; }
  .nav-tab { padding: .75rem; }
  .brand { width: 100%; }
  .report-html { padding: .75rem; }
}
@media print {
  .sidebar, .topbar, .section-heading, .report-filters, .debt-card-grid, .toast-region { display: none !important; }
  .app-shell { display: block; }
  .main { padding: 0; }
  .view { display: none !important; }
  #view-reportes { display: block !important; }
  .card { box-shadow: none; border: 0; }
  .report-html { max-height: none; overflow: visible; border: 0; }
}

/* v1.0: evita que filtros largos se monten sobre otros controles */
@media (max-width: 1280px) {
  .sheet-toolbar, .dashboard-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .sheet-toolbar, .dashboard-filters { grid-template-columns: 1fr; }
}


