.admin-main { max-width: 1100px; margin: 0 auto; padding: 68px 32px; color: var(--ink); font: 14px/1.6 var(--sans); }
.admin-wordmark { font: 500 30px var(--serif); color: var(--ink); text-decoration: none; }
.admin-wordmark span { font: 12px var(--sans); color: var(--ink-3); margin-left: 10px; }
.admin-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 36px; }
.admin-heading h1 { font: 500 clamp(30px,4vw,44px)/1.2 var(--serif); margin: 8px 0; letter-spacing: -.025em; }
.admin-main h2 { font: 500 27px/1.2 var(--serif); margin: 30px 0 20px; }
.admin-main h3 { font: 500 21px/1.2 var(--serif); }
.admin-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--line); margin-bottom: 32px; overflow-x: auto; }
.admin-tabs button { color: var(--ink-3); font: inherit; background: none; border: 0; padding: 13px 0; white-space: nowrap; cursor: pointer; }
.admin-tabs button[aria-current] { color: var(--ink); box-shadow: inset 0 -2px var(--ink); }
.admin-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; border-bottom: 1px solid var(--line); padding-bottom: 32px; }
.admin-metrics span { display: block; color: var(--ink-3); font-size: 12px; }
.admin-metrics b { display: block; margin-top: 8px; font: 500 38px/1.2 var(--serif); }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; text-align: left; }
.admin-table th { color: var(--ink-3); font-size: 11px; font-weight: 500; letter-spacing: .04em; }
.admin-table td,.admin-table th { border-bottom: 1px solid var(--line); padding: 14px 12px 14px 0; vertical-align: top; }
.admin-table td:last-child { padding-right: 0; }
.admin-table small { display: block; color: var(--ink-3); font-size: 11px; overflow-wrap: anywhere; }
.admin-table button { background: none; color: var(--ink); font: inherit; border: 0; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; padding: 0; text-align: left; }
.admin-table code { font: 11px var(--mono); overflow-wrap: anywhere; }
.admin-search { display: flex; gap: 12px; max-width: 520px; margin: 24px 0; }
.admin-search input, .admin-controls input { background: var(--paper-2); border: 1px solid var(--line-2); color: var(--ink); font: inherit; padding: 10px 12px; min-width: 0; }
.admin-search input { flex: 1; }
.admin-controls { max-width: 600px; display: grid; gap: 16px; }
.admin-controls label { display: flex; align-items: center; gap: 12px; justify-content: space-between; }
.admin-controls input:not([type=checkbox]):not([type=number]) { width: 300px; max-width: 100%; }
.admin-controls input[type=number] { width: 140px; }
.admin-controls input[type=checkbox] { accent-color: var(--ink); }
.admin-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.admin-main pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 20px; background: var(--paper-2); border: 1px solid var(--line); font: 12px/1.6 var(--mono); max-height: 500px; overflow: auto; }
.admin-main button:disabled { opacity: .5; }
.admin-empty { color: var(--ink-3); padding: 30px 0; }
@media(max-width:700px) { .admin-main { padding: 38px 20px; } .admin-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; } .admin-heading { align-items: flex-start; gap: 12px; } .admin-wordmark span { display: none; } .admin-tabs { gap: 22px; } .admin-table { min-width: 620px; } }

.admin-video { display:block; width:100%; max-width:780px; max-height:60vh; background:#171717; margin:16px 0; }
.admin-controls select { font:inherit; color:var(--ink); background:var(--paper-2); padding:12px; border:1px solid var(--line-2); border-radius:4px; }

.privacy-main { max-width:760px; }
.privacy-main h1 { font:500 clamp(32px,5vw,48px)/1.15 var(--serif); }
.privacy-main p { line-height:1.75; }
.admin-record { margin:24px 0; }
.admin-record summary { cursor:pointer; }

.admin-invite-result { padding: 24px; margin-bottom: 28px; background: var(--paper-2); border: 1px solid var(--line-2); overflow-wrap: anywhere; }
.admin-invite-result[hidden], .admin-controls label[hidden] { display: none; }
.admin-invite-result input { display: block; box-sizing: border-box; width: 100%; margin-top: 8px; padding: 12px; color: var(--ink); background: var(--paper); border: 1px solid var(--line-2); font: 13px var(--mono); }
@media(max-width:700px) { .admin-controls label { flex-wrap: wrap; } .admin-controls input:not([type=checkbox]), .admin-controls select { box-sizing: border-box; width: 100%; } .admin-search { flex-wrap: wrap; } .admin-invite-result { padding: 18px; } }

.admin-metrics b { font-size: clamp(20px, 2.8vw, 38px); overflow-wrap: anywhere; }

/* ── Access gate ──────────────────────────────────────────────────────────
   Until verification succeeds this panel is the entire page, so it is
   composed as a panel and not left as a stray line of status text. */
.admin-gate {
  max-width: 470px; margin: 44px 0 0; padding: 30px 32px;
  background: var(--paper-2);
  border: 1px solid var(--line); border-radius: 12px;
}
.admin-gate .account-eyebrow {
  margin: 0 0 12px;
  font: 500 11px/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-3);
}
.admin-gate-title {
  margin: 0 0 10px;
  font: 500 26px/1.22 var(--serif); letter-spacing: -.022em;
  color: var(--ink); text-wrap: balance;
}
.admin-gate-lede {
  margin: 0 0 24px; max-width: 42ch;
  font: 400 15px/1.6 var(--reading); color: var(--ink-2); text-wrap: pretty;
}
.admin-gate .account-primary { min-width: 210px; }
@media (max-width: 700px) {
  .admin-gate { padding: 24px 22px; margin-top: 32px; }
  .admin-gate .account-primary { width: 100%; min-width: 0; }
}

.admin-metrics b, .admin-overview dd, .admin-number, .admin-controls input[type=number] { font-family: var(--data); font-variant-numeric: tabular-nums; }
.admin-overview h2 { font: inherit; margin: 0 0 16px; }
.admin-overview dl { margin: 0; }
.admin-overview dl > div { margin-bottom: 16px; }
.admin-overview dt { color: var(--ink-3); font-size: 12px; }
.admin-overview dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.admin-overview a { color: inherit; text-underline-offset: 4px; }
.admin-overview a.admin-attention { color: var(--signal); }
.admin-gate .account-eyebrow { text-transform: none; }
.admin-tabs { mask-image: linear-gradient(to right, #000 calc(100% - 20px), transparent); padding-right: 20px; }
.admin-tabs button:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; }
#admin-owner { overflow-wrap: anywhere; }
#bar .bar-inner { gap: 20px; }
@media(max-width:700px) { #bar .bar-inner, #bar .bar-links { flex-wrap: wrap; } }

.admin-account-row { cursor: pointer; }
.admin-account-row:hover { background: var(--paper-2); }
