/* ==========================================================================
   Boomi Insights — Responsive adjustments
   Desktop-first; degrades cleanly to tablet / small laptop / mobile.
   ========================================================================== */

@media (max-width: 1500px) {
  .panel-split { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1360px) {
  .grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split { grid-template-columns: minmax(0, 1fr); }
  .split__aside { position: static; }
  .grid--sidebar, .grid--sidebar-left { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1200px) {
  .panel-split, .panel-split--even, .panel-split--wide-left { grid-template-columns: minmax(0, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar__actions .topbar-hide-md { display: none; }
}

@media (max-width: 1080px) {
  .health-band__stats { gap: var(--s-6); }
  .log-row { grid-template-columns: 132px 56px minmax(0, 1fr); }
  .log-row .log-runtime { display: none; }
}

@media (max-width: 900px) {
  .grid--2, .grid--3, .grid--4, .grid--5, .grid--6 { grid-template-columns: minmax(0, 1fr); }
  .kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quicknav { grid-template-columns: minmax(0, 1fr); }
  .rt-card__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert-row { grid-template-columns: minmax(0, 1fr) 104px; }
  .cert-row__days { display: none; }
  .summary-strip__cell { border-right: 0; border-bottom: 1px solid var(--bd-soft); }
}

@media (max-width: 720px) {
  :root { --content-pad: 14px; }
  .kpi-row { grid-template-columns: minmax(0, 1fr); }
  .page-head { flex-direction: column; }
  .page-head__actions { width: 100%; }
  .health-band { flex-direction: column; align-items: flex-start; }
  .health-band__actions { flex-wrap: wrap; width: 100%; }
  .grid--span-2, .grid--span-3 { grid-column: span 1; }
  .table { min-width: 640px; }
  .log-row { grid-template-columns: 104px minmax(0, 1fr); }
  .log-row .log-level { grid-column: 2; }
}

/* ==========================================================================
   Sidebar behaviour at narrow widths
   ========================================================================== */
.sidebar-scrim {
  position: fixed;
  inset: 0;
  z-index: 19;
  background: rgba(11, 23, 38, 0.45);
  animation: fade-in var(--dur-2) var(--ease);
}

@media (max-width: 1024px) {
  .sidebar { transform: translateX(-100%); transition: transform var(--dur-3) var(--ease); }
  .app[data-sidebar="open"] .sidebar { transform: none; box-shadow: var(--sh-xl); }
  .app[data-sidebar="open"] .app__main { margin-left: 0; }
  .app[data-sidebar="collapsed"] .sidebar { width: var(--sb-w); }
  .app[data-sidebar="collapsed"] .brand-text,
  .app[data-sidebar="collapsed"] .nav-item__label,
  .app[data-sidebar="collapsed"] .nav-item__count,
  .app[data-sidebar="collapsed"] .sidebar__conn-text { display: block; }
  .app[data-sidebar="collapsed"] .nav-item { justify-content: flex-start; padding-inline: 10px; }
  .app[data-sidebar="collapsed"] .nav-group__label { font-size: var(--fs-2xs); padding-inline: 10px; }
  .app[data-sidebar="collapsed"] .nav-group__label::after { display: block; }
  .app[data-sidebar="collapsed"] .sidebar__brand { justify-content: flex-start; padding-inline: 16px; }
  .sidebar__close { display: grid; }
}

@media (min-width: 1025px) {
  .sidebar__close { display: none; }
  .sidebar-scrim { display: none; }
}

/* ==========================================================================
   Print
   ========================================================================== */
@media print {
  .sidebar, .topbar, .toast-host, .action-bar, .filterbar, .pagination { display: none !important; }
  .app__main { margin-left: 0 !important; }
  .card { box-shadow: none; break-inside: avoid; }
}
