/* =====================================================================
   GM-Kontenverwaltung (Spielerzugaenge + Slot-Zuweisung)
   =====================================================================
   Baut auf dem bestehenden .modal-overlay/.modal-box/.token-settings-*-
   Muster auf (siehe Objekt-Bibliothek/Token-Editor), damit sich der
   Bereich nicht wie ein separates Fremd-Tool anfuehlt. */
.account-admin-box {
  width: min(900px, 96vw);
  max-height: 88vh;
  overflow-y: auto;
}
.account-create-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}
.account-admin-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.account-admin-campaign-picker {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--parchment-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.account-admin-campaign-picker select {
  width: auto;
  padding: 6px 8px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--ink-950);
  color: var(--parchment);
  text-transform: none;
}
.account-admin-note { color: var(--parchment-muted); font-size: 12px; margin: 4px 0; }
.account-admin-list { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.account-row {
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,0.03);
  padding: 12px;
}
.account-row.self { border-color: rgba(216,187,103,0.4); }
.account-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.account-row-identity { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.account-row-identity strong { color: var(--parchment); font-family: var(--font-display); }
.account-username { color: var(--parchment-muted); font-size: 12px; font-family: var(--font-mono); }
.account-row-controls { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.account-role-select {
  padding: 5px 7px; border-radius: var(--radius-sm); border: 1px solid var(--border);
  background: var(--ink-950); color: var(--parchment); font-size: 12px;
}
.account-pw-btn, .account-delete-btn {
  border: 1px solid var(--border-soft); border-radius: var(--radius-pill);
  background: rgba(255,255,255,0.05); color: var(--parchment);
  padding: 5px 11px; cursor: pointer; font-size: 12px;
  font-family: var(--font-display); letter-spacing: 0.3px;
}
.account-pw-btn:hover { background: rgba(255,255,255,0.10); }
.account-delete-btn { color: var(--danger-text); }
.account-delete-btn[disabled], .account-role-select[disabled] { opacity: 0.5; cursor: not-allowed; }
.account-row-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.account-badge {
  font-size: 10px; padding: 2px 8px; border-radius: var(--radius-pill);
  text-transform: uppercase; letter-spacing: 0.4px;
}
.account-badge-self { background: #1f5c3a; color: #8ee6ae; }
.account-badge-warn { background: #5c1f1f; color: #e68e8e; }
.account-badge-locked { background: rgba(216,187,103,0.18); color: var(--gold-strong); border: 1px solid rgba(216,187,103,0.3); }
.account-slot-chip {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; padding: 2px 4px 2px 8px; border-radius: var(--radius-pill);
  background: rgba(255,255,255,0.05); border: 1px solid var(--border-soft);
  color: var(--parchment-dim);
}
.account-slot-unlink {
  border: none; background: transparent; color: var(--parchment-muted);
  cursor: pointer; font-size: 13px; line-height: 1; padding: 2px 4px;
}
.account-slot-unlink:hover { color: var(--danger-text); }
.account-link-row { display: flex; gap: 6px; margin-top: 8px; }
.account-link-row select {
  flex: 1; padding: 5px 7px; border-radius: var(--radius-sm); border: 1px solid var(--border);
  background: var(--ink-950); color: var(--parchment); font-size: 12px;
}
.account-link-btn {
  border: 1px solid var(--accent-line); border-radius: var(--radius-pill);
  background: var(--accent-soft); color: var(--parchment);
  padding: 5px 12px; cursor: pointer; font-size: 12px;
  font-family: var(--font-display); letter-spacing: 0.3px;
}
.account-link-btn:hover { background: rgba(208,70,74,0.24); border-color: var(--accent); }
.account-row-flash { font-size: 11px; color: var(--parchment-muted); min-height: 14px; margin: 6px 0 0; }
.account-row-flash.error { color: var(--danger-text); }

@media (max-width: 640px) {
  .account-create-grid { grid-template-columns: 1fr; }
  .account-admin-toolbar { flex-direction: column; align-items: flex-start; }
  .account-row-head { flex-direction: column; align-items: flex-start; }
}

html[data-theme="light"] .account-row {
  background: var(--theme-panel-bg);
  border-color: rgba(24,26,30,0.10);
}
html[data-theme="light"] .account-row.self { border-color: rgba(168,120,40,0.45); }
html[data-theme="light"] .account-slot-chip,
html[data-theme="light"] .account-pw-btn,
html[data-theme="light"] .account-delete-btn {
  background: rgba(168,120,40,0.10);
  border-color: rgba(168,120,40,0.22);
}
html[data-theme="light"] .account-badge-locked {
  background: rgba(168,120,40,0.16);
  border-color: rgba(168,120,40,0.32);
}
html[data-theme="light"] .account-link-btn:hover { background: rgba(200,67,76,0.18); }
