.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.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:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;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;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}:root{--bg-deep:#08111f;--bg:#0a1526;--bg-elev:#101b2c;--bg-panel:#101b2c;--bg-hover:#16223a;--line:#22324a;--line-soft:#22324a99;--text:#f4f8fc;--muted:#64748b;--faint:#4b5a70;--accent:#146ef5;--accent-electric:#33b8ff;--accent-soft:#146ef524;--accent-glow:#146ef552;--ok:#22c55e;--warn:#f59e0b;--danger:#ef4444;--radius:12px;--radius-sm:8px;--shadow:0 18px 50px #00000073;--font:"Inter", system-ui, sans-serif;--font-head:"Space Grotesk", var(--font);--mono:"JetBrains Mono", ui-monospace, monospace;--nav-w:240px;--ease:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{--bg-deep:#f4f8fc;--bg:#fff;--bg-elev:#fff;--bg-panel:#eef3f9;--bg-hover:#e4ecf7;--line:#d7e1ee;--line-soft:#22324a24;--text:#08111f;--muted:#56657b;--faint:#8393a8;--accent-soft:#146ef517;--accent-glow:#146ef538;--shadow:0 10px 30px #08111f14}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background-color:var(--bg-deep);background-image:linear-gradient(#33b8ff09 1px, transparent 1px), linear-gradient(90deg, #33b8ff09 1px, transparent 1px), radial-gradient(1100px 700px at 8% -15%, #146ef547, transparent 55%), radial-gradient(900px 500px at 100% 0%, #33b8ff1a, transparent 50%), radial-gradient(800px 600px at 50% 120%, #08111fe6, transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;background-size:48px 48px,48px 48px,auto,auto,auto,auto;margin:0}:root[data-theme=light] body{background-image:linear-gradient(#146ef50a 1px, transparent 1px), linear-gradient(90deg, #146ef50a 1px, transparent 1px), radial-gradient(1100px 700px at 8% -15%, #146ef512, transparent 55%), radial-gradient(900px 500px at 100% 0%, #33b8ff0f, transparent 50%), var(--bg);background-size:48px 48px,48px 48px,auto,auto,auto}h1,h2,.nav-brand,.login-brand,.card h3{font-family:var(--font-head);letter-spacing:-.01em}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent)}.mono{font-family:var(--mono);font-size:.84rem}.muted{color:var(--muted)}.err{color:var(--danger);margin:.5rem 0}.okmsg{color:var(--ok);margin:.5rem 0}.btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .95rem;font-weight:600;display:inline-flex}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{border-color:var(--line);color:var(--text);background:0 0}.btn.secondary:hover{background:var(--bg-hover)}.btn.danger{background:var(--danger);color:#fff}.btn.sm{padding:.3rem .65rem;font-size:.85rem;font-weight:500}.btn.block{width:100%}.card{background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem}.card h3{margin:0 0 .75rem;font-size:1rem}.page-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.page-head h1{margin:0 0 .25rem;font-size:1.55rem}.page-head p{color:var(--muted);max-width:52rem;margin:0}.row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.stat{font-size:1.75rem;font-weight:650}.stat-label{color:var(--muted);margin-bottom:.25rem;font-size:.8rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line-soft);padding:.55rem .45rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:500}.empty{color:var(--muted);padding:1rem 0}.field{color:var(--muted);margin-bottom:.3rem;font-size:.8rem;display:block}input,textarea,select{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;padding:.55rem .7rem}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.badge{text-transform:lowercase;background:var(--bg-panel);border:1px solid var(--line);border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge.ok{color:var(--ok);background:#34d3991a;border-color:#34d39959}.badge.warn{color:var(--warn);background:#fbbf241a;border-color:#fbbf2459}.badge.danger{color:var(--danger);background:#f871711a;border-color:#f8717159}.badge.neutral{color:var(--muted)}.toast{z-index:50;border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease);padding:.75rem 1rem;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(8px)}.toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.toast.err{border-color:#f8717173}.app-shell{grid-template-columns:var(--nav-w) 1fr;min-height:100%;transition:grid-template-columns .18s var(--ease);display:grid}.app-shell.nav-collapsed{--nav-w:72px}nav.side{border-right:1px solid var(--line-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;background:#0a1214b8;flex-direction:column;gap:.15rem;height:100vh;min-height:100vh;padding:.85rem .55rem;display:flex;position:sticky;top:0}:root[data-theme=light] nav.side{background:#f4f8fce6}.nav-brand-row{justify-content:space-between;align-items:center;gap:.35rem;min-height:36px;padding:.15rem .2rem .85rem;display:flex}.app-shell.nav-collapsed .nav-brand-row{justify-content:center;padding:.15rem 0 .85rem}.nav-brand{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:.2rem .35rem;font-size:1.05rem;font-weight:650;line-height:1.2;overflow:hidden}.nav-brand em{color:var(--accent);font-style:normal}.nav-collapse-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;place-items:center;display:grid}.nav-collapse-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--line-soft)}.nav-collapse-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell.nav-collapsed .nav-collapse-btn{width:100%;max-width:44px;height:36px}.nav-scroll{flex-direction:column;flex:1;gap:.15rem;min-height:0;display:flex;overflow-y:auto}.nav-section{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;padding:.55rem .55rem .3rem;font-size:.68rem}nav.side a.nav-item{text-align:left;width:100%;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;padding:.55rem .65rem;display:flex}.app-shell.nav-collapsed nav.side a.nav-item{justify-content:center;padding:.6rem}nav.side a.nav-item:hover{background:var(--bg-hover);color:var(--text)}nav.side a.nav-item.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.app-shell.nav-collapsed nav.side a.nav-item.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.nav-ico{width:18px;height:18px;color:inherit;flex-shrink:0}.nav-item.active .nav-ico{filter:drop-shadow(0 0 4px var(--accent-glow))}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-foot{border-top:1px solid var(--line-soft);margin-top:auto;padding-top:.75rem}.who{border-radius:var(--radius-sm);align-items:center;gap:.55rem;padding:.45rem .35rem;display:flex}.who-avatar{letter-spacing:.02em;background:var(--bg-hover);width:32px;height:32px;color:var(--text);border:1px solid var(--line-soft);border-radius:9px;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:650;display:grid}.who-meta{flex:1;min-width:0}.who-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.who-sub{color:var(--muted);text-transform:capitalize;font-size:.7rem}.who-logout{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.who-logout:hover{background:var(--bg-hover);color:var(--text)}.app-shell.nav-collapsed .who{flex-direction:column;gap:.35rem;padding:.35rem 0}.nav-build{padding:.15rem .45rem .25rem;font-size:.65rem}.workspace{min-width:0;padding:1.25rem 1.5rem 2rem}.topbar{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem;display:flex}.topbar-title{color:var(--faint);letter-spacing:.02em;font-weight:500}.version-chip{font-family:var(--mono);background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.2rem .45rem;font-size:.72rem}.login-stage{place-items:center;min-height:100vh;padding:2rem 1.25rem;display:grid;position:relative;overflow:hidden}.login-theme-toggle{z-index:1;position:absolute;top:1.25rem;right:1.25rem}.login-stage:before{content:"";pointer-events:none;background:radial-gradient(600px 400px at 30% 40%,#146ef547,#0000 60%),radial-gradient(500px 360px at 70% 30%,#33b8ff24,#0000 55%);animation:18s ease-in-out infinite alternate drift;position:absolute;inset:-20%}@keyframes drift{0%{transform:translate(-2%,-1%)scale(1.02)}to{transform:translate(2%,1%)scale(1.08)}}.login-panel{width:min(420px,100%);padding:1.75rem 1.5rem 1.5rem;position:relative}.login-brand{letter-spacing:-.02em;align-items:center;gap:.6rem;margin:0 0 .35rem;font-size:clamp(2.2rem,5vw,2.8rem);font-weight:650;display:flex}.login-brand em{color:var(--accent);font-style:normal;font-weight:600}.login-tag{color:var(--muted);margin:0 0 1.25rem}.os-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin-top:.45rem;display:grid}button.os-card{text-align:left;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem .95rem;display:flex}button.os-card:hover{background:var(--bg-hover)}button.os-card.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}button.os-card span{font-size:.78rem}.os-logos{align-items:center;gap:.35rem;margin-bottom:.35rem;display:flex}.os-logos img{object-fit:contain;width:28px;height:28px}.os-versions{margin:.65rem 0 0;font-size:.88rem}.mfa-qr-row{grid-template-columns:auto 1fr;align-items:start;gap:1rem;margin:.75rem 0;display:grid}.mfa-qr{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;padding:.5rem}.help-list{margin:.75rem 0 0;padding-left:1.1rem}.help-list li{margin:.35rem 0}.agent-actions{max-width:420px}.setup-steps{gap:.75rem;display:grid}.setup-step.done{border-color:#34d39959}@media (width<=700px){.mfa-qr-row{grid-template-columns:1fr}}pre.code,pre.session{color:#e8f0f2;border:1px solid var(--line);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-height:420px;font-family:var(--mono);background:#070d0f;margin:.75rem 0 0;padding:1rem;font-size:.78rem;line-height:1.45;overflow:auto}.playback-panel{border-top:1px solid var(--line-soft);margin-top:1rem;padding-top:1rem}.cast-player{flex-direction:column;gap:.65rem;min-height:0;display:flex}#castHost,.cast-host{border:1px solid var(--line);border-radius:var(--radius-sm);background:#070d0f;height:360px;max-height:360px;padding:.35rem;position:relative;overflow:hidden}.cast-host .xterm,.cast-host .xterm-screen,.cast-host .xterm-viewport{height:100%!important;max-height:100%!important}.cast-host .xterm-viewport{overflow-y:auto!important}.cast-controls{background:var(--bg-elev);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.55rem;padding:.35rem 0;display:flex;position:sticky;bottom:0}.cast-controls input[type=range]{min-width:120px;accent-color:var(--accent);flex:1}.xterm-host{border:1px solid var(--line);border-radius:var(--radius-sm);background:#070d0f;height:480px;padding:.35rem;overflow:hidden}.xterm-host-lg{height:calc(100vh - 7.5rem);min-height:360px}.term-toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:.85rem;display:flex}.term-toolbar>div{flex:1;min-width:140px}.term-expanded{z-index:60;box-shadow:var(--shadow);flex-direction:column;margin:0;display:flex;position:fixed;inset:.75rem}.term-expanded .xterm-host{flex:1;height:auto}.path-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.path-bar input{flex:1;min-width:160px;margin:0}.file-row-name{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.file-row-name:hover{color:var(--accent)}.file-row-name.dir{font-weight:600}.table-toolbar{flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.75rem;display:flex}.table-search{flex:1;min-width:160px;margin:0!important}.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-weight:600;display:inline-flex}.th-sort.active{color:var(--accent)}.th-ind{opacity:.7;font-size:.7rem}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.cap-filters{flex-wrap:wrap;gap:.55rem;display:flex}.cap-filters select{width:auto;min-width:9.5rem}.cap-host{margin-top:.15rem;font-size:.78rem}.cap-request{border-left:2px solid var(--accent);padding:.6rem 0 .6rem .85rem}.cap-request h3{margin-top:0}.topbar-right{align-items:center;gap:.65rem;display:flex}.theme-toggle{padding:.4rem;line-height:0}.notif-root{position:relative}.notif-bell{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-panel);width:2rem;height:2rem;color:var(--text);cursor:pointer;place-items:center;padding:0;display:grid;position:relative}.notif-bell:hover{background:var(--bg-hover)}.notif-count{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.62rem;font-weight:600;line-height:1.1rem;position:absolute;top:-.35rem;right:-.35rem}.notif-panel{z-index:90;width:min(360px,90vw);animation:palette-in .14s var(--ease);padding:.75rem;position:absolute;top:calc(100% + .5rem);right:0}.notif-panel-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.notif-panel-head h3{margin:0;font-size:.9rem}.notif-list{flex-direction:column;gap:.35rem;max-height:22rem;display:flex;overflow-y:auto}.notif-item{text-align:left;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-panel);width:100%;color:var(--text);cursor:pointer;padding:.55rem .65rem;display:block}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread{border-color:var(--accent);background:var(--accent-soft)}.notif-item-title{font-size:.85rem;font-weight:600}.notif-item-body{color:var(--muted);margin-top:.2rem;font-size:.8rem}.notif-item-time{margin-top:.3rem;font-size:.68rem}.kbd-hint{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);background:var(--bg-panel);border-radius:4px;padding:.15rem .4rem;font-size:.72rem}:root[data-theme=light] .palette-backdrop{background:#08111f59}.palette-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040a0c9e;justify-content:center;align-items:flex-start;padding:12vh 1rem 2rem;display:flex;position:fixed;inset:0}.palette{width:min(560px,100%);animation:palette-in .16s var(--ease);padding:0;overflow:hidden}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.palette-input{border:0;border-bottom:1px solid var(--line-soft);background:0 0;outline:none;width:100%;padding:1rem 1.1rem;font-size:1rem}.palette-list{max-height:min(420px,55vh);padding:.45rem 0;overflow:auto}.palette-group{text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:.45rem 1.1rem .2rem;font-size:.72rem}.palette-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1.1rem;display:flex}.palette-item:hover,.palette-item.active{background:var(--accent-soft)}.palette-foot{border-top:1px solid var(--line-soft);gap:1rem;padding:.55rem 1.1rem;font-size:.75rem;display:flex}@media (width<=900px){.app-shell,.app-shell.nav-collapsed{--nav-w:100%;grid-template-columns:1fr}nav.side{border-right:0;border-bottom:1px solid var(--line-soft);height:auto;min-height:0;position:static}.app-shell.nav-collapsed nav.side a.nav-item{justify-content:flex-start;padding:.55rem .65rem}.app-shell.nav-collapsed .nav-label{display:inline}.app-shell.nav-collapsed .who{flex-direction:row}.grid[style*=grid-template-columns]{grid-template-columns:1fr!important}}
