/* Data-library-specific behavior; height and pager use the shared grid standard. */
.data-library-grid .table-wrap thead th {
  position: sticky;
  top: 0;
  z-index: 4;
}

.data-library-summary {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(220px, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid var(--line, #d7e0ea);
  border-bottom: 0;
  background: #fff;
}
.data-library-summary > div:not(.data-library-summary-actions) { display: flex; flex-direction: column; gap: 2px; }
.data-library-summary strong { font-size: 18px; }
.data-library-summary span { color: #607089; font-size: 12px; }
.data-library-summary-actions { justify-self: end; }
.data-library-error { padding: 10px 12px; border: 1px solid #efb5b5; background: #fff3f3; color: #9f2929; }

.data-library-import-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line, #d7e0ea);
  border-radius: 6px;
  background: #fff;
}
.data-library-import-bar div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.data-library-import-bar strong { font-size: 16px; }
.data-library-import-bar span {
  color: #607089;
  font-size: 12px;
}

/* Keep the server-side broker pager visible while only the rows scroll. */
.board > .data-library-grid {
  height: calc(100vh - 148px);
  min-height: 0;
  overflow: hidden;
}

.board > .data-library-grid > .data-library-summary,
.board > .data-library-grid > .data-library-error,
.board > .data-library-grid > .table-pager {
  flex: 0 0 auto;
}

.board > .data-library-grid > .table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}

.board > .data-library-grid > .table-pager {
  align-items: center;
  margin-top: 0;
  padding: 12px 4px;
}

@media (max-width: 900px) {
  .data-library-summary { grid-template-columns: 1fr; }
  .data-library-summary-actions { justify-self: start; }
}
