/* ── Hidden row visibility ── */
tr[data-hidden="true"]                          { display: none; }
table.show-hidden tr[data-hidden="true"]         { display: table-row; opacity: 0.35; }

/* ── Row state flashes ── */
tr.saving                                        { opacity: 0.55; pointer-events: none; }
tr.saved  td                                     { transition: background .4s; background: rgba(34,197,94,.18); }
tr.error  td                                     { background: rgba(239,68,68,.18); }

/* ── Editable cells ── */
td.editable                                      { border-bottom: 1px dashed rgba(255,255,255,.2); cursor: text; min-width: 80px; }
td.editable:hover                                { background: rgba(255,255,255,.04); }
td.editable:focus                                { background: rgba(255,255,255,.07); border-bottom-color: #60a5fa; outline: none; border-radius: 3px 3px 0 0; }
td.promote-target                                { border-bottom: 2px solid #f59e0b !important; background: rgba(245,158,11,.12) !important; animation: pulse-border .6s ease; }
@keyframes pulse-border { 0%,100% { opacity:1 } 50% { opacity:.5 } }

/* ── Promote button ── */
.promote-btn {
  background: rgba(245,158,11,.15);
  color: #f59e0b;
  border: 1px solid rgba(245,158,11,.3);
  border-radius: 4px;
  padding: 2px 7px;
  font-size: .78rem;
  cursor: pointer;
  margin-right: 4px;
}
.promote-btn:hover { background: rgba(245,158,11,.28); }

/* ── Hide/Show button ── */
.hidden-btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 4px;
  padding: 2px 7px;
  font-size: .78rem;
  cursor: pointer;
  color: inherit;
  opacity: .7;
}
.hidden-btn:hover { opacity: 1; }

/* ── Toolbar ── */
.admin-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0 14px;
  gap: 16px;
  flex-wrap: wrap;
}
.toolbar-left  { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.slider-label  { display: flex; align-items: center; gap: 6px; font-size: .9rem; }
.toggle-label  { display: flex; align-items: center; gap: 6px; font-size: .9rem; cursor: pointer; }
.val           { font-variant-numeric: tabular-nums; min-width: 2.8ch; }

/* ── Merge button ── */
.merge-btn {
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 5px 14px;
  font-size: .88rem;
  cursor: pointer;
  font-weight: 600;
}
.merge-btn:hover { background: #2563eb; }

/* ── Merge panel ── */
.merge-panel {
  background: var(--surface, #1e2130);
  border: 1px solid var(--border, #2a2d3e);
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 14px;
}
.merge-option {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 0;
  cursor: pointer;
}
.merge-actions { display: flex; gap: 10px; margin-top: 12px; }
.btn-primary {
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 5px 14px;
  cursor: pointer;
  font-weight: 600;
}
.btn-primary:hover   { background: #2563eb; }
.btn-primary:disabled { opacity: .5; pointer-events: none; }

/* ── NSC cell color ── */
td.nsc-cell { font-variant-numeric: tabular-nums; }
tr[data-nsc^="0.9"] td.nsc-cell, tr[data-nsc="1.000"] td.nsc-cell { color: #4ade80; }
tr[data-nsc^="0.7"] td.nsc-cell, tr[data-nsc^="0.8"] td.nsc-cell  { color: #facc15; }

/* ── Actions cell ── */
td.actions-cell { white-space: nowrap; }

/* ── Country cell ── */
td.country-cell { max-width: 50px; }

/* ── Notes cell ── */
td.notes-cell { max-width: 160px; font-size: .82rem; color: rgba(255,255,255,.55); }

/* ── Usage card ── */
.usage-card {
  background: var(--surface, #1e2130);
  border: 1px solid var(--border, #2a2d3e);
  border-radius: 8px;
  padding: 10px 16px;
  margin-bottom: 14px;
  font-size: .88rem;
}
.usage-card summary { cursor: pointer; font-weight: 600; list-style: none; }
.usage-card summary::before { content: "▶ "; font-size: .7em; }
.usage-card[open] summary::before { content: "▼ "; }
.usage-grid { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 10px 0 4px; }
.usage-grid dt { font-weight: 600; white-space: nowrap; }
.usage-grid dd { margin: 0; color: rgba(255,255,255,.7); }
