.admin-shell { min-height: calc(100vh - 90px); padding-block: 48px 80px; }
.admin-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 28px; }
.admin-heading h1 { margin: 10px 0 0; font-size: clamp(30px, 4vw, 48px); }
.admin-heading > p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.9; }
.admin-grid { display: grid; grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr); align-items: start; gap: 22px; }
.invite-create-card, .invite-list-card { padding: 28px; }
.invite-create-card h2, .invite-list-card h2 { margin: 5px 0 24px; }
.field select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 12px; outline: none; padding: 0 12px; color: var(--text); background: #0c1321; }
.invite-result { display: grid; gap: 12px; margin-top: 22px; border: 1px solid rgba(98, 217, 189, .28); border-radius: 16px; padding: 18px; background: rgba(98, 217, 189, .06); }
.invite-result > span { color: var(--cyan); font-size: 11px; }
.invite-result code { overflow-wrap: anywhere; border-radius: 10px; padding: 13px; color: #dce7fa; direction: ltr; text-align: left; background: rgba(4, 9, 16, .65); }
.list-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.invite-list { display: grid; gap: 10px; }
.invite-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; background: rgba(5, 10, 18, .38); }
.invite-item-main { min-width: 0; display: grid; gap: 7px; }
.invite-item-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.invite-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.invite-item code { color: #8fa5c5; direction: ltr; font-size: 10px; }
.invite-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; color: var(--muted); font-size: 10px; }
.invite-status { border-radius: 999px; padding: 4px 8px; font-size: 9px; }
.invite-status-active { color: var(--cyan); background: rgba(98, 217, 189, .09); }
.invite-status-used { color: var(--warning); background: rgba(249, 184, 90, .09); }
.invite-status-revoked { color: var(--danger); background: rgba(255, 113, 133, .09); }
.invite-empty { border: 1px dashed var(--line-strong); border-radius: 14px; padding: 32px; color: var(--muted); text-align: center; }
#admin-denied p, #admin-loading p { color: var(--muted); line-height: 1.9; }
#admin-denied .button { margin-top: 14px; }

@media (max-width: 860px) {
  .admin-grid { grid-template-columns: 1fr; }
  .admin-heading { align-items: start; flex-direction: column; }
}

@media (max-width: 600px) {
  .admin-shell { padding-block: 28px 60px; }
  .invite-create-card, .invite-list-card { padding: 20px; }
  .invite-item { grid-template-columns: 1fr; }
  .invite-item > button { justify-self: start; }
}
