:root{--bg:#08080c;--panel:#101017;--panel-2:#16161f;--line:#24242f;--text:#ececf1;--muted:#8b8b9a;--brand:#a78bfa;--allowed:#3ddc97;--blocked:#ff5c5c;--held:#ffb547;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 70% -10%, #a78bfa14, transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.5 Inter,system-ui,sans-serif}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px}.muted{color:var(--muted)}.small{font-size:12px}h3,h4{margin:0;font-weight:600}h4{letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.app{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08080cb3;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-name{letter-spacing:-.01em;font-weight:700}.top-stats{align-items:center;gap:16px;display:flex}.stat b{margin-right:4px;font-size:15px}.allowed-text{color:var(--allowed)}.blocked-text{color:var(--blocked)}.conn{color:var(--muted);text-transform:capitalize;align-items:center;gap:6px;font-size:12px;display:inline-flex}.conn-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.conn.live .conn-dot{background:var(--allowed);box-shadow:0 0 10px var(--allowed)}.conn.offline .conn-dot{background:var(--blocked)}.layout{flex:1;grid-template-columns:280px 1fr;min-height:0;display:grid}.sidebar{border-right:1px solid var(--line);padding:18px 14px;overflow:auto}.sidebar ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.session{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.session:hover{background:var(--panel)}.session.active{background:var(--panel-2);border-color:var(--line)}.session-top{justify-content:space-between;align-items:center;display:flex}.session-client{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.session-goal{color:#c4c4d0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{padding:22px;overflow:auto}.detail{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:18px;display:grid}@media (width<=1100px){.detail{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.plan{position:sticky;top:0}.plan-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.goal{margin:0 0 14px;font-size:16px;font-weight:600}.badge{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11.5px}.badge.signed{color:var(--brand);background:#a78bfa14;border-color:#a78bfa66}.badge.unsigned{color:var(--held);border-color:#ffb54759}.steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{align-items:flex-start;gap:10px;display:flex}.step-check{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:11px;transition:all .3s;display:grid}.steps li.done .step-check{border-color:var(--allowed);color:var(--allowed);background:#3ddc9726}.steps .tool{color:var(--text)}.why{font-size:12px}.hash{margin-top:14px;font-size:11px}.calls{gap:10px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.card.allowed,.card.approved{border-left-color:var(--allowed)}.card.blocked,.card.denied,.card.timeout{border-left-color:var(--blocked);background:linear-gradient(90deg, #ff5c5c12, var(--panel-2) 40%)}.card.held{border-left-color:var(--held);background:linear-gradient(90deg, #ffb54714, var(--panel-2) 40%)}.call-head{align-items:center;gap:10px;display:flex}.tool{font-weight:500}.server{color:var(--muted)}.time{margin-left:auto;font-size:12px}.dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.dot.allowed{background:var(--allowed)}.dot.blocked{background:var(--blocked);box-shadow:0 0 10px var(--blocked)}.dot.held{background:var(--held)}.pill{text-transform:lowercase;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11px}.pill.allowed{color:var(--allowed);border-color:#3ddc9759}.pill.blocked{color:var(--blocked);border-color:#ff5c5c66}.pill.held{color:var(--held);border-color:#ffb54766}.counts{gap:6px;display:flex}.args{color:#c9c9d6;word-break:break-all}.arg-key{color:var(--brand)}.arg-val{color:#e7e7ef}.reason{color:#f1c7c7;margin:0;font-size:13px}.reason.ok{color:var(--allowed)}.card.held .reason,.card.amend .reason{color:#f5dfb8}.preview{border:1px solid var(--line);white-space:pre-wrap;color:#c9c9d6;background:#0b0b11;border-radius:8px;max-height:120px;margin:0;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:12px;overflow:auto}.preview.err{color:#f1c7c7}.amend-steps{color:var(--held);margin:0;padding-left:4px;list-style:none}.approval{background:#ffb54714;border:1px solid #ffb5474d;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.approval-label{flex:1;font-size:13px}.pulse{background:var(--held);border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.btn{font:inherit;border:1px solid var(--line);cursor:pointer;color:var(--text);background:var(--panel-2);border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600;transition:transform .15s,background .15s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.approve{background:var(--allowed);color:#04130c;border-color:#0000}.btn.deny{color:var(--blocked);background:0 0;border-color:#ff5c5c80}.btn.ghost{background:0 0;font-weight:500}.btn.ghost.on{color:var(--brand);border-color:#a78bfa80}.empty-state{text-align:center;place-items:center;gap:8px;margin-top:18vh;display:grid}.empty-state h2{margin:8px 0 0}.empty-state pre{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 16px}.toast{background:#1b1324;border:1px solid #a78bfa73;border-radius:12px;align-items:center;gap:10px;max-width:min(640px,90vw);padding:12px 16px;display:flex;position:fixed;bottom:22px;left:50%;translate:-50%;box-shadow:0 20px 50px #00000080}
