/* 後台專用樣式，沿用 app.css 的深色底與 topbar。 */
.admin-body { background: #0b0b0b; }
.admin-shell { max-width: 1400px; margin: 0 auto; padding: 72px 18px 48px; }
.admin-badge {
  border: 1px solid #6cf;
  color: #6cf;
  border-radius: 12px;
  padding: 2px 9px;
  font-size: 12px;
  white-space: nowrap;
}
.admin-who { color: #999; font-size: 13px; align-self: center; }

.admin-tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  border-bottom: 1px solid #282828;
  margin-bottom: 18px;
}
.admin-tab {
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  background: transparent;
  color: #aaa;
  padding: 9px 16px;
}
.admin-tab:hover { color: #eee; background: #1a1a1a; }
.admin-tab.on { color: #6cf; border-color: #282828; background: #141414; }

.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.stat-card {
  background: #141414;
  border: 1px solid #262626;
  border-radius: 10px;
  padding: 13px 15px;
}
.stat-card .n { font-size: 26px; font-weight: 700; color: #fff; }
.stat-card .k { font-size: 12px; color: #999; margin-top: 3px; }
.stat-card.warn .n { color: #f6a; }

.admin-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 14px;
}
.admin-toolbar input[type="search"], .admin-toolbar input[type="text"], .admin-toolbar select {
  border: 1px solid #383838;
  border-radius: 8px;
  padding: 7px 11px;
  background: #0f0f0f;
  color: #eee;
  outline: none;
}
.admin-toolbar input:focus, .admin-toolbar select:focus { border-color: #6cf; }
.admin-toolbar .spacer { margin-left: auto; color: #888; font-size: 13px; }

.admin-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.admin-table th {
  text-align: left;
  color: #999;
  font-weight: 600;
  padding: 8px 10px;
  border-bottom: 1px solid #303030;
  white-space: nowrap;
}
.admin-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #1e1e1e;
  vertical-align: top;
}
.admin-table tr:hover td { background: #131313; }
.admin-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.admin-table .wrap { max-width: 360px; word-break: break-word; }

.pill {
  display: inline-block;
  border-radius: 10px;
  padding: 1px 8px;
  font-size: 11.5px;
  border: 1px solid #3a3a3a;
  color: #bbb;
  white-space: nowrap;
}
.pill.admin { border-color: #f6a; color: #f6a; }
.pill.moderator { border-color: #6cf; color: #6cf; }
.pill.active, .pill.released { border-color: #4c8; color: #4c8; }
.pill.suspended, .pill.processing, .pill.archived, .pill.hidden { border-color: #ec6; color: #ec6; }
.pill.banned, .pill.deleted, .pill.failed { border-color: #e66; color: #e66; }

.row-actions { display: flex; gap: 5px; flex-wrap: wrap; }
.mini {
  border: 1px solid #3a3a3a;
  background: #1e1e1e;
  color: #ddd;
  border-radius: 7px;
  padding: 3px 9px;
  font-size: 12.5px;
}
.mini:hover { background: #2b2b2b; }
.mini.danger { border-color: #733; color: #f88; }
.mini.danger:hover { background: #331a1a; }
.mini.go { border-color: #385; color: #7d9; }

.editor-row td { background: #131313; }
.editor {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px 14px;
  padding: 6px 2px 12px;
}
.editor label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: #999; }
.editor input, .editor select, .editor textarea {
  border: 1px solid #383838;
  border-radius: 7px;
  padding: 6px 9px;
  background: #0f0f0f;
  color: #eee;
  outline: none;
  font: inherit;
}
.editor input:focus, .editor select:focus, .editor textarea:focus { border-color: #6cf; }
.editor .full { grid-column: 1 / -1; }
.editor-actions { display: flex; gap: 8px; padding-bottom: 10px; }

.muted-text { color: #777; font-size: 12px; }
.admin-error { color: #f88; padding: 20px 0; }

.toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  background: #1e1e1e;
  border: 1px solid #444;
  border-radius: 9px;
  padding: 10px 18px;
  color: #eee;
  z-index: 3000;
  max-width: 80vw;
}
.toast.bad { border-color: #833; color: #f99; }

.audit-list { margin: 0; padding: 0; list-style: none; font-size: 13px; }
.audit-list li { padding: 6px 0; border-bottom: 1px solid #1e1e1e; color: #aaa; }
.audit-list code { color: #6cf; }
