.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;height:100vh;transition:width .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar.expanded{width:var(--sidebar-width-expanded)}.sidebar-toggle{cursor:pointer;color:var(--text-primary);white-space:nowrap;letter-spacing:-.02em;background:0 0;border:none;align-items:center;gap:12px;padding:20px 16px;font-size:1rem;font-weight:600;display:flex}.sidebar-toggle:hover{color:var(--accent)}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.sidebar-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);white-space:nowrap;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:.875rem;text-decoration:none;transition:all .15s;display:flex}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--accent-subtle);color:var(--accent)}.sidebar-icon{text-align:center;min-width:24px;font-size:1.15rem}.sidebar-footer{border-top:1px solid var(--border-color);padding:12px 8px}.main-content{min-height:100vh;padding:24px 28px;transition:margin-left .2s cubic-bezier(.4,0,.2,1)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-width-collapsed)}.main-content.sidebar-expanded{margin-left:var(--sidebar-width-expanded)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.dashboard-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:12px;padding:20px}.dashboard-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:.75rem;font-weight:500}.quick-action-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:8px;margin-right:8px;padding:8px 16px;font-size:.85rem;transition:all .15s}.quick-action-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.connection-banner{background:var(--danger-subtle);color:var(--danger);border-radius:var(--radius-md);text-align:center;border:1px solid #ef444433;margin-bottom:16px;padding:10px 16px;font-size:.875rem}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;transition:border-color .2s;position:relative}.metric-card:hover{border-color:#2a2a2a}.metric-card.warning{border-color:#f59e0b66}.metric-card.danger{border-color:#ef444466}.metric-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.metric-card-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:500}.metric-help-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #333;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.6rem;line-height:1;transition:all .15s;display:flex}.metric-help-btn:hover{color:#fff;background:#333;border-color:#555}.metric-value{letter-spacing:-.02em;margin-bottom:4px;font-size:2rem;font-weight:700;line-height:1}.metric-unit{color:var(--text-secondary);margin-left:2px;font-size:.8rem;font-weight:400}.metric-warning-msg{border-radius:var(--radius-sm);margin-top:8px;padding:4px 8px;font-size:.7rem;font-weight:500}.metric-warning-msg.warning{background:var(--warning-subtle);color:var(--warning)}.metric-warning-msg.danger{background:var(--danger-subtle);color:var(--danger)}.metric-help-tooltip{border-radius:var(--radius-md);color:var(--text-secondary);z-index:10;background:#1a1a1a;border:1px solid #2a2a2a;max-width:220px;padding:10px 12px;font-size:.8rem;line-height:1.4;position:absolute;top:3.5rem;right:12px;box-shadow:0 8px 24px #0009}.services-summary-grid{flex-wrap:wrap;gap:6px;display:flex}.service-dot{color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:flex}.service-dot-indicator{border-radius:50%;flex-shrink:0;width:7px;height:7px}.service-dot-indicator.running{background:var(--success);box-shadow:0 0 6px #22c55e80}.service-dot-indicator.stopped{background:var(--danger)}.service-dot-indicator.unknown{background:var(--text-secondary)}.logs-list{margin:0;padding:0;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:.78rem;list-style:none}.logs-list li{color:var(--text-secondary);word-break:break-all;white-space:pre-wrap;border-bottom:1px solid #ffffff08;padding:4px 0;line-height:1.5}.logs-list li:last-child{border-bottom:none}.ram-detail-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;min-width:500px;max-width:700px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 16px 48px #000c}.ram-modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ram-modal-header h3{color:var(--text-primary);font-size:1rem;font-weight:600}.ram-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.5rem;line-height:1}.ram-modal-close:hover{color:var(--text-primary)}.ram-table{border-collapse:collapse;width:100%;font-size:.82rem}.ram-table thead th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-color);padding:8px 12px;font-size:.7rem;font-weight:500}.ram-table tbody tr{border-bottom:1px solid #ffffff08}.ram-table tbody tr:hover{background:var(--bg-hover)}.ram-table td{color:var(--text-primary);padding:6px 12px}.proc-name{font-weight:500}.proc-pid{color:var(--text-secondary);font-family:monospace;font-size:.78rem}.proc-mem{color:var(--accent);font-weight:500}.proc-pct{color:var(--warning)}.proc-cpu{color:var(--text-secondary)}.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}.terminal-container{flex-direction:column;height:calc(100vh - 100px);display:flex}.terminal-tabs{background:var(--bg-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;border:1px solid var(--border-color);border-bottom:none;gap:2px;padding:4px 4px 0;display:flex}.terminal-tab{background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;transition:all .15s;display:flex}.terminal-tab.active{color:var(--text-primary);background:#000}.terminal-tab:hover:not(.active){background:var(--bg-hover)}.terminal-tab-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:.7rem}.terminal-tab-close:hover{background:var(--danger);color:#fff}.terminal-add-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:1rem}.terminal-add-btn:hover{color:var(--accent)}.terminal-viewport{border-radius:0 0 var(--radius-md) var(--radius-md);border:1px solid var(--border-color);background:#000;border-top:none;flex:1;overflow:hidden}.services-page{flex-direction:column;gap:12px;display:flex}.services-toolbar{align-items:center;gap:8px;margin-bottom:4px;display:flex}.services-search{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);max-width:360px;color:var(--text-primary);outline:none;flex:1;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.services-search:focus{border-color:var(--accent)}.services-tabs{gap:4px;margin-bottom:8px;display:flex}.services-tab{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .15s}.services-tab:hover{color:var(--text-primary);border-color:#333}.services-tab.active{background:var(--accent-subtle);color:var(--accent);border-color:#3b82f64d}.services-error{background:var(--danger-subtle);border-radius:var(--radius-md);color:#f87171;border:1px solid #ef444433;padding:12px 16px;font-size:.875rem}.services-empty{color:var(--text-secondary);padding:16px 0;font-size:.875rem}.services-list{flex-direction:column;gap:6px;display:flex}.service-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s;display:flex}.service-row:hover{border-color:#2a2a2a}.service-info{flex:1;align-items:center;gap:10px;min-width:200px;display:flex}.service-names{flex-direction:column;display:flex}.service-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.service-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:.75rem;overflow:hidden}.service-meta{align-items:center;gap:6px;display:flex}.service-badge{text-transform:lowercase;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600}.badge-active{background:var(--success-subtle);color:#4ade80;border:1px solid #22c55e33}.badge-inactive{color:#64748b;background:#94a3b814;border:1px solid #94a3b826}.badge-failed{background:var(--danger-subtle);color:#f87171;border:1px solid #ef444433}.badge-sub{background:var(--accent-subtle);color:var(--accent);border:1px solid #3b82f633}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-green{background:var(--success);box-shadow:0 0 6px #22c55e80}.dot-yellow{background:var(--warning);box-shadow:0 0 6px #f59e0b66}.dot-red{background:var(--danger);box-shadow:0 0 6px #ef444480}.dot-gray{background:#64748b;box-shadow:0 0 6px #64748b4d}.tab-count{color:#94a3b8;background:#94a3b826;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-flex}.service-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.svc-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:5px 10px;font-size:.78rem;font-weight:500;transition:all .15s}.svc-btn:disabled{opacity:.4;cursor:not-allowed}.btn-restart{background:var(--accent-subtle);color:var(--accent);border-color:#3b82f633}.btn-restart:not(:disabled):hover{background:#3b82f633}.btn-stop{background:var(--danger-subtle);color:#f87171;border-color:#ef444433}.btn-stop:not(:disabled):hover{background:#ef444433}.btn-start{background:var(--success-subtle);color:#4ade80;border-color:#22c55e33}.btn-start:not(:disabled):hover{background:#22c55e33}.btn-enable{background:var(--success-subtle);color:#86efac;border-color:#22c55e26}.btn-enable:not(:disabled):hover{background:#22c55e26}.btn-disable{background:var(--warning-subtle);color:#fbbf24;border-color:#f59e0b26}.btn-disable:not(:disabled):hover{background:#f59e0b33}.btn-refresh{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.btn-refresh:not(:disabled):hover{color:var(--text-primary);border-color:#333}.btn-logs{color:#94a3b8;background:#94a3b814;border-color:#94a3b826}.btn-logs:not(:disabled):hover{color:var(--text-primary);background:#94a3b826}.svc-feedback{border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;max-width:240px;padding:2px 8px;font-size:.75rem;overflow:hidden}.svc-feedback.ok{color:#4ade80;background:var(--success-subtle)}.svc-feedback.err{color:#f87171;background:var(--danger-subtle)}.logs-page{flex-direction:column;gap:8px;height:calc(100vh - 120px);display:flex}.logs-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.logs-source-select{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;outline:none;min-width:160px;padding:7px 12px;font-size:.85rem}.logs-source-select:focus{border-color:var(--accent)}.logs-search{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);max-width:300px;color:var(--text-primary);outline:none;flex:1;padding:7px 12px;font-size:.85rem}.logs-search:focus{border-color:var(--accent)}.logs-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .15s}.btn-stream{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.btn-stream.active{background:var(--accent-subtle);color:var(--accent);border-color:#3b82f64d}.btn-stream:hover{opacity:.85}.logs-conn{border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:500}.conn-ok{background:var(--success-subtle);color:#4ade80;border:1px solid #22c55e33}.conn-lost{background:var(--danger-subtle);color:#f87171;border:1px solid #ef444433}.logs-error{background:var(--danger-subtle);border-radius:var(--radius-md);color:#f87171;border:1px solid #ef444433;padding:10px 14px;font-size:.85rem}.logs-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);flex:1;padding:12px 16px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.6;overflow-y:auto}.log-line{white-space:pre-wrap;word-break:break-all;padding:1px 0}.log-line:hover{background:var(--bg-hover)}.logs-loading,.logs-empty{color:var(--text-secondary);padding:8px 0;font-size:.85rem;font-style:italic}.logs-footer{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.logs-limit-warn{color:var(--warning)}.settings-page{flex-direction:column;gap:16px;max-width:520px;display:flex}.settings-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px 24px}.settings-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0 0 16px;font-size:.75rem;font-weight:500}.settings-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-row-info{flex-direction:column;gap:2px;display:flex}.settings-label{color:var(--text-primary);font-size:.9rem;font-weight:600}.settings-hint{color:var(--text-secondary);font-size:.75rem}.theme-toggle-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.theme-toggle-btn:hover{border-color:var(--accent);background:var(--accent-subtle)}.theme-icon{font-size:1rem}.settings-form{flex-direction:column;gap:12px;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.form-input{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);outline:none;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-input:disabled{opacity:.4;cursor:not-allowed}.settings-validation-error{color:#f87171;background:var(--danger-subtle);border-radius:var(--radius-sm);border:1px solid #ef444433;padding:6px 10px;font-size:.82rem}.settings-feedback{border-radius:var(--radius-sm);border:1px solid #0000;padding:6px 10px;font-size:.85rem}.settings-feedback.ok{background:var(--success-subtle);color:#4ade80;border-color:#22c55e33}.settings-feedback.err{background:var(--danger-subtle);color:#f87171;border-color:#ef444433}.settings-submit-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;align-self:flex-start;padding:8px 20px;font-size:.875rem;font-weight:600;transition:opacity .15s}.settings-submit-btn:hover:not(:disabled){opacity:.85}.settings-submit-btn:disabled{opacity:.4;cursor:not-allowed}.file-explorer{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;height:calc(100vh - 120px);display:flex;overflow:hidden}.fe-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;display:flex}.fe-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:5px 12px;font-size:.8rem;transition:all .15s}.fe-btn:hover:not(:disabled){background:var(--bg-hover);border-color:#333}.fe-btn:disabled{opacity:.4;cursor:not-allowed}.fe-search-wrapper{flex:1;align-items:center;max-width:280px;margin-left:8px;display:flex;position:relative}.fe-search-icon{color:var(--text-secondary);pointer-events:none;align-items:center;display:flex;position:absolute;left:10px}.fe-search-input{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);outline:none;padding:6px 30px 6px 32px;font-size:.8rem;transition:border-color .15s,box-shadow .15s}.fe-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.fe-search-input::placeholder{color:var(--text-secondary);opacity:.5}.fe-search-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:4px;transition:all .15s;display:flex;position:absolute;right:6px}.fe-search-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.fe-search-result-count{color:var(--text-secondary);background:var(--bg-tertiary);white-space:nowrap;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:.72rem}.fe-global-results{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);z-index:100;scrollbar-width:thin;min-width:400px;max-height:360px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #0009}.fe-global-searching{text-align:center;color:var(--text-secondary);padding:16px;font-size:.8rem}.fe-global-searching:after{content:"";border:2px solid var(--accent);vertical-align:middle;border-top-color:#0000;border-radius:50%;width:12px;height:12px;margin-left:8px;animation:.8s linear infinite fe-spin;display:inline-block}@keyframes fe-spin{to{transform:rotate(360deg)}}.fe-global-header{color:var(--text-secondary);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;font-size:.72rem}.fe-global-empty{text-align:center;color:var(--text-secondary);padding:16px;font-size:.8rem}.fe-global-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff08;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;transition:background .1s;display:flex}.fe-global-item:hover{background:var(--bg-hover)}.fe-global-item:last-child{border-bottom:none}.fe-global-item-icon{flex-shrink:0;font-size:.9rem}.fe-global-item-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.fe-global-item-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.fe-global-item-path{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.fe-global-item-size{color:var(--text-secondary);flex-shrink:0;font-size:.72rem}.fe-global-search-btn{background:var(--accent);color:#1e1e2e;border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:8px;padding:6px 16px;font-size:.8rem;font-weight:600;transition:opacity .15s;display:inline-block}.fe-global-search-btn:hover{opacity:.85}.fe-btn-danger{color:var(--danger);border-color:#ef44444d}.fe-btn-danger:hover:not(:disabled){background:var(--danger-subtle);border-color:var(--danger)}.fe-breadcrumb{background:var(--bg-primary);border-bottom:1px solid var(--border-color);white-space:nowrap;scrollbar-width:thin;flex-shrink:0;align-items:center;gap:2px;padding:8px 14px;font-size:.8rem;display:flex;overflow-x:auto}.fe-breadcrumb-part{color:var(--accent);cursor:pointer;border-radius:3px;padding:2px 4px;transition:background .1s}.fe-breadcrumb-part:hover{background:var(--bg-hover)}.fe-breadcrumb-part.active{color:var(--text-primary);cursor:default}.fe-breadcrumb-sep{color:#333;margin:0 2px}.fe-warning-banner{background:var(--warning-subtle);color:var(--warning);border-bottom:1px solid #f59e0b33;flex-shrink:0;padding:8px 14px;font-size:.78rem}.fe-file-list{scrollbar-width:thin;flex:1;overflow-y:auto}.fe-file-list::-webkit-scrollbar{width:6px}.fe-file-list::-webkit-scrollbar-track{background:0 0}.fe-file-list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}.fe-file-list table{border-collapse:collapse;width:100%}.fe-file-list thead th{background:var(--bg-secondary);text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);z-index:1;-webkit-user-select:none;user-select:none;padding:8px 14px;font-size:.7rem;font-weight:500;transition:color .15s;position:sticky;top:0}.fe-file-list thead th[style*="cursor: pointer"]:hover{color:var(--accent)}.fe-file-row{cursor:pointer;transition:background .1s}.fe-file-row:hover{background:var(--bg-hover)}.fe-file-row td{color:var(--text-primary);vertical-align:middle;border-bottom:1px solid #ffffff05;padding:7px 14px;font-size:.84rem}.fe-file-row.warning-zone td:first-child{position:relative}.fe-file-row.warning-zone td:first-child:after{content:"";background:var(--warning);width:2px;position:absolute;top:0;bottom:0;left:0}.fe-file-name{align-items:center;gap:8px;display:flex}.fe-file-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.fe-file-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fe-file-name-text.is-dir{color:var(--accent);font-weight:500}.fe-file-name-text.is-symlink{color:#a6e3a1;font-style:italic}.fe-perm{color:var(--text-secondary);font-family:SF Mono,monospace;font-size:.75rem}.fe-size{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.fe-date{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.fe-empty,.fe-loading{text-align:center;color:var(--text-secondary);padding:40px;font-size:.875rem}.fe-error{color:var(--danger);padding:16px;font-size:.875rem}.fe-modal-overlay{z-index:800;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fe-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;min-width:320px;max-width:480px;padding:24px;box-shadow:0 16px 48px #000c}.fe-modal h3{color:var(--text-primary);margin:0 0 16px;font-size:1rem;font-weight:600}.fe-modal input{box-sizing:border-box;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;margin-bottom:12px;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.fe-modal input:focus{border-color:var(--accent)}.fe-modal-actions{justify-content:flex-end;gap:8px;display:flex}.proj-layout{border-radius:var(--radius-lg);border:1px solid var(--border-color);gap:0;height:calc(100vh - 120px);display:flex;overflow:hidden}.proj-loading{color:var(--text-secondary);text-align:center;padding:40px;font-size:.85rem}.proj-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;width:280px;min-width:280px;display:flex}.proj-search{border-bottom:1px solid var(--border-color);padding:12px}.proj-search-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:8px 12px;font-size:.82rem;transition:border-color .15s}.proj-search-input:focus{border-color:var(--accent)}.proj-list{flex:1;padding:6px;overflow-y:auto}.proj-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;margin-bottom:2px;padding:10px 12px;transition:background .12s;display:block}.proj-item:hover{background:var(--bg-hover)}.proj-item.active{background:var(--bg-tertiary);border:1px solid var(--border-color)}.proj-item-left{border-left:3px solid;padding-left:10px}.proj-item-name{margin-bottom:3px;font-size:.88rem;font-weight:500}.proj-item-meta{align-items:center;gap:8px;display:flex}.proj-type-badge{border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:600}.proj-type-badge.pm2{color:var(--success);background:#22c55e1a;border:1px solid #22c55e33}.proj-type-badge.mysql{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b33}.proj-type-badge.directory{color:var(--accent);background:#3b82f61a;border:1px solid #3b82f633}.proj-status{font-size:.72rem}.proj-empty{color:var(--text-secondary);text-align:center;padding:24px 12px;font-size:.82rem}.proj-sidebar-footer{border-top:1px solid var(--border-color);padding:8px 12px}.proj-refresh-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;padding:6px;font-size:.78rem;transition:all .15s}.proj-refresh-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.proj-detail{background:var(--bg-primary);flex:1;overflow-y:auto}.proj-no-selection{height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.proj-no-selection-icon{opacity:.3;font-size:3rem}.pd-container{padding:20px}.pd-header{margin-bottom:16px}.pd-title-row{align-items:center;gap:12px;margin-bottom:8px;display:flex}.pd-name{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:600}.pd-status{font-size:.78rem;font-weight:500}.pd-meta{flex-wrap:wrap;gap:8px;display:flex}.pd-badge{border-radius:var(--radius-sm);padding:2px 10px;font-size:.72rem;font-weight:500}.pd-badge.path{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.pd-badge.type{color:var(--accent);background:#3b82f61a}.pd-badge.size{background:var(--bg-tertiary);color:var(--text-secondary)}.pd-metrics{gap:12px;margin-bottom:16px;display:flex}.pd-metric{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;flex:1;padding:12px}.pd-metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.68rem;display:block}.pd-metric-value{color:var(--text-primary);font-size:1.1rem;font-weight:600}.pd-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pd-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .15s}.pd-btn.restart{color:var(--accent);background:#3b82f626}.pd-btn.restart:hover{background:#3b82f640}.pd-btn.stop{color:var(--danger);background:#ef444426}.pd-btn.stop:hover{background:#ef444440}.pd-btn.start{color:var(--success);background:#22c55e26}.pd-btn.start:hover{background:#22c55e40}.pd-btn.backup{color:var(--warning);background:#f59e0b26}.pd-btn.backup:hover{background:#f59e0b40}.pd-btn.delete{color:var(--danger);background:#ef44441a}.pd-btn.delete:hover{background:#ef444433}.pd-btn:disabled{opacity:.5;cursor:not-allowed}.pd-feedback{border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 14px;font-size:.8rem}.pd-feedback.ok{color:var(--success);background:#22c55e1a}.pd-feedback.err{color:var(--danger);background:#ef44441a}.pd-tabs{border-bottom:1px solid var(--border-color);gap:0;margin-bottom:0;display:flex}.pd-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:.82rem;transition:all .15s}.pd-tab:hover{color:var(--text-primary)}.pd-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.pd-tab-content{min-height:200px}.pd-logs{padding:0}.pd-logs-toolbar{padding:8px 0}.pd-logs-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;max-height:400px;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;overflow:auto}.pd-nginx-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:8px;padding:12px}.pd-nginx-row{color:var(--text-primary);gap:10px;margin-bottom:4px;font-size:.82rem;display:flex}.pd-nginx-label{color:var(--text-secondary);min-width:60px}.pd-table{border-collapse:collapse;width:100%;margin-top:8px}.pd-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:8px 12px;font-size:.72rem}.pd-table td{color:var(--text-primary);border-bottom:1px solid var(--border-color);padding:8px 12px;font-size:.82rem}.pd-table tr:hover td{background:var(--bg-hover)}.pd-empty{color:var(--text-secondary);padding:20px 0;font-size:.82rem}.pf-container{padding:0}.pf-toolbar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.pf-breadcrumbs{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.pf-sep{color:var(--text-secondary);margin:0 2px;font-size:.78rem}.pf-crumb{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:.8rem}.pf-crumb:hover{background:var(--bg-hover)}.pf-actions{gap:6px;display:flex}.pf-action-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:.78rem;transition:all .15s}.pf-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.pf-mkdir{gap:6px;padding:8px 0;display:flex}.pf-mkdir-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;padding:6px 10px;font-size:.82rem}.pf-mkdir-input:focus{border-color:var(--accent)}.pf-mkdir-btn{border-radius:var(--radius-sm);cursor:pointer;background:var(--accent);color:#fff;border:none;padding:6px 12px;font-size:.78rem}.pf-mkdir-btn.cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.pf-feedback{border-radius:var(--radius-sm);cursor:pointer;margin:6px 0;padding:6px 12px;font-size:.78rem}.pf-feedback.ok{color:var(--success);background:#22c55e1a}.pf-feedback.err{color:var(--danger);background:#ef44441a}.pf-split{gap:0;min-height:300px;display:flex}.pf-file-list{flex:1;width:100%}.pf-file-row{cursor:pointer;border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:7px 10px;transition:background .1s;display:flex}.pf-file-row:hover{background:var(--bg-hover)}.pf-file-row.active{background:var(--bg-tertiary)}.pf-file-icon{text-align:center;width:20px;font-size:.9rem}.pf-file-name{color:var(--text-primary);flex:1;font-size:.82rem}.pf-file-size{color:var(--text-secondary);font-size:.72rem}.pf-file-delete{color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:.75rem;transition:all .12s}.pf-file-row:hover .pf-file-delete{opacity:1}.pf-file-delete:hover{color:var(--danger);background:#ef444426}.pf-loading,.pf-empty{color:var(--text-secondary);text-align:center;padding:20px 12px;font-size:.82rem}.pf-preview{border-left:1px solid var(--border-color);flex-direction:column;width:50%;min-width:300px;display:flex}.pf-preview-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:500;display:flex}.pf-preview-size{color:var(--text-secondary);font-size:.72rem;font-weight:400}.pf-preview-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;margin-left:auto;padding:2px 6px}.pf-preview-close:hover{background:var(--bg-hover);color:var(--text-primary)}.pf-preview-content{color:var(--text-primary);background:var(--bg-secondary);white-space:pre-wrap;word-break:break-all;flex:1;margin:0;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;overflow:auto}.pf-preview-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.pf-edit-btn,.pf-save-btn,.pf-cancel-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:3px 10px;font-size:.75rem;font-weight:500;transition:all .15s}.pf-edit-btn{color:var(--accent);background:#3b82f626}.pf-edit-btn:hover{background:#3b82f640}.pf-save-btn{color:var(--success);background:#22c55e26}.pf-save-btn:hover{background:#22c55e40}.pf-save-btn:disabled{opacity:.5;cursor:not-allowed}.pf-cancel-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.pf-editor{width:100%;color:var(--text-primary);background:var(--bg-secondary);resize:none;border:none;outline:none;flex:1;min-height:300px;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5}.pd-deploy{padding:12px 0}.pd-deploy-buttons{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pd-deploy-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-secondary);color:var(--text-primary);padding:10px 18px;font-size:.82rem;font-weight:500;transition:all .15s}.pd-deploy-btn:hover{border-color:var(--accent);background:var(--bg-tertiary)}.pd-deploy-btn:disabled{opacity:.5;cursor:not-allowed}.pd-deploy-btn.npm-install{border-left:3px solid var(--accent)}.pd-deploy-btn.npm-build{border-left:3px solid var(--warning)}.pd-deploy-btn.git-pull{border-left:3px solid var(--success)}.pd-deploy-btn.pm2-restart{border-left:3px solid #a855f7}.pd-deploy-output{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;max-height:400px;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;overflow:auto}.pd-git{padding:12px 0}.pd-git-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:12px;padding:16px}.pd-git-row{align-items:center;gap:10px;margin-bottom:8px;font-size:.82rem;display:flex}.pd-git-row:last-child{margin-bottom:0}.pd-git-label{color:var(--text-secondary);min-width:100px;font-size:.78rem}.pd-git-value{color:var(--text-primary);font-family:monospace;font-size:.78rem}.pd-git-value.branch{color:var(--accent);background:#3b82f61a;border-radius:4px;padding:2px 8px}.pd-git-status{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);white-space:pre-wrap;margin-bottom:12px;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5}.pd-git-actions{gap:8px;display:flex}.pd-env{padding:12px 0}.pd-env-header{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.82rem;display:flex}.pd-env-editor{width:100%;min-height:250px;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);resize:vertical;outline:none;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.6}.pd-env-editor:focus{border-color:var(--accent)}.pd-terminal{padding:12px 0}.pd-term-info{color:var(--text-secondary);margin-bottom:10px;font-size:.78rem}.pd-term-info code{color:var(--accent);font-size:.75rem}.pd-term-output{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-height:200px;max-height:400px;margin-bottom:10px;overflow:auto}.pd-term-entry{border-bottom:1px solid var(--border-color);padding:8px 12px}.pd-term-cmd{color:var(--accent);margin-bottom:4px;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;font-weight:500}.pd-term-result{color:var(--text-primary);white-space:pre-wrap;word-break:break-all;margin:0;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.4}.pd-term-result.error{color:var(--danger)}.pd-term-input-row{align-items:center;gap:8px;display:flex}.pd-term-prompt{color:var(--accent);font-family:monospace;font-weight:600}.pd-term-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;padding:8px 12px;font-family:SF Mono,Fira Code,monospace;font-size:.82rem}.pd-term-input:focus{border-color:var(--accent)}.pd-disk{padding:12px 0}.pd-disk-total{color:var(--text-primary);margin-bottom:14px;font-size:.88rem}.pd-disk-total strong{color:var(--accent)}.pd-disk-list{flex-direction:column;gap:6px;display:flex}.pd-disk-item{align-items:center;gap:12px;display:flex}.pd-disk-bar-bg{background:var(--bg-tertiary);border-radius:4px;width:120px;height:8px;overflow:hidden}.pd-disk-bar{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.pd-disk-name{color:var(--text-primary);flex:1;font-family:monospace;font-size:.82rem}.pd-disk-size{color:var(--text-secondary);text-align:right;min-width:60px;font-size:.78rem}.pd-nginx-setup{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.pd-nginx-setup h4{color:var(--text-primary);margin:0 0 12px;font-size:.85rem}.pd-nginx-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pd-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;min-width:140px;padding:8px 12px;font-size:.82rem}.pd-input:focus{border-color:var(--accent)}.pd-btn-small{border-radius:var(--radius-sm);cursor:pointer;border:none;margin-left:auto;padding:3px 10px;font-size:.72rem;font-weight:500;transition:all .15s}.pd-btn-small.ssl{color:var(--success);background:#22c55e26}.pd-btn-small.ssl:hover{background:#22c55e40}.pd-btn-small:disabled{opacity:.5;cursor:not-allowed}.pd-loading{color:var(--text-secondary);text-align:center;padding:20px 0;font-size:.82rem}.proj-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.proj-modal{background:var(--bg-card,var(--bg-secondary));border:1px solid var(--border-color);border-radius:var(--radius-lg,12px);width:420px;max-width:90vw;padding:24px}.proj-modal-title{color:var(--text-primary);margin:0 0 20px;font-size:1.05rem;font-weight:600}.proj-modal-field{margin-bottom:14px}.proj-modal-field label{color:var(--text-secondary);margin-bottom:4px;font-size:.78rem;display:block}.proj-modal-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:8px 12px;font-size:.85rem}.proj-modal-input:focus{border-color:var(--accent)}.proj-modal-error{color:var(--danger);border-radius:var(--radius-sm);background:#ef44441a;margin-bottom:12px;padding:8px 12px;font-size:.78rem}.proj-modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.proj-modal-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 18px;font-size:.82rem;font-weight:500;transition:all .15s}.proj-modal-btn.cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.proj-modal-btn.create{background:var(--accent);color:#fff}.proj-modal-btn:disabled{opacity:.5;cursor:not-allowed}.proj-create-btn{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;margin-bottom:6px;padding:8px;font-size:.78rem;font-weight:500;transition:opacity .15s}.proj-create-btn:hover{opacity:.85}.proj-modal-desc{color:var(--text-secondary);margin-bottom:16px;font-size:.78rem;line-height:1.5}.proj-modal-hint{color:var(--text-secondary);opacity:.8;margin-top:4px;font-size:.7rem;line-height:1.4;display:block}.proj-modal-preview{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);margin-bottom:12px;padding:8px 12px;font-size:.78rem}.proj-modal-preview code{color:var(--accent);font-family:SF Mono,monospace}.proj-no-selection-hint{color:var(--text-secondary);max-width:300px;margin-top:8px;font-size:.75rem;line-height:1.5}.pd-tab-hint{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 12px;font-size:.75rem;line-height:1.5}.pd-empty-hint{color:var(--text-secondary);margin-top:6px;font-size:.72rem;line-height:1.5}.pd-empty-hint code{color:var(--accent);background:var(--bg-secondary);border-radius:3px;padding:1px 5px;font-size:.7rem}.pd-nginx-help{color:var(--text-secondary);margin-bottom:10px;font-size:.72rem;line-height:1.5}.pd-term-help{color:var(--text-secondary);margin-left:8px;font-size:.72rem}.pd-term-help code{color:var(--accent);font-size:.7rem}.pd-deploy-btn{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.pd-deploy-btn small{opacity:.7;font-size:.68rem;font-weight:400}.ai-chat-panel{z-index:200;background:#0a0a0a;border-left:1px solid #1e1e1e;flex-direction:column;width:380px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #00000080}.ai-chat-header{border-bottom:1px solid #1e1e1e;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ai-chat-title{color:#f0f0f0;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.ai-dot{background:#3b82f6;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #3b82f680}.ai-chat-close{color:#555;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.5rem;line-height:1}.ai-chat-close:hover{color:#f0f0f0}.ai-clear-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #1e1e1e;border-radius:6px;padding:4px 10px;font-size:.75rem;transition:all .15s}.ai-clear-btn:hover{color:#f0f0f0;border-color:#333}.ai-chat-messages{scrollbar-width:thin;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ai-msg{display:flex}.ai-msg.user{justify-content:flex-end}.ai-msg.ai{justify-content:flex-start}.ai-msg-bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:12px;max-width:85%;padding:10px 14px;font-size:.85rem;line-height:1.5}.ai-msg.user .ai-msg-bubble{color:#fff;background:#3b82f6;border-bottom-right-radius:4px}.ai-msg.ai .ai-msg-bubble{color:#d0d0d0;background:#141414;border:1px solid #1e1e1e;border-bottom-left-radius:4px}.ai-typing{align-items:center;gap:4px;padding:12px 18px;display:flex}.ai-typing span{background:#555;border-radius:50%;width:6px;height:6px;animation:1.2s infinite ai-bounce}.ai-typing span:nth-child(2){animation-delay:.15s}.ai-typing span:nth-child(3){animation-delay:.3s}@keyframes ai-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ai-chat-input-area{border-top:1px solid #1e1e1e;flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;display:flex}.ai-chat-input-area input{color:#f0f0f0;background:#000;border:1px solid #1e1e1e;border-radius:10px;outline:none;flex:1;padding:10px 14px;font-size:.85rem;transition:border-color .15s}.ai-chat-input-area input:focus{border-color:#3b82f6}.ai-send-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:opacity .15s;display:flex}.ai-send-btn:disabled{opacity:.3;cursor:not-allowed}.ai-send-btn:not(:disabled):hover{background:#2563eb}.ai-toggle-btn{color:#fff;cursor:pointer;z-index:150;background:#3b82f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;transition:transform .15s,background .15s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #3b82f666}.ai-toggle-btn:hover{background:#2563eb;transform:scale(1.05)}.cron-page{flex-direction:column;gap:20px;display:flex}.cron-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.cron-stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:14px;padding:16px 20px;display:flex}.cron-stat-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex}.cron-stat-icon.total{background:var(--accent-subtle)}.cron-stat-icon.active{background:var(--success-subtle)}.cron-stat-icon.paused{background:var(--warning-subtle)}.cron-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.cron-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:.72rem}.cron-add-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.cron-add-header{cursor:pointer;justify-content:space-between;align-items:center;padding:16px 20px;transition:background .15s;display:flex}.cron-add-header:hover{background:var(--bg-hover)}.cron-add-header-left{align-items:center;gap:10px;display:flex}.cron-add-header-icon{background:var(--accent-subtle);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex}.cron-add-header h3{color:var(--text-primary);font-size:.88rem;font-weight:600}.cron-add-header p{color:var(--text-secondary);margin-top:1px;font-size:.72rem}.cron-add-chevron{color:var(--text-secondary);font-size:.75rem;transition:transform .2s}.cron-add-chevron.open{transform:rotate(180deg)}.cron-add-body{border-top:1px solid var(--border-color);padding:0 20px 20px}.cron-steps{gap:0;margin:16px 0;display:flex}.cron-step{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);flex:1;align-items:center;gap:8px;padding:10px 14px;font-size:.75rem;transition:all .15s;display:flex}.cron-step:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.cron-step:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.cron-step:not(:first-child){border-left:none}.cron-step.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.cron-step.done{background:var(--success-subtle);color:var(--success);border-color:#22c55e4d}.cron-step-num{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:600;display:flex}.cron-step.active .cron-step-num{background:var(--accent);color:#fff}.cron-step.done .cron-step-num{background:var(--success);color:#fff}.cron-presets-section{margin-bottom:16px}.cron-presets-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.72rem;display:block}.cron-preset-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;display:grid}.cron-preset-chip{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;transition:all .15s;display:flex}.cron-preset-chip:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-subtle)}.cron-preset-chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.cron-preset-chip-icon{flex-shrink:0;font-size:.85rem}.cron-form-group{margin-bottom:14px}.cron-form-label{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.cron-form-label span{color:var(--text-secondary);font-size:.75rem;font-weight:500}.cron-help-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.72rem;transition:background .15s}.cron-help-toggle:hover{background:var(--accent-subtle)}.cron-input{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);padding:10px 14px;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:.85rem;transition:border-color .15s}.cron-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.cron-input::placeholder{color:var(--text-secondary);opacity:.5}.cron-help-panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-top:8px;margin-bottom:14px;padding:14px}.cron-help-panel p{color:var(--text-secondary);margin-bottom:10px;font-size:.75rem}.cron-help-panel code{color:var(--accent);background:var(--accent-subtle);border-radius:3px;padding:1px 6px;font-size:.75rem}.cron-help-grid{grid-template-columns:auto 1fr;gap:4px 16px;font-size:.75rem;display:grid}.cron-help-grid code{color:var(--accent);font-family:monospace}.cron-help-grid span{color:var(--text-secondary)}.cron-cmd-presets{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cron-cmd-chip{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:5px 10px;font-size:.72rem;transition:all .15s}.cron-cmd-chip:hover{border-color:var(--accent);color:var(--text-primary)}.cron-cmd-chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.cron-action-row{align-items:center;gap:12px;margin-top:16px;display:flex}.cron-submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:10px 24px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.cron-submit-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.cron-submit-btn:active{transform:translateY(0)}.cron-submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.cron-reset-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:10px 16px;font-size:.82rem;transition:all .15s}.cron-reset-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.cron-toast{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:.8rem;animation:.2s cronToastIn;display:flex}@keyframes cronToastIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cron-toast.ok{background:var(--success-subtle);color:var(--success);border:1px solid #22c55e33}.cron-toast.err{background:var(--danger-subtle);color:var(--danger);border:1px solid #ef444433}.cron-jobs-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.cron-jobs-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cron-jobs-header-left{align-items:center;gap:10px;display:flex}.cron-jobs-header-left h3{color:var(--text-primary);font-size:.88rem;font-weight:600}.cron-jobs-count{background:var(--accent-subtle);color:var(--accent);border-radius:10px;padding:2px 8px;font-size:.68rem;font-weight:600}.cron-refresh-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;transition:all .15s;display:flex}.cron-refresh-btn:hover{border-color:var(--accent);color:var(--accent)}.cron-refresh-btn:disabled{opacity:.5}.cron-refresh-btn.spinning svg{animation:.6s linear infinite cronSpin}@keyframes cronSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cron-loading{text-align:center;padding:40px 20px}.cron-loading-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite cronSpin}.cron-loading p{color:var(--text-secondary);font-size:.82rem}.cron-empty{text-align:center;padding:40px 20px}.cron-empty-icon{opacity:.4;margin-bottom:8px;font-size:2rem}.cron-empty p{color:var(--text-secondary);font-size:.82rem}.cron-empty-hint{color:var(--text-secondary);opacity:.6;margin-top:4px;font-size:.72rem}.cron-jobs-list{flex-direction:column;gap:8px;display:flex}.cron-job-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:14px;padding:14px 16px;transition:all .15s;display:flex}.cron-job-card:hover{border-color:#2a2a2a}.cron-job-card.disabled{opacity:.5}.cron-job-status{background:var(--success);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px #22c55e66}.cron-job-card.disabled .cron-job-status{background:var(--text-secondary);box-shadow:none}.cron-job-content{flex:1;min-width:0}.cron-job-top-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.cron-job-schedule-badge{background:var(--accent-subtle);color:var(--accent);white-space:nowrap;border-radius:4px;padding:3px 10px;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:.75rem;font-weight:500}.cron-job-desc{color:var(--text-secondary);font-size:.75rem}.cron-job-command{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:6px 10px;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:.78rem;overflow:hidden}.cron-job-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.cron-job-action-btn{cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:.85rem;transition:all .15s;display:flex}.cron-job-action-btn:hover{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.cron-job-action-btn.delete:hover{background:var(--danger-subtle);color:var(--danger);border-color:#ef44444d}.cron-job-action-btn.toggle:hover{background:var(--warning-subtle);color:var(--warning);border-color:#f59e0b4d}.cron-confirm-overlay{z-index:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;animation:.15s cronFadeIn;display:flex;position:fixed;inset:0}@keyframes cronFadeIn{0%{opacity:0}to{opacity:1}}.cron-confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:360px;max-width:440px;padding:24px;box-shadow:0 16px 48px #000c}.cron-confirm-dialog h4{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:600}.cron-confirm-dialog p{color:var(--text-secondary);margin-bottom:6px;font-size:.82rem;line-height:1.5}.cron-confirm-dialog code{color:var(--accent);background:var(--accent-subtle);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:100%;margin-top:4px;padding:2px 8px;font-size:.78rem;display:inline-block;overflow:hidden}.cron-confirm-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.cron-confirm-cancel{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;padding:8px 18px;font-size:.82rem;transition:all .15s}.cron-confirm-cancel:hover{color:var(--text-primary);border-color:var(--text-secondary)}.cron-confirm-delete{background:var(--danger);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 18px;font-size:.82rem;font-weight:500;transition:all .15s}.cron-confirm-delete:hover{opacity:.9}.backup-page{flex-direction:column;gap:20px;display:flex}.backup-create-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.backup-create-section h3{color:var(--text-primary);margin-bottom:4px;font-size:.88rem;font-weight:600}.backup-create-section>p{color:var(--text-secondary);margin-bottom:16px;font-size:.75rem}.backup-type-cards{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.backup-type-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:center;padding:16px;transition:all .15s}.backup-type-card:hover{border-color:#2a2a2a}.backup-type-card.selected{border-color:var(--accent);background:var(--accent-subtle)}.backup-type-icon{margin-bottom:8px;font-size:1.5rem}.backup-type-card h4{color:var(--text-primary);margin-bottom:4px;font-size:.82rem;font-weight:600}.backup-type-card p{color:var(--text-secondary);font-size:.7rem;line-height:1.4}.backup-type-card.selected h4{color:var(--accent)}.backup-start-row{align-items:center;gap:12px;display:flex}.backup-start-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 24px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.backup-start-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.backup-start-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.backup-progress{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.backup-progress-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite backupSpin}@keyframes backupSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.backup-toast{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:.8rem;animation:.2s backupToastIn;display:flex}@keyframes backupToastIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.backup-toast.ok{background:var(--success-subtle);color:var(--success);border:1px solid #22c55e33}.backup-toast.err{background:var(--danger-subtle);color:var(--danger);border:1px solid #ef444433}.backup-list-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.backup-list-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.backup-list-header-left{align-items:center;gap:10px;display:flex}.backup-list-header-left h3{color:var(--text-primary);font-size:.88rem;font-weight:600}.backup-count{background:var(--accent-subtle);color:var(--accent);border-radius:10px;padding:2px 8px;font-size:.68rem;font-weight:600}.backup-refresh-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;transition:all .15s;display:flex}.backup-refresh-btn:hover{border-color:var(--accent);color:var(--accent)}.backup-empty{text-align:center;padding:40px 20px}.backup-empty-icon{opacity:.4;margin-bottom:8px;font-size:2rem}.backup-empty p{color:var(--text-secondary);font-size:.82rem}.backup-empty-hint{color:var(--text-secondary);opacity:.6;margin-top:4px;font-size:.72rem}.backup-loading{text-align:center;padding:40px 20px}.backup-loading-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite backupSpin}.backup-loading p{color:var(--text-secondary);font-size:.82rem}.backup-items{flex-direction:column;gap:8px;display:flex}.backup-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s;display:flex}.backup-item:hover{border-color:#2a2a2a}.backup-item-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;display:flex}.backup-item-icon.files{background:var(--accent-subtle)}.backup-item-icon.mysql{background:var(--warning-subtle)}.backup-item-content{flex:1;min-width:0}.backup-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Menlo,monospace;font-size:.82rem;font-weight:500;overflow:hidden}.backup-item-meta{align-items:center;gap:12px;margin-top:4px;display:flex}.backup-item-date,.backup-item-size{color:var(--text-secondary);font-size:.72rem}.backup-item-type{text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:500}.backup-item-type.files{background:var(--accent-subtle);color:var(--accent)}.backup-item-type.mysql{background:var(--warning-subtle);color:var(--warning)}.backup-item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.backup-action-btn{cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:.85rem;transition:all .15s;display:flex}.backup-action-btn:hover{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.backup-action-btn.download:hover{background:var(--accent-subtle);color:var(--accent);border-color:#3b82f64d}.backup-action-btn.restore:hover{background:var(--success-subtle);color:var(--success);border-color:#22c55e4d}.backup-action-btn.delete:hover{background:var(--danger-subtle);color:var(--danger);border-color:#ef44444d}.backup-confirm-overlay{z-index:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;animation:.15s backupFadeIn;display:flex;position:fixed;inset:0}@keyframes backupFadeIn{0%{opacity:0}to{opacity:1}}.backup-confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:360px;max-width:440px;padding:24px;box-shadow:0 16px 48px #000c}.backup-confirm-dialog h4{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:600}.backup-confirm-dialog p{color:var(--text-secondary);margin-bottom:4px;font-size:.82rem;line-height:1.5}.backup-confirm-dialog .warn{color:var(--warning);margin-top:8px;font-size:.75rem}.backup-confirm-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.backup-confirm-cancel{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;padding:8px 18px;font-size:.82rem}.backup-confirm-ok{color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 18px;font-size:.82rem;font-weight:500}.backup-confirm-ok.danger{background:var(--danger)}.backup-confirm-ok.restore{background:var(--success)}.notifications-container{z-index:500;flex-direction:column;gap:8px;max-width:360px;display:flex;position:fixed;top:16px;right:16px}.notification{border-radius:10px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:.85rem;animation:.3s notif-slide-in;display:flex;box-shadow:0 4px 16px #0009}@keyframes notif-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.notification.warning{color:#fbbf24;background:#1a1400;border:1px solid #f59e0b4d}.notification.danger{color:#f87171;background:#1a0000;border:1px solid #ef44444d}.notif-content{flex-direction:column;flex:1;gap:2px;display:flex}.notif-content strong{font-size:.85rem}.notif-content span{opacity:.8;font-size:.78rem}.notif-dismiss{color:inherit;cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:1.2rem;line-height:1}.notif-dismiss:hover{opacity:1}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#141414;--bg-hover:#1a1a1a;--border-color:#1e1e1e;--text-primary:#f0f0f0;--text-secondary:#707070;--accent:#3b82f6;--accent-hover:#2563eb;--accent-subtle:#3b82f61a;--success:#22c55e;--success-subtle:#22c55e1a;--warning:#f59e0b;--warning-subtle:#f59e0b1a;--danger:#ef4444;--danger-subtle:#ef44441a;--sidebar-width-collapsed:64px;--sidebar-width-expanded:240px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}::selection{color:#fff;background:#3b82f64d}
