/* ========================================================================
   Responsive — laptop / tablet / mobile
   ======================================================================== */

@media (max-width: 1200px){
  .stat-grid{ grid-template-columns:repeat(2,1fr) !important; }
}

@media (max-width: 991.98px){
  .sidebar{ transform:translateX(-100%); box-shadow:var(--shadow-lg); }
  body.sidebar-open .sidebar{ transform:translateX(0); }
  .main-wrap{ margin-left:0 !important; }
  .topbar-search{ display:none; }
  .sidebar-scrim{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1025; }
  body.sidebar-open .sidebar-scrim{ display:block; }
  .page-body{ padding:1.25rem 1rem 2.5rem; }
}

@media (max-width: 767.98px){
  .stat-grid{ grid-template-columns:1fr !important; }
  .page-header{ flex-direction:column; align-items:stretch; }
  .page-header > div{ width:100%; }
  .table-app thead{ display:none; }
  .table-app.table-stack tbody tr{ display:block; border-bottom:8px solid var(--bg); }
  .table-app.table-stack tbody td{ display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--border); }
  .table-app.table-stack tbody td::before{ content:attr(data-label); font-weight:600; color:var(--text-tertiary); font-size:.72rem; text-transform:uppercase; }
  .pipeline-stepper{ flex-direction:column; gap:1rem; }
  .pipeline-step::after{ display:none; }
  .toast-stack{ width:calc(100% - 1.6rem); left:.8rem; right:.8rem; }
}

@media (max-width: 575.98px){
  .page-title{ font-size:1.25rem; }
  .card-body{ padding:1rem; }
  .card-header{ padding:.85rem 1rem; }
  .sidebar{ width:min(88vw, 320px); }
}
