:root{--bg: #f6f7f9;--surface: #ffffff;--text: #1f2937;--muted: #6b7280;--border: #e2e5ea;--accent: #2f6fed;--accent-text: #ffffff;--danger: #c92a2a;--info-bg: #e8f0fe;--error-bg: #fdecec;--radius: 12px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #111418;--surface: #1b1f25;--text: #e6e8eb;--muted: #9aa3ad;--border: #2c323a;--accent: #5b8ff9;--danger: #ff6b6b;--info-bg: #1d2b45;--error-bg: #3a1f22}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.6rem;margin:0}h2{font-size:1.1rem;margin:0}p{margin:0}input,select,button{font:inherit;color:inherit}input,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}input[type=color]{padding:2px;height:44px}label{display:grid;gap:4px;font-size:.9rem;font-weight:600}button{padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.link{border:none;background:none;padding:4px;color:var(--accent)}button.link.danger{color:var(--danger)}button.icon{padding:6px 10px}.muted{color:var(--muted)}.error{background:var(--error-bg);color:var(--danger);padding:10px 12px;border-radius:8px}.info{background:var(--info-bg);padding:10px 12px;border-radius:8px}.nowrap{white-space:nowrap}.right{text-align:right}.grow{flex:1;min-width:0}.stack{display:grid;gap:12px}.stack-lg{display:grid;gap:24px}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.page{max-width:960px;margin:0 auto;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.narrow{width:100%;max-width:380px}.topbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar nav,.tabs{display:flex;gap:4px;align-items:center}.topbar nav a,.tabs a{padding:6px 10px;border-radius:8px;color:var(--text);text-decoration:none}.topbar nav a.active,.tabs a.active{background:var(--info-bg);color:var(--accent);font-weight:600}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tile{--tile: var(--accent);display:grid;gap:4px;justify-items:start;text-align:left;min-height:110px;padding:14px;border:none;border-radius:var(--radius);background:var(--tile);color:#fff;transition:transform .08s ease}.tile:active{transform:scale(.97)}.tile-icon{font-size:1.6rem;line-height:1;min-height:1.6rem}.tile-label{font-weight:700;font-size:1.05rem}.tile-meta{font-size:.85rem;opacity:.9}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);width:min(420px,calc(100% - 32px));padding:12px 16px;border-radius:10px;background:#1f2937;color:#fff;text-align:center}.toast.error{background:var(--danger)}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.filter-actions{display:flex;gap:8px}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}th{font-size:.8rem;text-transform:uppercase;color:var(--muted)}tr:last-child td{border-bottom:none}.button-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.row.inactive{opacity:.6}.row select{width:auto}.swatch{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;font-size:1.2rem}.badge{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--border);font-size:.75rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.row-actions{display:flex;justify-content:flex-end;gap:8px}.invite{font-size:1.6rem;font-weight:700;letter-spacing:.15em}
