:root{--bg: #f6f7f9;--card: #fff;--line: #e5e7eb;--text: #111827;--muted: #6b7280;--brand: #4f46e5;--brand-d: #4338ca;--amber: #b45309;--danger: #b91c1c;--green: #047857}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{cursor:pointer;font:inherit}input,select{font:inherit}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.muted{color:var(--muted)}.error{color:var(--danger);margin:10px 0 0}.hint{color:var(--green);margin:10px 0 0;word-break:break-all}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;width:380px;max-width:100%;box-shadow:0 6px 24px #0000000d}.brand{font-size:22px;margin:0 0 6px}.brand-sm{font-weight:700}.card label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px}.card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px}.primary{width:100%;margin-top:14px;padding:11px;border:0;border-radius:9px;background:var(--brand);color:#fff;font-weight:600}.primary:hover{background:var(--brand-d)}.primary:disabled{opacity:.6;cursor:default}.link{background:none;border:0;color:var(--brand);margin-top:10px;padding:0}.divider{margin:18px 0 8px;font-size:13px;color:var(--muted);text-align:center}.invite-ws{margin:6px 0;color:var(--brand)}.app{min-height:100vh}.topbar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0}.spacer{flex:1}.who{font-size:13px}.ghost{background:none;border:1px solid var(--line);border-radius:8px;padding:6px 12px}.ghost:hover{background:var(--bg)}.ws-switch{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.content{max-width:820px;margin:0 auto;padding:28px 20px}.page-head h2{margin:0 0 4px}.page-head p{margin:0}.invite-bar{display:flex;gap:10px;margin:20px 0 6px}.invite-bar input{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.invite-bar select{padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.invite-bar .primary{width:auto;margin:0;padding:10px 18px}table.members{width:100%;border-collapse:collapse;margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.members th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 14px;background:#fafafa;border-bottom:1px solid var(--line)}.members td{padding:12px 14px;border-bottom:1px solid var(--line)}.members tr:last-child td{border-bottom:0}.members select{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff}.members .right{text-align:right}.pending{background:#fffdf5}.tag{font-size:11px;background:#eef2ff;color:var(--brand);padding:1px 7px;border-radius:20px;margin-left:6px}.tag-amber{background:#fef3c7;color:var(--amber)}.role{font-size:13px;text-transform:capitalize}.role-owner{color:var(--brand);font-weight:600}.role-admin{color:var(--green)}.role-member{color:var(--muted)}.danger-link{background:none;border:0;color:var(--danger)}.danger-link:hover{text-decoration:underline}
