:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}#root{width:100%;height:100%}.topbar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(135deg,#0d0d0df2,#0f1624f2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.8rem;position:relative;z-index:50}.brand{display:flex;align-items:center}.brand-icon{display:inline-flex;align-items:center;justify-content:center;color:#93c5fd}.brand-icon svg{width:20px;height:20px;stroke-width:1.8}.control-group{display:flex;align-items:center;gap:6px}.control-group label{font-size:.75rem;color:#7a8a9a;font-weight:400}.control-group select{background:#0c1117cc;color:#e7e7e7;border:1px solid rgba(36,52,71,.8);padding:5px 10px;border-radius:6px;font-size:.75rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}.control-group select:hover{border-color:#2a5a9e99;background:#0f1624e6}.control-group select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}.topbar-stats{display:flex;gap:6px;font-size:.7rem;color:#6b7c93;font-weight:400;flex-shrink:0}.topbar-sessions{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto;overflow-y:visible;padding:2px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.topbar-sessions::-webkit-scrollbar{height:6px}.topbar-sessions::-webkit-scrollbar-track{background:transparent}.topbar-sessions::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.session-chip{position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;border:1px solid rgba(36,52,71,.55);background:#0a0e1699;color:#9fb3c8;flex-shrink:0;cursor:grab}.session-chip:active{cursor:grabbing}.session-chip.active{border-color:#60a5fa80;background:#60a5fa1f;color:#e7e7e7}.session-chip-main{background:transparent;border:none;color:inherit;font-size:.75rem;display:inline-flex;align-items:center;max-width:160px;padding:0;cursor:pointer}.session-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-chip-menu-btn{background:#ffffff0d;border:none;color:#9fb3c8;width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.session-chip-menu-btn:hover{background:#ffffff1a;color:#fff}.session-chip-menu-btn svg{width:14px;height:14px;stroke-width:2}.session-chip-menu{position:fixed;top:0;left:0;min-width:180px;background:#0f1624fa;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px;box-shadow:0 20px 40px #0009;z-index:2000}.session-chip-menu.floating{z-index:5000}.session-chip-menu-item{width:100%;border:none;background:transparent;color:#9fb3c8;padding:8px 10px;text-align:left;border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:.85rem}.session-chip-menu-item:hover{background:#ffffff0f;color:#fff}.session-chip-menu-item.danger{color:#fca5a5}.session-chip-menu-item.danger:hover{background:#ef44442e}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.icon-btn{background:#ffffff08;border:1px solid rgba(36,52,71,.5);color:#9fb3c8;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.icon-btn svg{width:16px;height:16px;stroke-width:1.8}.icon-btn:hover:not(:disabled){background:#ffffff1a;border-color:#60a5fa66;color:#fff;transform:scale(1.05)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn.resume-btn{color:#86efac;border-color:#22c55e4d}.icon-btn.resume-btn:hover{background:#22c55e26;border-color:#22c55e80}.ghost-btn{background:#ffffff08;border:1px solid rgba(36,52,71,.6);color:#9fb3c8;font-size:.75rem;font-weight:400;padding:5px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease}.ghost-btn.icon-only{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.ghost-btn.icon-only svg{width:14px;height:14px;stroke-width:1.8}.ghost-btn:hover:not(:disabled){background:#ffffff14;border-color:#60a5fa66;color:#fff;transform:translateY(-1px)}.ghost-btn:active:not(:disabled){transform:translateY(0)}.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.settings-btn{background:#ffffff08;border:1px solid rgba(36,52,71,.5);color:#9fb3c8;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.settings-btn:hover{background:#ffffff14;color:#fff;transform:rotate(45deg)}.settings-btn.active{background:#60a5fa26;border-color:#60a5fa66;color:#e7e7e7}.resume-btn{background:linear-gradient(135deg,#22c55e26,#22c55e0d);border:1px solid rgba(34,197,94,.3);color:#86efac;padding:8px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease}.resume-btn:hover{background:#22c55e40;border-color:#22c55e80;color:#fff}.pwa-btn{border-color:#2a5a9e80;color:#93c5fd}.pwa-btn:hover:not(:disabled){background:#2a5a9e33}.fullscreen-btn{font-size:1.1rem}.status-dot{width:8px;height:8px;border-radius:50%;transition:all .2s ease}.status-dot.ok{background:#22c55e;box-shadow:0 0 6px #22c55e99}.status-dot.bad{background:#ef4444;box-shadow:0 0 6px #ef444499}.status-dot.warn{background:#eab308;box-shadow:0 0 6px #eab30899;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status{font-size:.8rem;padding:6px 14px;border-radius:999px;font-weight:500;transition:all .2s ease}.status.ok{color:#86efac;border:1px solid rgba(34,197,94,.25);background:linear-gradient(135deg,#22c55e1f,#22c55e0d)}.status.bad{color:#fca5a5;border:1px solid rgba(239,68,68,.25);background:linear-gradient(135deg,#ef44441f,#ef44440d)}.status.warn{color:#fcd34d;border:1px solid rgba(234,179,8,.25);background:linear-gradient(135deg,#eab3081f,#eab3080d)}.user-menu-container,.settings-menu-container{position:relative}.user-menu-btn{background:#ffffff08;border:1px solid rgba(36,52,71,.6);color:#e7e7e7;padding:8px 14px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.user-menu-btn:hover{background:#ffffff14}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#0f1624fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:12px;min-width:200px;padding:8px;z-index:2000;box-shadow:0 20px 40px #0009;animation:slideDown .2s ease}.settings-menu-dropdown{min-width:220px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:12px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:8px;display:flex;align-items:center;gap:8px}.user-menu-username{font-weight:600;color:#e7e7e7}.user-menu-badge{font-size:.7rem;padding:2px 8px;border-radius:999px;background:linear-gradient(135deg,#a855f733,#a855f71a);color:#c4b5fd;border:1px solid rgba(168,85,247,.3)}.user-menu-item{width:100%;padding:10px 12px;background:transparent;border:none;color:#9fb3c8;text-align:left;cursor:pointer;border-radius:8px;transition:all .15s ease;font-size:.9rem;display:flex;align-items:center;gap:8px}.user-menu-item:disabled{opacity:.4;cursor:not-allowed}.user-menu-item:disabled:hover{background:transparent;color:#9fb3c8}.user-menu-item .menu-icon{width:16px;height:16px;stroke-width:1.8}.user-menu-item:hover{background:#ffffff0f;color:#fff}.user-menu-item.logout:hover{background:#ef444426;color:#fca5a5}.worker-tools{display:grid;gap:8px;margin-bottom:12px}.worker-search{background:#0c1117cc;color:#e7e7e7;border:1px solid rgba(36,52,71,.6);padding:10px 12px;border-radius:8px;font-size:.85rem;transition:all .2s ease}.worker-search::placeholder{color:#6b7c93}.worker-search:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1f}.worker-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.worker-group-title{font-size:.72rem;color:#9fb3c8;text-transform:uppercase;letter-spacing:.5px;margin:6px 0 2px;padding-left:4px}.worker-item{background:linear-gradient(135deg,#0c1117cc,#0f162499);border:1px solid rgba(34,197,94,.15);border-left:3px solid #22c55e;border-radius:10px;padding:14px 14px 46px;display:grid;gap:8px;cursor:pointer;position:relative;transition:all .2s ease}.worker-item:hover{border-color:#22c55e66;background:linear-gradient(135deg,#0f1a15e6,#14231ecc);transform:translate(2px)}.worker-item.offline{border-color:#6b262666;border-left:3px solid #ef4444;background:linear-gradient(135deg,#120d0dcc,#19121499)}.worker-item.offline:hover{border-color:#6b262699}.worker-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.worker-name{font-size:.92rem;font-weight:500;color:#e7e7e7}.worker-meta{font-size:.72rem}.worker-status{padding:3px 10px;border-radius:999px;font-weight:500}.worker-status.online{color:#86efac;background:#22c55e1f}.worker-status.offline{color:#fca5a5;background:#ef44441f}.tag-chip{font-size:.68rem;color:#9fb3c8;border:1px solid rgba(36,52,71,.5);padding:3px 10px;border-radius:999px;background:#0f162499;transition:all .15s ease}.tag-chip:hover{border-color:#60a5fa4d;background:#60a5fa14}.tag-chip.empty{opacity:.5}.worker-actions{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:8px}.worker-actions button{background:#ffffff08;border:1px solid transparent;cursor:pointer;padding:6px 8px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.worker-actions button svg{width:14px;height:14px;stroke-width:1.8}.delete-worker-btn{color:#f87171}.delete-worker-btn:hover{background:#ef444426;border-color:#ef44444d}.add-session-btn{color:#4ade80}.add-session-btn:hover{background:#22c55e26;border-color:#22c55e4d}.share-worker-btn{color:#60a5fa}.share-worker-btn:hover{background:#60a5fa26;border-color:#60a5fa4d}.install-worker-btn{color:#fbbf24}.install-worker-btn:hover{background:#fbbf2426;border-color:#fbbf244d}.sidebar{width:300px;background:linear-gradient(180deg,#0a0a0ffa,#080c14fa);border-right:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column;transition:width .3s ease,margin-left .3s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sidebar.collapsed{width:48px}.sidebar-header{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center;min-height:52px}.sidebar-header-actions{display:inline-flex;align-items:center;gap:8px}.sidebar.collapsed .sidebar-header{padding:14px 10px;justify-content:center}.sidebar-header h3{margin:0;font-size:.95rem;font-weight:600;color:#9fb3c8;letter-spacing:.3px}.collapse-btn{background:#ffffff08;border:1px solid rgba(36,52,71,.5);color:#9fb3c8;font-size:1.2rem;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease;line-height:1}.worker-create-btn,.worker-join-btn{background:#ffffff08;border:1px solid rgba(36,52,71,.5);color:#9fb3c8;padding:6px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease;line-height:1;display:inline-flex;align-items:center;justify-content:center}.worker-join-btn svg{width:14px;height:14px;stroke-width:2}.worker-join-btn:hover{background:#ffffff14;border-color:#60a5fa66;color:#fff}.worker-create-btn svg{width:14px;height:14px;stroke-width:2}.worker-create-btn:hover,.collapse-btn:hover{background:#ffffff14;border-color:#60a5fa66;color:#fff}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#ffffff05}.sidebar-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.sidebar-section{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.8px;color:#6b7c93;font-weight:600;padding:4px 0}.sidebar-divider{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);margin:14px 0}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column;gap:10px}.sidebar-footer select{background:#0c1117cc;color:#e7e7e7;border:1px solid rgba(36,52,71,.6);padding:10px;border-radius:8px;cursor:pointer;width:100%;transition:all .2s ease}.sidebar-footer select:hover{border-color:#2a5a9e80}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.terminal-container{flex:1;position:relative;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#0a0a0a}.terminal-container.grid-layout .terminal-wrapper{min-height:0;min-width:0;height:100%;width:100%;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.04);transition:border-color .2s ease}.terminal-container.grid-layout .terminal-wrapper.active-slot{border-color:#2a5a9e80;box-shadow:0 0 20px #2a5a9e1a}.terminal-toolbar{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(135deg,#0c0c10f2,#0f121cf2)}.layout-toggle{display:flex;gap:4px;background:#151515cc;padding:4px;border-radius:8px;border:1px solid rgba(255,255,255,.04)}.layout-icon-btn{background:transparent;border:none;color:#6b7c93;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.layout-icon-btn svg{width:18px;height:18px;stroke-width:1.8}.layout-icon-btn:hover{background:#ffffff0f;color:#e7e7e7}.layout-icon-btn.active{background:linear-gradient(135deg,#243447cc,#2a5a9e66);color:#93c5fd}.terminal-grid-area{flex:1;min-height:0}.terminal-grid-layout{height:100%}.grid-cell{height:100%;width:100%;position:relative}.grid-slot-remove{position:absolute;top:8px;right:8px;z-index:6;width:26px;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0f1624d9;color:#9fb3c8;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.grid-slot-remove svg{width:14px;height:14px;stroke-width:1.8}.grid-slot-remove:hover{background:#ef44442e;border-color:#ef444466;color:#fca5a5}.grid-drop-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#0a0a0ea6;border:2px dashed rgba(96,165,250,.5);border-radius:8px;color:#93c5fd;font-size:.85rem;font-weight:500}.grid-drop-overlay svg{width:20px;height:20px;stroke-width:1.8}.empty-slot-target{border:2px dashed rgba(255,255,255,.08);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#4a4a4a;font-size:.85rem;background:#0a0a0acc;transition:all .2s ease;min-height:0;height:100%;width:100%}.empty-slot-target.droppable{border-color:#60a5fa66;background:#60a5fa0d;color:#60a5fa}.slot-icon{display:inline-flex;align-items:center;justify-content:center;opacity:.5}.slot-icon svg{width:20px;height:20px;stroke-width:1.8}.empty-slot-target.droppable .slot-icon{opacity:1;animation:bounce .6s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.empty-state{position:absolute;inset:60px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;text-align:center}.empty-icon{display:inline-flex;align-items:center;justify-content:center;color:#93c5fd;opacity:.6}.empty-icon svg{width:48px;height:48px;stroke-width:1.4}.empty-state h2{margin:0;font-size:1.3rem;font-weight:600;color:#e7e7e7}.empty-state p{margin:0;font-size:.9rem;color:#6b7c93;max-width:300px}.drop-overlay{position:absolute;inset:60px 0 0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;padding:8px;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100}.drop-zone{display:flex;align-items:center;justify-content:center;border:2px dashed rgba(96,165,250,.4);border-radius:12px;background:#60a5fa0d;color:#93c5fd;font-size:.9rem;font-weight:500;transition:all .2s ease}.drop-zone:hover{border-color:#60a5fab3;background:#60a5fa26}.login-layout{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#050508,#0a0f1a,#0f1628);position:relative;overflow:hidden}.login-decoration{position:absolute;inset:0;pointer-events:none;overflow:hidden}.decoration-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(96,165,250,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.03) 1px,transparent 1px);background-size:60px 60px;animation:gridPulse 8s ease-in-out infinite}@keyframes gridPulse{0%,to{opacity:.5}50%{opacity:1}}.login-container{width:420px;max-width:92%;padding:40px;background:linear-gradient(145deg,#0f1624d9,#0a0f1ae6);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.06);border-radius:20px;box-shadow:0 40px 80px #00000080,0 0 1px #ffffff1a,inset 0 1px #ffffff0d;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:36px}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}.logo-icon{display:inline-flex;align-items:center;justify-content:center;color:#93c5fd}.logo-icon svg{width:32px;height:32px;stroke-width:1.6}.login-logo h1{margin:0;font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#e7e7e7,#9fb3c8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.login-subtitle{margin:0;font-size:.9rem;color:#6b7c93}.login-form{display:flex;flex-direction:column;gap:20px}.login-form .form-group{display:flex;flex-direction:column;gap:8px}.login-form label{font-size:.85rem;font-weight:500;color:#9fb3c8}.login-form input{width:100%;padding:14px 16px;background:#0c111799;border:1px solid rgba(36,52,71,.5);border-radius:10px;color:#e7e7e7;font-size:.95rem;transition:all .2s ease;box-sizing:border-box}.login-form input::placeholder{color:#4b5a6a}.login-form input:focus{outline:none;border-color:#60a5fa;background:#0f1624cc;box-shadow:0 0 0 4px #60a5fa1a}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#ef44441f,#ef44440d);border:1px solid rgba(239,68,68,.25);border-radius:10px;color:#fca5a5;font-size:.85rem}.error-icon{display:inline-flex;align-items:center;justify-content:center;color:#fca5a5}.error-icon svg{width:16px;height:16px;stroke-width:1.8}.login-actions{display:flex;gap:12px;margin-top:8px}.btn-primary,.btn-secondary{flex:1;padding:14px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 20px #2563eb4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-2px);box-shadow:0 8px 30px #2563eb66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#9fb3c8}.btn-secondary:hover:not(:disabled){background:#ffffff14;border-color:#ffffff26;color:#e7e7e7}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.login-footer{margin-top:32px;text-align:center}.login-footer p{margin:0;font-size:.8rem;color:#4b5a6a}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.dialog-modal{width:420px;max-width:92%;background:linear-gradient(145deg,#0f1624fa,#0a0f1afa);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 30px 60px #00000080,0 0 1px #ffffff1a;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-modal.danger{border-color:#ef444433}.dialog-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.dialog-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#e7e7e7}.dialog-modal.danger .dialog-header h3{color:#fca5a5}.dialog-close-btn{background:transparent;border:none;color:#6b7c93;padding:8px;cursor:pointer;border-radius:8px;transition:all .15s ease;line-height:1;display:inline-flex;align-items:center;justify-content:center}.dialog-close-btn svg{width:16px;height:16px;stroke-width:1.8}.dialog-close-btn:hover:not(:disabled){background:#ffffff0f;color:#fff}.dialog-close-btn:disabled{opacity:.4;cursor:not-allowed}.dialog-body{padding:24px}.dialog-message{margin:0;font-size:.95rem;color:#9fb3c8;line-height:1.6}.dialog-actions{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}.dialog-btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.dialog-btn:disabled{opacity:.5;cursor:not-allowed}.dialog-btn.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.dialog-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb)}.dialog-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.1);color:#9fb3c8}.dialog-btn.ghost:hover:not(:disabled){background:#ffffff0f;color:#e7e7e7}.dialog-btn.danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.dialog-btn.danger:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#dc2626)}.share-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.share-modal{width:500px;max-width:90vw;background:linear-gradient(145deg,#0f1624f2,#0a0f1afa);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.share-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;background:#ffffff05}.share-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#e7e7e7;display:flex;align-items:center;gap:8px}.close-btn{background:transparent;border:none;color:#6b7c93;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff1a;color:#fff}.share-body{padding:24px;display:flex;flex-direction:column;gap:24px}.add-user-section{display:flex;flex-direction:column;gap:12px}.section-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7c93;font-weight:600}.add-input-group{display:flex;gap:10px}.share-input{flex:1;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;color:#e7e7e7;font-size:.95rem;transition:all .2s}.share-input:focus{outline:none;border-color:#3b82f6;background:#0006;box-shadow:0 0 0 2px #3b82f633}.add-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;padding:0 20px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #2563eb4d}.add-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #2563eb66}.add-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.shared-list-section{display:flex;flex-direction:column;gap:12px}.share-code-section{display:flex;flex-direction:column;gap:10px}.share-code-box{display:flex;align-items:center;gap:10px;background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}.share-code{flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;color:#dbeafe;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-code-btn{background:#3b82f61f;color:#93c5fd;border:1px solid rgba(59,130,246,.35);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s}.copy-code-btn:hover{background:#3b82f633;color:#bfdbfe}.share-code-hint{font-size:.8rem;color:#6b7c93}.shared-list{background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px;max-height:240px;overflow-y:auto}.empty-list{padding:30px;text-align:center;color:#6b7c93;font-size:.9rem;font-style:italic}.share-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.share-item:last-child{border-bottom:none}.share-item:hover{background:#ffffff05}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#374151,#1f2937);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#e7e7e7;font-size:.9rem;border:1px solid rgba(255,255,255,.1)}.user-details{display:flex;flex-direction:column;gap:2px}.username{font-weight:500;font-size:.95rem;color:#e7e7e7}.remove-btn{background:transparent;color:#9ca3af;border:1px solid transparent;padding:6px 10px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.remove-btn:disabled{opacity:.5;cursor:not-allowed}.remove-btn:hover{color:#fca5a5;background:#dc26261a;border-color:#dc262633}.share-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:flex-end;background:#0003}.close-modal-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e7e7e7;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.close-modal-btn:hover{background:#ffffff1a;border-color:#fff3}.toast-container{position:fixed;bottom:24px;right:24px;z-index:2000;pointer-events:none}.toast{background:#0f1624f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(59,130,246,.2);border-left:4px solid #3b82f6;border-radius:8px;padding:16px 20px;display:flex;align-items:center;gap:12px;color:#e7e7e7;box-shadow:0 10px 30px #00000080;transform:translateY(20px);opacity:0;animation:toastSlideUp .3s cubic-bezier(.16,1,.3,1) forwards;pointer-events:auto;min-width:300px}@keyframes toastSlideUp{to{transform:translateY(0);opacity:1}}.toast.hiding{animation:toastFadeOut .3s ease-in forwards}@keyframes toastFadeOut{to{opacity:0;transform:translateY(10px)}}.toast-icon{color:#60a5fa;display:flex;align-items:center;justify-content:center}.toast-content{flex:1;display:flex;flex-direction:column;gap:4px}.toast-title{font-weight:600;font-size:.95rem;color:#fff}.toast-message{font-size:.85rem;color:#9fb3c8}.toast-close{background:transparent;border:none;color:#6b7c93;cursor:pointer;padding:4px;transition:color .2s}.toast-close:hover{color:#fff}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.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;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.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;background:#0000;transition:opacity .1s linear;z-index:11}.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{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.layout{height:100vh;display:flex;flex-direction:column;background:#050505;color:#e7e7e7;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.topbar{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid #1f1f1f;background:linear-gradient(90deg,#0d0d0d,#0f1624)}.brand{font-weight:700;letter-spacing:.4px}.control-group{display:flex;align-items:center;gap:8px}.control-group select{background:#0c1117;color:#e7e7e7;border:1px solid #243447;padding:6px 8px;border-radius:6px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.settings-btn{background:transparent;border:1px solid #243447;color:#9fb3c8;font-size:1.1rem;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.settings-btn:hover{background:#1a2332;color:#fff}.ghost-btn{background:transparent;border:1px solid #243447;color:#9fb3c8;font-size:1rem;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.ghost-btn:hover:not(:disabled){background:#1a2332;color:#fff}.ghost-btn:disabled{opacity:.45;cursor:not-allowed}.pwa-btn{border-color:#2a5a9e;color:#c1d9ff}.pwa-btn:hover:not(:disabled){background:#1a2844}.fullscreen-btn{font-size:1.05rem}.status{font-size:.85rem;padding:4px 10px;border-radius:999px;border:1px solid #1f1f1f}.status.ok{color:#78e08f;border-color:#193325;background:#0e1a13}.status.bad{color:#ff6b6b;border-color:#361818;background:#1a0e0e}.status.warn{color:#f5d06b;border-color:#4a3b1b;background:#1d1609}.resume-btn{background:transparent;border:1px solid #2a5a9e;color:#c1d9ff;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.resume-btn:hover{background:#1a2844;color:#fff}.content{flex:1;display:flex;min-height:0;overflow:hidden}.sidebar{width:280px;background:#0a0a0f;border-right:1px solid #1f1f1f;display:flex;flex-direction:column;transition:width .3s ease,margin-left .3s ease}.sidebar.collapsed{width:40px}.sidebar-header{padding:12px 16px;border-bottom:1px solid #1f1f1f;display:flex;justify-content:space-between;align-items:center;min-height:48px}.sidebar.collapsed .sidebar-header{padding:12px 8px;justify-content:center}.sidebar-header h3{margin:0;font-size:.95rem;font-weight:600;color:#9fb3c8}.sidebar.collapsed .sidebar-header h3{display:none}.collapse-btn{background:transparent;border:1px solid #243447;color:#9fb3c8;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease;line-height:1;display:inline-flex;align-items:center;justify-content:center}.collapse-btn svg{width:16px;height:16px;stroke-width:1.8}.collapse-btn:hover{background:#1a2332;color:#fff}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px}.session-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:6px;background:#0c1117;border:1px solid #1f1f1f;border-radius:6px;cursor:grab;user-select:none;-webkit-user-select:none;transition:all .15s ease}.session-item:active{cursor:grabbing}.session-item:hover{background:#121820;border-color:#2a3f5f}.session-item.active{background:#1a2844;border-color:#2a5a9e}.session-item.offline{border-color:#3b2626;background:#151013}.session-info{flex:1;min-width:0;display:grid;gap:4px}.session-name{font-size:.9rem;font-weight:500;color:#e7e7e7}.session-id{font-size:.75rem;color:#6b7c93;font-family:Roboto Mono,monospace}.badge-offline{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid #4d2d2d;background:#231013;color:#ff8a8a;font-size:.75rem}.close-session-btn{background:transparent;border:none;color:#6b7c93;font-size:1.1rem;padding:4px;cursor:pointer;transition:color .15s ease;margin-left:8px;line-height:1}.rename-session-btn{background:transparent;border:none;color:#7da5d7;font-size:1rem;padding:4px;cursor:pointer;transition:color .15s ease;margin-left:4px;line-height:1}.rename-session-btn:hover{color:#b7d7ff}.close-session-btn:hover{color:#ff6b6b}.empty-sessions{text-align:center;padding:20px;color:#6b7c93;font-size:.85rem}.sidebar-footer{padding:12px;border-top:1px solid #1f1f1f;display:flex;flex-direction:column;gap:8px}.sidebar-footer label{font-size:.85rem;color:#9fb3c8}.sidebar-footer select{background:#0c1117;color:#e7e7e7;border:1px solid #243447;padding:8px;border-radius:6px;cursor:pointer;width:100%}.sidebar-footer select:hover{border-color:#2a5a9e}.sidebar-section{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:#6b7c93}.sidebar-divider{height:1px;background:#1f1f1f;margin:12px 4px}.worker-tools{display:grid;gap:6px}.worker-search,.worker-grouping{background:#0c1117;color:#e7e7e7;border:1px solid #243447;padding:6px 8px;border-radius:6px;font-size:.85rem}.worker-group{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.worker-group-title{font-size:.75rem;color:#9fb3c8;text-transform:uppercase;letter-spacing:.4px;margin:4px 0 2px}.worker-item{background:#0c1117;border:1px solid #1a3d2a;border-left:3px solid #22c55e;border-radius:6px;padding:12px 12px 42px;display:grid;gap:6px;cursor:pointer;position:relative;transition:all .15s ease}.worker-item:hover{border-color:#22c55e;background:#0f1a15}.worker-item.offline{border-color:#3b2626;border-left:3px solid #6b3030;background:#120d0d}.worker-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.worker-name{font-size:.9rem;font-weight:500;color:#e7e7e7}.worker-meta{font-size:.72rem;color:#6b7c93}.worker-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{font-size:.68rem;color:#9fb3c8;border:1px solid #243447;padding:2px 8px;border-radius:999px;background:#0f1624}.tag-chip.empty{opacity:.6}.worker-actions{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:10px}.worker-actions button{background:transparent;border:none;cursor:pointer;padding:4px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.delete-worker-btn{color:#f56565;font-size:.95rem}.delete-worker-btn:hover{color:#fc8181;transform:scale(1.05)}.add-session-btn{color:#4ade80;font-size:1.1rem;font-weight:700}.add-session-btn:hover{color:#86efac;transform:scale(1.05)}.tag-edit-btn{color:#7da5d7;font-size:.95rem}.tag-edit-btn:hover{color:#b7d7ff}.command-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.command-target{font-size:.8rem;color:#9fb3c8}.command-tabs{display:flex;gap:6px}.command-tabs button{background:#0c1117;color:#9fb3c8;border:1px solid #243447;padding:4px 8px;border-radius:999px;cursor:pointer;font-size:.75rem;transition:all .15s ease}.command-tabs button.active{background:#1a2844;color:#e7e7e7;border-color:#2a5a9e}.command-actions{display:flex;justify-content:flex-end}.mini-btn{background:transparent;border:1px solid #243447;color:#9fb3c8;padding:4px 8px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.mini-btn:hover:not(:disabled){background:#1a2332;color:#fff}.mini-btn:disabled{opacity:.5;cursor:not-allowed}.command-list{display:flex;flex-direction:column;gap:6px}.helper-card{background:linear-gradient(145deg,#0f111a,#0c0f15);border:1px solid #1f2a3c;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.helper-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.helper-code{display:block;background:#0a0d14;border:1px solid #1f2a3c;padding:8px;border-radius:8px;color:#c4d4f2;font-size:.85rem;max-width:460px;word-break:break-all}.helper-label{font-size:.85rem;color:#9fb3c8;margin-bottom:4px}.helper-note{font-size:.85rem;color:#9fb3c8}.install-input{margin-top:4px;width:100%;padding:8px 10px;border-radius:8px;border:1px solid #1f2a3c;background:#0c1018;color:#e7e7e7;margin-bottom:10px}.install-modal .modal-body{gap:12px}.install-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.install-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.install-select{background:#0c1117cc;color:#e7e7e7;border:1px solid rgba(36,52,71,.6);padding:10px 12px;border-radius:8px;font-size:.85rem;transition:all .2s ease}.install-select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1f}.install-tabs{display:flex;flex-wrap:wrap;gap:6px}.install-tab-btn{background:#0c1117;color:#9fb3c8;border:1px solid #243447;padding:6px 10px;border-radius:999px;font-size:.72rem;cursor:pointer;transition:all .15s ease}.install-tab-btn.active{background:#1a2332;border-color:#2a5a9e;color:#e7e7e7}.install-tab-panel{border:1px solid #1f2a3c;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:10px;background:#0a0f1a99}.info-box{background:#60a5fa14;border:1px solid rgba(96,165,250,.2);color:#c4d4f2;padding:10px 12px;border-radius:8px;font-size:.85rem}.info-box strong{color:#e7e7e7}.install-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.install-mode-btn{background:#0c1117;color:#9fb3c8;border:1px solid #243447;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.8rem;transition:all .15s ease}.install-mode-btn.active{background:#1a2332;border-color:#2a5a9e;color:#e7e7e7}.install-section{display:flex;flex-direction:column;gap:8px}.install-section-title{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#c4d4f2}.install-section-title svg{width:14px;height:14px;stroke-width:1.8}.install-status{display:flex;gap:8px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:.7rem;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#9fb3c8}.status-pill.ok{color:#86efac;border-color:#22c55e40;background:#22c55e1f}.status-pill.missing{color:#fca5a5;border-color:#ef444440;background:#ef44441f}.status-pill.unknown,.status-pill.checking{color:#facc15;border-color:#facc1540;background:#facc151f}.status-pill svg{width:12px;height:12px;stroke-width:1.8}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.install-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.install-code{max-width:none;white-space:pre-wrap;line-height:1.4}.helper-card.disabled{opacity:.6}.command-item{display:grid;grid-template-columns:22px 1fr 22px;gap:8px;align-items:center;background:#0c1117;border:1px solid #1f1f1f;padding:6px 8px;border-radius:6px}.command-run,.command-star,.command-remove{background:transparent;border:none;color:#6b7c93;cursor:pointer;font-size:.9rem}.command-run:disabled,.command-star:disabled,.command-remove:disabled{opacity:.4;cursor:not-allowed}.command-run:hover{color:#78e08f}.command-star:hover{color:#f5d06b}.command-remove:hover{color:#ff6b6b}.command-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.75rem;color:#d3dbe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-title{font-size:.78rem;font-weight:600;color:#e7e7e7}.command-subtext{font-size:.7rem;color:#6b7c93;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-container{flex:1;position:relative;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.terminal-container.grid-layout{gap:6px;padding:6px}.terminal-container.grid-layout .terminal-wrapper{min-height:0;min-width:0;height:100%;width:100%;border-radius:4px;overflow:hidden;border:1px solid #1f1f1f}.terminal-container.grid-layout .terminal-wrapper.active-slot{border-color:#2a5a9e}.terminal-toolbar{padding:8px 10px;border-bottom:1px solid #1f1f1f;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#0c0c10;margin-bottom:0}.layout-toggle{display:flex;gap:4px;background:#151515;padding:3px;border-radius:6px;border:1px solid #1f1f1f}.layout-icon-btn{background:transparent;border:none;color:#6b7c93;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .15s ease}.layout-icon-btn svg{width:16px;height:16px;stroke-width:1.8}.layout-icon-btn:hover{background:#1f1f1f;color:#e7e7e7}.layout-icon-btn.active{background:#243447;color:#c1d9ff}.empty-slot-target{border:1px dashed #2d2d2d;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#4a4a4a;font-size:.85rem;background:#0a0a0a;transition:all .2s ease;min-height:0;height:100%;width:100%}.empty-slot-target.drag-over{border-color:#2a5a9e;background:#2a5a9e1a;color:#c1d9ff}.empty-slot-target .sc-icon{font-size:1.5rem;margin-bottom:6px;opacity:.5}.layout-toggle button{background:#0c1117;border:1px solid #243447;color:#9fb3c8;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.layout-toggle button.active{background:#1a2844;color:#e7e7e7;border-color:#2a5a9e}.grid-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.slot-name{font-size:.75rem;color:#6b7c93;margin-left:6px}.grid-slot{border:1px dashed #243447;border-radius:8px;padding:8px;background:#0c1117;min-height:70px;display:flex;flex-direction:column;gap:6px;cursor:pointer}.grid-slot.filled{border-style:solid;border-color:#2a5a9e}.grid-slot.droppable{background:#0f1624}.grid-slot-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#9fb3c8}.grid-slot-body{color:#e7e7e7;font-size:.9rem}.drop-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);pointer-events:none;z-index:20}.drop-zone{border:1px dashed #2a5a9e;background:#2a5a9e14;color:#c1d9ff;display:flex;align-items:center;justify-content:center;font-size:.85rem;pointer-events:auto;transition:background .12s ease,border-color .12s ease}.drop-zone:hover,.drop-zone:focus,.drop-zone:active{background:#2a5a9e2e;border-color:#4a8ae0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7c93}.empty-state h2{font-size:1.2rem;margin:0 0 8px;font-weight:500}.empty-state p{font-size:.9rem;margin:0}.muted{color:#6b7c93}.error-text{font-size:.85rem;color:#fca5a5;background:#dc26261a;padding:8px 12px;border-radius:6px;border:1px solid rgba(220,38,38,.2)}.topbar-stats{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#6b7c93}.topbar-stats span:not(:last-child):not(:first-child){color:#3a4a5f}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#0b0b0f;border:1px solid #243447;border-radius:12px;padding:24px;min-width:320px;max-width:90vw;box-shadow:0 20px 60px #00000080}.modal-content{background:#0b0b0f;border:1px solid #243447;border-radius:12px;padding:24px;min-width:320px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000080}.modal-content.install-modal{width:min(980px,95vw)}.modal-content .modal-body{display:flex;flex-direction:column;gap:16px}.modal-content .form-group{display:flex;flex-direction:column;gap:6px}.modal-content .form-group label{font-size:.85rem;color:#9fb3c8}.modal-content .form-group input{background:#0c1117cc;color:#e7e7e7;border:1px solid rgba(36,52,71,.6);padding:10px 12px;border-radius:8px;font-size:.85rem;transition:all .2s ease}.modal-content .form-group input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1f}.modal-close{background:transparent;border:none;color:#9fb3c8;cursor:pointer;font-size:1.2rem;line-height:1;padding:4px 8px;border-radius:8px;transition:all .15s ease}.modal-close:hover{background:#ffffff14;color:#fff}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.success-message{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:#22c55e1f;border:1px solid rgba(34,197,94,.25);color:#86efac;font-size:.9rem}.success-message svg{width:16px;height:16px;stroke-width:1.8}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3{margin:0;font-size:1.1rem}.dialog-modal{max-width:520px;color:#e7e7e7}.dialog-modal.danger{border-color:#f56565;box-shadow:0 20px 60px #f5656526}.dialog-body{margin:6px 0 2px}.dialog-message{margin:0;color:#b7c2d0;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.dialog-btn{border:1px solid transparent;background:#166fe5;color:#fff;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.dialog-btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px #166fe538}.dialog-btn.ghost{background:transparent;color:#9fb3c8;border-color:#243447}.dialog-btn.danger{background:#f56565;color:#fff;border-color:#f56565}.dialog-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.close-btn{background:transparent;border:none;color:#9fb3c8;cursor:pointer;padding:4px 8px;display:inline-flex;align-items:center;justify-content:center}.close-btn:hover{color:#fff}.close-btn svg{width:16px;height:16px;stroke-width:1.8}.auth-panel{display:flex;flex-direction:column;gap:12px}.auth-row{display:flex;flex-direction:column;gap:4px}.auth-row input{background:#0c1117;color:#e7e7e7;border:1px solid #243447;padding:8px;border-radius:6px}.auth-row label{font-size:.9rem;color:#9fb3c8}.auth-panel button{background:#166fe5;color:#fff;border:none;padding:10px 12px;border-radius:6px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.auth-panel button:disabled{opacity:.5;cursor:not-allowed}.auth-panel button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 30px #166fe538}.error{color:#ff6b6b;font-size:.9rem}.terminal-wrapper{background:#0d0d0d;flex:1;min-width:0;min-height:0;width:100%;height:100%;display:flex;overflow:hidden;padding:6px;box-sizing:border-box}.terminal-wrapper .xterm{width:100%;min-width:0;height:100%!important}.terminal-wrapper .xterm-screen{height:100%!important}.terminal-wrapper .xterm-viewport{overflow-y:auto!important}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0f1624}::-webkit-scrollbar-thumb{background:#243447}::-webkit-scrollbar-thumb:hover{background:#335171}.tag-modal{min-width:380px}.tag-modal .modal-body{display:flex;flex-direction:column;gap:16px}.tag-modal .worker-info{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#0c1117;border-radius:8px;border:1px solid #243447}.tag-modal .worker-info strong{font-size:1.05rem}.tag-modal .status-badge{font-size:.75rem;padding:4px 10px;border-radius:12px;font-weight:500}.tag-modal .status-badge.online{background:#48bb7826;color:#48bb78}.tag-modal .status-badge.offline{background:#f5656526;color:#f56565}.tag-modal .form-label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:#9fb3c8}.tag-modal .form-input{background:#0c1117;color:#e7e7e7;border:1px solid #243447;padding:10px 12px;border-radius:6px;font-size:.95rem}.tag-modal .form-input:focus{outline:none;border-color:#166fe5}.tag-modal .modal-actions{display:flex;gap:10px;margin-top:8px}.tag-modal .btn-primary{flex:1;background:#166fe5;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:transform .12s ease,box-shadow .12s ease}.tag-modal .btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 30px #166fe538}.tag-modal .btn-danger{background:transparent;color:#f56565;border:1px solid #f56565;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .15s ease,color .15s ease}.tag-modal .btn-danger:hover{background:#f56565;color:#fff}@media(max-width:1100px){.topbar{flex-wrap:wrap;gap:10px}.control-group{flex-wrap:wrap}.topbar-stats,.topbar-right{width:100%}.content{flex-direction:column}.sidebar{width:100%;order:2}.sidebar.collapsed{width:100%}.terminal-container{order:1;min-height:60vh}}@media(max-width:768px){.topbar{padding:10px 12px}.control-group select{width:100%}.command-tabs{flex-wrap:wrap}.terminal-wrapper{padding:4px}}
