@media (max-width: 1180px) {
  .filter-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .sf-push-keyword-field {
    grid-column: auto / span 2;
  }

  .metric-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .dashboard-grid,
  .warehouse-layout,
  .ops-summary-grid,
  .preview-layout {
    grid-template-columns: 1fr;
  }

  .warehouse-list-panel {
    position: static;
    max-height: none;
  }

  .warehouse-list-panel .panel-body,
  .warehouse-list {
    overflow: visible;
    max-height: none;
  }
}

@media (max-width: 820px) {
  .login-page {
    grid-template-columns: 1fr;
  }

  .login-visual {
    min-height: 360px;
  }

  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
  }

  .table-scrollbar,
  .sidebar-collapsed .table-scrollbar {
    left: 16px;
    right: 16px;
  }

  .topbar {
    height: auto;
    min-height: 76px;
    align-items: flex-start;
    flex-direction: column;
    padding: 16px;
  }

  .topbar-actions {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .page-content {
    padding: 16px;
  }

  .sf-push-keyword-field,
  .sf-push-detail-grid,
  .sf-push-fields-pair {
    grid-column: auto;
  }

  .sf-push-detail-grid {
    grid-template-columns: 1fr;
  }

  .metric-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ops-grid {
    grid-template-columns: 1fr;
  }

  .upload-hint-grid,
  .checkbox-grid {
    grid-template-columns: 1fr;
  }

  .correction-layout,
  .correction-form-grid,
  .correction-barcode-row {
    grid-template-columns: 1fr;
  }

  .correction-photo-stage {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 560px) {
  .sn-registry-list-panel .panel-header {
    align-items: stretch;
    flex-direction: column;
  }

  .sn-registry-list-panel .panel-header .actions {
    justify-content: flex-start;
  }

  .metric-grid {
    grid-template-columns: 1fr;
  }

  .ops-kv div {
    grid-template-columns: 70px minmax(0, 1fr);
  }

  .ops-counts {
    gap: 8px;
  }

  .field {
    width: 100%;
  }

  .filter-grid {
    grid-template-columns: 1fr;
  }

  .filter-grid > .actions {
    grid-column: auto;
  }

  .field {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .actions {
    width: 100%;
  }

  .pagination-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .pagination-controls,
  .pagination-jump {
    justify-content: flex-end;
  }

  .pagination-inline {
    width: 100%;
    justify-content: flex-end;
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }

  .primary-button,
  .secondary-button,
  .danger-button,
  .ghost-button {
    flex: 1 1 auto;
  }
}
