:root{--bg: #0d1117;--bg2: #161b22;--bg3: #21262d;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--dim: #484f58;--blue: #58a6ff;--green: #3fb950;--orange: #d29922;--red: #f85149;--purple: #a371f7;--term-bg: #0a0e14;--green-bg: rgba(63,185,80,.12);--red-bg: rgba(248,81,73,.12);--blue-bg: rgba(88,166,255,.12);--orange-bg: rgba(210,153,34,.12);--radius: 6px;--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.app{display:flex;flex-direction:column;height:100vh}.main{display:flex;flex:1;overflow:hidden;min-height:0}.header{display:flex;align-items:center;gap:10px;padding:0 16px;height:44px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;-webkit-user-select:none;user-select:none}.logo{display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--blue);letter-spacing:-.3px}.conn-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .4s,box-shadow .4s}.conn-connecting{background:var(--orange);animation:pulse 1.2s ease-in-out infinite}.conn-connected{background:var(--green);box-shadow:0 0 0 2px #3fb95033}.conn-disconnected{background:var(--red);box-shadow:0 0 0 2px #f8514933}@keyframes pulse{0%,to{box-shadow:0 0 0 2px #d2992233}50%{box-shadow:0 0 0 5px #d2992266}}.hdr-sep{width:1px;height:18px;background:var(--border);flex-shrink:0}.spacer{flex:1}.user-profile{display:flex;align-items:center;gap:6px;background:none;border:1px solid transparent;border-radius:20px;padding:2px 8px 2px 2px;color:var(--muted);transition:all .15s}.user-profile:hover{border-color:var(--border);background:var(--bg3)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--blue-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;border:1px solid rgba(88,166,255,.3)}.user-name{font-size:11px;font-weight:500;color:var(--text);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name-input{width:120px;background:var(--bg);color:var(--text);border:1px solid var(--blue);border-radius:4px;font-size:11px;padding:3px 8px;outline:none;font-family:inherit}.user-role{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.role-admin{background:var(--blue-bg);color:var(--blue);border:1px solid rgba(88,166,255,.3)}.role-viewer{background:var(--bg3);color:var(--dim);border:1px solid var(--border)}.btn-logout{background:none;border:none;color:var(--dim);font-size:14px;padding:2px 4px;cursor:pointer;transition:color .12s}.btn-logout:hover{color:var(--red)}.user-profile-wrap{position:relative}.profile-panel{position:absolute;top:calc(100% + 8px);right:0;width:300px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden}.profile-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.profile-avatar{width:36px;height:36px;border-radius:50%;background:var(--blue-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;border:2px solid rgba(88,166,255,.3)}.profile-info{display:flex;flex-direction:column;gap:2px}.profile-name{font-size:13px;font-weight:600;color:var(--text)}.profile-section{padding:10px 16px;border-bottom:1px solid var(--border)}.profile-label{font-size:10px;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.profile-token-row{display:flex;align-items:center;gap:4px}.profile-token{flex:1;font-size:11px;font-family:var(--font-mono);color:var(--muted);background:var(--bg);padding:4px 8px;border-radius:4px;border:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-token-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--bg3);border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:12px;cursor:pointer;transition:all .12s}.profile-token-btn:hover{color:var(--text);border-color:var(--blue)}.profile-hint{font-size:10px;color:var(--dim);margin-top:4px}.profile-user-list{display:flex;flex-direction:column;gap:3px;max-height:150px;overflow-y:auto}.profile-user-row{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg);border-radius:4px;font-size:11px}.profile-user-name{color:var(--text);font-weight:500;flex:1}.profile-user-invited{color:var(--dim);font-size:10px}.profile-user-remove{background:none;border:none;color:var(--dim);cursor:pointer;font-size:11px;padding:0 2px;line-height:1;opacity:0;transition:opacity .15s,color .15s}.profile-user-row:hover .profile-user-remove{opacity:1}.profile-user-remove:hover{color:var(--c-err)}.profile-actions{padding:10px 16px}.profile-logout-btn{width:100%;padding:6px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .12s}.profile-logout-btn:hover{color:var(--red);border-color:var(--red);background:var(--red-bg)}.btn-invite{font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--muted);transition:all .15s;white-space:nowrap}.btn-invite:hover{border-color:var(--purple);color:var(--purple);background:#a371f71a}.invite-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.invite-card{width:380px;padding:32px;background:var(--bg2);border:1px solid var(--border);border-radius:12px}.invite-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--blue);margin-bottom:24px}.invite-status{text-align:center;padding:20px 0;color:var(--muted);font-size:13px}.invite-error{color:var(--red)}.invite-success{color:var(--green)}.invite-icon-large{font-size:32px;margin-bottom:8px}.invite-sub{font-size:11px;color:var(--dim);margin-top:4px}.invite-message{font-size:14px;color:var(--text);line-height:1.6;margin-bottom:20px}.invite-message strong{color:var(--blue)}.invite-form{display:flex;flex-direction:column;gap:10px}.invite-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.invite-input{padding:10px 12px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;outline:none;transition:border-color .15s}.invite-input:focus{border-color:var(--blue)}.invite-form-error{font-size:11px;color:var(--red)}.invite-btn{padding:10px 16px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.invite-btn:hover{opacity:.9}.invite-btn:disabled{opacity:.5;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:12px;margin:16px 0 12px;color:var(--dim);font-size:11px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.invite-btn-secondary{background:var(--bg3);color:var(--muted);border:1px solid var(--border)}.invite-btn-secondary:hover{color:var(--text)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.dialog-card{width:400px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;overflow:hidden}.dialog-header{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.dialog-title{font-size:14px;font-weight:700;color:var(--text);flex:1}.dialog-close{background:none;border:none;color:var(--dim);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .12s}.dialog-close:hover{color:var(--text);background:var(--bg3)}.dialog-body{padding:16px;display:flex;flex-direction:column;gap:12px}.dialog-field{display:flex;flex-direction:column;gap:4px}.dialog-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.dialog-select{padding:6px 8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:12px;outline:none}.invite-link-row{display:flex;gap:4px}.invite-link-input{flex:1;padding:8px 10px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:11px;outline:none}.invite-copy-btn{padding:8px 12px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.invite-copy-btn:hover{opacity:.9}.invite-details{display:flex;gap:12px;font-size:10px;color:var(--dim)}.hdr-chip{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:2px 9px;white-space:nowrap}.hdr-chip .chip-val{color:var(--text);font-weight:500}.chip-warn{color:var(--orange)!important;border-color:#d2992280!important;background:var(--orange-bg)!important}.btn-approve-all{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;border:1px solid #238636;background:var(--green-bg);color:var(--green);transition:all .15s;white-space:nowrap}.btn-approve-all:hover{background:#238636;color:#fff}.btn-auto-approve{font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--dim);transition:all .15s;white-space:nowrap}.btn-auto-approve:hover{border-color:var(--orange);color:var(--orange)}.btn-auto-approve.active{background:var(--orange-bg);border-color:var(--orange);color:var(--orange);animation:glow-warn 1.5s ease-in-out infinite}.agent-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;border:1px solid transparent;transition:all .3s}.status-idle{color:var(--dim);border-color:var(--border)}.status-running{color:var(--green);border-color:#23863666;background:var(--green-bg)}.status-waiting{color:var(--orange);border-color:#9e6a0366;background:var(--orange-bg);animation:glow-warn 1.5s ease-in-out infinite}.status-done{color:var(--blue);border-color:#1f6feb66;background:var(--blue-bg)}@keyframes glow-warn{0%,to{box-shadow:none}50%{box-shadow:0 0 10px #d2992240}}.splitter{width:5px;flex-shrink:0;cursor:col-resize;background:var(--border);display:flex;align-items:center;justify-content:center;transition:background .15s;position:relative;z-index:10}.splitter:hover,.splitter:active{background:var(--blue)}.splitter-line{width:1px;height:30px;background:var(--dim);border-radius:1px;transition:background .15s}.splitter:hover .splitter-line{background:#fff}.terminal-pane{display:flex;flex-direction:column;background:var(--term-bg);min-width:0;overflow:hidden}.session-tab-bar{display:flex;align-items:center;height:36px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.session-tab-bar::-webkit-scrollbar{display:none}.mac-dots{display:flex;align-items:center;gap:6px;padding:0 12px;border-right:1px solid var(--border);height:100%;flex-shrink:0}.mac-dot{width:10px;height:10px;border-radius:50%}.mac-red{background:#ff5f57}.mac-yellow{background:#febc2e}.mac-green{background:#28c840}.sess-tab{display:flex;align-items:center;gap:7px;padding:0 14px;height:100%;border:none;border-right:1px solid var(--border);background:transparent;color:var(--muted);font-size:11px;font-family:var(--font-mono);white-space:nowrap;flex-shrink:0;transition:background .12s,color .12s}.sess-tab:hover{background:var(--bg3);color:var(--text)}.sess-tab.active{background:var(--term-bg);color:var(--blue);border-bottom:2px solid var(--blue)}.sess-tab.ended{opacity:.45}.tab-status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.sess-tab.ended .tab-status-dot{background:var(--dim)}.new-sess-btn{display:flex;align-items:center;justify-content:center;padding:0 14px;height:100%;margin-left:auto;border:none;border-left:1px solid var(--border);background:transparent;color:var(--muted);font-size:18px;flex-shrink:0;transition:background .12s,color .12s}.new-sess-btn:hover{background:var(--bg3);color:var(--text)}.tab-overflow-btn{display:flex;align-items:center;justify-content:center;padding:0 10px;height:100%;border:none;border-left:1px solid var(--border);background:transparent;color:var(--dim);font-size:16px;flex-shrink:0;transition:background .12s,color .12s;cursor:pointer;letter-spacing:1px}.tab-overflow-btn:hover{background:var(--bg3);color:var(--text)}.tab-ctx-menu{position:fixed;z-index:9999;min-width:200px;background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:4px 0;box-shadow:0 8px 24px #00000059;font-family:var(--font-mono);font-size:12px}.tab-ctx-menu button{display:block;width:100%;padding:7px 14px;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-family:inherit;font-size:inherit}.tab-ctx-menu button:hover{background:var(--blue);color:#fff}.tab-rename-input{width:100px;max-width:140px;background:var(--bg);color:var(--text);border:1px solid var(--blue);border-radius:3px;font-family:var(--font-mono);font-size:11px;padding:1px 4px;outline:none}.term-search-bar{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.term-search-input{flex:1;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:12px;padding:4px 8px;outline:none;transition:border-color .15s}.term-search-input:focus{border-color:var(--blue)}.term-search-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--bg3);border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:11px;transition:all .12s}.term-search-btn:hover{color:var(--text);border-color:var(--blue)}.terminal-container{flex:1;position:relative;overflow:hidden;min-height:0}.xterm-wrap{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 4px;overflow:hidden;visibility:hidden;pointer-events:none}.xterm-wrap.active{visibility:visible;pointer-events:auto}.dashboard-pane{display:flex;flex-direction:column;overflow:hidden;min-width:0}.dash-tab-bar{display:flex;align-items:center;height:36px;flex-shrink:0;background:var(--bg2);border-bottom:1px solid var(--border);gap:0;overflow-x:auto;scrollbar-width:none}.dash-tab-bar::-webkit-scrollbar{display:none}.dash-tab{display:flex;align-items:center;height:100%;padding:0 14px;border:none;border-right:1px solid var(--border);background:transparent;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap;letter-spacing:.3px;transition:background .12s,color .12s}.dash-tab:hover{background:var(--bg3);color:var(--text)}.dash-tab.active{color:var(--blue);border-bottom:2px solid var(--blue)}.dash-popout-btn{margin-left:auto;padding:0 10px;height:100%;border:none;border-left:1px solid var(--border);background:transparent;color:var(--dim);font-size:14px;transition:all .12s;flex-shrink:0}.dash-popout-btn:hover{background:var(--bg3);color:var(--text)}.filter-pills{display:flex;align-items:center;gap:4px;padding:0 8px;margin-left:auto;overflow-x:auto;scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pill{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--muted);white-space:nowrap;font-family:var(--font-mono);transition:all .15s}.filter-pill:hover{border-color:var(--blue);color:var(--text)}.filter-pill.active{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}.filter-pill.ended{opacity:.5}.tab-close-btn{font-size:9px;color:var(--dim);margin-left:4px;padding:1px 3px;border-radius:3px;transition:all .12s;line-height:1}.tab-close-btn:hover{color:var(--red);background:var(--red-bg)}.sess-tab:not(:hover) .tab-close-btn{opacity:0}.sess-tab:hover .tab-close-btn{opacity:1}.tab-ended-actions{display:flex;align-items:center;gap:2px;margin-left:4px}.tab-resume-btn{font-size:11px;color:var(--green);padding:1px 3px;border-radius:3px;transition:all .12s;line-height:1;cursor:pointer}.tab-resume-btn:hover{background:var(--green-bg)}.tab-delete-btn{font-size:9px;color:var(--dim);padding:1px 3px;border-radius:3px;transition:all .12s;line-height:1;cursor:pointer}.tab-delete-btn:hover{color:var(--red);background:var(--red-bg)}.sess-tab:not(:hover) .tab-ended-actions{opacity:0}.sess-tab:hover .tab-ended-actions{opacity:1}.activity-panel-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.activity-panel{flex:1;overflow-y:auto;min-height:0}.timeline{padding:4px 0}.activity-pagination{display:flex;align-items:center;gap:8px;padding:5px 12px;background:var(--bg2);border-top:1px solid var(--border);flex-shrink:0;font-size:11px}.page-size-select{display:flex;gap:2px;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:hidden}.page-size-btn{padding:2px 8px;border:none;background:transparent;color:var(--muted);font-size:10px;font-weight:600;transition:all .12s}.page-size-btn:hover{color:var(--text);background:var(--bg3)}.page-size-btn.active{color:var(--blue);background:var(--blue-bg)}.page-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.page-nav-btn{padding:2px 6px;border:1px solid var(--border);border-radius:3px;background:var(--bg3);color:var(--muted);font-size:10px;transition:all .12s}.page-nav-btn:hover:not(:disabled){color:var(--text);border-color:var(--blue)}.tail-btn.active{color:var(--green);border-color:#23863666;background:var(--green-bg)}.page-info{font-size:10px;color:var(--muted);font-family:var(--font-mono);padding:0 4px;min-width:50px;text-align:center}.page-total{font-size:10px;color:var(--dim)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center;gap:8px}.empty-icon{font-size:28px;opacity:.5}.empty-title{font-size:13px;color:var(--muted);font-weight:500}.empty-sub{font-size:11px;color:var(--dim);line-height:1.7}.tl-item{display:flex;align-items:flex-start;gap:10px;padding:7px 14px;border-left:2px solid transparent;transition:background .1s}.tl-item:hover{background:#161b2280}.tl-icon{width:18px;text-align:center;font-size:13px;flex-shrink:0;padding-top:1px}.tl-body{flex:1;min-width:0}.tl-row1{display:flex;align-items:center;gap:6px}.tl-label{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.tl-ts{margin-left:auto;font-size:10px;color:var(--dim);flex-shrink:0}.tl-sub{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono)}.tl-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.badge-post{background:var(--green-bg);color:var(--green);border:1px solid rgba(35,134,54,.4)}.badge-notif{background:#a371f71a;color:var(--purple);border:1px solid rgba(110,64,201,.4)}.badge-stop{background:var(--bg3);color:var(--muted);border:1px solid var(--border)}.badge-new{background:var(--blue-bg);color:var(--blue);border:1px solid rgba(31,111,235,.4)}.badge-pending{background:var(--orange-bg);color:var(--orange);border:1px solid rgba(158,106,3,.4);animation:blink 1.2s ease-in-out infinite}.badge-approved{background:var(--green-bg);color:var(--green);border:1px solid rgba(35,134,54,.4)}.badge-denied{background:var(--red-bg);color:var(--red);border:1px solid rgba(218,54,51,.4)}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.gate-row{flex-direction:column;background:#100d0066;border-left:2px solid var(--orange)!important;border-radius:0 var(--radius) var(--radius) 0;margin:4px 8px;padding:10px 12px!important;gap:8px!important}.gate-row .tl-body{width:100%}.gate-row .tl-icon{align-self:flex-start}.gate-row .tl-sub{white-space:pre-wrap}.gate-row.gate-approved{border-left-color:var(--green)!important;background:#3fb9500d}.gate-row.gate-denied{border-left-color:var(--red)!important;background:#f851490d}.gate-command{font-family:var(--font-mono);font-size:11.5px;color:#c9d1d9;background:#06050499;border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;margin-top:6px;white-space:pre-wrap;word-break:break-all;max-height:80px;overflow-y:auto}.gate-actions{display:flex;gap:8px;margin-top:8px}.btn-approve,.btn-deny{flex:1;padding:7px 0;border-radius:var(--radius);border:1px solid;font-size:12px;font-weight:700;letter-spacing:.2px;transition:all .15s}.btn-approve{background:var(--green-bg);border-color:#238636;color:var(--green)}.btn-approve:hover:not(:disabled){background:#238636;color:#fff}.btn-deny{background:var(--red-bg);border-color:#da3633;color:var(--red)}.btn-deny:hover:not(:disabled){background:#da3633;color:#fff}.files-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:var(--bg)}.files-breadcrumb{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg2);border-bottom:1px solid var(--border);font-size:11px;color:var(--muted);flex-shrink:0;font-family:var(--font-mono);overflow-x:auto;white-space:nowrap}.breadcrumb-home{background:none;border:none;color:var(--blue);font-size:11px;font-family:var(--font-mono);cursor:pointer}.breadcrumb-home:hover{text-decoration:underline}.breadcrumb-sep{color:var(--dim)}.breadcrumb-cur{color:var(--text)}.btn-upload{background:none;border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:10px;padding:2px 8px;cursor:pointer;font-family:var(--font-mono);white-space:nowrap;transition:all .12s;flex-shrink:0}.btn-upload:hover{color:var(--text);border-color:var(--blue);background:var(--blue-bg)}.file-tree.drag-over{outline:2px dashed var(--blue);outline-offset:-2px;background:var(--blue-bg)}.upload-toast{padding:4px 12px;background:var(--bg3);border-bottom:1px solid var(--border);font-size:11px;color:var(--muted);flex-shrink:0;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.files-body{flex:1;display:flex;overflow:hidden;min-height:0}.file-tree{width:38%;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--border);padding:4px 0}.file-entry{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;transition:background .1s;font-size:12px}.file-entry:hover{background:var(--bg3)}.file-entry.selected{background:var(--blue-bg);color:var(--blue)}.file-icon{font-size:13px;flex-shrink:0}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:10px;color:var(--dim);flex-shrink:0}.file-dir .file-name{font-weight:500}.file-loading,.file-empty{padding:16px 12px;font-size:11px;color:var(--dim)}.file-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.editor-header{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.editor-filename{flex:1;font-size:11px;font-family:var(--font-mono);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-save{font-size:11px;font-weight:600;padding:3px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg3);color:var(--muted);transition:all .15s}.btn-save.dirty{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.btn-save.dirty:hover{background:var(--blue);color:#fff}.code-editor{flex:1;overflow:hidden;min-height:0}.code-editor .cm-editor{height:100%}.code-editor .cm-editor.cm-focused{outline:none}.editor-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--dim);font-size:12px}.file-preview{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.preview-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;background:var(--blue-bg);color:var(--blue);border:1px solid rgba(31,111,235,.3);letter-spacing:.5px}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px;background:var(--bg)}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius)}.preview-svg{background:#fff;padding:12px;border-radius:var(--radius);border:1px solid var(--border)}.preview-pdf{width:100%;height:100%;border:none;border-radius:var(--radius);background:#fff}.files-error{padding:8px 12px;background:var(--red-bg);border-top:1px solid rgba(218,54,51,.3);color:var(--red);font-size:11px;cursor:pointer;flex-shrink:0}.settings-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:var(--bg)}.settings-header{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.settings-path{font-size:11px;font-family:var(--font-mono);color:var(--muted)}.settings-tabs{display:flex;gap:2px;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-left:8px}.settings-tab-btn{padding:2px 10px;border:none;background:transparent;color:var(--muted);font-size:10px;font-weight:600;transition:all .12s}.settings-tab-btn:hover{color:var(--text);background:var(--bg3)}.settings-tab-btn.active{color:var(--blue);background:var(--blue-bg)}.settings-actions{display:flex;gap:6px;margin-left:auto;align-items:center}.btn-settings-reload{font-size:14px;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--muted);transition:all .15s}.btn-settings-reload:hover{color:var(--text);border-color:var(--blue)}.settings-error{padding:6px 12px;background:var(--red-bg);border-bottom:1px solid rgba(218,54,51,.3);color:var(--red);font-size:11px;cursor:pointer;flex-shrink:0}.settings-editor{flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column}.settings-editor .code-editor{flex:1;overflow:auto;min-height:0}.settings-quick{flex:1;overflow-y:auto;padding:12px}.settings-section{margin-bottom:16px}.settings-section-title{font-size:11px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.settings-note{font-size:11px;color:var(--muted);padding:6px 10px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.settings-note-warn{color:var(--orange);border-color:#d299224d;background:var(--orange-bg)}.settings-toggles{display:flex;flex-direction:column;gap:4px}.settings-toggle{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-radius:var(--radius);transition:background .1s}.settings-toggle:hover{background:var(--bg3)}.settings-toggle input[type=checkbox]{accent-color:var(--blue);width:14px;height:14px;cursor:pointer}.toggle-label{font-size:12px;color:var(--text);flex:1}.toggle-key{font-size:10px;font-family:var(--font-mono);color:var(--dim);background:var(--bg2);padding:1px 6px;border-radius:3px;border:1px solid var(--border)}.hook-summary{padding:8px 10px;margin-bottom:6px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.hook-type{font-size:11px;font-weight:700;color:var(--blue);font-family:var(--font-mono)}.hook-count{font-size:10px;color:var(--dim);margin-left:8px}.hook-detail{display:flex;gap:8px;margin-top:4px;font-size:10px;font-family:var(--font-mono)}.hook-matcher{color:var(--orange);background:var(--orange-bg);padding:0 4px;border-radius:2px;flex-shrink:0}.hook-cmd{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.policy-legend{display:flex;gap:14px;flex-wrap:wrap;padding:8px 10px;margin-bottom:14px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);font-size:10px;color:var(--muted)}.legend-item{display:flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-allow{background:var(--green)}.dot-gate{background:var(--orange)}.dot-deny{background:var(--red)}.policy-grid{display:flex;flex-direction:column;gap:2px}.policy-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius);transition:background .1s}.policy-row:hover{background:var(--bg3)}.policy-info{flex:1;min-width:0}.policy-label{font-size:12px;color:var(--text);font-weight:500;display:block}.policy-desc{font-size:10px;color:var(--dim)}.policy-buttons{display:flex;gap:2px;flex-shrink:0;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:hidden}.policy-btn{width:28px;height:24px;border:none;background:transparent;font-size:11px;color:var(--dim);transition:all .12s;display:flex;align-items:center;justify-content:center}.policy-btn:hover{background:var(--bg3)}.policy-btn.policy-allow.active{background:var(--green-bg);color:var(--green)}.policy-btn.policy-gate.active{background:var(--orange-bg);color:var(--orange)}.policy-btn.policy-deny.active{background:var(--red-bg);color:var(--red)}.policy-stat{font-family:var(--font-mono);color:var(--muted);font-size:9px}.suggestions-section{border:1px solid rgba(88,166,255,.25);border-radius:var(--radius);background:#58a6ff0a;padding:10px;margin-bottom:16px}.suggestions-section .settings-section-title{display:flex;align-items:center;gap:8px;border-bottom-color:#58a6ff33}.btn-apply-all{margin-left:auto;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;border:1px solid #238636;background:var(--green-bg);color:var(--green);transition:all .15s;text-transform:none;letter-spacing:0}.btn-apply-all:hover{background:#238636;color:#fff}.suggestions-list{display:flex;flex-direction:column;gap:4px}.suggestion-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);transition:background .1s}.suggestion-row:hover{background:var(--bg3)}.suggestion-row.suggestion-allow{border-left:3px solid var(--green)}.suggestion-row.suggestion-deny{border-left:3px solid var(--red)}.suggestion-body{flex:1;min-width:0}.suggestion-tool{font-size:12px;font-weight:600;color:var(--text);display:block}.suggestion-reason{font-size:10px;color:var(--dim)}.suggestion-action{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-tag{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.3px}.tag-allow{background:var(--green-bg);color:var(--green);border:1px solid rgba(35,134,54,.4)}.tag-deny{background:var(--red-bg);color:var(--red);border:1px solid rgba(218,54,51,.4)}.btn-apply-one{font-size:10px;font-weight:600;padding:3px 10px;border-radius:var(--radius);border:1px solid var(--blue);background:var(--blue-bg);color:var(--blue);transition:all .15s}.btn-apply-one:hover{background:var(--blue);color:#fff}.suggestion-header{margin-bottom:4px}.suggestion-rules{display:flex;flex-direction:column;gap:3px}.rule-row{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-size:10px;transition:background .1s}.rule-row:hover{background:var(--bg3)}.rule-row.applied{opacity:.5}.rule-icon{flex-shrink:0;font-size:10px}.rule-display{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.rule-reason{color:var(--dim);font-size:9px;white-space:nowrap}.rule-code{font-family:var(--font-mono);font-size:9px;color:var(--muted);background:#0000004d;padding:1px 4px;border-radius:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin-left:auto}.btn-apply-rule{font-size:9px;font-weight:600;padding:2px 6px;border:1px solid var(--blue);border-radius:3px;background:var(--blue-bg);color:var(--blue);white-space:nowrap;flex-shrink:0;transition:all .12s}.btn-apply-rule:hover{background:var(--blue);color:#fff}.rule-applied-badge{font-size:9px;color:var(--green);font-weight:600;white-space:nowrap;flex-shrink:0}.active-rules-list{display:flex;flex-direction:column;gap:3px}.active-rule{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bg2);border:1px solid var(--border);border-radius:4px}.active-rule-badge{font-size:8px;font-weight:700;padding:1px 5px;border-radius:2px;letter-spacing:.5px;flex-shrink:0}.badge-allow{background:var(--green-bg);color:var(--green)}.badge-deny{background:var(--red-bg);color:var(--red)}.active-rule-code{font-family:var(--font-mono);font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-grid{font-size:11px;font-family:var(--font-mono)}.stats-header{display:flex;gap:4px;padding:4px 10px;font-size:9px;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.stats-row{display:flex;gap:4px;padding:4px 10px;transition:background .1s}.stats-row:hover{background:var(--bg3)}.stats-col-tool{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-col{width:60px;text-align:center;color:var(--dim)}.stats-approved{color:var(--green)}.stats-denied{color:var(--red)}.stats-pending{color:var(--orange)}.pipeline-panel{padding:10px;overflow-y:auto;height:100%}.pipeline-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.pipeline-title{font-weight:700;font-size:13px;color:var(--text);flex:1}.btn-refresh-pipelines{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:14px;padding:2px 8px;cursor:pointer;transition:background .12s,color .12s}.btn-refresh-pipelines:hover{background:var(--bg3);color:var(--text)}.btn-start-pipeline{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:11px;cursor:pointer;font-weight:600}.btn-start-pipeline:hover{opacity:.9}.pipeline-empty{color:var(--dim);font-size:12px;text-align:center;padding:32px 16px}.pipeline-group{margin-bottom:16px}.pipeline-group-header{display:flex;align-items:center;gap:6px;padding:4px 0 6px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:12px}.pipeline-group-icon{font-size:14px}.pipeline-group-logo{width:18px;height:18px;border-radius:4px;object-fit:cover}.pipeline-group-label{font-weight:700;color:var(--text)}.pipeline-group-count{color:var(--dim);margin-left:auto;font-size:11px}.pipeline-group-active{color:var(--blue);font-weight:600}.pipeline-card{border:1px solid var(--border);border-radius:6px;margin-bottom:8px;background:var(--bg2);overflow:hidden}.pipeline-card-header{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;font-size:12px}.pipeline-card-header:hover{background:var(--bg3)}.pipeline-expand{color:var(--dim);font-size:10px;width:12px}.pipeline-name{font-weight:600;color:var(--text);flex:1}.pipeline-id{color:var(--dim);font-size:10px;font-family:var(--font-mono)}.pipeline-status-badge{font-size:9px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:3px;letter-spacing:.5px}.status-running{background:#3b82f626;color:#60a5fa;animation:badge-pulse 1.5s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.5}}.status-paused{background:#fbbf2426;color:#fbbf24}.status-done{background:#22c55e26;color:#22c55e}.status-failed{background:#ef444426;color:#ef4444}.status-cancelled{background:#9ca3af26;color:#9ca3af}.btn-cancel-pipeline{background:none;border:none;color:var(--dim);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:3px}.btn-cancel-pipeline:hover{background:#ef444426;color:#ef4444}.btn-restart-pipeline{background:none;border:none;color:var(--dim);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:3px}.btn-restart-pipeline:hover{background:#3b82f626;color:#60a5fa}.btn-delete-pipeline{background:none;border:none;color:var(--dim);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:3px;opacity:.6}.btn-delete-pipeline:hover{background:#ef444426;color:#ef4444;opacity:1}.pipeline-stages{padding:8px 10px 12px}.pipeline-params{background:var(--bg);border-radius:4px;padding:6px 8px;margin-bottom:10px;font-size:11px;font-family:var(--font-mono)}.pipeline-param{display:flex;gap:6px}.param-key{color:var(--dim)}.param-val{color:var(--text);word-break:break-all}.pipeline-clone-status{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--muted)}.clone-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--blue);animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.clone-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-timeline{position:relative}.stage-row{display:flex;gap:10px;min-height:36px}.stage-connector{display:flex;flex-direction:column;align-items:center;width:20px}.stage-icon{font-size:14px;line-height:20px}.stage-running .stage-icon{animation:stage-pulse 1.5s ease-in-out infinite}@keyframes stage-pulse{0%,to{opacity:1}50%{opacity:.3}}.stage-line{flex:1;width:1px;background:var(--border);margin:2px 0}.stage-content{flex:1;padding-bottom:8px}.stage-name-row{display:flex;align-items:center;gap:6px;font-size:12px}.stage-name{font-weight:600;color:var(--text)}.stage-badge{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--bg3);color:var(--dim)}.badge-gated{background:#fbbf2426;color:#fbbf24}.stage-duration{color:var(--dim);font-size:10px;margin-left:auto;font-family:var(--font-mono)}.stage-sessions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.stage-session-link{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:2px 8px;font-size:10px;cursor:pointer;color:var(--accent);font-family:var(--font-mono)}.stage-session-link:hover{background:var(--bg)}.stage-session-link.ended{color:var(--dim)}.stage-gate-actions{display:flex;gap:6px;margin-top:6px}.btn-stage-approve{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3);border-radius:4px;padding:4px 12px;font-size:11px;cursor:pointer;font-weight:600}.btn-stage-approve:hover{background:#22c55e40}.btn-stage-deny{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:4px;padding:4px 12px;font-size:11px;cursor:pointer;font-weight:600}.btn-stage-deny:hover{background:#ef444440}.stage-error{color:#ef4444;font-size:11px;margin-top:4px}.pipeline-start-dialog{max-width:480px}.template-description{color:var(--dim);font-size:12px;margin:8px 0 12px;line-height:1.5}.template-stages-preview{margin-bottom:12px}.template-stages-preview label{display:block;font-size:11px;font-weight:600;color:var(--dim);margin-bottom:4px}.stage-preview-list{display:flex;flex-wrap:wrap;gap:4px}.stage-preview-chip{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-size:11px;color:var(--text);display:flex;gap:4px;align-items:center}.chip-gated{font-size:9px;color:#fbbf24}.param-input-row{margin-bottom:8px}.param-label{display:block;font-size:11px;font-weight:600;color:var(--dim);margin-bottom:2px;text-transform:capitalize}.param-optional{font-weight:400;color:var(--muted);text-transform:none}.gate-rules-editor{padding:0}.gate-rules-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.gate-rules-title{font-weight:700;font-size:12px;color:var(--text)}.btn-add-rule{background:none;border:1px solid var(--border);border-radius:4px;padding:2px 10px;font-size:10px;cursor:pointer;color:var(--dim)}.btn-add-rule:hover{background:var(--bg3);color:var(--text)}.gate-rules-desc{color:var(--dim);font-size:11px;margin-bottom:8px}.gate-rules-empty{color:var(--dim);font-size:11px;padding:12px 0}.gate-rule-form{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:10px}.form-row{margin-bottom:8px}.form-row-grid{display:grid;grid-template-columns:1fr 1fr 80px;gap:8px}.form-row label{display:block;font-size:10px;font-weight:600;color:var(--dim);margin-bottom:2px}.form-input{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:12px;color:var(--text);box-sizing:border-box;font-family:var(--font-mono)}.form-input:focus{border-color:var(--accent);outline:none}.form-select{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:12px;color:var(--text);box-sizing:border-box}.form-select:focus{border-color:var(--accent);outline:none}.gate-rules-list{display:flex;flex-direction:column;gap:3px}.gate-rule-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;font-size:11px;background:var(--bg)}.gate-rule-row:hover{background:var(--bg3)}.rule-action{font-weight:700;font-size:10px;width:60px;flex-shrink:0}.rule-name{color:var(--text);font-weight:600;white-space:nowrap}.rule-detail{display:flex;gap:4px;flex:1;flex-wrap:wrap}.rule-chip{background:var(--bg2);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:9px;color:var(--dim);font-family:var(--font-mono)}.rule-priority{color:var(--accent)}.btn-delete-rule{background:none;border:none;color:var(--dim);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px;opacity:.5}.btn-delete-rule:hover{opacity:1;color:#ef4444}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.dialog-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;width:90%;max-width:420px;max-height:90vh;overflow-y:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.dialog-header h3{margin:0;font-size:14px;color:var(--text)}.dialog-close{background:none;border:none;color:var(--dim);cursor:pointer;font-size:16px;padding:2px 6px}.dialog-body{padding:14px 16px}.form-group{margin-bottom:14px}.form-group>label{display:block;font-size:11px;font-weight:600;color:var(--dim);margin-bottom:4px}.dialog-error{color:#ef4444;font-size:12px;margin-top:8px;padding:6px;background:#ef44441a;border-radius:4px}.dialog-footer{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px 14px;border-top:1px solid var(--border)}.btn-secondary{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:6px 14px;font-size:12px;cursor:pointer;color:var(--text)}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:6px 14px;font-size:12px;cursor:pointer;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.tab-pipeline-badge{font-size:9px;padding:1px 5px;border-radius:3px;background:#8b5cf626;color:#a78bfa;margin-left:4px;font-weight:600;letter-spacing:.3px}.mobile-panel-toggle{display:none}@media (max-width: 768px){.header{padding:0 8px;gap:6px;height:40px}.logo{font-size:12px;gap:4px}.logo svg{width:14px;height:14px}.hdr-sep{display:none}.agent-status{font-size:10px;padding:2px 6px}.user-name{display:none}.btn-settings,.btn-invite,.btn-logout{font-size:12px;padding:2px}.header .spacer{flex:1}.hdr-badge{font-size:9px;padding:1px 4px}.mobile-panel-toggle{display:flex;height:36px;flex-shrink:0;background:var(--bg2);border-bottom:1px solid var(--border)}.mobile-toggle-btn{flex:1;background:none;border:none;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:color .12s,background .12s;display:flex;align-items:center;justify-content:center;gap:6px}.mobile-toggle-btn.active{color:var(--blue);background:var(--bg3);border-bottom:2px solid var(--blue)}.mobile-badge{background:var(--orange);color:#000;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center}.main{flex-direction:column}.splitter{display:none}.terminal-pane,.dashboard-pane{width:100%!important;flex:1}.terminal-pane.mobile-hidden,.dashboard-pane.mobile-hidden{display:none}.session-tab-bar{height:34px}.sess-tab{padding:0 10px;font-size:11px;min-width:0}.sess-tab .tab-close{padding:0 3px}.btn-new-session{padding:0 8px;font-size:14px}.dash-tab-bar{height:34px}.dash-tab{padding:0 10px;font-size:10px}.pipeline-panel{padding:8px}.pipeline-card-header{padding:6px 8px;font-size:11px}.pipeline-name{font-size:12px}.pipeline-id{font-size:9px}.btn-start-pipeline{font-size:11px;padding:4px 10px}.stage-row,.stage-name{font-size:11px}.ev-row{padding:4px 8px;font-size:11px}.dialog-card{width:94vw!important;max-width:94vw!important;max-height:85vh}.pipeline-start-dialog{max-width:94vw!important}.dialog-header,.dialog-body{padding:10px 12px}.dialog-footer{padding:8px 12px}.profile-panel{position:fixed!important;top:40px!important;left:8px!important;right:8px!important;width:auto!important;max-width:none!important;max-height:calc(100vh - 56px);overflow-y:auto;border-radius:10px;z-index:200}.profile-header{padding:12px 14px}.profile-section{padding:10px 14px}.profile-token{font-size:10px}.profile-token-btn{width:32px;height:32px;font-size:14px}.profile-user-row{padding:8px 10px;font-size:12px}.profile-user-remove{opacity:1;font-size:14px;padding:2px 6px}.profile-user-list{max-height:40vh}.profile-logout-btn{padding:10px;font-size:13px}.settings-dialog{max-width:94vw!important}.stage-gate-actions{flex-wrap:wrap;gap:4px}.btn-stage-approve,.btn-stage-deny{font-size:11px;padding:4px 10px}.invite-card{width:90vw!important;max-width:90vw;padding:20px}.file-tree{width:100%!important;max-height:30vh;border-right:none;border-bottom:1px solid var(--border)}.files-body{flex-direction:column}.tab-overflow-btn{padding:0 14px;font-size:18px;min-width:40px}.tab-ctx-menu{left:8px!important;right:8px;top:auto!important;bottom:auto;position:fixed;top:110px!important;width:calc(100vw - 16px);min-width:unset;border-radius:8px}.tab-ctx-menu button{padding:12px 16px;font-size:13px}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
