/* ============================================================
   admin.css   Admin panel — stats, inventory table, invite
   ============================================================ */

.admin-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5rem 1.25rem;
  padding-bottom: calc(1.5rem + var(--mob-tab-h) + var(--safe-bottom));
}

.admin-heading {
  font-family: 'Cinzel Decorative', serif;
  font-size: 1.4rem;
  color: var(--error);
  margin-bottom: .25rem;
}

.admin-sub {
  font-size: .8rem;
  color: var(--text-muted);
  margin-bottom: 1.75rem;
}

.admin-section-title {
  font-family: 'Cinzel', serif;
  font-size: .72rem;
  letter-spacing: .16em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: .85rem;
  padding-bottom: .4rem;
  border-bottom: 1px solid var(--border);
}

/* ── Stat cards grid ── */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: .85rem;
  margin-bottom: 1.75rem;
}

.stat-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1rem;
  text-align: center;
}
.stat-num { font-family:'Cinzel',serif; font-size:1.5rem; font-weight:700; color:var(--gold); }
.stat-lbl { font-size:.68rem; color:var(--text-muted); margin-top:2px; font-family:'Cinzel',serif; letter-spacing:.07em; }

/* ── Inventory table ── */
.inventory-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.75rem;
}
.inventory-table th {
  font-family: 'Cinzel', serif;
  font-size: .62rem;
  letter-spacing: .11em;
  color: var(--text-muted);
  text-align: left;
  padding: .55rem .7rem;
  border-bottom: 1px solid var(--border);
}
.inventory-table td {
  padding: .65rem .7rem;
  border-bottom: 1px solid rgba(201,168,76,.07);
  font-size: .78rem;
  vertical-align: middle;
}
.inventory-table tr:hover td { background: rgba(255,255,255,.02); }

.tbl-img  { width:34px; height:45px; object-fit:cover; border-radius:4px; }
.tbl-name { font-family:'Cinzel',serif; font-size:.76rem; color:var(--text); max-width:150px; }
.tbl-price{ font-family:'Cinzel',serif; color:var(--gold); font-size:.82rem; }
.tbl-cost { font-family:'Cinzel',serif; color:var(--error); font-size:.78rem; }

.tbl-badge { padding:2px 7px; border-radius:10px; font-size:.6rem; font-weight:700; }
.badge-poke   { background:rgba(232,64,64,.18);  color:var(--pokemon); }
.badge-mtg    { background:rgba(74,127,181,.18); color:var(--mtg); }
.badge-sold   { background:rgba(239,68,68,.15);  color:var(--error); }
.badge-active { background:rgba(34,197,94,.15);  color:var(--ok); }
.badge-admin  { background:rgba(239,68,68,.12);  color:var(--error); font-size:.55rem; padding:1px 5px; font-family:'Lato',sans-serif; }

.tbl-action {
  background:transparent;
  border:1px solid var(--border);
  color:var(--text-muted);
  padding:4px 9px;
  border-radius:4px;
  font-size:.65rem;
  cursor:pointer;
  margin-right:3px;
  transition:all .18s;
}
.tbl-action:hover     { border-color:var(--gold); color:var(--gold); }
.tbl-action.del:hover { border-color:var(--error); color:var(--error); }

.add-listing-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  background: var(--gold);
  color: #000;
  font-family: 'Cinzel', serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .07em;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  margin-bottom: 1.25rem;
  transition: background .18s;
}
.add-listing-btn:hover { background: var(--gold-light); }

/* ── Invite Admin ── */
.invite-admin-box {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1.25rem;
  margin-bottom: 2rem;
}
.invite-admin-desc {
  font-size: .8rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 1rem;
}
.invite-admin-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.invite-admin-input {
  flex: 1;
  min-width: 220px;
  background: var(--bg-surface2);
  border: 1px solid rgba(201,168,76,.18);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--text);
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  outline: none;
  transition: border-color .18s;
}
.invite-admin-input:focus { border-color: var(--gold); }
.invite-admin-input::placeholder { color: rgba(154,144,128,.45); }
.invite-admin-input:disabled { opacity: .5; }
.invite-admin-btn {
  padding: 10px 20px;
  background: var(--gold);
  color: #000;
  font-family: 'Cinzel', serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .07em;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .18s;
}
.invite-admin-btn:hover:not(:disabled) { background: var(--gold-light); }
.invite-admin-btn:disabled { opacity: .5; cursor: not-allowed; }
.invite-admin-status {
  font-size: .78rem;
  margin-top: .75rem;
  line-height: 1.5;
}
.invite-admin-note {
  font-size: .68rem;
  color: var(--text-muted);
  margin-top: .75rem;
  line-height: 1.5;
}
.invite-admin-note code {
  background: var(--bg-surface2);
  padding: 1px 5px;
  border-radius: 3px;
  font-family: monospace;
  font-size: .72rem;
  color: var(--gold);
}
