/* admin: only what ui.css lacks */
form.inline { display: inline; }
.acts { white-space: nowrap; text-align: right; }
.acts > * { margin-left: 4px; }
.stack { display: grid; gap: var(--s4); }
.row { display: flex; gap: var(--s3); align-items: center; flex-wrap: wrap; }
.panel.narrow { max-width: 640px; }
.panel + .panel, .msg + .panel { margin-top: var(--s4); }
.linkline { display: flex; gap: var(--s2); margin: var(--s3) 0; }
.linkline input { width: 100%; }
.members { list-style: none; padding: 0; margin: 0 0 var(--s3); display: grid; gap: 4px; }
.members li { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.qr { background: #fff; padding: 8px; border-radius: var(--r); max-width: 100%; height: auto; }
/* gate page (shown on a site's own host) */
.gate { margin: 10vh auto 0; max-width: 24rem; }
.gate .msg { margin-bottom: var(--s3); }
