/* MathArena Admin — section nav + management-page styling.
   Layers on top of style.css; reuses its .card / .muted / .ghost / colors. */

.admin-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--bg, #0f1216);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.admin-nav-row {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  padding: 8px 0;
}
.admin-tab {
  flex: 0 0 auto;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 8px 14px;
  color: var(--muted, #9aa4b2);
  font: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.admin-tab:hover { color: inherit; background: rgba(255, 255, 255, 0.05); }
.admin-tab.active {
  color: inherit;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
}

.admin-section[hidden] { display: none; }

/* Generic data table */
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.admin-table th, .admin-table td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  white-space: nowrap;
}
.admin-table th { color: var(--muted, #9aa4b2); font-weight: 600; }
.admin-table tbody tr:hover { background: rgba(255, 255, 255, 0.03); }

.admin-json {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  padding: 12px;
  overflow-x: auto;
  font-size: 13px;
}

/* Voice cards */
.admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.admin-voice {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.admin-voice-name { font-weight: 600; }

/* Status notices */
.admin-notice {
  border-radius: 10px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.admin-notice.todo { border-color: #caa14a; background: rgba(202, 161, 74, 0.08); }
.admin-notice.warn { border-color: #caa14a; background: rgba(202, 161, 74, 0.06); }
.admin-notice.err  { border-color: #d9534f; background: rgba(217, 83, 79, 0.08); }
.admin-notice p { margin: 6px 0 0; }
