.table-filename {
  display: block;
  margin-top: .85rem;
  overflow-wrap: anywhere;
}

.table-filename:empty { display: none; }
.table-settings { display: flex; flex-wrap: wrap; gap: .85rem 1rem; }
.table-settings label { display: grid; gap: .35rem; max-width: 100%; }
.table-settings select { min-height: 2.75rem; }
.table-settings .table-checkbox { display: flex; align-items: center; gap: .45rem; min-height: 2.75rem; }
.table-checkbox input { width: 1.1rem; height: 1.1rem; accent-color: var(--accent); }
.table-preview { margin-top: 1.25rem; min-width: 0; }
.table-preview h2 { margin-bottom: .4rem; font-size: 1rem; }
.table-preview p { font-size: .88rem; margin-bottom: .5rem; color: var(--muted); }
.table-scroll { max-width: 100%; max-height: 28rem; overflow: auto; border: 1px solid var(--line); border-radius: .45rem; }
.table-scroll:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.table-scroll table { border-collapse: collapse; min-width: 100%; font-size: .85rem; }
.table-scroll td { border: 1px solid var(--line); padding: .45rem .55rem; min-width: 5rem; max-width: 14rem; white-space: pre-wrap; overflow-wrap: anywhere; vertical-align: top; }
.table-download { margin-top: .75rem; }
.table-pager { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; justify-content: space-between; margin-top: .75rem; }
.table-pager span { font-size: .85rem; color: var(--muted); }
