.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);height:100%;transition:width var(--transition-slow);z-index:40;background:#0b0b0cd9;flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar-brand{height:var(--navbar-height);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 14px;display:flex;overflow:hidden}.brand-icon{background:var(--accent);width:36px;min-width:36px;height:36px;color:var(--accent-fg);border:none;border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:flex}.brand-text{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.brand-name{letter-spacing:-.02em;font-size:14px;font-weight:650}.brand-pro{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-hover);background:var(--accent-muted);border:1px solid #3b82f640;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow:hidden auto}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);transition:color var(--transition), background var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active{color:var(--text-primary);background:var(--accent-muted);font-weight:600}.nav-item.active .nav-icon{color:var(--accent-hover)}.nav-icon{z-index:1;min-width:18px;color:inherit;font-size:18px;display:flex}.nav-label{z-index:1;white-space:nowrap}.nav-indicator{background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.sidebar.collapsed .nav-indicator{display:none}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:8px;display:flex}.collapse-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;width:100%;transition:color var(--transition), background var(--transition);background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:12px;display:flex}.collapse-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.sidebar.collapsed .collapse-btn{justify-content:center}.navbar{height:var(--navbar-height);min-height:var(--navbar-height);max-height:var(--navbar-height);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;background:#0b0b0c99;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex;overflow:hidden}.navbar-left{flex:1;align-items:center;gap:8px;min-width:0;max-width:420px;display:flex}.search-trigger{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;height:34px;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition), background var(--transition);flex:1;align-items:center;gap:10px;padding:0 12px;font-size:13px;line-height:1;display:flex}.search-trigger svg{flex-shrink:0;width:16px;height:16px}.search-trigger:hover{border-color:var(--border-strong);background:var(--bg-hover)}.search-trigger span{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.search-trigger .kbd,.navbar-cloud-badge{flex-shrink:0}.navbar-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.avatar{background:var(--accent);width:32px;height:32px;color:var(--accent-fg);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;font-size:11px;font-weight:700;display:flex}@media (width<=1100px){.navbar-left{max-width:280px}}@media (width<=900px){.hide-sm{display:none}.navbar-left{max-width:160px}.search-trigger span,.search-trigger .kbd{display:none}}.tabbar-wrap{border-bottom:1px solid var(--border);height:var(--tabbar-height);background:#11111380;flex-shrink:0;align-items:center;display:flex}.tabbar{scrollbar-width:none;flex:1;align-items:stretch;height:100%;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tab{cursor:pointer;border-right:1px solid var(--border);min-width:120px;max-width:220px;height:100%;color:var(--text-muted);transition:color var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:flex;position:relative}.tab:hover{color:var(--text-secondary);background:#ffffff05}.tab.active{color:var(--text-primary)}.tab.dragging{opacity:.5}.tab-bg{background:var(--bg-surface);border-bottom:2px solid var(--accent);z-index:0;position:absolute;inset:0}.tab-icon,.tab-title,.tab-close,.tab-unsaved{z-index:1;position:relative}.tab-icon{flex-shrink:0;font-size:13px;display:flex}.tab-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tab-unsaved{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.tab-close{width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition), background var(--transition), color var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{color:var(--text-primary);background:#ffffff1a}.tab-type-switcher{border-left:1px solid var(--border);gap:2px;padding:0 10px;display:flex}.type-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:flex}.type-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.type-btn.active{background:var(--accent-muted);color:var(--accent-hover)}.toast-container{z-index:3000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:280px;max-width:380px;box-shadow:var(--shadow-lg);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-warning{border-left:3px solid var(--warning)}.toast-info{border-left:3px solid var(--info)}.toast-icon{flex-shrink:0;margin-top:1px;font-size:18px}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--info)}.toast-content{flex:1;min-width:0}.toast-title{font-size:13px;font-weight:600}.toast-msg{color:var(--text-secondary);margin-top:2px;font-size:12px}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.toast-close:hover{color:var(--text-primary);background:var(--bg-hover)}.palette-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1500;background:#0000008c;justify-content:center;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:100%;max-width:560px;box-shadow:var(--shadow-lg);flex-direction:column;height:fit-content;max-height:70vh;display:flex;overflow:hidden}.palette-search{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:12px;padding:16px 18px;font-size:18px;display:flex}.palette-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:15px}.palette-list{max-height:400px;padding:8px;overflow-y:auto}.palette-item{border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--text-primary);text-align:left;transition:background var(--transition);background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;display:flex}.palette-item:hover,.palette-item.active{background:var(--accent-muted)}.palette-icon{color:var(--text-secondary);font-size:16px;display:flex}.palette-label{flex:1;font-size:13px;font-weight:500}.palette-group{color:var(--text-muted);font-size:11px}.palette-empty{text-align:center;color:var(--text-muted);padding:32px;font-size:13px}.search-palette .palette-label{font-size:13px}.qc-modal{max-width:520px}.qc-header{align-items:center;gap:14px;padding:18px 18px 0;display:flex}.qc-bolt{color:var(--text-secondary);font-size:28px}.qc-header h3{font-size:16px;font-weight:650}.qc-header p{color:var(--text-muted);font-size:12px}.qc-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;padding:8px 12px 4px;font-size:11px;font-weight:600;display:flex}.qc-footer{border-top:1px solid var(--border);color:var(--text-muted);gap:16px;padding:10px 16px;font-size:11px;display:flex}.conn-form .form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.conn-form .form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:0 16px;display:grid}.input-with-icon{position:relative}.input-with-icon .input{padding-right:40px}.input-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.input-icon-btn:hover{color:var(--text-primary)}.dropzone{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);transition:border-color var(--transition), background var(--transition);align-items:center;gap:10px;margin-bottom:10px;padding:14px 16px;font-size:13px;display:flex}.dropzone.dragging,.dropzone:hover{border-color:var(--border-focus);background:var(--accent-muted)}.form-row-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.swatch{cursor:pointer;width:22px;height:22px;transition:transform var(--transition);border:2px solid #0000;border-radius:6px}.swatch:hover{transform:scale(1.15)}.favorite-toggle{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.favorite-toggle.on{background:var(--warning-muted);color:#fde047;border-color:#eab30859}@media (width<=640px){.conn-form .form-grid,.conn-form .form-grid-3{grid-template-columns:1fr}}.details-view .details-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.hero-left{align-items:flex-start;gap:16px;display:flex}.hero-color{border-radius:2px;flex-shrink:0;width:4px;height:56px}.hero-title-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.hero-title-row h1{letter-spacing:-.03em;font-size:22px;font-weight:700}.hero-host{color:var(--text-secondary);margin-bottom:10px;font-size:13px}.hero-tags{flex-wrap:wrap;gap:6px;display:flex}.hero-actions{flex-wrap:wrap;gap:8px;display:flex}.star-active{color:#eab308!important}.details-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-section{padding:18px}.detail-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:14px;font-size:12px;font-weight:650}.detail-dl{flex-direction:column;gap:10px;display:flex}.detail-dl>div{grid-template-columns:120px 1fr;gap:12px;font-size:13px;display:grid}.detail-dl dt{color:var(--text-muted)}.detail-dl dd{color:var(--text-primary);word-break:break-all}.ssh-config-preview,.notes-preview{font-family:var(--font-mono);background:var(--bg-base);border-radius:var(--radius-sm);border:1px solid var(--border);white-space:pre-wrap;color:var(--text-secondary);padding:14px;font-size:12px;line-height:1.6}.log-list{flex-direction:column;gap:8px;display:flex}.log-item{background:var(--bg-base);border-radius:6px;flex-wrap:wrap;gap:12px;padding:8px 10px;font-size:12px;display:flex}.json-section{grid-column:1/-1}.json-editor-wrap{border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.terminal-view{height:100%;font-family:var(--font-mono);flex-direction:column;display:flex}.term-toolbar{background:#0000004d;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.term-session-title{min-width:0;color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.term-session-title span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.term-status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.term-status-dot.connecting{background:var(--warning)}.term-status-dot.connected{background:var(--success)}.term-status-dot.error{background:var(--danger)}.term-tabs{align-items:center;gap:4px;display:flex}.term-tab{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;display:flex}.term-tab.active{color:var(--text-primary);background:#ffffff14}.term-tab-close{opacity:.5;font-size:14px}.term-tab-close:hover{opacity:1}.term-tab-add{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:flex}.term-tab-add:hover{color:#fff;background:#ffffff14}.term-toolbar-right{gap:2px;display:flex}.term-settings{background:#0003;border-bottom:1px solid #ffffff0f;align-items:center;gap:24px;padding:10px 14px;display:flex}.term-settings label{color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.term-settings .app-select__control{min-height:32px}.term-xterm{flex:1;min-height:0;padding:10px 12px;overflow:hidden}.term-xterm .xterm{height:100%}.term-xterm .xterm-viewport{scrollbar-color:#ffffff24 transparent}.term-body{cursor:text;flex:1;padding:16px;overflow:auto}.term-line{margin-bottom:4px;line-height:1.5}.term-system{color:#71717a;font-style:italic}.term-input-line{align-items:center;display:flex}.term-input{font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0}.term-statusbar{color:#71717a;background:#0000004d;border-top:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:16px;padding:6px 14px;font-size:11px;display:flex}.term-status-text{text-overflow:ellipsis;white-space:nowrap;margin-right:auto;overflow:hidden}.term-status-text.connected{color:var(--success)}.term-status-text.error{color:var(--danger)}.notes-view{flex-direction:column;height:100%;display:flex;overflow:hidden!important}.notes-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.notes-header h2{font-size:18px;font-weight:650}.notes-editor{width:100%;font-family:var(--font-mono);resize:none;border:1px solid var(--border);color:var(--text-primary);background:var(--bg-glass);border-radius:var(--radius-lg);outline:none;flex:1;min-height:400px;padding:20px;font-size:13px;line-height:1.7}.notes-editor:focus{border-color:var(--border-focus)}.config-view{flex-direction:column;height:100%;display:flex}.config-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.config-modes{gap:4px;display:flex}.config-editor{flex:1;min-height:0}@media (width<=900px){.details-grid{grid-template-columns:1fr}.json-section{grid-column:1}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.dashboard .dash-grid{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.dash-panel{padding:18px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-header h3{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.conn-list{flex-direction:column;gap:4px;display:flex}.conn-list-item{border-radius:var(--radius-sm);color:inherit;cursor:pointer;text-align:left;width:100%;transition:background var(--transition);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.conn-list-item:hover{background:var(--bg-hover)}.color-bar{border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.conn-info{flex:1;min-width:0}.conn-name{font-size:13px;font-weight:550}.conn-host{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conn-time{color:var(--text-muted);flex-shrink:0;font-size:11px}.empty-mini{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.qc-chips{flex-wrap:wrap;gap:8px;display:flex}.qc-chip{border:1px solid var(--border-strong);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;transition:all var(--transition);border-radius:20px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:flex}.qc-chip:hover{border-color:var(--border-focus);background:var(--bg-active)}.group-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.group-chip{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);cursor:pointer;text-align:left;color:inherit;transition:all var(--transition);align-items:center;gap:10px;padding:12px;display:flex}.group-chip:hover{border-color:var(--border-focus);background:var(--bg-hover)}.group-folder{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.group-name{font-size:13px;font-weight:550}.group-count{color:var(--text-muted);font-size:11px}.timeline-panel{grid-column:1/-1}.timeline{flex-direction:column;gap:0;padding-left:8px;display:flex}.timeline-item{gap:14px;padding-bottom:16px;display:flex;position:relative}.timeline-item:not(:last-child):before{content:"";background:var(--border-strong);width:1px;position:absolute;top:14px;bottom:0;left:5px}.timeline-dot{background:var(--text-muted);z-index:1;border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-top:3px}.timeline-title{color:var(--text-secondary);font-size:13px}.timeline-title strong{color:var(--text-primary);font-weight:550}.timeline-details{color:var(--text-muted);margin-top:2px;font-size:12px}.timeline-time{color:var(--text-muted);margin-top:4px;font-size:11px}@media (width<=1000px){.dashboard .dash-grid,.group-grid{grid-template-columns:1fr}}.connections-page .table-toolbar{z-index:20;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex;position:relative}.toolbar-search{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:200px;color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.toolbar-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.toolbar-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-icon{color:var(--text-muted)}.col-toggle-wrap{position:relative}.col-dropdown{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);z-index:100;min-width:180px;box-shadow:var(--shadow-lg);padding:8px;position:absolute;top:calc(100% + 6px);right:0}.col-check{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.col-check:hover{background:var(--bg-hover)}.bulk-bar{background:var(--bg-hover);border:1px solid var(--border-strong);border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.table-wrap{outline:none;max-height:calc(100vh - 320px);overflow:hidden auto}.data-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.data-table th,.data-table td{text-overflow:ellipsis;overflow:hidden}.data-table thead{z-index:10;position:sticky;top:0}.data-table th{background:var(--bg-elevated);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-strong);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 12px;font-size:11px;font-weight:600;position:relative}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--text-secondary)}.th-content{align-items:center;gap:4px;display:flex}.sort-arrow{color:var(--accent-hover)}.col-resizer{cursor:col-resize;width:4px;position:absolute;top:0;bottom:0;right:0}.col-resizer:hover{background:var(--accent)}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr.selected{background:var(--accent-muted)}.data-table tbody tr.focused{outline:1px solid var(--border-focus);outline-offset:-1px}.star-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition), transform var(--transition);background:0 0;border:none;padding:2px;font-size:16px;display:flex}.star-btn:hover{color:#facc15;transform:scale(1.1)}.star-btn.on{color:#eab308}.name-link{color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:550;display:flex}.name-link:hover{color:var(--accent-hover)}.name-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mono{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.status-cell{text-transform:capitalize;align-items:center;gap:6px;font-size:12px;display:flex}.tags-cell{flex-wrap:wrap;gap:4px;display:flex}.muted{color:var(--text-muted);font-size:12px}.row-actions{opacity:.5;transition:opacity var(--transition);gap:2px;display:flex}.data-table tbody tr:hover .row-actions{opacity:1}.pagination{justify-content:space-between;align-items:center;margin-top:14px;padding:0 4px;display:flex}.fav-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.fav-card{flex-direction:column;display:flex;overflow:hidden}.fav-top{justify-content:space-between;align-items:flex-start;padding:14px 16px 0;display:flex}.fav-color{border-radius:2px;width:40px;height:4px}.fav-badges{gap:6px;display:flex}.fav-body{cursor:pointer;flex:1;padding:14px 16px}.fav-name{letter-spacing:-.02em;align-items:center;gap:8px;margin-bottom:6px;font-size:16px;font-weight:650;display:flex}.star-gold{color:#eab308}.fav-host{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:8px;font-size:12px}.fav-meta{align-items:center;gap:6px;font-size:12px;display:flex}.fav-actions{border-top:1px solid var(--border);justify-content:space-between;padding:12px 16px;display:flex}.groups-list{flex-direction:column;gap:8px;display:flex}.group-row{align-items:center;gap:10px;margin-bottom:6px;padding:12px 14px;display:flex}.expand-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.folder-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.group-info{flex:1;min-width:0}.group-title{font-size:14px;font-weight:600}.group-desc{color:var(--text-muted);font-size:12px}.group-actions{opacity:0;transition:opacity var(--transition);gap:2px;display:flex}.group-row:hover .group-actions{opacity:1}.conn-under-group{border-radius:var(--radius-sm);color:inherit;cursor:pointer;text-align:left;width:calc(100% - 20px);transition:background var(--transition);background:0 0;border:none;align-items:center;gap:10px;margin-bottom:4px;padding:8px 14px;font-size:13px;display:flex}.conn-under-group:hover{background:var(--bg-hover)}.conn-under-group .mono{margin-left:auto;font-size:11px}.color-swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:22px;height:22px}.swatch.active{box-shadow:0 0 0 2px var(--bg-elevated);border-color:#fff}.recent-toolbar{align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:flex}.recent-toolbar .toolbar-search{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.recent-toolbar .toolbar-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.day-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:8px;margin-bottom:10px;font-size:12px;font-weight:600}.day-items{border-left:1px solid var(--border-strong);flex-direction:column;gap:8px;margin-bottom:20px;padding-left:12px;display:flex}.recent-item{align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative}.recent-time{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);min-width:52px}.recent-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;position:absolute;left:-17px;box-shadow:0 0 8px}.recent-body{flex:1;min-width:0}.recent-title{font-size:13px}.recent-title strong{font-weight:600}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.settings-section{padding:22px}.settings-section h3{letter-spacing:-.01em;margin-bottom:18px;font-size:15px;font-weight:650}.settings-desc{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.settings-actions{flex-wrap:wrap;gap:10px;display:flex}.toggle-field{justify-content:space-between;align-items:center;display:flex}.toggle-field .label{margin-bottom:0}.toggle{border:1px solid var(--border-strong);background:var(--bg-hover);cursor:pointer;width:44px;height:24px;transition:background var(--transition), border-color var(--transition);border-radius:12px;flex-shrink:0;padding:0;position:relative}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle-knob{width:18px;height:18px;transition:transform var(--transition), background var(--transition);box-shadow:var(--shadow-sm);background:#a1a1aa;border-radius:50%;position:absolute;top:2px;left:2px}.toggle.on .toggle-knob{background:#fff;transform:translate(20px)}.theme-toggle-group{background:var(--bg-base);border:1px solid var(--border-strong);border-radius:var(--radius-sm);gap:0;padding:3px;display:flex}.theme-toggle-group .btn{border:none;min-width:64px}.theme-toggle-group .btn-secondary{color:var(--text-muted);background:0 0}.theme-toggle-group .btn-primary{box-shadow:var(--shadow-sm)}.shortcuts-section{grid-column:1/-1}.shortcut-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shortcut-row{background:var(--bg-base);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}@media (width<=900px){.settings-grid,.shortcut-list{grid-template-columns:1fr}}.auth-page{background:radial-gradient(ellipse 80% 60% at 50% -20%, #3b82f62e, transparent), var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:400px;padding:32px 28px}.auth-brand{text-align:center;margin-bottom:28px}.auth-brand svg{color:var(--accent);margin-bottom:12px;font-size:36px}.auth-brand h1{letter-spacing:-.02em;margin-bottom:6px;font-size:1.35rem;font-weight:650}.auth-brand p{color:var(--text-secondary);font-size:.9rem;line-height:1.45}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-error{background:var(--danger-muted);color:var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:.875rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:.875rem}.auth-footer a{color:var(--accent);text-decoration:none}.auth-footer a:hover{text-decoration:underline}:root{--bg-base:#0b0b0c;--bg-elevated:#121214;--bg-surface:#18181b;--bg-hover:#222226;--bg-active:#2a2a2e;--bg-glass:#18181be6;--bg-glass-strong:#121214f2;--border:#ffffff14;--border-strong:#ffffff24;--border-focus:#3b82f6;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-disabled:#52525b;--text-inverse:#0b0b0c;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-muted:#3b82f629;--accent-fg:#fff;--success:#22c55e;--success-muted:#22c55e26;--warning:#eab308;--warning-muted:#eab30826;--danger:#ef4444;--danger-muted:#ef444426;--info:#3b82f6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 20px #0006;--shadow-lg:0 12px 40px #00000080;--sidebar-width:240px;--navbar-height:52px;--tabbar-height:40px;--font-sans:"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--font-size:14px;--transition:.18s cubic-bezier(.22, 1, .36, 1);--transition-slow:.32s cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}::selection{background:var(--accent-muted);color:var(--text-primary)}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent-hover);text-decoration:none}.app-shell{background:var(--bg-base);width:100%;height:100%;display:flex}.main-column{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.content-area{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.page-scroll{flex:1;padding:24px;overflow:auto}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition)}.glass-card:hover{border-color:var(--border-strong)}.glass-card.interactive:hover{border-color:var(--border-focus);transform:translateY(-1px)}.btn{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:disabled,.btn[disabled]{opacity:1;cursor:not-allowed;background:var(--bg-hover)!important;color:var(--text-disabled)!important;border-color:var(--border)!important;box-shadow:none!important}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:#ffffff38}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--danger-muted);color:#fca5a5;border-color:#ef444459}.btn-danger:hover:not(:disabled){color:#fecaca;background:#ef444440}.btn-icon{width:36px;height:36px;padding:8px}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:11px 20px;font-size:14px}.input,.textarea,.select{background:var(--bg-base);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:9px 12px}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--bg-hover);color:var(--text-disabled);border-color:var(--border);cursor:not-allowed;opacity:1}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.textarea{resize:vertical;min-height:80px;font-family:var(--font-mono);font-size:13px}.label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}input[type=range]:disabled{opacity:.35;cursor:not-allowed}.field-error{color:var(--danger);margin-top:4px;font-size:12px}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.online{background:var(--success)}.status-dot.offline{background:var(--danger)}.status-dot.unknown{background:var(--text-muted)}.badge{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:550;display:inline-flex}.badge-env-production{background:var(--danger-muted);color:#fca5a5;border-color:#ef44444d}.badge-env-staging{background:var(--warning-muted);color:#fde047;border-color:#eab3084d}.badge-env-qa{color:#d8b4fe;background:#a855f71f;border-color:#a855f747}.badge-env-development{background:var(--accent-muted);color:#93c5fd;border-color:#3b82f64d}.badge-env-local{background:var(--success-muted);color:#86efac;border-color:#22c55e4d}.tag{color:var(--text-secondary);border:1px solid var(--border);background:#ffffff0a;border-radius:5px;padding:2px 7px;font-size:11px;display:inline-flex}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow:hidden}.modal-lg{max-width:720px}.modal-xl{max-width:900px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-header h2{letter-spacing:-.01em;font-size:16px;font-weight:600}.modal-body{flex:1;padding:22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.password-ad-slot{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-base);min-height:96px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-bottom:16px;display:flex}.password-ad-slot span{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.password-ad-slot strong{color:var(--text-secondary);font-size:13px;font-weight:500}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-active) 50%, var(--bg-hover) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.03em;font-size:22px;font-weight:650}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:13px}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:64px 24px;display:flex}.empty-state .icon-wrap{border-radius:var(--radius-lg);background:var(--accent-muted);width:64px;height:64px;color:var(--accent-hover);justify-content:center;align-items:center;margin-bottom:16px;font-size:28px;display:flex}.empty-state h3{color:var(--text-primary);margin-bottom:6px;font-size:16px}.empty-state p{max-width:320px;margin-bottom:20px;font-size:13px}.tooltip-wrap{display:inline-flex;position:relative}.tooltip-wrap .tooltip{background:var(--bg-active);border:1px solid var(--border-strong);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition);z-index:100;color:var(--text-secondary);box-shadow:var(--shadow-md);border-radius:6px;padding:5px 10px;font-size:11px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-wrap:hover .tooltip{opacity:1}.kbd{background:var(--bg-hover);border:1px solid var(--border-strong);font-size:11px;font-family:var(--font-mono);color:var(--text-muted);border-radius:4px;align-items:center;padding:2px 6px;display:inline-flex}.stat-card{padding:20px;position:relative;overflow:hidden}.stat-card .stat-label{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:500}.stat-card .stat-value{letter-spacing:-.03em;font-size:28px;font-weight:700;line-height:1}.stat-card .stat-icon{border-radius:var(--radius-md);opacity:.9;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex;position:absolute;top:16px;right:16px}.grid-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=1200px){.grid-stats{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}@media (width<=768px){.grid-stats,.grid-2,.grid-3{grid-template-columns:1fr}.page-scroll{padding:16px}}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:13px;font-weight:600}.context-menu{z-index:2000;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);padding:6px;position:fixed;overflow:hidden}.context-menu-item{cursor:pointer;color:var(--text-primary);transition:background var(--transition);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;display:flex}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item.danger{color:#fca5a5}.context-menu-sep{background:var(--border);height:1px;margin:4px 0}.fab{background:var(--accent);width:52px;height:52px;color:var(--accent-fg);border:1px solid var(--border-strong);cursor:pointer;box-shadow:var(--shadow-md);z-index:50;transition:background var(--transition), transform var(--transition);border-radius:16px;justify-content:center;align-items:center;font-size:22px;display:flex;position:fixed;bottom:28px;right:28px}.fab:hover{background:var(--accent-hover);transform:translateY(-1px)}.light-mode{--bg-base:#f4f4f5;--bg-elevated:#fff;--bg-surface:#fafafa;--bg-hover:#f0f0f1;--bg-active:#e4e4e7;--bg-glass:#ffffffeb;--bg-glass-strong:#fffffffa;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#71717a;--text-disabled:#a1a1aa;--text-inverse:#fafafa;--border:#00000014;--border-strong:#00000024;--border-focus:#2563eb;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-muted:#2563eb1f;--accent-fg:#fff;--success:#16a34a;--success-muted:#16a34a1f;--warning:#ca8a04;--warning-muted:#ca8a041f;--danger:#dc2626;--danger-muted:#dc26261f;--info:#2563eb;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 12px 32px #0000001f}.light-mode .app-shell{background:var(--bg-base)}.light-mode .btn:disabled,.light-mode .btn[disabled]{background:var(--bg-active)!important;color:var(--text-disabled)!important}.light-mode .badge-env-production{color:#b91c1c}.light-mode .badge-env-staging{color:#a16207}.light-mode .badge-env-qa{color:#7e22ce}.light-mode .badge-env-development{color:#1d4ed8}.light-mode .badge-env-local{color:#15803d}.light-mode .btn-danger,.light-mode .context-menu-item.danger{color:#b91c1c}
