/* Users and Invites directory. Dark admin theme: near-black, aubergine, violet. */
.users-invites-metrics {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0.5rem 0 0.75rem;
}

.users-invites-metrics-banner {
  width: 100%;
}

.users-invites-metrics-banner:empty {
  display: none;
}

.users-invites-classification-warning,
.users-invites-classification-ok {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.55rem 0.7rem;
  border-radius: 0.4rem;
  border: 1px solid var(--phantom-aubergine, #4a2348);
  box-sizing: border-box;
}

.users-invites-classification-warning {
  background: rgba(180, 83, 9, 0.18);
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.55);
}

.users-invites-classification-ok {
  background: rgba(22, 101, 52, 0.2);
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, 0.45);
}

.users-invites-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.5rem;
  width: 100%;
}

@media (max-width: 40rem) {
  .users-invites-metrics-grid {
    grid-template-columns: 1fr;
  }
}

.users-invites-entry {
  margin: 0.75rem 0;
}

.users-invites-card {
  background: var(--phantom-near-black, #141018);
  color: #f4efe6;
  border: 1px solid var(--phantom-aubergine, #4a2348);
  border-radius: 0.4rem;
  padding: 0.45rem 0.6rem;
}

.users-invites-card h3 {
  margin: 0;
  font-size: 0.75rem;
  color: var(--phantom-violet, #a78bfa);
  font-weight: 600;
}

.users-invites-card p {
  margin: 0.2rem 0 0;
  font-size: 1.05rem;
}

.users-invites-dialog {
  width: min(46rem, calc(100vw - 1.5rem));
  max-height: min(85vh, 44rem);
  overflow: auto;
  border: 1px solid var(--phantom-aubergine, #4a2348);
  border-radius: 0.5rem;
  background: #1b1320;
  color: #f4efe6;
  padding: 1rem;
}

.users-invites-dialog::backdrop {
  background: rgba(12, 8, 14, 0.72);
}

#users-invites-pending-inline [data-invitation-code]:not([hidden]) {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-top: 0.5rem;
  font-family: monospace;
  padding: 0.5rem;
}

#users-invites-pending-inline [data-copy-status] {
  display: block;
  max-width: 18rem;
  overflow-wrap: anywhere;
}

#users-invites-pending-inline td:last-child {
  min-width: 13rem;
}

#users-invites-pending-inline th,
#users-invites-pending-inline td:nth-child(2),
#users-invites-pending-inline td:nth-child(3) {
  white-space: nowrap;
}

@media (max-width: 600px) {
  #users-invites-pending-inline .admin-table-wrap { max-height: none; }
  #users-invites-pending-inline thead { display: none; }
  #users-invites-pending-inline table,
  #users-invites-pending-inline tbody,
  #users-invites-pending-inline tr,
  #users-invites-pending-inline td { display: block; width: auto; min-width: 0; }
  #users-invites-pending-inline td { overflow-wrap: anywhere; }
  #users-invites-pending-inline td[data-label]::before {
    content: attr(data-label) ": ";
    font-weight: 600;
  }
}

.users-invites-dialog h2,
.users-invites-dialog h3 {
  color: var(--phantom-violet, #c4b5fd);
  margin-top: 0.75rem;
}

.users-invites-dialog label {
  color: #e8dfd4;
}

.users-invites-dialog input,
.users-invites-dialog select,
.users-invites-dialog textarea {
  background: #120d16;
  color: #f4efe6;
  border: 1px solid rgba(139, 92, 246, 0.45);
  border-radius: 6px;
}

.users-invites-dialog button.primary {
  background: var(--phantom-violet, #6d28d9);
  color: #fff;
  border: 1px solid var(--phantom-violet, #6d28d9);
}

.users-invites-dialog button.secondary {
  background: #3a2348;
  color: #f4efe6;
  border: 1px solid rgba(139, 92, 246, 0.55);
}

.users-invites-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 0.5rem 0;
}

.users-invites-tabs button[aria-selected="true"] {
  background: var(--phantom-violet, #6d28d9);
  color: #fff;
}

.users-invites-dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.35rem 0.75rem;
  margin: 0.5rem 0;
}

.users-invites-dl dt {
  font-size: 0.75rem;
  color: #c4b5fd;
}

.users-invites-dl dd {
  margin: 0;
  color: #f4efe6;
}

.users-invites-activity {
  margin: 0.5rem 0;
  padding-left: 1.1rem;
}

.users-invites-menu {
  position: fixed;
  z-index: 40;
  background: #1b1320;
  color: #f4efe6;
  border: 1px solid var(--phantom-aubergine, #4a2348);
  padding: 0.25rem;
}

.users-invites-record {
  white-space: pre-wrap;
  font-size: 0.8rem;
  background: #141018;
  color: #f4efe6;
  padding: 0.6rem;
}

.users-invites-loading,
#users-invites-flash.is-error,
#users-invites-confirm-error.is-error,
.users-invites-dialog .is-error {
  color: #fca5a5;
}

#users-invites-members-status {
  min-height: 1.4rem;
}

#users-invites-members-status #users-invites-members-retry {
  margin-left: 0.5rem;
  vertical-align: middle;
}

#users-invites-members-dialog.is-busy .admin-toolbar button,
#users-invites-members-dialog.is-busy #users-invites-members-search button {
  opacity: 0.85;
}

