:root{--bg:#fafaf8;--card:#ffffff;--ink:#1d1d1f;--muted:#6b6b70;--line:#e4e4e0;--accent:#5b3df5;--accent-soft:#eeeafe;--good:#1a7f4b;--bad:#b42318}@media (prefers-color-scheme:dark){:root{--bg:#121214;--card:#1b1b1f;--ink:#f2f2f3;--muted:#9a9aa2;--line:#2c2c32;--accent:#8b77ff;--accent-soft:#262140;--good:#4cc38a;--bad:#f97066}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1{font-size:1.6rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin:2rem 0 .5rem}p{margin:.4rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}.wrap{max-width:980px;margin:0 auto;padding:0 16px 64px}.nav{border-bottom:1px solid var(--line);background:var(--card)}.nav .wrap{display:flex;gap:16px;align-items:center;padding-bottom:0;flex-wrap:wrap;min-height:56px}.brand{font-weight:700;letter-spacing:.5px;color:var(--ink)}.brand,.nav a.link{text-decoration:none}.nav a.link{color:var(--muted);padding:8px 4px}.nav a.link:hover{color:var(--ink)}.spacer{flex:1 1}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat{font-size:1.6rem;font-weight:700}.btn,button.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer;text-decoration:none}.btn.secondary,button.secondary{background:var(--accent-soft);color:var(--accent)}.btn.ghost,button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}input[type=email],input[type=file],input[type=password],input[type=text],select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}label{display:block;margin:12px 0 4px;font-size:.9rem;color:var(--muted)}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:middle}th{color:var(--muted);font-weight:600}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notice{border-radius:8px;padding:10px 12px;margin:12px 0;background:var(--accent-soft)}.notice.error{background:color-mix(in srgb,var(--bad) 14%,transparent)}.notice.ok{background:color-mix(in srgb,var(--good) 14%,transparent)}.badge{font-size:.75rem;border-radius:999px;padding:2px 8px;background:var(--accent-soft);color:var(--accent)}.badge.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.bar{height:10px;background:var(--accent);border-radius:5px;min-width:2px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.tabs a{text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font-size:.9rem}.tabs a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;background:var(--line)}.userlist{columns:220px 2;column-gap:24px;padding:0;list-style:none;margin:8px 0}.userlist li{padding:2px 0;page-break-inside:avoid;break-inside:avoid}.login{max-width:380px;margin:12vh auto 0}