:root{color-scheme:dark;--bg: #0a0e15;--panel: #141a24;--panel-2: #0d131e;--border: #1c2434;--text: #e7eaf1;--muted: #6e7891;--accent: #e3b341;--accent-2: #c98f2e;--on-accent: #0a0e15;--danger: #ff6b81;--ok: #4ade80;--warn: #f5c451;--accent-soft: rgba(227, 179, 65, .12);--accent-line: rgba(227, 179, 65, .35);--accent-ink: #f3e4c0;--ok-line: #1f5e47;--ok-bg: #122a22;--ok-ink: #b6f0d8;--warn-line: #5e4d1f;--danger-line: #5a2230;--danger-bg: #3a1620;--danger-border: #6b2233;--danger-ink: #ffb4c0;--hover: rgba(255, 255, 255, .02);--code-bg: rgba(0, 0, 0, .35);--backdrop: rgba(0, 0, 0, .55);--shadow: rgba(0, 0, 0, .35);--shadow-strong: rgba(0, 0, 0, .45);--client-ink: #b9d7ff;--client-line: #2a4a72;--client-bg: rgba(80, 140, 220, .08);--mcp-ink: #d4c2ff;--mcp-line: #4a3a72;--mcp-bg: rgba(150, 110, 230, .08);--selected-line: #2c3a6b;--selected-bg: #121a30;--dev-bg: #1c2338;--dev-bg-hover: #232b45;--dev-ink: #cdd3e6;--dev-line: #46507a}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}h1,h2,h3{font-weight:650}.muted{color:var(--muted)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:8px 13px;border-radius:8px;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover{background:var(--accent-2)}.btn.danger{color:var(--danger);border-color:var(--danger-line)}.btn.sm{padding:5px 9px;font-size:12px}input,select,textarea{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:13px}input:focus,select:focus{outline:2px solid var(--accent);border-color:transparent}label{display:block;font-size:12px;color:var(--muted);margin:10px 0 5px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:var(--hover)}.table-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.table-search input[type=search]{width:auto;min-width:260px;flex:1 1 260px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;border:1px solid var(--border);color:var(--muted)}.badge.ok{color:var(--ok);border-color:var(--ok-line)}.badge.warn{color:var(--warn);border-color:var(--warn-line)}.badge.accent{color:var(--accent-ink);border-color:var(--accent-line);background:var(--accent-soft)}.banner{margin:12px 0;padding:11px 13px;border-radius:9px;font-size:13px;background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-ink)}.banner.error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-ink)}.banner code{background:var(--code-bg);padding:2px 6px;border-radius:5px}dialog,.modal{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:22px;width:min(94vw,440px);max-height:90vh;max-height:90dvh;overflow-y:auto}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);display:grid;place-items:center;z-index:50}.modal.wide{width:min(94vw,640px)}.modal-title{margin:0 0 12px}.modal:has(>.modal-actions:not(:empty)){padding-bottom:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px;position:sticky;bottom:0;background:var(--panel);padding:12px 0 22px;border-top:1px solid var(--border)}.modal-actions:empty{display:none}.modal:focus{outline:none}.confirm-body{margin:0 0 4px;line-height:1.5;color:var(--text)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:var(--on-accent);font-weight:600}.btn.danger-solid:hover{filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toasts{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;gap:8px;max-width:min(92vw,380px)}.toast{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-ink);font-size:13px;box-shadow:0 6px 24px var(--shadow)}.toast.error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-ink)}.toast span{flex:1}.toast-close{border:0;background:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.row-menu-trigger{min-width:30px;letter-spacing:.08em}.row-menu{position:fixed;z-index:60;min-width:170px;padding:5px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px var(--shadow-strong);display:flex;flex-direction:column}.row-menu button{border:0;background:none;color:var(--text);text-align:left;cursor:pointer;padding:8px 10px;border-radius:7px;font-size:13px}.row-menu button:hover,.row-menu button:focus-visible{background:var(--panel-2);outline:none}.row-menu button.danger{color:var(--danger)}.row-menu button:disabled{opacity:.45;cursor:default}.lang-switch,.theme-switch{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.lang-switch button,.theme-switch button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.08em;padding:4px 8px}.lang-switch button+button,.theme-switch button+button{border-left:1px solid var(--border)}.lang-switch button.on,.theme-switch button.on{background:var(--accent-soft);color:var(--accent)}.lang-switch button:focus-visible,.theme-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.role-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.5;border:1px solid var(--border);color:var(--muted);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.chip[data-group=team]{color:var(--accent-ink);border-color:var(--accent-line);background:var(--accent-soft)}.chip[data-group=client]{color:var(--client-ink);border-color:var(--client-line);background:var(--client-bg)}.chip[data-group=mcp]{color:var(--mcp-ink);border-color:var(--mcp-line);background:var(--mcp-bg)}.chip[data-group=all]{color:var(--ok);border-color:var(--ok-line)}.chip.more{color:var(--accent);border-style:dashed;text-decoration:none}a.chip.more:hover{border-color:var(--accent)}.chip.removable button{border:0;background:none;color:inherit;cursor:pointer;padding:0;font-size:13px;line-height:1;opacity:.7}.chip.removable button:hover{opacity:1;color:var(--danger)}.picker-tools{display:flex;gap:10px;align-items:center}.picker-tools input[type=search]{flex:1;width:auto;min-width:0}.picker-only{display:flex;gap:6px;align-items:center;margin:0;white-space:nowrap;font-size:12.5px;color:var(--text)}.picker-only input{width:auto}.picker-held{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:10px 0 6px;min-height:22px;max-height:84px;overflow-y:auto}.picker-held>.muted{font-size:12px;margin-right:4px}.picker-list{max-height:44vh;max-height:44dvh;overflow-y:auto;border-top:1px solid var(--border)}.picker-list details{border-bottom:1px solid var(--border)}.picker-list summary{display:flex;justify-content:space-between;cursor:pointer;padding:9px 2px;text-transform:uppercase;font-size:11.5px;letter-spacing:.06em;color:var(--muted);list-style:none}.picker-list summary::-webkit-details-marker{display:none}.picker-list summary:before{content:"\25b8";margin-right:6px;transition:transform .12s}.picker-list details[open]>summary:before{transform:rotate(90deg)}.picker-list summary>span:first-child{flex:1}.pick-row{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:start;margin:0;padding:5px 2px;color:var(--text);font-size:13px;cursor:pointer}.pick-row input{width:auto;margin-top:3px}.pick-row .pick-desc{grid-column:2;font-size:12px}.pick-row:hover{background:var(--hover)}.page-intro{margin:2px 0 6px;max-width:80ch}.hint{color:var(--muted);font-size:12px;margin:4px 0 8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.table-card{overflow-x:auto}.chip.denied{color:var(--warn);border-color:var(--warn-line)}.list-input{display:grid;gap:4px}.list-row{display:flex;gap:8px;align-items:center}.list-row code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;padding:6px 9px;font-size:12px}.list-row code.invalid{border-color:var(--warn-line)}.list-warn{color:var(--warn);font-size:12px;margin:-2px 0 2px}.list-empty{font-size:12px;padding:2px 0}.list-add{display:flex;gap:8px;align-items:center}.list-add input{flex:1}@media(max-width:720px){.table-search input[type=search]{min-width:0}th,td{padding:8px}}:root[data-theme=light]{color-scheme:light;--bg: #f6f7f9;--panel: #ffffff;--panel-2: #f1f3f7;--border: #dde2ea;--text: #141a24;--muted: #5d6679;--accent: #96650a;--accent-2: #7d5408;--on-accent: #ffffff;--danger: #c8283f;--ok: #17834a;--warn: #9a6a00;--accent-soft: rgba(150, 101, 10, .1);--accent-line: rgba(150, 101, 10, .35);--accent-ink: #6b4807;--ok-line: #a9dcc0;--ok-bg: #e8f6ee;--ok-ink: #0f5c34;--warn-line: #e6cf8f;--danger-line: #f0b3bd;--danger-bg: #fdecef;--danger-border: #f2b8c2;--danger-ink: #9b1c31;--hover: rgba(15, 23, 42, .03);--code-bg: rgba(15, 23, 42, .06);--backdrop: rgba(15, 23, 42, .35);--shadow: rgba(15, 23, 42, .12);--shadow-strong: rgba(15, 23, 42, .16);--client-ink: #1f4f8f;--client-line: #a9c4e8;--client-bg: rgba(80, 140, 220, .08);--mcp-ink: #5a3ea8;--mcp-line: #c7b6ee;--mcp-bg: rgba(150, 110, 230, .08);--selected-line: #a9b8e6;--selected-bg: #eef2fc;--dev-bg: #eef0f6;--dev-bg-hover: #e3e7f0;--dev-ink: #2a3150;--dev-line: #9aa3c2}:root[data-theme=light] oa-shell{--rail: #ffffff;--rail-2: #f8f9fb;--dim: #8a93a6;--rail-hover: rgba(15, 23, 42, .04);--rail-hover-strong: rgba(15, 23, 42, .05);--rail-sheen: rgba(15, 23, 42, .02)}
