:root{--bg:#1b1930;--surface:#262444;--surface-2:#312e56;--ink:#f0eefb;--ink-2:#b7b4d8;--muted:#8e8bb2;--accent:#7b61ff;--accent-ink:#fff;--crit:#ef4444;--crit-text:#f87171;--border:rgba(255,255,255,.08);--shadow:0 2px 6px rgba(0,0,0,.25),0 14px 36px rgba(0,0,0,.35)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:600 14px/1.45 Nunito,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.authpage{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.authcard{width:100%;max-width:400px;background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:28px 28px 24px}.authcard h1{margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em}.authcard .eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.authcard p{color:var(--ink-2);margin:6px 0 18px}.field{display:grid;grid-gap:5px;gap:5px;margin-bottom:14px}.field label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.field input{padding:10px 12px;border-radius:10px;border:1px solid transparent;background:var(--surface-2);color:var(--ink);font:inherit}.field input:focus{outline:none;border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:11px 14px;border-radius:999px;border:0;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:800;cursor:pointer}.btn[disabled]{opacity:.6;cursor:default}.btn:hover:not([disabled]){filter:brightness(1.08)}.error{background:rgba(239,68,68,.14);color:var(--crit-text);border-radius:10px;padding:9px 12px;margin-bottom:14px}.alt,.error{font-size:13px}.alt{margin-top:18px;text-align:center;color:var(--ink-2)}.alt a{color:var(--accent);font-weight:800;text-decoration:none}.alt a:hover{text-decoration:underline}.authcard h2.sub{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}.notice{border-radius:10px;padding:9px 12px;margin-bottom:14px;font-size:13px}.notice.ok{background:rgba(34,197,94,.14);color:#4ade80}.notice.err{background:rgba(239,68,68,.14);color:var(--crit-text)}.adminpage{max-width:1240px;margin:0 auto;padding:22px 20px 60px}.adminhead{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.adminhead h1{margin:2px 0 0;font-size:24px;font-weight:800;letter-spacing:-.02em}.adminnav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.adminnav form{margin:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);font:inherit;font-weight:700;font-size:13px;text-decoration:none;cursor:pointer;line-height:1.2}.pill:hover{border-color:var(--accent);background:rgba(123,97,255,.18)}.pill.sm{padding:4px 10px;font-size:12px}.pill.ghost{background:transparent;border-color:transparent}.pill.danger{color:var(--crit-text)}.pill.danger:hover{border-color:var(--crit);background:rgba(239,68,68,.14)}.card{background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:18px 20px;margin-bottom:18px}.card h2{margin:0 0 6px;font-size:15px;font-weight:800}.card h2 .muted{font-weight:600;font-size:12px;margin-left:8px}.muted{color:var(--muted)}.small{font-size:12px}.card p{margin:0 0 14px;color:var(--ink-2)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px 16px;gap:12px 16px;align-items:end}.grid .notice{grid-column:1/-1;margin:0}.grid .field{margin:0}.grid .field.end .btn{width:auto;padding-inline:20px}.field select{padding:10px 12px;border-radius:10px;border:1px solid transparent;background:var(--surface-2);color:var(--ink);font:inherit}.field select:focus{outline:none;border-color:var(--accent)}.tablewrap{overflow-x:auto}table.users{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}table.users td,table.users th{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap}table.users th{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}table.users tr.disabled td{opacity:.6}table.users .who{font-weight:800;display:flex;gap:8px;align-items:center}table.users .you{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(123,97,255,.22);color:var(--accent);padding:2px 7px;border-radius:999px}table.users .email,table.users .num{color:var(--ink-2);font-size:12px}table.users .num{font-family:IBM Plex Mono,ui-monospace,Consolas,monospace}.status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.on{background:rgba(34,197,94,.14);color:#4ade80}.status.off{background:rgba(239,68,68,.14);color:var(--crit-text)}form.inline{display:inline-flex;gap:6px;align-items:center;margin:0}form.inline input[type=text],form.inline select{padding:5px 8px;border-radius:8px;border:1px solid transparent;background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px}form.inline select:disabled{opacity:.7}form.inline input[type=text]{width:150px}form.inline .msg{font-size:12px}form.inline .msg.err{color:var(--crit-text)}form.inline .msg.ok{color:#4ade80}.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}