*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: system-ui, -apple-system, sans-serif;
  background: #f5f7fa;
  color: #222;
  line-height: 1.5;
}

.container { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }

header {
  background: #1a56db;
  color: #fff;
  padding: 1.5rem 0;
}
header h1 { font-size: 1.8rem; font-weight: 700; }
header .subtitle { opacity: .8; font-size: .95rem; margin-top: .25rem; }

main { padding: 1.5rem 0; }

/* Controls */
.controls {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.filters { display: flex; gap: .5rem; flex-wrap: wrap; }
.filters select, .filters input {
  padding: .45rem .75rem;
  border: 1px solid #cdd5e0;
  border-radius: 6px;
  font-size: .95rem;
  background: #fff;
}
.filters input { min-width: 220px; }

.btn-primary {
  padding: .45rem 1rem;
  background: #1a56db;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: .95rem;
}
.btn-primary:hover { background: #1648c0; }
.btn-primary:disabled { background: #9ab0e8; cursor: not-allowed; }

.crawl-controls { display: flex; align-items: center; gap: .75rem; }
.crawl-status { font-size: .85rem; color: #555; }

/* Stats */
.stats { font-size: .9rem; color: #666; margin-bottom: 1rem; }

/* Dataset list */
.dataset-list { display: flex; flex-direction: column; gap: .75rem; }

.dataset-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem 1.25rem;
}
.dataset-card h3 { font-size: 1rem; font-weight: 600; margin-bottom: .35rem; }
.dataset-card .meta {
  font-size: .82rem;
  color: #667;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.dataset-card .meta span { background: #f0f4ff; padding: .1rem .4rem; border-radius: 4px; }

.loading { color: #888; font-style: italic; }
.error   { color: #c0392b; }

/* Pagination */
.pagination {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
  justify-content: center;
}
.pagination button {
  padding: .4rem .9rem;
  border: 1px solid #cdd5e0;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.pagination button:disabled { opacity: .4; cursor: not-allowed; }
#pageInfo { font-size: .9rem; color: #555; }
