:root{color-scheme:light;--canvas: #f6f3ec;--surface: #fffdf8;--surface-soft: #f1ede5;--ink: #18221d;--ink-soft: #5f6862;--ink-faint: #8d948f;--line: rgba(24, 34, 29, .11);--line-strong: rgba(24, 34, 29, .18);--coral: #f06a49;--mint: #2eae83;--mint-soft: #d9f3e9;--violet: #8b7cf6;--violet-soft: #e9e5ff;--gold: #e4a929;--gold-soft: #fbefc8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--canvas: #121814;--surface: #19221d;--surface-soft: #242e29;--ink: #f5f5ee;--ink-soft: #b2bbb5;--ink-faint: #7e8a82;--line: rgba(245, 245, 238, .1);--line-strong: rgba(245, 245, 238, .17);--mint-soft: #16392d;--violet-soft: #29254a;--gold-soft: #3f341b}}:root[data-theme=dark]{color-scheme:dark;--canvas: #121814;--surface: #19221d;--surface-soft: #242e29;--ink: #f5f5ee;--ink-soft: #b2bbb5;--ink-faint: #7e8a82;--line: rgba(245, 245, 238, .1);--line-strong: rgba(245, 245, 238, .17);--mint-soft: #16392d;--violet-soft: #29254a;--gold-soft: #3f341b}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--canvas);color:var(--ink);font:15px/1.5 DM Sans,system-ui,sans-serif}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin{width:min(880px,calc(100% - 32px));margin:0 auto;padding:24px 0 72px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-who{overflow:hidden;color:var(--ink-faint);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.wordmark{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.04em;text-decoration:none}.brand-mark{display:inline-flex;align-items:flex-end;gap:3px;height:18px}.brand-mark i{display:block;width:5px;border-radius:99px;transform:rotate(9deg)}.brand-mark i:nth-child(1){height:9px;background:var(--gold)}.brand-mark i:nth-child(2){height:17px;background:var(--coral)}.brand-mark i:nth-child(3){height:13px;background:var(--mint)}h1{margin:36px 0 6px;font-family:Newsreader,Georgia,serif;font-size:44px;font-weight:600;letter-spacing:-.04em;line-height:1}.admin-lede{margin:0 0 24px;color:var(--ink-soft);font-size:14px}.admin-gate{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink-soft)}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:12px}.admin-search{flex:1 1 260px}.admin-search input{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.admin-search input:focus{border-color:var(--mint);outline:3px solid color-mix(in srgb,var(--mint) 20%,transparent)}.admin-summary{margin:0;color:var(--ink-faint);font-size:13px}.user-list{margin:0;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);list-style:none}.user-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 16px;border-top:1px solid var(--line)}.user-row:first-child{border-top:0}.user-main{display:flex;min-width:0;flex:1 1 280px;flex-direction:column;gap:2px}.user-main strong{overflow-wrap:anywhere;font-size:14px}.user-main small{color:var(--ink-faint);font-size:12px}.user-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.user-empty{padding:22px 16px;color:var(--ink-soft)}.badge{display:inline-block;padding:3px 8px;border-radius:99px;background:var(--surface-soft);color:var(--ink-soft);font-size:11px;font-weight:700;vertical-align:1px}.badge-paid{background:var(--mint-soft);color:var(--mint)}.badge-granted{background:var(--violet-soft);color:var(--violet)}.badge-admin{background:var(--gold-soft);color:var(--ink-soft)}.button-primary,.button-quiet{min-height:38px;padding:0 14px;border-radius:11px;cursor:pointer;font:inherit;font-size:13px;font-weight:600}.button-primary{border:0;background:var(--ink);color:var(--canvas)}.button-quiet{border:1px solid var(--line-strong);background:transparent;color:var(--ink)}.button-primary:disabled,.button-quiet:disabled{cursor:progress;opacity:.6}.button-primary:focus-visible,.button-quiet:focus-visible{outline:3px solid color-mix(in srgb,var(--mint) 40%,transparent);outline-offset:2px}
