.admin main { max-width: 1050px; padding-bottom: 35px; }
.admin h1 { font: 500 clamp(36px, 6vw, 60px)/1.12 var(--serif); margin: 7px 0; }
.admin .panel p { color: var(--muted); margin: 7px 0 13px; }
.admin .topbar { display: flex; padding-block: 9px; }
.admin #login { max-width: 550px; }
#admin-message:not(:empty) { padding: 10px 0; color: var(--gold); }
.admin-session, .players-heading, .game-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.admin-session { margin: 0 0 14px; color: var(--muted); }
.admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.game-setting { border-top: 1px solid var(--border); padding: 9px 0; }
.game-setting small { display: block; color: var(--muted); }
#grant-form { display: grid; gap: 7px; margin-top: 10px; }
#grant-form label { color: var(--muted); }
#grant-form select {
  background: #19141b;
  color: var(--ink);
  padding: 8px 10px;
  border: 1px solid #695060;
  border-radius: 7px;
  max-width: 100%;
}
#grant-form button { justify-self: start; margin-top: 5px; }
.players-panel { margin-top: 14px; }
.players-scroll { overflow: auto; }
.players-heading strong { color: var(--gold); font-size: 13px; }
.admin table { width: 100%; border-collapse: collapse; min-width: 430px; margin-top: 10px; }
.admin th, .admin td { padding: 10px 6px; border-top: 1px solid var(--border); text-align: left; }
.admin th { color: var(--muted); font-weight: 600; }
.admin td:last-child { white-space: nowrap; }
.admin .player-online { color: #9ee1ba; }
@media (max-width: 620px) { .admin-grid { grid-template-columns: minmax(0, 1fr); } }