.users-invites-confirm-summary {
  margin: 0.75rem 0;
  overflow-x: auto;
}

.users-invites-confirm-summary table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.users-invites-confirm-summary th,
.users-invites-confirm-summary td {
  border: 1px solid var(--phantom-aubergine, #4a2348);
  padding: 0.35rem 0.5rem;
  text-align: left;
  vertical-align: top;
}

.users-invites-confirm-summary th {
  color: var(--phantom-violet, #a78bfa);
  font-weight: 600;
}

#users-invites-confirm-reason-block[hidden] {
  display: none !important;
}

#users-invites-settings-fields:disabled {
  opacity: 0.72;
}

#users-invites-settings-status {
  min-height: 1.25rem;
}

#admin-users-invites button,
#admin-users-invites input,
#admin-users-invites select,
#admin-users-invites textarea,
#users-invites-menu button,
.users-invites-dialog button,
.users-invites-dialog input,
.users-invites-dialog select,
.users-invites-dialog textarea {
  min-height: 44px;
  min-width: 44px;
}
/* Account management uses the same dark, violet controls as the main site. */
#users-invites-detail { width: min(64rem, calc(100vw - 2rem)); max-height: 90vh; background: #0d0d14; color: #f6f4ff; border: 1px solid #8b5cf6; border-radius: 18px; padding: 24px; }
#users-invites-detail .users-invites-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0 20px; border-bottom: 1px solid #39304b; margin-bottom: 20px; }
#users-invites-detail [role="tab"] { appearance: none; background: #171323; color: #d4cce5; border: 1px solid #493462; border-radius: 24px; padding: 10px 16px; min-height: 44px; cursor: pointer; font: inherit; }
#users-invites-detail [role="tab"][aria-selected="true"] { background: #503080; color: #fff; border-color: #b59bff; }
#users-invites-detail button:hover:not(:disabled) { border-color: #b59bff; }
#users-invites-detail button:focus-visible, #users-invites-detail input:focus-visible, #users-invites-detail select:focus-visible { outline: 2px solid #b59bff; outline-offset: 3px; }
#users-invites-detail h3 { color: #b59bff; margin-top: 0; }
#users-invites-detail p { line-height: 1.6; }
#users-invites-detail .account-grant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
#users-invites-detail .account-grant-card { border: 1px solid #493462; border-radius: 14px; padding: 20px; background: #13101d; display: flex; flex-direction: column; gap: 12px; }
#users-invites-detail .account-grant-card p { margin: 0 0 8px; color: #c1b6d0; }
#users-invites-detail .account-grant-card button { margin-top: auto; }
#users-invites-detail .account-grant-card input, #users-invites-detail .account-grant-card select { width: 100%; box-sizing: border-box; margin: 0; }
#users-invites-detail .account-balance { background: #1b142b; padding: 16px; border-radius: 12px; }
#users-invites-detail-close { margin-top: 20px; }
#users-invites-detail .account-usage-scroll { overflow-x: auto; }
#users-invites-detail table { width: 100%; border-collapse: collapse; }
#users-invites-detail th, #users-invites-detail td { text-align: left; padding: 12px; border-bottom: 1px solid #39304b; }
#users-invites-detail th { color: #b59bff; }
#users-invites-detail td small { display: block; color: #c1b6d0; }
@media (max-width: 700px) { #users-invites-detail { padding: 16px; } #users-invites-detail .account-grant-grid { grid-template-columns: 1fr; } }

#users-invites-detail button.primary, #users-invites-detail button.secondary { border-radius: 10px; padding: 10px 16px; font: inherit; min-height: 44px; }

#admin-users-invites .users-invites-entry a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid #8b5cf6; border-radius: 12px; color: #f6f4ff; background: #171323; text-decoration: none; box-sizing: border-box; }
#admin-users-invites .users-invites-entry a:focus-visible { outline: 2px solid #b59bff; outline-offset: 3px; }

.member-list-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.member-list-tabs [aria-pressed="true"]{background:#7130b8;color:#fff}
#users-invites-members-table td:nth-child(3){word-break:normal;min-width:7em}

@media (max-width: 600px) {
  #users-invites-members-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  #users-invites-members-table tbody { display: block; }
  #users-invites-members-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px; }
  #users-invites-members-table tbody td { display: block; width: auto; min-width: 0; padding: 0; border: 0; word-break: normal; overflow-wrap: anywhere; }
  #users-invites-members-table tbody td:nth-child(1) { grid-column: 1 / -1; font-weight: 600; }
  #users-invites-members-table tbody td:nth-child(2) { grid-column: 1 / -1; }
  #users-invites-members-table tbody td:nth-child(3) { align-self: center; }
  #users-invites-members-table tbody td:last-child:not(:first-child) { grid-column: 2; justify-self: end; }
}
#users-invites-members-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; margin: 12px 0; }
#users-invites-members-search label { grid-column: 1 / -1; margin: 0; }
#users-invites-members-search input { min-width: 0; margin: 0; }
