/* ── Admin panel layout ─────────────────────────────────────────────── */

#admin-app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#admin-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 24px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
#admin-logo {
  font-size: 1rem;
  color: var(--accent);
  letter-spacing: 4px;
  font-weight: bold;
  flex: 1;
}
#admin-username {
  color: var(--muted);
  font-size: 13px;
}
#btn-admin-logout {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  padding: 5px 12px;
  font-size: 12px;
}

/* ── Views ──────────────────────────────────────────────────────────── */

.admin-view {
  flex: 1;
  padding: 24px 28px;
  overflow-y: auto;
}

/* ── Toolbar ────────────────────────────────────────────────────────── */

.admin-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.admin-toolbar h2 {
  flex: 1;
  font-size: 1rem;
  color: var(--text);
  letter-spacing: 1px;
}
.toolbar-actions {
  display: flex;
  gap: 8px;
}

/* ── Buttons ────────────────────────────────────────────────────────── */

.btn-danger {
  background: var(--error);
}
.btn-danger:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.btn-secondary {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
}
.btn-secondary:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* ── Tables ─────────────────────────────────────────────────────────── */

#admin-table-wrap,
.table-scroll {
  overflow-x: auto;
}

#games-table,
#nations-table,
#players-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

#games-table th,
#nations-table th,
#players-table th {
  text-align: left;
  padding: 8px 10px;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

#games-table td,
#nations-table td,
#players-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  vertical-align: middle;
}

#games-table tr:hover td,
#nations-table tr:hover td,
#players-table tr:hover td {
  background: rgba(255,255,255,0.03);
}

.col-check { width: 32px; }
.num { text-align: right !important; }
td.num { text-align: right; }

.table-empty {
  text-align: center;
  color: var(--muted);
  padding: 32px !important;
}

/* Row click highlight for game list */
.game-row { cursor: pointer; }
.game-row.selected td { background: rgba(233,69,96,0.08); }

/* Status badges */
.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.badge-waiting  { background: rgba(255,152,0,0.18);  color: var(--warn); }
.badge-active   { background: rgba(76,175,80,0.18);  color: var(--green); }
.badge-finished { background: rgba(122,138,170,0.18); color: var(--muted); }

.badge-submitted { color: var(--green); }
.badge-pending   { color: var(--muted); }

/* ── Detail meta bar ────────────────────────────────────────────────── */

.detail-meta-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
  font-size: 13px;
  color: var(--muted);
}
.detail-meta-bar strong {
  color: var(--text);
  margin-left: 4px;
}

/* ── Detail sections ────────────────────────────────────────────────── */

.detail-section {
  margin-bottom: 32px;
}
.detail-section h3 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--muted);
  margin-bottom: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border);
}

/* ── Relationship pills ─────────────────────────────────────────────── */

.rel-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.rel-pill {
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 10px;
  border: 1px solid var(--border);
  color: var(--muted);
  white-space: nowrap;
}
.rel-war      { border-color: var(--error);  color: var(--error); }
.rel-trade    { border-color: var(--green);  color: var(--green); }
.rel-alliance { border-color: #4fc3f7;       color: #4fc3f7; }

/* ── Map container ──────────────────────────────────────────────────── */

#admin-map-container {
  overflow: auto;
  background: #111;
  border: 1px solid var(--border);
  border-radius: 4px;
  max-height: 600px;
}
#admin-map-container canvas { display: block; }

/* ── Modal ──────────────────────────────────────────────────────────── */

.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-box {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 28px 32px;
  max-width: 420px;
  width: 100%;
}
.modal-box h3 {
  margin-bottom: 12px;
  color: var(--accent);
}
.modal-box p {
  margin-bottom: 20px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

/* ── Inline detail action button ────────────────────────────────────── */
.btn-view-detail {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  padding: 3px 10px;
  font-size: 11px;
}
.btn-view-detail:hover {
  border-color: var(--accent);
  color: var(--accent);
}
