/* Responsive rules from the pre-redesign cascade layer. */
@media (max-width: 960px) {
  .access-stats-grid,
  .role-card-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .role-detail-layout {
    grid-template-columns: 1fr;
  }

  .role-detail-context,
  .role-detail-bottom-grid,
  .diagnostics-grid,
  .diagnostics-backup-summary {
    grid-template-columns: 1fr;
  }

  .roles-browser-toolbar,
  .role-compose-header,
  .role-compose-fields,
  .diagnostics-maintenance-controls,
  .audit-filter-form,
  .jobs-filter-form,
  .jobs-recovery-form {
    grid-template-columns: 1fr;
  }

  .role-detail-summary-card {
    flex-direction: column;
    align-items: stretch;
  }

  .permission-group-header {
    flex-direction: column;
  }

  .permission-group-actions {
    justify-content: flex-start;
  }

  .role-permission-grid {
    grid-template-columns: 1fr;
  }

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

  .search-form {
    grid-template-columns: 1fr;
  }

  .search-form-actions {
    justify-items: stretch;
  }

  .search-mode-panel {
    min-width: 0;
  }

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

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

  .recipes-sidebar {
    position: static;
    max-height: none;
  }

  .admin-sidebar-card {
    position: static;
  }

  .tag-filter-list {
    overflow: visible;
    padding-right: 0;
  }

  .detail-hero h1 {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

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

  .recipe-edit-grid,
  .recipe-edit-grid-even,
  .recipe-edit-nutrition-grid,
  .recipe-edit-cover {
    grid-template-columns: 1fr;
  }

  .detail-grid-spacer {
    display: none;
  }

  .recipe-image-grid {
    max-width: none;
    grid-template-columns: 1fr;
  }

  .detail-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .detail-toolbar-group,
  .detail-toolbar-group-end {
    justify-content: flex-start;
  }

  .document-table {
    min-width: 720px;
  }

  .modal-card {
    padding: 18px;
  }
}
