/* --- Page shell -------------------------------------------------------- */
.admin-main { max-width:760px; margin:0 auto; padding:110px 30px 100px; }
.admin-topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:36px; }

.api-status {
  margin:20px 0; padding:12px 14px; border:1px solid rgba(203,155,81,.3);
  background:rgba(203,155,81,.08); color:#e3c98a; font-size:13px;
}

.account-bar { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.account-status { color:#9298a1; font-size:13px; }
#login-btn, #logout-btn, #change-password-btn { min-height:36px; padding:0 16px; font-size:12px; }

#admin-gate .forum-empty { padding:60px 0; text-align:center; }
#admin-gate .button { margin-left:12px; }

.admin-invites-section { margin-top:36px; padding-top:28px; border-top:1px solid var(--line); }
.admin-invites-section h3 { font:700 18px "Space Grotesk", sans-serif; margin:0 0 10px; }
.admin-invites-section h4 { font:700 14px "Space Grotesk", sans-serif; margin:28px 0 12px; color:#eef0f3; }
.admin-invites-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.admin-invites-head h3 { margin:0; }

.admin-tools-hint { color:#7e848e; font-size:13px; margin:0 0 22px; line-height:1.6; }
.admin-tools-hint code { color:#cb9b51; background:rgba(203,155,81,.1); padding:1px 5px; }

.admin-invite-row {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 4px; border-bottom:1px solid var(--line);
}
.admin-invite-row:last-child { border-bottom:0; }
.admin-invite-code { font:700 14px "SF Mono", Consolas, monospace; color:#f6e27a; letter-spacing:.03em; }
.invite-used-badge {
  color:#767c86; font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  border:1px solid var(--line); padding:5px 10px;
}

.admin-user-row {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 4px; border-bottom:1px solid var(--line);
}
.admin-user-row:last-child { border-bottom:0; }
.admin-user-name { font:700 14px "Space Grotesk", sans-serif; color:#eef0f3; }
.admin-user-name .badge-admin { color:#f6e27a; font-size:11px; margin-left:8px; text-transform:uppercase; letter-spacing:.05em; }
.admin-user-meta { color:#767c86; font-size:12px; margin-top:2px; }
.admin-user-actions button { min-height:32px; padding:0 14px; font-size:11px; }

.reset-password-result { margin-top:16px; padding:16px; border:1px solid rgba(203,155,81,.3); background:rgba(203,155,81,.06); }
.reset-password-value-row { display:flex; align-items:center; gap:10px; margin-top:10px; }
.reset-password-value {
  flex:1; font:700 14px "SF Mono", Consolas, monospace; color:#f6e27a;
  background:#090a0d; border:1px solid var(--line); padding:8px 12px; letter-spacing:.02em;
  overflow-x:auto; white-space:nowrap;
}
.reset-password-value-row button { flex-shrink:0; min-height:32px; padding:0 14px; font-size:11px; }

.delete-btn {
  background:none; border:1px solid rgba(232,164,164,.35); color:#e8a4a4;
  font-size:11px; font-weight:700; padding:4px 10px; cursor:pointer; transition:.2s;
  text-transform:uppercase; letter-spacing:.04em;
}
.delete-btn:hover { background:rgba(232,164,164,.1); border-color:#e8a4a4; }

.forum-empty { color:#767c86; font-size:14px; padding:20px 0; }
.forum-error-inline { color:#e8a4a4; font-size:13px; padding:20px 0; }

/* --- Shared modal/form styling ------------------------------------------- */
.forum-modal {
  position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  background:rgba(4,4,5,.75); padding:20px;
}
.forum-modal[hidden] { display:none; }
.forum-modal-panel {
  width:min(560px, 100%); max-height:85vh; overflow-y:auto;
  background:#101216; border:1px solid var(--line); padding:36px; position:relative;
}
.forum-modal-panel h2 { font:700 24px "Space Grotesk", sans-serif; margin:0 0 24px; }
.forum-modal-close {
  position:absolute; top:18px; right:18px; background:none; border:0; color:#8d929b;
  font-size:22px; line-height:1; cursor:pointer; padding:4px;
}
.forum-modal-close:hover { color:#fff; }

.forum-modal-panel form label,
.admin-invites-section form label {
  display:block; margin-bottom:18px; font-size:11px; font-weight:700;
  color:#9ea5af; text-transform:uppercase; letter-spacing:.07em;
}
.forum-modal-panel form input,
.admin-invites-section form input {
  display:block; width:100%; margin-top:8px; padding:12px 13px; background:#090a0d;
  border:1px solid var(--line); color:#eef0f3; font:500 14px Inter, sans-serif;
  transition:.2s;
}
.forum-modal-panel form input:focus,
.admin-invites-section form input:focus { outline:none; border-color:#cb9b51; background:#0d0e12; }
.forum-modal-panel form input::placeholder,
.admin-invites-section form input::placeholder { color:#565b64; }

.forum-modal-actions { display:flex; justify-content:flex-end; margin-top:8px; }
.form-error { color:#e8a4a4; font-size:13px; margin:14px 0 0; }
.form-success { color:#8fd19e; font-size:13px; margin:14px 0 0; }

/* --- Auth modal specifics ------------------------------------------------ */
.auth-modal-panel { width:min(380px, 100%); text-align:center; }
.auth-modal-panel .auth-heading { font:700 22px "Space Grotesk", sans-serif; margin:0 0 8px; }
.auth-subheading { color:#8d929b; font-size:13px; margin:0 0 26px; }
.auth-tabs {
  display:flex; gap:4px; margin-bottom:26px; padding:4px;
  background:#090a0d; border:1px solid var(--line);
}
.auth-tab-btn {
  flex:1; padding:10px 4px; background:none; border:0;
  color:#8d929b; font:700 13px "Space Grotesk", sans-serif; cursor:pointer; transition:.2s;
}
.auth-tab-btn.active { color:#08090b; background:#f6e27a; }
.auth-tab-btn:not(.active):hover { color:#e6e8eb; }
#auth-form { text-align:left; }
.auth-submit { width:100%; margin-top:6px; }

/* --- Toast ----------------------------------------------------------------- */
.forum-toast {
  position:fixed; left:50%; bottom:30px; transform:translate(-50%, 20px);
  max-width:min(480px, calc(100vw - 40px)); background:#161821; border:1px solid rgba(203,155,81,.4);
  color:#eef0f3; font-size:13px; line-height:1.6; padding:16px 20px; z-index:999;
  opacity:0; pointer-events:none; transition:.25s ease;
}
.forum-toast.visible { opacity:1; transform:translate(-50%, 0); }

/* --- Mobile ----------------------------------------------------------------- */
@media (max-width: 800px) {
  .admin-main { padding:130px 20px 80px; }
  .forum-modal-panel { padding:22px; }
  .forum-modal-actions { justify-content:stretch; }
  .forum-modal-actions button { width:100%; }
  .admin-user-row, .admin-invite-row { flex-wrap:wrap; gap:10px; }
  #admin-gate .button { margin-left:0; margin-top:14px; display:block; }
}
