:root{--bg:#f6f7f5;--surface:#fff;--surface-2:#f0f2ef;--border:#dfe3dd;--text:#1c2420;--muted:#63706a;--accent:#1f6f5c;--accent-ink:#fff;--accent-soft:#e2f0eb;--danger:#b3261e;--danger-soft:#fbe9e7;--warn:#8a5a00;--warn-soft:#fdf1d8;--ok:#1d6b3a;--ok-soft:#e4f3e8;--radius:10px;--shadow:0 1px 2px #0000000d, 0 2px 8px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#121614;--surface:#1a201d;--surface-2:#222a26;--border:#2e3833;--text:#e6ece8;--muted:#94a39b;--accent:#4fb596;--accent-ink:#0d1411;--accent-soft:#1f3a31;--danger:#f08a80;--danger-soft:#3a1f1c;--warn:#f0c060;--warn-soft:#3a3020;--ok:#7fd49a;--ok-soft:#1d3326;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .5rem;font-size:1.2rem}h3{margin:0;font-size:1.05rem}a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}input,select,button{font:inherit;color:inherit}input,select{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:38px;padding:.5rem .65rem}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}button{cursor:pointer}button.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;min-height:38px;padding:.55rem 1rem;font-weight:600}button.primary:disabled{opacity:.6;cursor:default}button.link{color:var(--accent);background:0 0;border:0;padding:.2rem .3rem}button.link:hover{text-decoration:underline}button.link.danger,.danger{color:var(--danger)}.muted{color:var(--muted)}.small{font-size:.85rem}.hint{color:var(--muted);font-size:.85rem;font-weight:400}.error{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:.5rem .75rem}.success{color:var(--ok);background:var(--ok-soft);border-radius:8px;padding:.5rem .75rem}.loading{text-align:center;color:var(--muted);padding:3rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.auth-page{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{width:100%;max-width:400px}.auth-card form{gap:.9rem;display:grid}.auth-card label,.page.narrow label{gap:.3rem;font-size:.9rem;font-weight:600;display:grid}.page.narrow form{gap:.9rem;display:grid}.brand-lg{align-items:center;gap:.6rem;margin-bottom:1.25rem;font-size:1.25rem;font-weight:700;display:flex}.qr{background:#fff;border-radius:8px;place-items:center;padding:.5rem;display:grid}.qr svg{shape-rendering:crispedges;width:240px;height:240px;display:block}.secret{background:var(--surface-2);letter-spacing:.04em;-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:6px;padding:.4rem .6rem;font-size:1rem;display:inline-block}details summary{cursor:pointer;color:var(--accent);font-size:.9rem}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1.25rem;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:flex}.family-switch{font-weight:600}.topbar nav{gap:.25rem;display:flex}.topbar nav a,.who{color:var(--muted);border-radius:8px;padding:.4rem .7rem;font-weight:500;text-decoration:none}.topbar nav a.active,.topbar nav a:hover,.who:hover,.who.active{background:var(--accent-soft);color:var(--accent)}.spacer{flex:1}main{padding:1.5rem 1.25rem 3rem}.page{gap:1rem;max-width:1280px;margin:0 auto;display:grid}.page.narrow{max-width:480px}.page-head p{margin:0}.tabs{border-bottom:1px solid var(--border);gap:.25rem;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem .9rem;font-weight:600}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.inline-form{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.inline-form input{flex:180px}.check{align-items:center;gap:.35rem;display:flex}.check input{min-height:auto}.notice{border-color:var(--warn);background:var(--warn-soft)}.notice p{margin:0 0 .5rem}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;cursor:pointer;place-items:center;gap:.3rem;padding:1.75rem;display:grid}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}.upload-results ul{margin:.5rem 0 0;padding-left:1.2rem}.upload-summary{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pill{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:600;display:inline-block}.pill.uploaded,.pill.active{background:var(--ok-soft);color:var(--ok)}.pill.duplicate,.pill.setup-pending{background:var(--warn-soft);color:var(--warn)}.pill.rejected,.pill.locked,.pill.disabled{background:var(--danger-soft);color:var(--danger)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.75rem;display:flex}.table-toolbar .search{flex:220px;max-width:360px}.table-toolbar .count{color:var(--muted);margin-left:auto;font-size:.85rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .75rem}th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap;font-size:.8rem}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}th .sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;align-items:center;gap:.3rem;padding:0;display:inline-flex}th .arrow{opacity:.35;font-size:.7rem}th .arrow.asc,th .arrow.desc{opacity:1;color:var(--accent)}tbody tr:hover td{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}td.empty{text-align:center;color:var(--muted);padding:2rem}.row-actions{flex-wrap:wrap;gap:.1rem;display:flex}table.simple td{border-bottom:1px solid var(--border)}.members{gap:.75rem;display:grid}.members-head{justify-content:space-between;align-items:center;display:flex}@media (width<=640px){.topbar{gap:.5rem;padding:.6rem 16px}main{padding:1rem 16px 2rem}.table-toolbar .count{margin-left:0}}
