/* Admin page in the site's look (2026-10-22): tokens, fonts and header come from
   /cabinet/cabinet.css; this file styles the admin's own classes on top of them. */
:root{
  --tg-theme-hint-color:var(--muted); --tg-theme-button-color:var(--brand);
  --tg-theme-secondary-bg-color:var(--line); --tg-theme-bg-color:var(--surface);
}
.admin-main{max-width:46rem;margin:0 auto;padding:28px 20px 56px}
.admin-main h1{font-size:clamp(1.5rem,3.4vw,1.9rem);margin:0 0 16px}
.admin-main h1 + .muted{margin-top:-8px}
.admin-main section > h1:not(:first-child){margin-top:36px}
.admin-badge{font:700 .78rem var(--f-body);color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:5px 12px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 18px;margin-bottom:12px;box-shadow:var(--shadow)}
.card strong{font-family:var(--f-display);font-weight:800}
.row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px}
.row strong{min-width:0;overflow-wrap:anywhere}
.list{display:flex;flex-direction:column;gap:10px}
.muted{color:var(--muted);font-size:.9rem}
code{font-size:.85em;background:var(--brand-soft);color:var(--brand);border-radius:6px;padding:1px 6px}

.text-input,select.text-input{width:100%;font:inherit;padding:.75rem .9rem;margin-bottom:10px;border-radius:12px;
  border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}
.text-input:focus{outline:none;border-color:var(--brand);background:var(--surface)}
input[type=checkbox]{width:auto;accent-color:var(--brand)}

.button{display:block;width:100%;font:600 .98rem var(--f-body);padding:.8rem 1.1rem;border-radius:12px;border:1.5px solid transparent;
  background:var(--brand);color:var(--brand-ink);text-align:center;cursor:pointer;text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(52,127,189,.25)}
.button:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
.button.secondary:hover{box-shadow:none;border-color:var(--brand)}
.button-row{display:flex;gap:8px}
.button-row .button{flex:1}
.icon-button{width:auto;flex:0 0 auto;padding:8px 12px}

.list-item{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:14px 16px;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.list-item:hover{border-color:var(--brand);transform:translateY(-1px)}
.venue-row .sub{font-size:.85rem;margin-top:3px}

.status{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700}
.status.PENDING{background:var(--amber-soft);color:var(--amber-ink)}
.status.ACTIVE{background:var(--green-soft);color:var(--green-ink)}
.status.SUSPENDED{background:var(--line);color:var(--muted)}

.back-link{display:inline-block;margin-bottom:14px;color:var(--brand);text-decoration:none;font-weight:600}
.qr-wrap{display:flex;justify-content:center;padding:16px 0 8px}
.qr-wrap canvas{border-radius:14px;background:#fff;padding:8px}
.empty-state{text-align:center;padding:36px 16px;color:var(--muted);border:1.5px dashed var(--line);border-radius:18px}
.error-banner{background:var(--coral-soft);color:var(--coral);border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:.92rem;font-weight:500}

.logo-preview{width:96px;height:96px;border-radius:14px;background:var(--bg);border:1px solid var(--line);object-fit:contain}
.invite-result{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.invite-link{word-break:break-all;flex:1}

@media (max-width:560px){.admin-main{padding:20px 16px 48px}.card{padding:16px 14px;border-radius:16px}}
.list > .card{margin-bottom:0}
#accounts .card > div:first-child{cursor:pointer}
