:root {
  color-scheme: dark;
  --bg: #0b1020;
  --card: #141b2d;
  --border: #2d3853;
  --fg: #e9eeff;
  --muted: #9fb0d6;
  --accent: #4f8cff;
  --danger: #f25f6b;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, Segoe UI, Arial, sans-serif;
  background: linear-gradient(180deg, #0b1020 0%, #0a1328 100%);
  color: var(--fg);
}

.container {
  width: min(1040px, 92%);
  margin: 1.2rem auto;
}

h1, h2 { margin: 0 0 .75rem 0; }
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1rem;
  margin-bottom: 1rem;
}
.form { display: grid; gap: .75rem; }
label { display: grid; gap: .35rem; color: var(--muted); }
input, button {
  padding: .6rem .7rem;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #0c1222;
  color: var(--fg);
}
button {
  cursor: pointer;
  background: var(--accent);
  border-color: transparent;
}
button.danger { background: var(--danger); }
button:disabled { opacity: .5; cursor: not-allowed; }

.tabs { display: flex; gap: .5rem; margin-bottom: .75rem; }
.tabs button { background: #212b43; }
.tabs button.active { background: var(--accent); }

.upload-row { display: flex; gap: .6rem; align-items: center; margin-bottom: .75rem; }
.upload-row input { flex: 1; }

.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: .75rem; }

table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { border-bottom: 1px solid var(--border); text-align: left; padding: .55rem .45rem; }
a { color: #92b7ff; }

.status { min-height: 1.2rem; margin-top: .5rem; }
.status.error { color: #ff9aa2; }
.status.ok { color: #87f0b2; }
.muted { color: var(--muted); }
.hidden { display: none !important; }

.stats-grid {
  display: grid;
  gap: .6rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.stats-grid > div {
  padding: .7rem;
  background: #0d152b;
  border: 1px solid var(--border);
  border-radius: 8px;
}
