
    /* If you prefer, move these to /assets/styles/scorecard.css */
    .admin-hero {
      padding: 2.5rem 1rem 1.25rem;
      background: var(--hero-dark, #0f1115);
      color: #fff;
      text-align: center;
    }
    .admin-wrap {
      max-width: 1100px;
      margin: 1.5rem auto 3rem;
      padding: 0 1rem;
    }
    .notice {
      border-radius: 12px;
      padding: 0.75rem 1rem;
      margin: 0 0 1rem 0;
      font-size: 0.95rem;
    }
    .notice--warn { background:#fff8e1; border:1px solid #f0d48a; color:#7a5a00; }
    .notice--ok { background:#e7fbef; border:1px solid #9fe0ba; color:#0e6b3a; }
    .notice--soft { background:#eef2ff; border:1px solid #c7d2fe; color:#243b9a; }

    .card {
      background: #ffffff;
      border: 1px solid #e6e8ec;
      border-radius: 16px;
      padding: 1rem;
      box-shadow: 0 1px 2px rgba(0,0,0,.03);
    }
    .dark-hero .card { background:#101418; border-color:#1e242b; }
    .section-title { font-size: 1.1rem; font-weight: 700; margin: 0 0 0.5rem 0; }

    .dropzone {
      border: 2px dashed #aab0b6;
      border-radius: 16px;
      padding: 24px;
      text-align: center;
      cursor: pointer;
      transition: background .15s ease, border-color .15s ease;
      background:#fafbfc;
    }
    .dropzone.dragover { background:#f0f6ff; border-color:#6aa8ff; }
    .dropzone input[type="file"] { display: none; }
    .dropzone .hint { font-size:.95rem; color:#566070; margin-top:.25rem; }

    .actions { display:flex; gap:.5rem; flex-wrap:wrap; margin-top: .75rem; }
    .btn {
      border:1px solid #d0d5dd; background:#fff; color:#111827;
      padding:.6rem .9rem; border-radius:999px; font-weight:600; cursor:pointer;
    }
    .btn--primary { background:#111827; color:#fff; border-color:#111827; }
    .btn:disabled { opacity:.5; cursor:not-allowed; }

    .grid {
      display:grid;
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    @media (min-width: 900px) {
      .grid { grid-template-columns: 380px 1fr; align-items:start; }
    }

    .table-wrap {
      border:1px solid #e5e7eb; border-radius:12px; overflow:auto; max-height: 60vh;
      background:#fff;
    }
    table { border-collapse: collapse; width: 100%; font-size:.92rem; }
    thead th {
      position: sticky; top: 0; background:#f8fafc; border-bottom:1px solid #e5e7eb;
      text-align:left; padding:.6rem .5rem; font-weight:700;
    }
    tbody td { border-bottom:1px solid #f1f3f5; padding:.5rem; white-space:nowrap; }
    .meta { font-size:.9rem; color:#475569; }
    .tag {
      display:inline-block; padding:.2rem .5rem; border-radius:999px;
      background:#eef2ff; color:#243b9a; border:1px solid #c7d2fe; font-size:.8rem;
      margin: 0 .25rem .25rem 0;
    }
    .hidden { display:none !important; }
  

    /* --- Scorecard Mapper --- */
.map-grid { display: grid; gap: .6rem; }
.map-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
  gap: .6rem;
}
.map-row label { font-weight: 700; }
.map-row select {
  padding: .55rem .7rem;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  background: #fff;
}
.dark-hero .map-row select { background:#0f1115; color:#e5e7eb; border-color:#1f2937; }

/* ---- Light theme for Scorecard Upload ---- */
:root {
  --hero-bg: #f8fafc;
  --hero-fg: #0f172a;
}

.admin-hero {
  padding: 2.5rem 1rem 1.25rem;
  background: var(--hero-bg);
  color: var(--hero-fg);
  text-align: center;
}

/* Ensure cards/inputs stay light */
.card { background:#ffffff; border-color:#e6e8ec; }
.dropzone { background:#fafbfc; }
.table-wrap { background:#fff; }
thead th { background:#f8fafc; }

/* Remove dark-mode overrides that were tied to .dark-hero */
.dark-hero .card,
.dark-hero .map-row select {
  all: unset; /* neutralize old dark overrides if still present earlier */
}


/* Inputs for publish panel */
.input {
  padding:.55rem .7rem; border:1px solid #d0d5dd; border-radius:10px; background:#fff;
}
.dark-hero .input { background:#0f1115; color:#e5e7eb; border-color:#1f2937; }



/* --- Datasets list --- */
.stack { display: grid; gap: .75rem; }
.dataset-card {
  border:1px solid #e6e8ec; border-radius:16px; padding: .9rem 1rem; background:#fff;
}
.dataset-title { font-weight:800; margin:0 0 .25rem 0; }
.dataset-meta { font-size:.9rem; color:#475569; margin:.15rem 0; }
.badge {
  display:inline-block; font-size:.75rem; padding:.15rem .5rem; border-radius:999px;
  border:1px solid #c7d2fe; background:#eef2ff; color:#243b9a;
  margin-left:.5rem;
}
.actions-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }
.btn--danger { background:#7f1d1d; border-color:#7f1d1d; color:#fff; }


th[data-col] { cursor: pointer; }
.cell-bar { position: relative; display: inline-block; min-width:44px; padding:.15rem .35rem; border-radius:6px; background:#f1f5f9; }
.cell-bar[data-v]::before { content:""; position:absolute; inset:0; border-radius:6px; opacity:.25; }
.code-pill { display:inline-block; padding:.15rem .5rem; border-radius:999px; border:1px solid #e5e7eb; background:#f8fafc; }
:root { --hero-bg:#f8fafc; --hero-fg:#0f172a; }
.admin-hero { background:var(--hero-bg); color:var(--hero-fg); }


/* Datasets page: improve card title contrast */
#datasetsList .dataset-card__header > h3 {
  color: #111827;       /* slate-900 */
  font-weight: 700;     /* bold for scannability */
  letter-spacing: 0.1px;
}


/* Datasets page: match title contrast on the "Current Active" card too */
.admin-wrap .dataset-card__header > h3,
.admin-wrap .dataset-card h3,
.admin-wrap .card .card-title,
.admin-wrap #activeDataset h3,
.admin-wrap #activeDatasetPanel h3,
.admin-wrap .current-active h3,
.admin-wrap .currentActive h3,
.admin-wrap .active-dataset h3,
.admin-wrap .activeDataset h3 {
  color: #111827;      /* slate-900 */
  font-weight: 700;    /* readable, scannable */
  letter-spacing: 0.1px;
}

/* Optional: slightly darker metadata under that title */
.admin-wrap #activeDataset .meta,
.admin-wrap #activeDatasetPanel .meta,
.admin-wrap .current-active .meta {
  color: #374151;      /* slate-700 */
}
