@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap");:root{--bg-primary:#0b0f17;--bg-secondary:#111827;--bg-surface:#172033;--bg-surface-hover:#1e293b;--bg-glass:rgba(17,24,39,.75);--bg-glass-card:rgba(23,32,51,.65);--border-subtle:hsla(0,0%,100%,.08);--border-focus:rgba(99,102,241,.5);--border-glow:rgba(99,102,241,.25);--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-cyan:#06b6d4;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-subtle:0 4px 12px rgba(0,0,0,.25);--shadow-glow:0 0 20px rgba(99,102,241,.2);--shadow-terminal:0 8px 32px rgba(0,0,0,.45);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;overflow:hidden;-webkit-font-smoothing:antialiased}body:before{top:-150px;left:20%;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.12) 0,rgba(6,182,212,.05) 45%,transparent 70%)}body:after,body:before{content:"";position:fixed;pointer-events:none;z-index:0}body:after{bottom:-150px;right:15%;width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,.08) 0,transparent 65%)}.app-container{display:flex;flex-direction:column;width:100vw;height:100vh;height:100dvh;position:relative;overflow:hidden;z-index:1}.top-header{height:52px;min-height:52px;max-height:52px;flex-shrink:0;justify-content:space-between;padding:0 16px;background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:10}.brand-section,.top-header{display:flex;align-items:center}.brand-section{gap:10px}.brand-logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-cyan));border-radius:var(--radius-sm);color:#fff;box-shadow:0 0 12px rgba(99,102,241,.4)}.brand-title{font-size:16px;font-weight:700;letter-spacing:-.3px;background:linear-gradient(90deg,#fff,#cbd5e1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-badge{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-full);background:rgba(99,102,241,.15);color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.header-actions{display:flex;align-items:center;gap:12px}.main-layout{flex:1 1;width:100%;height:calc(100vh - 52px);height:calc(100dvh - 52px);min-width:0;overflow:hidden;position:relative}.main-layout,.sidebar{display:flex;min-height:0}.sidebar{width:320px;min-width:260px;max-width:360px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);flex-direction:column;height:100%;transition:margin-left .2s ease,opacity .2s ease}.sidebar.collapsed{margin-left:-320px;opacity:0;pointer-events:none}.sidebar-header{padding:16px 20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.sidebar-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sidebar-search-box{padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:8px 12px 8px 36px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;outline:none;transition:all .15s ease}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(99,102,241,.2)}.vps-list{flex:1 1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.custom-scroll::-webkit-scrollbar,.vps-list::-webkit-scrollbar{width:6px;height:6px}.custom-scroll::-webkit-scrollbar-thumb,.vps-list::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.12);border-radius:4px}.custom-scroll::-webkit-scrollbar-thumb:hover,.vps-list::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.2)}.vps-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.vps-card:hover{background:var(--bg-surface-hover);border-color:rgba(99,102,241,.35);transform:translateY(-1px);box-shadow:var(--shadow-subtle)}.vps-card.active{border-color:var(--accent-primary);background:rgba(99,102,241,.08);box-shadow:0 0 16px rgba(99,102,241,.15)}.vps-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.vps-card-title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.vps-card-host{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-bottom:10px}.vps-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.vps-tag{font-size:11px;padding:2px 8px;background:hsla(0,0%,100%,.06);border-radius:var(--radius-sm);color:var(--text-secondary)}.vps-card-actions{display:flex}.btn,.vps-card-actions{align-items:center;gap:6px}.btn{display:inline-flex;justify-content:center;padding:6px 12px;font-size:13px;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),#4f46e5);color:#fff;box-shadow:0 2px 8px rgba(99,102,241,.35)}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px rgba(99,102,241,.5)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-subtle)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:hsla(0,0%,100%,.15)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:hsla(0,0%,100%,.06);color:var(--text-primary)}.btn-sm{padding:4px 8px;font-size:12px;border-radius:var(--radius-sm)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-sm)}.btn-connect{background:rgba(16,185,129,.15);color:#34d399;border-color:rgba(16,185,129,.3)}.btn-connect:hover{background:#10b981;color:#fff;box-shadow:0 0 12px rgba(16,185,129,.4)}.btn-sftp{background:rgba(6,182,212,.14);color:#22d3ee;border-color:rgba(6,182,212,.3)}.btn-sftp:hover{background:#06b6d4;color:#082f49;box-shadow:0 0 12px rgba(6,182,212,.4)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-muted)}.empty-state-icon{width:48px;height:48px;margin-bottom:12px;color:var(--text-muted);opacity:.5}.empty-state-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.empty-state-desc{font-size:12px;line-height:1.5;margin-bottom:16px;max-width:240px}.workspace{flex:1 1;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;background:var(--bg-primary);overflow:hidden;position:relative}.tab-bar{height:40px;min-height:40px;max-height:40px;flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);justify-content:space-between;padding:0 12px;gap:8px;box-sizing:border-box;z-index:100}.tab-bar,.tab-bar-left{display:flex;align-items:center;position:relative}.tab-bar-left{flex:1 1}.tab-bar-left,.tab-list-scroll{gap:6px;min-width:0;height:100%}.tab-list-scroll{overflow-x:auto;overflow-y:hidden;max-width:-moz-fit-content;max-width:fit-content}.tab-item,.tab-list-scroll{display:flex;align-items:center}.tab-item{gap:8px;padding:6px 12px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;border:1px solid transparent;transition:all .15s ease;white-space:nowrap}.tab-item:hover{background:hsla(0,0%,100%,.04);color:var(--text-secondary)}.tab-item.active{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-subtle);border-bottom-color:var(--accent-primary)}.tab-status-dot{width:8px;height:8px;border-radius:50%}.tab-status-dot.connected{background:var(--accent-emerald);box-shadow:0 0 8px var(--accent-emerald)}.tab-status-dot.connecting{background:var(--accent-amber);animation:pulse 1.5s infinite}.tab-status-dot.disconnected{background:var(--text-muted)}.tab-status-dot.error{background:var(--accent-rose)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.tab-close{display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;opacity:.5;transition:all .1s ease}.tab-close:hover{opacity:1;background:hsla(0,0%,100%,.1)}.tab-bar-controls{padding-left:8px;border-left:1px solid var(--border-subtle)}.btn-layout-mode,.tab-bar-controls{display:flex;align-items:center;gap:4px}.btn-layout-mode{padding:4px 8px;font-size:11px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);border:1px solid transparent;cursor:pointer;transition:all .12s ease}.btn-layout-mode:hover{color:var(--text-primary);background:hsla(0,0%,100%,.05)}.btn-layout-mode.active{background:var(--bg-surface);color:#a5b4fc;border-color:rgba(99,102,241,.35)}.btn-layout-mode.broadcast-active{background:rgba(245,158,11,.18);color:#fbbf24;border-color:rgba(245,158,11,.45);box-shadow:0 0 10px rgba(245,158,11,.3)}.font-stepper{display:flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px 4px;gap:4px;font-size:11px}.font-btn{padding:1px 5px;cursor:pointer;color:var(--text-secondary);background:transparent;border:none;border-radius:3px;font-size:11px;font-weight:600;transition:all .1s ease}.font-btn:hover{background:hsla(0,0%,100%,.1);color:var(--text-primary)}.theme-select{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:11px;padding:3px 6px;outline:none;cursor:pointer;max-width:175px}.theme-select:focus{border-color:var(--accent-primary)}.theme-select optgroup{font-weight:700;font-size:10px;color:#818cf8;background:#0f1422}.theme-select option{font-weight:500;font-size:12px;color:#e2e8f0;background:#090d14}.tab-new-btn{color:#a5b4fc;border-radius:4px;padding:4px 6px;margin-left:2px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:11px}.tab-new-btn:hover{background:rgba(99,102,241,.15);color:#fff}.new-tab-dropdown{position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-surface);border:1px solid var(--border-focus);border-radius:var(--radius-md);box-shadow:0 12px 35px rgba(0,0,0,.85),0 0 15px rgba(99,102,241,.2);z-index:1000;min-width:230px;padding:6px;display:flex;flex-direction:column;gap:3px}.new-tab-dropdown-header{font-size:10px;text-transform:uppercase;font-weight:700;color:var(--text-muted);padding:6px 10px 4px;letter-spacing:.5px}.new-tab-dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease}.new-tab-dropdown-item:hover{background:rgba(99,102,241,.15)}.pane-search-bar{position:absolute;top:8px;right:12px;background:var(--bg-surface);border:1px solid var(--border-focus);border-radius:var(--radius-sm);padding:4px 8px;display:flex;align-items:center;gap:6px;z-index:15;box-shadow:0 4px 20px rgba(0,0,0,.6)}.search-input-mini{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:12px;width:140px}.pane-broadcast-badge{font-size:9px;text-transform:uppercase;font-weight:700;padding:1px 5px;border-radius:3px;background:rgba(245,158,11,.2);color:#fbbf24;border:1px solid rgba(245,158,11,.4);display:flex;align-items:center;gap:3px;letter-spacing:.4px}.terminal-panes-container{flex:1 1;width:100%;height:100%;min-height:0;min-width:0;position:relative;overflow:hidden;background:#090d14;padding:6px;box-sizing:border-box}.terminal-panes-container.layout-single{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;min-width:0}.terminal-panes-container.layout-horizontal{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;min-width:0;grid-gap:6px;gap:6px}.terminal-panes-container.layout-vertical{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-gap:6px}.terminal-panes-container.layout-grid,.terminal-panes-container.layout-vertical{display:grid;grid-auto-rows:minmax(0,1fr);height:100%;min-height:0;min-width:0;gap:6px}.terminal-panes-container.layout-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:6px}.terminal-panes-container.layout-grid>.terminal-pane-wrapper:last-child:nth-child(odd){grid-column:span 2}.terminal-pane-wrapper{width:100%;height:100%;min-width:0;min-height:0;flex:1 1;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.terminal-pane-wrapper.hidden{display:none!important}.terminal-pane{background:#090d14;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%;height:100%;flex:1 1;min-width:0;min-height:0;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.terminal-pane.active{border-color:var(--accent-primary);box-shadow:0 0 12px rgba(99,102,241,.25)}.pane-header{height:34px;min-height:34px;max-height:34px;flex-shrink:0;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 10px;gap:8px;box-sizing:border-box;overflow-x:auto;overflow-y:hidden}.pane-title-group{gap:6px;font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pane-snippets,.pane-title-group{display:flex;align-items:center;flex-shrink:1}.pane-snippets{gap:4px;overflow-x:auto;scrollbar-width:none}.pane-snippets::-webkit-scrollbar{display:none}.snippet-chip{padding:2px 6px;font-family:var(--font-mono);font-size:10px;background:hsla(0,0%,100%,.05);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .12s ease}.snippet-chip:hover{background:rgba(99,102,241,.15);border-color:rgba(99,102,241,.35);color:#a5b4fc}.pane-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.pane-canvas{flex:1 1;padding:6px 8px;display:flex;flex-direction:column}.pane-canvas,.terminal-inner{width:100%;height:100%;min-height:0;min-width:0;position:relative;overflow:hidden;box-sizing:border-box}.terminal-inner{flex:1 1}.terminal-inner .xterm{height:100%!important;width:100%!important;min-height:0!important;min-width:0!important;padding:0!important;overflow:hidden}.terminal-inner .xterm-viewport{height:100%!important;width:100%!important;overflow-y:auto!important;overflow-x:hidden!important}.terminal-inner .xterm-screen{position:relative}.terminal-connecting-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(11,15,23,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:5;text-align:center;padding:20px}.spinner{width:32px;height:32px;border:3px solid rgba(99,102,241,.2);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-terminal);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:18px 24px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:16px;font-weight:600;color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:12px;background:var(--bg-surface)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.form-input,.form-select,.form-textarea{width:100%;padding:9px 14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;outline:none;font-family:inherit;transition:all .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(99,102,241,.25)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.form-hint{font-size:11px;color:var(--text-muted)}.security-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md);color:#6ee7b7;font-size:12px}.mobile-touch-keybar{display:none;height:38px;min-height:38px;max-height:38px;background:#090e18;border-top:1px solid hsla(0,0%,100%,.08);align-items:center;padding:0 4px;box-sizing:border-box;z-index:10;width:100%}.mobile-touch-keys-scroll{display:flex;align-items:center;gap:4px;overflow-x:auto;width:100%;padding:0 2px}.mobile-touch-key{height:28px;min-width:38px;padding:0 8px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);color:#cbd5e1;font-family:var(--font-mono);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:pointer;flex-shrink:0;transition:all .1s ease}.mobile-touch-key:active{background:var(--accent-primary);color:#fff;transform:scale(.95)}.mobile-touch-key.accent{color:#fb7185;border-color:rgba(244,63,94,.35);background:rgba(244,63,94,.12)}.mobile-tools-trigger-wrapper{display:none;position:relative}.mobile-tools-btn{font-size:11px;padding:4px 8px;gap:4px;color:var(--text-secondary)}.mobile-tools-sheet{position:absolute;top:calc(100% + 6px);right:0;width:280px;max-width:88vw;background:var(--bg-surface);border:1px solid var(--border-focus);border-radius:var(--radius-md);box-shadow:0 15px 40px rgba(0,0,0,.9),0 0 15px rgba(99,102,241,.2);z-index:1500;padding:12px;display:flex;flex-direction:column;gap:12px}.mobile-tools-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding-bottom:8px}.mobile-tools-group{display:flex;flex-direction:column;gap:6px}.mobile-tools-label{font-size:10px;text-transform:uppercase;font-weight:700;color:var(--text-muted);letter-spacing:.5px}.mobile-tools-layout-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.mobile-theme-select{width:100%;max-width:100%}.mobile-tab-sheet-backdrop,.mobile-tabs-counter-btn,.sidebar-backdrop,.sidebar-mobile-close{display:none}@media (max-width:768px){.header-security-badge .badge-text{display:none}.header-security-badge{margin-right:2px;padding:4px}.desktop-only-controls{display:none!important}.mobile-tools-trigger-wrapper{display:flex!important}.mobile-touch-keybar{display:flex}.sidebar-backdrop{display:block;right:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1999}.sidebar,.sidebar-backdrop{position:fixed;top:0;left:0;bottom:0}.sidebar{width:290px;max-width:85vw;height:100vh;z-index:2000;box-shadow:12px 0 40px rgba(0,0,0,.85);transition:transform .25s cubic-bezier(.16,1,.3,1)}.sidebar.collapsed{transform:translateX(-100%);display:flex!important;width:290px!important}.sidebar:not(.collapsed){transform:translateX(0)}.sidebar-mobile-close{display:inline-flex}.pane-server-host,.pane-snippets{display:none}.pane-header{padding:0 8px}.pane-title-group{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xterm .xterm-helper-textarea{position:absolute!important;top:0!important;left:0!important;width:1px!important;height:1px!important;opacity:.01!important;z-index:1!important;pointer-events:auto!important;font-size:16px!important}.mobile-tabs-counter-btn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.4);border-radius:var(--radius-sm);color:#a5b4fc;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0;transition:all .15s ease}.mobile-tabs-counter-btn:active{background:rgba(99,102,241,.3);transform:scale(.97)}.tab-counter-badge{background:var(--accent-primary);color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:9px;min-width:16px;text-align:center;line-height:1.2}.tab-list-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px}.tab-item{min-width:130px;max-width:180px;flex-shrink:0;justify-content:space-between}.tab-item .tab-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.tab-item .tab-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;margin-left:6px;flex-shrink:0}.tab-item .tab-close:active{background:rgba(244,63,94,.3);color:#fda4af}.mobile-tab-sheet-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:flex-end;animation:fadeIn .15s ease}.mobile-tab-sheet{width:100%;max-height:80vh;background:#0d1322;border-top:1px solid hsla(0,0%,100%,.15);border-radius:18px 18px 0 0;padding:18px;display:flex;flex-direction:column;box-shadow:0 -12px 48px rgba(0,0,0,.9);animation:slideUp .22s cubic-bezier(.16,1,.3,1);overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-tab-sheet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid hsla(0,0%,100%,.08);margin-bottom:12px}.mobile-tab-sheet-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary)}.mobile-tab-sheet-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.mobile-tab-sheet-card{display:flex;align-items:center;justify-content:space-between;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;transition:all .15s ease}.mobile-tab-sheet-card:active{background:hsla(0,0%,100%,.08)}.mobile-tab-sheet-card.active{background:rgba(99,102,241,.14);border-color:rgba(99,102,241,.45);box-shadow:0 0 16px rgba(99,102,241,.2)}.mobile-tab-sheet-card-left{display:flex;align-items:center;gap:10px;flex:1 1;overflow:hidden}.mobile-tab-sheet-index{font-size:10px;font-weight:700;color:var(--text-muted);font-family:monospace;min-width:18px}.mobile-tab-sheet-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.mobile-tab-sheet-name{font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.mobile-tab-active-badge{background:var(--accent-primary);color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:4px}.mobile-tab-sheet-meta{font-size:11px;color:var(--text-muted);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-tab-sheet-close-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(244,63,94,.12);color:#fb7185;border:1px solid rgba(244,63,94,.25);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;margin-left:10px;transition:all .15s ease}.mobile-tab-sheet-close-btn:active{background:rgba(244,63,94,.35);color:#fff;transform:scale(.95)}.mobile-tab-sheet-footer{padding-top:8px;border-top:1px solid hsla(0,0%,100%,.08)}}@media (max-width:480px){.top-header{height:44px;min-height:44px;padding:0 8px}.brand-title{font-size:15px}.brand-badge,.btn-add-vps .btn-label{display:none}.btn-add-vps{padding:6px}.tab-bar{height:38px;min-height:38px;padding:0 6px}.tab-item{font-size:12px;padding:4px 8px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-header{height:32px;min-height:32px}.btn-pane-clear,.btn-pane-disconnect,.btn-pane-reconnect,.sftp-table .col-mtime,.sftp-toolbar-actions span{display:none}}.sftp-pane{flex-direction:column}.sftp-body,.sftp-pane{display:flex;min-height:0}.sftp-body{flex:1 1;flex-direction:column;position:relative;background:var(--bg-primary)}.sftp-body.drag-over{outline:1px dashed var(--accent-cyan);outline-offset:-6px}.sftp-toolbar{gap:6px;padding:8px 10px;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-wrap:wrap}.sftp-crumbs,.sftp-toolbar{display:flex;align-items:center}.sftp-crumbs{gap:2px;flex:1 1;min-width:80px;overflow-x:auto;font-family:var(--font-mono);font-size:12px}.sftp-crumb{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:2px}.sftp-crumb:hover:not(:disabled){color:var(--text-primary);background:hsla(0,0%,100%,.06)}.sftp-crumb-sep{color:var(--text-muted);margin-right:2px}.sftp-toolbar-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.sftp-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.sftp-banner-error{background:rgba(244,63,94,.12);color:#fda4af;border-bottom-color:rgba(244,63,94,.3)}.sftp-table-wrap{flex:1 1;min-height:0;overflow:auto;position:relative}.sftp-table{width:100%;border-collapse:collapse;font-size:13px}.sftp-table th{position:-webkit-sticky;position:sticky;top:0;text-align:left;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary);padding:8px 12px;border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sftp-table td{padding:8px 12px;border-bottom:1px solid hsla(0,0%,100%,.04);color:var(--text-secondary)}.sftp-table tbody tr{cursor:pointer}.sftp-table tbody tr:hover{background:hsla(0,0%,100%,.04)}.sftp-table tbody tr.selected{background:rgba(99,102,241,.14)}.sftp-name{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary)}.sftp-table .col-mtime,.sftp-table .col-size{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12px}.sftp-table .col-size{width:96px}.sftp-table .col-mtime{width:180px}.sftp-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(11,15,23,.35);pointer-events:none}.sftp-transfers{border-top:1px solid var(--border-subtle);padding:8px 10px;display:flex;flex-direction:column;gap:6px;max-height:140px;overflow:auto;background:var(--bg-secondary)}.sftp-transfer{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.sftp-transfer-name{min-width:80px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.sftp-progress{flex:1 1;height:6px;background:hsla(0,0%,100%,.08);border-radius:99px;overflow:hidden}.sftp-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-primary));border-radius:99px}.sftp-transfer.error .sftp-progress-bar{background:var(--accent-rose)}.sftp-transfer-meta{min-width:64px;text-align:right;font-family:var(--font-mono);font-size:11px}.sftp-drop-hint{inset:12px;border:1px dashed var(--accent-cyan);border-radius:var(--radius-md);color:var(--accent-cyan);background:rgba(6,182,212,.08);pointer-events:none;font-size:13px;font-weight:600}.sftp-drop-hint,.sftp-modal-backdrop{position:absolute;display:flex;align-items:center;justify-content:center}.sftp-modal-backdrop{inset:0;background:rgba(0,0,0,.45);z-index:20}.sftp-modal{width:min(360px,92%);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-terminal)}.sftp-modal-title{font-weight:600;font-size:14px}.sftp-modal-actions{display:flex;justify-content:flex-end;gap:8px}.spin{animation:sftp-spin .9s linear infinite}@keyframes sftp-spin{to{transform:rotate(1turn)}}.xterm{cursor:text;position:relative;-moz-user-select:none;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:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.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{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.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;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}