.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:-moz-fit-content;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{--mono:"DejaVu Sans Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, sans-serif;--radius:6px;--topbar:44px;--tabbar:36px;--footer:28px;--accent:#14b8a6;--accent-strong:#0d9488;--accent-contrast:#fff;--danger:#e5484d;--warn:#f5a524;--ok:#30a46c}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--bg-elev:#161920;--bg-elev-2:#1d2129;--bg-hover:#232833;--bg-active:#1b3a38;--border:#2a2f3a;--text:#e6e8ee;--text-muted:#8b93a3;--shadow:0 10px 30px #00000073}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--bg-elev:#fff;--bg-elev-2:#f0f2f5;--bg-hover:#e8ebf0;--bg-active:#d6f3ef;--border:#dde1e7;--text:#1b1f27;--text-muted:#5f6878;--accent-strong:#0f766e;--shadow:0 10px 30px #141e3226}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 var(--sans);overflow:hidden}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing iframe,body.resizing .tab-content{pointer-events:none}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;padding:6px 8px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:-1px;border-color:var(--accent)}input:disabled,select:disabled,textarea:disabled{opacity:.6}textarea{resize:vertical}.mono{font-family:var(--mono)}.muted{color:var(--text-muted)}.pad{padding:12px}.spacer{flex:1}.hidden{display:none!important}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}kbd{font-family:var(--mono);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev-2);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-contrast)}.btn.primary:hover:not(:disabled){background:var(--accent)}.btn.danger{color:var(--danger)}.btn.active{border-color:var(--accent)}.btn.block{justify-content:center;width:100%;padding:9px}.btn.small{padding:3px 8px;font-size:12px}.icon-btn{border-radius:var(--radius);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.icon-btn:disabled,.icon-btn.disabled{opacity:.4;cursor:default;pointer-events:none}.icon-btn.active{color:var(--accent)}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.link:hover{text-decoration:underline}.badge{background:var(--bg-hover);border-radius:10px;margin-left:6px;padding:0 6px;font-size:11px;display:inline-block}.badge.admin{background:var(--bg-active);color:var(--accent)}.boot{place-items:center;height:100%;display:grid}.login{background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 50%), var(--bg);place-items:center;height:100%;padding:16px;display:grid}.login-card{background:var(--bg-elev);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:12px;padding:28px;display:flex}.brand{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.brand.big{font-size:20px}.logo{font-family:var(--mono);background:var(--accent-strong);color:#fff;border-radius:6px;padding:1px 6px;font-size:13px;font-weight:700}.logo.big{border-radius:12px;padding:6px 14px;font-size:28px}.form-error{color:var(--danger);font-size:12px}.app{flex-direction:column;height:100%;display:flex}.topbar{height:var(--topbar);background:var(--bg-elev);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;padding:0 10px;display:flex}.user-chip{background:var(--bg-elev-2);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:14px;max-width:160px;padding:3px 10px;overflow:hidden}.body{flex:1;min-height:0;display:flex}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;flex:none;min-width:0;display:flex;position:relative}.sidebar-resizer{cursor:col-resize;z-index:5;width:6px;height:100%;position:absolute;top:0;right:-3px}.tree{flex-direction:column;height:100%;min-height:0;display:flex}.tree-toolbar{border-bottom:1px solid var(--border);gap:4px;padding:8px;display:flex}.search{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-muted);flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.search input{background:0 0;border:0;outline:none;padding:5px 0}.tree-scroll{flex:1;padding:4px 0 20px;overflow:auto}.tree-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-top:2px solid #0000;border-bottom:2px solid #0000;outline:none;align-items:center;gap:6px;min-height:28px;padding:3px 8px;display:flex}.tree-row:hover{background:var(--bg-hover)}.tree-row.selected,.tree-row:focus-visible{background:var(--bg-active)}.tree-row.scope{margin-top:4px;font-weight:600}.tree-row.drop-into{background:var(--bg-active);outline:1px dashed var(--accent);outline-offset:-2px}.tree-row.drop-before{border-top-color:var(--accent)}.tree-chevron{width:14px;color:var(--text-muted);flex:none;transition:transform .12s}.tree-chevron.open{transform:rotate(90deg)}.tree-icon{color:var(--text-muted);flex:none;display:inline-flex}.folder-icon{color:#d4a72c}.proto-ssh2,.proto-sftp{color:var(--accent)}.proto-telnet{color:#a78bfa}.proto-rdp,.proto-vnc{color:#60a5fa}.tree-label{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.tree-label .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-label .addr{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.count{color:var(--text-muted);font-size:11px;font-weight:400}.dot-live{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.tree-empty{color:var(--text-muted);padding:4px 0}.workspace{--split:50%;flex:1;min-width:0;position:relative}.pane-chrome,.tab-content{position:absolute;left:0;right:0}.pane-chrome{flex-direction:column;display:flex;top:0;bottom:0}.tab-content{top:var(--tabbar);background:var(--bg);bottom:0}.pane-0.split{right:calc(100% - var(--split))}.pane-1.split{left:var(--split);border-left:1px solid var(--border)}.pane-chrome.focused .tabbar{box-shadow:inset 0 -2px 0 var(--accent)}.split-resizer{top:0;bottom:0;left:calc(var(--split) - 3px);cursor:col-resize;z-index:3;width:6px;position:absolute}.settings-layer{z-index:4;background:var(--bg);position:absolute;inset:0}.tabbar{height:var(--tabbar);background:var(--bg-elev);border-bottom:1px solid var(--border);scrollbar-width:thin;flex:none;align-items:stretch;display:flex;overflow:auto hidden}.tab{border-right:1px solid var(--border);cursor:pointer;min-width:110px;max-width:220px;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 6px 0 12px;display:flex}.tab:hover{background:var(--bg-hover)}.tab.active{background:var(--bg);color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.tab-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tab-close{cursor:pointer;color:var(--text-muted);opacity:.6;background:0 0;border:0;border-radius:4px;padding:3px;display:inline-flex}.tab-close:hover{background:var(--bg-hover);opacity:1}.tab-empty{align-items:center;padding:0 12px;font-size:12px;display:flex}.welcome{flex:1;place-items:center;padding:16px;display:grid}.welcome-card{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:420px;display:flex}.welcome-card h2{margin:6px 0 0}.shortcuts{flex-direction:column;gap:6px;margin:16px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.session{flex-direction:column;display:flex;position:absolute;inset:0}.session:focus{outline:none}.session-footer{height:var(--footer);background:var(--bg-elev);border-top:1px solid var(--border);flex:none;align-items:center;gap:2px;padding:0 6px 0 10px;font-size:12px;display:flex}.session-footer .icon-btn{width:24px;height:24px}.footer-text{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-left:6px;overflow:hidden}.status-dot{background:var(--warn);border-radius:50%;flex:none;width:8px;height:8px}.status-dot.connected{background:var(--ok)}.status-dot.disconnected{background:var(--danger)}.term-wrap{background:#121212;flex:1;min-height:0;position:relative}.term-host{position:absolute;inset:4px 0 0 6px}.term-host .xterm{height:100%}.term-host .xterm-viewport{scrollbar-width:thin}.term-search{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:3;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;top:8px;right:18px}.term-search input{width:200px;padding:3px 6px}.overlay-reconnect{z-index:2;pointer-events:none;background:#00000073;place-items:center;display:grid;position:absolute;inset:0}.overlay-reconnect>div{pointer-events:auto;background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:10px;max-width:80%;padding:18px 22px;display:flex}.snippet-anchor{position:relative}.snippet-menu{background:var(--bg-elev);border:1px solid var(--border);width:320px;max-height:380px;box-shadow:var(--shadow);z-index:10;border-radius:8px;flex-direction:column;display:flex;position:absolute;bottom:30px;right:0}.snippet-menu>input{width:auto;margin:8px}.snippet-list{flex:1;overflow:auto}.snippet-item{align-items:center;gap:2px;padding:2px 6px 2px 12px;display:flex}.snippet-item:hover{background:var(--bg-hover)}.snippet-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sftp-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-wrap:wrap;align-items:center;gap:2px;padding:5px 8px;display:flex}.path-bar{flex:0 340px;min-width:120px;margin:0 6px}.path-bar input{font-family:var(--mono);padding:4px 8px}.crumbs{flex:auto;min-width:0;display:flex;overflow:hidden}.crumbs button{cursor:pointer;color:var(--text-muted);font-family:var(--mono);white-space:nowrap;background:0 0;border:0;padding:2px}.crumbs button:hover{color:var(--accent)}.sftp-files{flex:1;min-height:0;position:relative;overflow:auto}.sftp-files.dropping{outline:2px dashed var(--accent);outline-offset:-6px}.drop-hint{background:var(--accent-strong);color:#fff;pointer-events:none;border-radius:16px;padding:6px 14px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.center-msg{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:16px;display:flex}.file-table,.data-table{border-collapse:collapse;width:100%}.file-table th,.data-table th{background:var(--bg-elev);text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 10px;font-weight:500;position:sticky;top:0}.file-table td,.data-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);white-space:nowrap;padding:4px 10px}.file-table tbody tr{cursor:default;-webkit-user-select:none;user-select:none}.file-table tbody tr:hover,.data-table tbody tr:hover{background:var(--bg-hover)}.file-table tr.selected{background:var(--bg-active)!important}.file-table td.name{text-overflow:ellipsis;width:100%;max-width:0;overflow:hidden}.file-icon{vertical-align:-3px;color:var(--text-muted);margin-right:6px;display:inline-flex}.file-icon.dir{color:#d4a72c}.num{text-align:right!important}.transfers{border-top:1px solid var(--border);background:var(--bg-elev);flex-direction:column;flex:none;max-height:180px;display:flex}.transfers-head{align-items:center;gap:10px;padding:4px 10px;display:flex}.transfers-list{overflow:auto}.transfer{grid-template-columns:18px minmax(0,1fr) 120px 170px 24px;align-items:center;gap:8px;padding:2px 10px;font-size:12px;display:grid}.t-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.t-progress{background:var(--bg-hover);border-radius:3px;height:5px;overflow:hidden}.t-progress span{background:var(--accent);height:100%;display:block}.transfer.error .t-status{color:var(--danger)}.transfer.done .t-progress span{background:var(--ok)}.t-status{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rd-host{background:#000;flex:1;min-height:0;position:relative;overflow:hidden}.rd-host.guac>div{margin:0 auto}.modal-backdrop{z-index:100;background:#00000080;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elev);border:1px solid var(--border);max-width:100%;max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;display:flex}.modal-head{border-bottom:1px solid var(--border);align-items:center;padding:12px 14px 10px 18px;display:flex}.modal-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:15px;font-weight:600;overflow:hidden}.modal-body{padding:16px 18px;overflow:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;display:flex}.editor-modal{height:calc(100vh - 64px)}.editor-modal .modal-body{flex:1;padding:0;overflow:hidden}.editor-host{height:100%}.confirm-text{white-space:pre-wrap}.ctx-menu{z-index:200;background:var(--bg-elev);border:1px solid var(--border);min-width:190px;box-shadow:var(--shadow);border-radius:8px;padding:4px;position:fixed}.ctx-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.ctx-item:hover:not(:disabled){background:var(--bg-hover)}.ctx-item:disabled{opacity:.4;cursor:default}.ctx-item.danger{color:var(--danger)}.ctx-icon{width:16px;color:var(--text-muted);display:inline-flex}.ctx-sep{background:var(--border);height:1px;margin:4px 2px}.toasts{pointer-events:none;z-index:300;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--bg-elev);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow);border-radius:8px;padding:10px 14px}.toast.error{border-left-color:var(--danger)}.toast.success{border-left-color:var(--ok)}.form-grid{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.form-grid.narrow{max-width:560px}.form-grid h2{margin:14px 0 0;font-size:14px}.field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.field>span{color:var(--text-muted);font-size:12px;font-weight:500}.hint{color:var(--text-muted);font-size:11px}.row{align-items:flex-start;gap:10px;display:flex}.row>.field:has(input[type=number]){flex:none}.toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.toggle input{width:15px;height:15px;accent-color:var(--accent);margin:0}.checklist{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;max-height:200px;padding:8px;display:flex;overflow:auto}.tabs-inline{border-bottom:1px solid var(--border);gap:2px;margin:-6px 0 14px;display:flex}.tabs-inline button{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 12px}.tabs-inline button.active{color:var(--text);border-bottom-color:var(--accent)}.segmented{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-self:flex-start;display:inline-flex;overflow:hidden}.segmented button{background:var(--bg);cursor:pointer;color:var(--text-muted);border:0;align-items:center;gap:5px;padding:6px 12px;display:inline-flex}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--bg-active);color:var(--text)}.segmented.small button{padding:4px 10px;font-size:12px}.file-btn{cursor:pointer;align-self:flex-start}.settings{height:100%;display:flex}.settings-nav{border-right:1px solid var(--border);background:var(--bg-elev);flex-direction:column;flex:none;gap:2px;width:210px;padding:12px 8px;display:flex;overflow:auto}.settings-nav .back{padding:4px 10px 10px}.settings-nav .nav-group{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:10px 10px 4px;font-size:11px}.settings-nav>button:not(.link){text-align:left;border-radius:var(--radius);cursor:pointer;background:0 0;border:0;padding:7px 10px}.settings-nav>button.active{background:var(--bg-active)}.settings-nav>button:not(.link):hover{background:var(--bg-hover)}.settings-body{flex:1;min-width:0;overflow:auto}.pane{max-width:1100px;padding:22px 28px 60px}.pane h1{margin:0 0 12px;font-size:20px}.pane h2{margin:22px 0 8px;font-size:14px}.pane-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.pane-head h1{flex:1;margin:0}.data-table td.actions{text-align:right;width:1%}.data-table tr.muted td{color:var(--text-muted)}.term-preview{white-space:pre;border-radius:var(--radius);border:1px solid var(--border);padding:12px 14px;line-height:1.35;overflow:auto}.split-pane{gap:16px;min-height:380px;display:flex}.split-pane .list{border:1px solid var(--border);border-radius:var(--radius);flex:none;width:260px;max-height:520px;padding:4px;overflow:auto}.split-pane .detail{flex:1;min-width:0}.list-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;width:100%;padding:5px 10px;display:flex}.list-item:hover{background:var(--bg-hover)}.list-item.active{background:var(--bg-active)}.row-actions{gap:8px;display:flex}@media (max-width:720px){.sidebar{top:var(--topbar);z-index:20;box-shadow:var(--shadow);position:absolute;bottom:0;left:0;width:min(85vw,320px)!important}.user-chip{display:none}.settings{flex-direction:column}.settings-nav{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;width:auto}.settings-nav .nav-group{display:none}.pane{padding:16px}.row{flex-wrap:wrap}.split-pane{flex-direction:column}.split-pane .list{width:auto}.crumbs{display:none}.transfer{grid-template-columns:18px minmax(0,1fr) 60px 24px}.transfer .t-status{display:none}}.session-topbar{background:var(--bg-elev);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:16px;height:28px;padding:0 10px;font-size:12px;display:flex}.toggle.small input{width:13px;height:13px}.small-text{font-size:11px}.public-cards{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.public-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;flex-direction:column;flex:240px;gap:8px;max-width:340px;padding:12px 14px;display:flex}.public-card.mine{border-color:var(--accent)}.public-card-head{align-items:center;gap:6px;display:flex}.tree-dropzone{border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:6px;margin:4px 8px 6px 22px;padding:6px 10px;font-size:12px;display:flex}.tree-dropzone.active{border-color:var(--accent);color:var(--text);background:var(--bg-active)}.move-list{max-height:60vh;margin:-6px -8px;overflow:auto}.move-list .list-item.scope{margin-top:4px;font-weight:600}.term-row{flex:1;min-height:0;display:flex}.term-row .term-wrap{flex:1;min-width:0}.scripts-strip{border:0;border-left:1px solid var(--border);background:var(--bg-elev);width:26px;color:var(--text-muted);cursor:pointer;flex-direction:column;flex:none;align-items:center;gap:8px;padding:8px 0;display:flex}.scripts-strip:hover{color:var(--text);background:var(--bg-hover)}.scripts-strip-label{writing-mode:vertical-rl;letter-spacing:.04em;font-size:12px}.scripts-panel{border-left:1px solid var(--border);background:var(--bg-elev);flex-direction:column;flex:none;width:230px;min-height:0;display:flex}.scripts-head{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:4px 4px 4px 10px;display:flex}.scripts-filter{width:auto;margin:6px 8px 2px;padding:4px 8px}.scripts-list{flex:1;padding:4px;overflow:auto}.script-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;outline:none;align-items:center;gap:6px;padding:5px 8px;display:flex}.script-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.script-item:hover{background:var(--bg-hover)}.script-item.selected,.script-item:focus-visible{background:var(--bg-active)}.script-item.disabled{opacity:.55;cursor:default}.script-item.running{opacity:1;color:var(--accent)}.accent{color:var(--accent)}.script-status{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:4px;padding:6px 10px;font-size:12px;display:flex}.script-status span{flex:1}.script-status.error{color:var(--danger)}@media (max-width:720px){.scripts-panel{z-index:4;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;right:0}.term-row{position:relative}}.device-icons{flex:none;align-items:center;gap:3px;display:inline-flex}.device-icon-img{object-fit:contain;border-radius:4px;flex:none}.device-icon-ph{border:1px dashed color-mix(in srgb, var(--text-muted) 55%, transparent);color:var(--text-muted);opacity:.75;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.device-icon-ph.brand{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.icon-slots{gap:10px;display:flex}.icon-slot-btn{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:84px;padding:8px 14px;font-size:12px;display:flex}.icon-slot-btn:hover{border-color:var(--accent)}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:50vh;display:grid;overflow:auto}.icon-tile{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 6px 8px;font-size:12px;display:flex;position:relative}.icon-tile img{object-fit:contain}.icon-tile span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.icon-tile:hover{border-color:var(--text-muted)}.icon-tile.selected{border-color:var(--accent);background:var(--bg-active)}.icon-tile.upload{color:var(--accent);border-style:dashed;justify-content:center}.icon-tile-del{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:none;position:absolute;top:3px;right:3px}.icon-tile:hover .icon-tile-del{display:inline-flex}.crop-layout{flex-wrap:wrap;gap:18px;display:flex}.crop-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(#8883 0 25%, transparent 0 50%) 0 0 / 16px 16px, var(--bg);border:1px solid var(--border);border-radius:10px;position:relative;overflow:hidden}.crop-stage:active{cursor:grabbing}.crop-stage img{pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-guide{pointer-events:none;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 70%, transparent);background:linear-gradient(90deg,#0000 calc(33.33% - .5px),#fff3 calc(33.33% - .5px) calc(33.33% + .5px),#0000 0 calc(66.66% - .5px),#fff3 calc(66.66% - .5px) calc(66.66% + .5px),#0000 0),linear-gradient(#0000 calc(33.33% - .5px),#fff3 calc(33.33% - .5px) calc(33.33% + .5px),#0000 0 calc(66.66% - .5px),#fff3 calc(66.66% - .5px) calc(66.66% + .5px),#0000 0);border-radius:10px;position:absolute;inset:0}.crop-controls{align-items:center;gap:6px;margin:8px 0 2px;display:flex}.crop-controls input[type=range]{accent-color:var(--accent);border:0;flex:1;padding:0}.crop-side{flex-direction:column;flex:1;gap:14px;min-width:180px;display:flex}.crop-previews{border:1px solid var(--border);background:var(--bg-elev-2);border-radius:8px;align-items:flex-end;gap:14px;padding:12px;display:flex}.crop-preview{background:repeating-conic-gradient(#8883 0 25%, transparent 0 50%) 0 0 / 8px 8px;border-radius:4px;flex:none;overflow:hidden}.docs p{max-width:900px}.docs code,.key-reveal code{font-family:var(--mono);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:12px}.code-block{max-width:900px;margin:6px 0 14px;position:relative}.code-block pre{background:var(--bg-elev-2);border:1px solid var(--border);font:12px/1.5 var(--mono);border-radius:8px;margin:0;padding:10px 40px 10px 12px;overflow-x:auto}.code-copy{position:absolute;top:4px;right:4px}.docs-table{max-width:900px;margin-bottom:8px}.docs-table td{white-space:normal;vertical-align:top}.docs-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px}.endpoint{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;max-width:900px;margin-bottom:12px;padding:10px 14px 4px}.endpoint-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.endpoint-path{font:600 13px var(--mono);background:0 0!important;border:0!important}.method{font:700 11px var(--mono);color:#fff;border-radius:4px;padding:2px 7px}.method.get{background:#2f81f7}.method.post{background:#238636}.method.patch{background:#9a6700}.method.delete{background:#cf222e}.key-reveal{border:1px dashed var(--accent);background:var(--bg-active);border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.key-reveal code{overflow-wrap:anywhere;background:0 0;border:0;flex:1}.ros{background:var(--bg)}.ros-head{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 14px;display:flex}.ros-title{flex-direction:column;line-height:1.25;display:flex}.ros-title strong{font-size:15px}.ros-stats{color:var(--text-muted);gap:14px;font-size:12px;display:flex}.ros-stats>span{align-items:center;gap:5px;display:inline-flex}.meter{background:var(--bg-hover);border-radius:3px;width:60px;height:6px;display:inline-block;overflow:hidden}.meter span{background:var(--accent);height:100%;display:block}.ros-nav{border-bottom:1px solid var(--border);background:var(--bg-elev);gap:2px;padding:0 10px;display:flex;overflow-x:auto}.ros-nav button{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:9px 12px;display:inline-flex}.ros-nav button.active{color:var(--text);border-bottom-color:var(--accent)}.ros-error{color:var(--danger);align-items:center;gap:6px;padding:6px 14px;font-size:12px;display:flex}.ros-body{flex:1;min-height:0;padding:10px 14px 30px;overflow:auto}.ros-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ros-filter{width:220px;padding:5px 8px}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;color:var(--text-muted);border-radius:12px;padding:2px 10px;font-size:12px}.chip.active{border-color:var(--accent);color:var(--text);background:var(--bg-active)}.ros-table td{vertical-align:middle}.addr-cell{max-width:280px;white-space:normal!important}.addr-cell code,.ros-table code{font:11px var(--mono);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;margin:1px 3px 1px 0;padding:0 4px;display:inline-block}.comment-edit{color:var(--text);text-overflow:ellipsis;max-width:220px;overflow:hidden}.badge.vlan{background:var(--bg-active);color:var(--accent);font-family:var(--mono)}.switch{background:var(--bg-hover);cursor:pointer;border:0;border-radius:9px;flex:none;width:32px;height:18px;padding:0;transition:background .15s;position:relative}.switch span{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0006}.switch.on{background:var(--accent-strong)}.switch.on span{left:16px}.switch:disabled{opacity:.45;cursor:not-allowed}.bridge-cards{flex-direction:column;gap:12px;display:flex}.bridge-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;overflow:hidden}.bridge-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.bridge-head strong{font-size:14px}.bridge-section{padding:8px 12px 10px}.bridge-section+.bridge-section{border-top:1px dashed var(--border)}.bridge-section-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.inline-form{text-transform:none;letter-spacing:0;gap:6px;margin-left:auto;font-weight:400;display:flex}.inline-form select,.inline-form input{width:auto;padding:3px 6px}.data-table.compact td,.data-table.compact th{padding:3px 8px}.pad-y{padding:4px 0}.ros-layout{flex:1;min-height:0;display:flex}.ros-side{border-right:1px solid var(--border);background:var(--bg-elev);flex-direction:column;flex:none;width:196px;display:flex;position:relative;overflow-y:auto}.ros-layout.nav-collapsed .ros-side{width:34px}.ros-side-toggle{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;align-self:flex-end;margin:4px;padding:4px;display:inline-flex}.ros-side-toggle:hover{background:var(--bg-hover);color:var(--text)}.ros-menu{flex-direction:column;padding:0 6px 16px;display:flex}.ros-menu-item{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.ros-menu-item:hover{background:var(--bg-hover)}.ros-menu-item.active{background:var(--bg-active);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.ros-menu-item.has-active .ros-menu-label{color:var(--accent)}.ros-menu-icon{color:var(--text-muted);display:inline-flex}.ros-menu-label{flex:1}.ros-submenu{border-left:1px solid var(--border);flex-direction:column;margin:1px 0 4px 15px;padding-left:8px;display:flex}.ros-menu-item.sub{color:var(--text-muted);padding:4px 8px;font-size:12.5px}.ros-menu-item.sub.active{color:var(--text)}.ros-page-title{margin:2px 0 10px;font-size:16px}.ros-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;font-size:13px}.table-scroll{overflow-x:auto}.settings-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;max-width:560px;padding:12px 16px}.settings-card h3{margin:0 0 12px;font-size:14px}.readonly-value{font-family:var(--mono);color:var(--text-muted);padding:6px 0;font-size:12px}.ros-warning{border-radius:var(--radius);background:color-mix(in srgb, var(--warn) 14%, transparent);border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);align-items:flex-start;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.ros-warning svg{color:var(--warn);flex:none;margin-top:2px}.danger-card{border:1px solid color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 6%, var(--bg-elev));border-radius:10px;max-width:560px;padding:14px 16px}.danger-head{color:var(--danger);align-items:center;gap:8px;font-size:15px;display:flex}.fw-action{font-family:var(--mono);font-size:12px}.fw-action.accept,.fw-action.masquerade,.fw-action.src-nat,.fw-action.dst-nat{color:var(--ok)}.fw-action.drop,.fw-action.reject,.fw-action.tarpit{color:var(--danger)}.ros-table .actions{white-space:nowrap}.ros-table .actions .btn.small{margin-right:4px}@media (max-width:720px){.ros-side{z-index:5;box-shadow:var(--shadow);position:absolute;top:0;bottom:0}.ros-layout{position:relative}.ros-layout:not(.nav-collapsed) .ros-body{margin-left:34px}}.junos-ro-banner{color:var(--text-muted);align-items:center;gap:6px;margin:-2px 0 10px;font-size:12px;display:flex}.junos-notice{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--text-muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.badge.ro{align-items:center;gap:4px;display:inline-flex}.badge.alarm{cursor:pointer;background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger);border:0;align-items:center;gap:4px;display:inline-flex}.badge.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.badge.bad{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.text-danger{color:var(--danger)}.ros-page{position:relative}.page-reload{position:absolute;top:0;right:0}.ros-table tr.clickable{cursor:pointer}.muted-strong strong{font-weight:500}.iface-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 16px;display:grid}.iface-grid>div{flex-direction:column;gap:2px;min-width:0;display:flex}.iface-grid>div>span.muted{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.iface-grid strong{overflow-wrap:anywhere}.iface-detail h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:16px 0 8px;font-size:12px}.iface-errors{flex-wrap:wrap;gap:4px;display:flex}.rt-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.rt-cards .settings-card{max-width:none}.rt-cards .data-table{margin-top:10px}.kv{gap:2px;margin:0;display:grid}.kv-row{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);grid-template-columns:minmax(140px,220px) 1fr;gap:12px;padding:3px 0;display:grid}.kv dt{color:var(--text-muted);font-size:12px}.kv dd{overflow-wrap:anywhere;margin:0}.kv.nested{border-left:2px solid var(--border);padding-left:10px}.usage{align-items:center;gap:6px;display:inline-flex}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}.sort-label{align-items:center;gap:4px;display:inline-flex}th.num .sort-label{flex-direction:row-reverse}.sort-icon{opacity:0;transition:opacity .1s;display:inline-flex}th.sortable:hover .sort-icon{opacity:.5}th.sorted{color:var(--text)}th.sorted .sort-icon{opacity:1;color:var(--accent)}.route-lookup{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.route-lookup input{width:300px;max-width:100%}.lookup-summary{align-items:center;gap:6px;margin:6px 0 2px;display:flex}.system-card h3{align-items:center;gap:8px;display:flex}.system-card,.update-card{max-width:820px}.drop-zone{border:2px dashed var(--border);color:var(--text-muted);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px;padding:26px 16px;display:flex}.drop-zone:hover,.drop-zone.over{border-color:var(--accent);color:var(--text);background:var(--bg-active)}.drop-zone.has-file{border-style:solid;border-color:var(--accent);color:var(--text)}.update-phase{border-radius:var(--radius);background:var(--bg-elev-2);align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.update-phase.done{color:var(--ok)}.update-phase.failed{color:var(--danger)}.meter.wide{flex:1;max-width:260px}.update-result{border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:8px;max-width:820px;margin-top:12px;padding:10px 12px;display:flex}.update-result.ok{border-color:color-mix(in srgb, var(--ok) 50%, transparent);color:var(--ok)}.update-result.rolled-back,.update-result.failed{border-color:color-mix(in srgb, var(--danger) 50%, transparent);color:var(--danger)}
