.filter-dialog {
  max-height: min(92vh, 48rem);
  max-height: min(92dvh, 48rem);
  overflow: hidden;
}
.filter-dialog[open] { display: flex; flex-direction: column; }
.filter-dialog > :not(.filter-form) { flex-shrink: 0; }
.filter-form { display: flex; flex-direction: column; min-height: 0; }
.filter-form > .filter-grid {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .3rem;
  margin: -.3rem;
  scroll-padding-block: .3rem;
}
.filter-status, .filter-actions { flex-shrink: 0; }
@media (max-height: 740px) {
  .filter-dialog { padding-block: 1.25rem; }
  .filter-dialog > .dialog-icon { width: 3rem; margin-bottom: .65rem; }
}
@media (max-height: 500px) {
  .filter-dialog > .dialog-icon { display: none; }
  .filter-dialog > .filter-intro { margin-bottom: .65rem; }
  .filter-dialog .filter-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
