*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#07070f;--surface:#0d0d1a;--surface2:#121220;--surface3:#181828;--border:#9275fb1a;--border2:#9275fb38;--accent:#9275fb;--accent-dim:#9275fb24;--accent-glow:#9275fb59;--green:#31bd59;--green-dim:#31bd591f;--yellow:#facc15;--yellow-dim:#facc151f;--red:#e63946;--red-dim:#e639461f;--text:#f0f0f8;--text-muted:#6b6b8a;--text-dim:#9090b0;--r:10px;--r-sm:6px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:15px}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.btn{border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:7px;padding:9px 18px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#9275fb 0%,#b49dff 100%);border-color:#0000;box-shadow:0 2px 12px #9275fb59}.btn-primary:hover{opacity:.88;box-shadow:0 4px 20px #9275fb80}.btn-ghost{color:var(--text-dim);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface2);border-color:var(--border2);color:var(--text)}.page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.page-title{align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.count-badge{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb33;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:500}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex;position:sticky;top:0;box-shadow:0 1px #9275fb14}.topbar-brand{align-items:center;display:flex}.neox-logo-wrap{align-items:center;width:150px;height:44px;display:flex;position:relative}.neox-glow{pointer-events:none;z-index:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.neox-text{letter-spacing:-.5px;white-space:nowrap;z-index:1;font-family:Outfit,Inter,system-ui,sans-serif;font-size:26px;font-weight:900;line-height:1;position:absolute;top:50%;left:0;transform:translateY(-50%)}.neox-text-blur{z-index:0;opacity:.2;filter:blur(8px);pointer-events:none}.neox-text-main{z-index:1;text-shadow:0 2px 4px #0006}.neox-purple{color:#9275fb}.neox-white{color:#fff}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-divider{background:var(--border);flex-shrink:0;width:1px;height:22px;margin:0 2px}.downloads-badge{background:var(--accent-dim);color:var(--accent);border-radius:var(--r-sm);border:1px solid #9275fb38;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;animation:2s ease-in-out infinite pulse-badge;display:inline-flex}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.75}}.topbar-icon-btn{border:1px solid var(--border);border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.topbar-icon-btn:hover{border-color:var(--border2);color:var(--text);background:var(--surface2)}.topbar-icon-btn.logout:hover{color:var(--red);background:var(--red-dim);border-color:#e6394666}.status-selector{position:relative}.status-current{border-radius:var(--r-sm);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid;align-items:center;gap:7px;padding:6px 13px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.status-current:hover{filter:brightness(1.1)}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dropdown{background:var(--surface);border:1px solid var(--border2);z-index:200;border-radius:10px;min-width:160px;padding:4px;animation:.15s both dropdown-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #00000080,0 0 0 1px #9275fb0f}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.status-option{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.status-option:hover{background:var(--surface2);color:var(--text)}.status-option.active{font-weight:600}.status-option-check{opacity:.7;margin-left:auto;font-size:11px}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:220px;padding:20px 12px;display:flex}.nav-item{border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{background:var(--surface2);color:var(--text-dim)}.nav-item.active{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb2e}.news-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.news-card:hover{border-color:var(--border2);transform:translateY(-2px)}.card-img{object-fit:cover;width:100%;height:170px;display:block}.card-img-placeholder{background:var(--surface2);width:100%;height:170px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.card-body{flex-direction:column;flex:1;gap:8px;padding:18px;display:flex}.card-title{font-size:15px;font-weight:600;line-height:1.4}.card-content{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.card-date{color:var(--text-muted);opacity:.6;font-size:11px}.card-actions{border-top:1px solid var(--border);gap:8px;padding:14px 18px;display:flex}.card-btn{border-radius:var(--r-sm);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.card-btn.edit:hover{color:var(--accent);background:var(--accent-dim);border-color:#9275fb66}.card-btn.del:hover{color:var(--red);background:var(--red-dim);border-color:#e639464d}.cropper-container{-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;direction:ltr;font-size:0;line-height:0;position:relative}.cropper-container img{backface-visibility:hidden;image-orientation:0deg;width:100%;height:100%;display:block;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{position:absolute;inset:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{opacity:0;background-color:#fff}.cropper-modal{opacity:.5;background-color:#000}.cropper-view-box{outline:1px solid #3399ffbf;width:100%;height:100%;display:block;overflow:hidden}.cropper-dashed{opacity:.5;border:0 dashed #eee;display:block;position:absolute}.cropper-dashed.dashed-h{border-top-width:1px;border-bottom-width:1px;width:100%;height:33.3333%;top:33.3333%;left:0}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;width:33.3333%;height:100%;top:0;left:33.3333%}.cropper-center{opacity:.75;width:0;height:0;display:block;position:absolute;top:50%;left:50%}.cropper-center:before,.cropper-center:after{content:" ";background-color:#eee;display:block;position:absolute}.cropper-center:before{width:7px;height:1px;top:0;left:-3px}.cropper-center:after{width:1px;height:7px;top:-3px;left:0}.cropper-face,.cropper-line,.cropper-point{opacity:.1;width:100%;height:100%;display:block;position:absolute}.cropper-face{background-color:#fff;top:0;left:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;width:5px;top:0;right:-3px}.cropper-line.line-n{cursor:ns-resize;height:5px;top:-3px;left:0}.cropper-line.line-w{cursor:ew-resize;width:5px;top:0;left:-3px}.cropper-line.line-s{cursor:ns-resize;height:5px;bottom:-3px;left:0}.cropper-point{opacity:.75;background-color:#39f;width:5px;height:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;top:50%;right:-3px}.cropper-point.point-n{cursor:ns-resize;margin-left:-3px;top:-3px;left:50%}.cropper-point.point-w{cursor:ew-resize;margin-top:-3px;top:50%;left:-3px}.cropper-point.point-s{cursor:s-resize;margin-left:-3px;bottom:-3px;left:50%}.cropper-point.point-ne{cursor:nesw-resize;top:-3px;right:-3px}.cropper-point.point-nw{cursor:nwse-resize;top:-3px;left:-3px}.cropper-point.point-sw{cursor:nesw-resize;bottom:-3px;left:-3px}.cropper-point.point-se{cursor:nwse-resize;opacity:1;width:20px;height:20px;bottom:-3px;right:-3px}@media (width>=768px){.cropper-point.point-se{width:15px;height:15px}}@media (width>=992px){.cropper-point.point-se{width:10px;height:10px}}@media (width>=1200px){.cropper-point.point-se{opacity:.75;width:5px;height:5px}}.cropper-point.point-se:before{content:" ";opacity:0;background-color:#39f;width:200%;height:200%;display:block;position:absolute;bottom:-50%;right:-50%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{width:0;height:0;display:block;position:absolute}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.field input,.field textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:11px 14px;font-family:inherit;font-size:13px;transition:border-color .15s}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{border-color:var(--accent)}.upload-area{border:1px dashed var(--border2);border-radius:var(--r-sm);cursor:pointer;background:var(--surface2);flex-direction:column;justify-content:center;align-items:center;width:100%;height:180px;transition:all .15s;display:flex;position:relative;overflow:hidden}.upload-area:hover{border-color:var(--accent);background:var(--accent-dim)}.upload-area img.preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.upload-area .hint{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;font-size:13px;display:flex}.cropper-container{border-radius:var(--r-sm);background:#000;height:380px;overflow:hidden}.news-page{width:100%}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.empty-state{text-align:center;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r);grid-column:1/-1;padding:80px 0;font-size:14px}.analytics-page{width:100%}.analytics-summary{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);text-align:center;min-width:100px;padding:14px 20px;transition:border-color .2s}.summary-card.online{border-color:#9275fb40}.summary-card.suspicious{border-color:#facc1540}.summary-card.vm{border-color:#818cf840}.summary-val{letter-spacing:-1px;color:var(--text);font-size:26px;font-weight:700}.summary-card.online .summary-val{color:var(--accent)}.summary-card.suspicious .summary-val{color:#facc15}.summary-card.vm .summary-val{color:#818cf8}.summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:11px}.analytics-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.analytics-search-wrap{flex:1;min-width:200px;position:relative}.analytics-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.analytics-search{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:8px 12px 8px 32px;font-family:inherit;font-size:13px;transition:border-color .15s}.analytics-search:focus{border-color:var(--accent)}.analytics-filters{flex-wrap:wrap;gap:4px;display:flex}.analytics-filter-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:6px 14px;font-size:12px;transition:all .15s}.analytics-filter-btn:hover{border-color:var(--border2);color:var(--text)}.analytics-filter-btn.active{background:var(--accent-dim);color:var(--accent);border-color:#9275fb59}.analytics-table-wrap{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);overflow-x:auto}.analytics-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.analytics-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--surface2);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:500}.analytics-table td{vertical-align:middle;border-bottom:1px solid #ffffff08;padding:12px 14px}.analytics-row:hover td{background:#ffffff05}.analytics-row.row-suspicious td{background:#facc1506}.analytics-row.row-suspicious:hover td{background:#facc150d}.analytics-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.analytics-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.analytics-dot.online{background:var(--accent);box-shadow:0 0 5px var(--accent);animation:2s ease-in-out infinite pulse-online}.analytics-dot.offline{background:var(--text-muted)}.cell-primary{color:var(--text);font-size:13px}.cell-muted{color:var(--text-muted);font-size:12px}.cell-sub{color:var(--text-muted);opacity:.5;margin-top:2px;font-size:10px}.cell-mono{font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11.5px}.cell-tags{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.cell-tag{color:var(--text-muted);background:var(--surface3);border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;display:inline-flex}.cell-hw{flex-direction:column;gap:3px;display:flex}.cell-hw-item{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.cell-ip{color:var(--text-muted);align-items:center;gap:5px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;display:flex}.cell-launches{color:var(--text);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.cell-actions{gap:5px;display:flex}.action-btn{border-radius:var(--r-sm);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.action-btn:hover{border-color:var(--border2);color:var(--text);background:var(--surface2)}.action-btn.danger:hover{color:var(--red);background:var(--red-dim);border-color:#e6394666}.risk-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.risk-badge.risk-ok{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb33}.risk-badge.risk-med{color:#facc15;background:#facc151a;border:1px solid #facc1533}.risk-badge.risk-high{background:var(--red-dim);color:var(--red);border:1px solid #e6394633}.risk-score-bar{background:#ffffff12;border-radius:2px;width:60px;height:3px;margin-top:4px;overflow:hidden}.risk-score-fill{border-radius:2px;height:100%;transition:width .3s}.vm-badge{color:#818cf8;letter-spacing:.5px;background:#818cf826;border:1px solid #818cf840;border-radius:3px;margin-top:3px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.log-btn{border-radius:var(--r-sm);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:5px 10px;transition:all .15s;display:inline-flex}.log-btn:hover{border-color:var(--border2);color:var(--text);background:var(--surface2)}@keyframes spin{to{transform:rotate(360deg)}}.log-page{flex-direction:column;gap:16px;width:100%;display:flex}.lp-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.lp-header-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lp-header-actions{align-items:center;gap:8px;display:flex}.lp-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lp-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .3s}.lp-dot.online{background:var(--accent);box-shadow:0 0 6px var(--accent);animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.lp-vds-badge{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb4d;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.lp-profile{background:var(--surface);border:1px solid var(--border);border-radius:14px;animation:.3s both fade-up;overflow:hidden}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lp-profile-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;padding:20px 24px;display:flex}.lp-avatar{background:linear-gradient(135deg, var(--accent), #b49dff);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:800;display:flex;box-shadow:0 4px 16px #9275fb4d}.lp-profile-info{flex:1;min-width:0}.lp-profile-name{color:var(--text);letter-spacing:-.3px;font-size:18px;font-weight:700}.lp-profile-hwid{color:var(--text-muted);opacity:.6;margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.lp-profile-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.lp-online-badge{border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.lp-online-badge.online{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb40}.lp-online-badge.offline{color:var(--text-muted);border:1px solid var(--border);background:#ffffff0a}.lp-online-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.lp-vm-badge{color:#818cf8;letter-spacing:.5px;background:#818cf826;border:1px solid #818cf840;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.lp-risk{border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.lp-risk.ok{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb33}.lp-risk.med{color:#facc15;background:#facc151a;border:1px solid #facc1533}.lp-risk.high{background:var(--red-dim);color:var(--red);border:1px solid #e6394633}.lp-profile-stats{background:var(--surface2);border:1px solid var(--border);border-radius:10px;flex-shrink:0;align-items:center;gap:0;display:flex;overflow:hidden}.lp-stat{text-align:center;padding:10px 18px}.lp-stat-val{color:var(--text);letter-spacing:-.3px;white-space:nowrap;font-size:15px;font-weight:700}.lp-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:10px}.lp-stat-div{background:var(--border);flex-shrink:0;width:1px;height:36px}.lp-hw-grid{border-top:1px solid var(--border);flex-wrap:wrap;gap:0;padding:0;display:flex}.lp-hw-card{border-right:1px solid var(--border);flex:1;align-items:center;gap:8px;min-width:140px;padding:10px 18px;display:flex}.lp-hw-card:last-child{border-right:none}.lp-hw-icon{color:var(--text-muted);opacity:.6;flex-shrink:0}.lp-hw-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;min-width:44px;font-size:10px}.lp-hw-val{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.lp-hw-val.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.lp-log-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.lp-search-wrap{flex:1;align-items:center;min-width:160px;display:flex;position:relative}.lp-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.lp-search{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:6px 10px 6px 30px;font-family:inherit;font-size:12px;transition:border-color .15s}.lp-search:focus{border-color:var(--accent)}.lp-search-count{color:var(--text-muted);pointer-events:none;font-size:10px;position:absolute;right:8px}.lp-filters{flex-wrap:wrap;gap:4px;display:flex}.lp-filter-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:5px 12px;font-size:11px;transition:all .15s}.lp-filter-btn:hover{border-color:var(--border2);color:var(--text)}.lp-filter-btn.active{background:var(--accent-dim);color:var(--accent);border-color:#9275fb59}.lp-filter-btn.has-errors{color:var(--red);border-color:#e639464d}.lp-filter-btn.has-errors.active{background:var(--red-dim);border-color:#e6394666}.lp-error-nav{color:var(--red);background:var(--red-dim);border:1px solid #e6394633;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;display:flex}.lp-nav-btn{width:20px;height:20px;color:var(--red);cursor:pointer;background:0 0;border:1px solid #e639464d;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.lp-nav-btn:hover{background:#e6394626}.lp-line-count{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:11px}.log-pre{border:1px solid var(--border);border-radius:var(--r);scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;background:#03030a;min-height:300px;max-height:calc(100vh - 420px);padding:4px 0;font-family:JetBrains Mono,Fira Code,Cascadia Code,ui-monospace,monospace;font-size:12px;line-height:1.65;overflow:auto}.log-pre::-webkit-scrollbar{width:6px}.log-pre::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.log-line{border-left:2px solid #0000;padding:1px 0;transition:background .1s;display:flex}.log-line:hover{background:#ffffff08}.log-ln{color:#2a2a42;-webkit-user-select:none;user-select:none;text-align:right;border-right:1px solid #ffffff0a;flex-shrink:0;min-width:50px;margin-right:14px;padding:0 14px 0 10px;font-size:10.5px}.log-text{color:#b0b0cc;white-space:pre-wrap;word-break:break-all;flex:1;padding-right:16px}.log-line--error{border-left-color:var(--red);background:#e639460d}.log-line--error .log-text{color:#fb7185}.log-line--error .log-ln{color:#fb718566}.log-line--warn{background:#facc150a;border-left-color:#facc15}.log-line--warn .log-text{color:#facc15}.log-line--warn .log-ln{color:#facc1559}.log-line--selected{border-left-color:var(--accent);background:#9275fb0f}.log-line--selected .log-text{color:var(--accent);font-weight:700}.log-line--selected .log-ln{color:#9275fb66}.log-line--ok .log-text{color:#4ade80}.log-line--ok .log-ln{color:#4ade8059}.log-line--ping .log-text{color:#60a5fa}.log-line--ping .log-ln{color:#60a5fa4d}.log-line--launch .log-text{color:#fb923c}.log-line--launch .log-ln{color:#fb923c4d}.log-line--check .log-text{color:#a78bfa}.log-line--check .log-ln{color:#a78bfa4d}.log-line--download .log-text{color:#38bdf8}.log-line--download .log-ln{color:#38bdf84d}.log-line--update .log-text{color:#34d399}.log-line--update .log-ln{color:#34d3994d}.log-line--ts .log-text{color:#818cf8}.log-line--ts .log-ln{color:#818cf84d}.log-line--info .log-text{color:#94a3b8}.log-line--debug .log-text{color:#374151}.log-line--debug .log-ln{color:#1f2937}.log-line--separator .log-text{color:#2d2d4a;letter-spacing:1px;font-style:italic}.log-line--separator .log-ln{color:#1a1a2e}.log-empty{text-align:center;color:var(--text-muted);opacity:.5;padding:48px;display:block}.vds-page{width:100%}.vds-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.vds-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:14px;padding:22px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.vds-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.vds-card:hover:before{opacity:.6}.vds-card:hover{border-color:#9275fb40;transform:translateY(-3px);box-shadow:0 12px 40px #00000059,0 0 0 1px #9275fb14}.vds-card.offline{opacity:.75;border-color:#e6394640}.vds-card.offline:before{background:linear-gradient(90deg, transparent, var(--red), transparent);opacity:.4}.vds-card-header{align-items:center;gap:10px;display:flex}.vds-name{letter-spacing:-.3px;background:linear-gradient(135deg, #fff 0%, var(--text-dim) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex:1;font-size:18px;font-weight:700}.vds-role-badge{opacity:.9;letter-spacing:.3px;text-transform:uppercase;border:1px solid;border-radius:20px;flex-shrink:0;padding:3px 9px;font-size:10px;font-weight:700}.vds-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.vds-domain{color:var(--text-muted);margin-top:-8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.vds-charts{border:1px solid var(--border);background:#ffffff06;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.vds-chart-item{align-items:center;gap:10px;display:flex}.vds-chart-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;align-items:center;gap:5px;width:44px;font-size:11px;display:flex}.mini-bar-wrap{flex:1;align-items:center;gap:10px;display:flex}.mini-bar-track{background:#ffffff0f;border-radius:3px;flex:1;height:5px;overflow:hidden}.mini-bar-fill{border-radius:3px;height:100%;transition:width .6s;box-shadow:0 0 6px}.mini-bar-val{text-align:right;flex-shrink:0;width:40px;font-size:12px;font-weight:600}.vds-chart-unit{text-align:right;flex-shrink:0;width:38px;font-size:11px;font-weight:600}.vds-stats-row{border:1px solid var(--border);background:#ffffff06;border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.vds-stat{text-align:center;flex:1;padding:12px 8px}.vds-stat-val{color:var(--text);letter-spacing:-.5px;font-size:22px;font-weight:700;line-height:1}.vds-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-size:10px}.vds-stat-divider{background:var(--border);flex-shrink:0;width:1px}.vds-detail-btn{border:1px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12px;transition:all .2s;display:flex}.vds-detail-btn:hover{color:var(--accent);background:var(--accent-dim);border-color:#9275fb66;transform:translate(2px)}.vds-empty{color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r);flex-direction:column;align-items:center;gap:8px;padding:80px 0;font-size:15px;display:flex}.vds-empty-icon{color:var(--text-muted);justify-content:center;align-items:center;margin-bottom:8px;display:flex}.vds-empty-sub{opacity:.6;font-size:13px}.vds-unavail-modal{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex;max-width:380px!important;padding:40px 32px!important}.vds-unavail-emoji{font-size:48px}.vds-unavail-title{font-size:20px;font-weight:700}.vds-unavail-sub{color:var(--text-muted);margin-bottom:8px;font-size:13px}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:14px;width:580px;max-width:100%;max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 32px 64px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.modal-header h3{font-size:16px;font-weight:600}.close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;padding:4px;transition:all .15s;display:flex}.close-btn:hover{background:var(--surface2);color:var(--text)}.field{margin-bottom:18px}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px;font-size:12px;font-weight:500;display:block}.field input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:11px 14px;font-family:inherit;font-size:13px;transition:border-color .15s}.field input:focus{border-color:var(--accent)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.vds-detail{flex-direction:column;gap:20px;width:100%;display:flex}.vds-hero{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;animation:.25s both detail-enter;display:flex;position:relative;overflow:hidden}.vds-hero-glow{pointer-events:none;z-index:0;position:absolute;inset:0}.vds-hero-left{z-index:1;flex-wrap:wrap;align-items:center;gap:16px;display:flex}.vds-back-btn{flex-shrink:0}.vds-hero-icon{background:var(--surface2);border:1px solid;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;transition:box-shadow .3s;display:flex}.vds-hero-info{flex-direction:column;gap:6px;display:flex}.vds-hero-name{letter-spacing:-.5px;background:linear-gradient(135deg, #fff 0%, var(--text-dim) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800}.vds-hero-domain{color:var(--text-muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.vds-hero-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.vds-status-pill{border:1px solid;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.vds-status-pill-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.vds-hero-actions{z-index:1;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vds-confirm-row{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.vds-metrics-row{grid-template-columns:repeat(5,1fr);gap:12px;animation:.3s .1s both fade-up;display:grid}@media (width<=900px){.vds-metrics-row{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.vds-metrics-row{grid-template-columns:repeat(2,1fr)}}.vds-metric-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.vds-metric-card:hover{border-color:var(--border2);transform:translateY(-1px)}.vds-metric-val{letter-spacing:-1px;font-size:26px;font-weight:800;line-height:1}.vds-metric-bar{background:#ffffff0f;border-radius:2px;width:100%;height:3px;margin-top:4px;overflow:hidden}.vds-metric-bar-fill{border-radius:2px;height:100%;transition:width .6s}.vds-uptime-card{flex-direction:column;align-items:center;gap:10px;min-width:100px;animation:.4s .24s both donut-enter;display:flex}.vds-uptime-val{color:var(--text);letter-spacing:-.5px;text-align:center;font-size:20px;font-weight:700}.vds-uptime-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.vds-action-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.vds-action-btn:disabled{opacity:.45;cursor:not-allowed}.vds-action-btn.ghost{background:var(--surface2);border-color:var(--border);color:var(--text-muted)}.vds-action-btn.ghost:hover:not(:disabled){border-color:var(--border2);color:var(--text);background:var(--surface3)}.vds-action-btn.danger{color:var(--red);background:#e639461a;border-color:#e6394659}.vds-action-btn.danger:hover:not(:disabled){border-color:var(--red);background:#e639462e;box-shadow:0 0 12px #e6394633}.vds-action-btn.success{background:var(--accent-dim);color:var(--accent);border-color:#9275fb59}.vds-action-btn.success:hover:not(:disabled){border-color:var(--accent);background:#9275fb33;box-shadow:0 0 12px #9275fb40}.vds-detail-metrics{flex-wrap:wrap;gap:12px;display:flex}.vds-metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;flex:1;align-items:center;gap:6px;min-width:100px;padding:16px;transition:border-color .2s;display:flex}.vds-metric-card:hover{border-color:var(--border2)}.vds-metric-icon{opacity:.8}.vds-metric-val{letter-spacing:-.5px;font-size:24px;font-weight:700}.vds-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.vds-tabs{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:4px;padding:4px;animation:.3s .2s both fade-up;display:flex}.vds-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.vds-tab:hover{background:var(--surface2);color:var(--text-dim)}.vds-tab.active{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb33}.vds-tab-count{color:var(--text-muted);text-align:center;background:#ffffff14;border-radius:20px;min-width:22px;padding:1px 7px;font-size:11px}.vds-tab.active .vds-tab-count{color:var(--accent);background:#9275fb33}.vds-overview{flex-direction:column;gap:20px;display:flex}.vds-overview-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.vds-overview-title{color:var(--text-dim);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 18px;font-size:13px;font-weight:600;display:flex}.vds-launcher-row{border-bottom:1px solid #ffffff08;align-items:center;gap:14px;padding:12px 18px;transition:background .15s;display:flex}.vds-launcher-row:last-child{border-bottom:none}.vds-launcher-row:hover{background:#ffffff05}.vds-launcher-info{flex-direction:column;flex:1;gap:2px;display:flex}.vds-launcher-host{color:var(--text);font-size:13px;font-weight:600}.vds-launcher-os{color:var(--text-muted);font-size:11px}.vds-launcher-hw{color:var(--text-muted);text-align:right;flex-direction:column;gap:2px;font-size:11px;display:flex}.vds-launcher-time{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.vds-launchers-table-wrap{overflow-x:auto}.vds-no-data{text-align:center;color:var(--text-muted);padding:32px;font-size:13px;line-height:1.8}.vds-donuts{flex-wrap:wrap;justify-content:flex-start;gap:24px;padding:4px 0;animation:.3s .15s both fade-up;display:flex}.donut-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:12px;display:flex;position:relative}.donut-wrap svg{display:block}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;top:0;left:0}.donut-icon{opacity:.65;margin-bottom:2px}.donut-val{letter-spacing:-2px;font-size:34px;font-weight:800;line-height:1}.donut-sub{color:var(--text-muted);opacity:.65;letter-spacing:.2px;font-size:12px;line-height:1}.donut-label{color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.7px;font-size:11px;font-weight:600}.vds-remote-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-top:8px;padding:24px}.vds-remote-title{margin-bottom:8px;font-size:14px;font-weight:600}.vds-remote-sub{color:var(--text-muted);font-size:13px;line-height:1.8}.vds-remote-link{color:var(--accent);text-decoration:none}.vds-remote-link:hover{text-decoration:underline}.vds-uptime-row{background:var(--surface2);border-radius:var(--r-sm);color:var(--text-muted);align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.vds-uptime-label{opacity:.7}.vds-uptime-val{color:var(--text);font-weight:600}.vds-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;background:#000000bf;justify-content:center;align-items:center;padding:24px;animation:.15s vds-overlay-in;display:flex;position:fixed;inset:0}@keyframes vds-overlay-in{0%{opacity:0}to{opacity:1}}.vds-modal{background:var(--surface);border:1px solid var(--border2);border-radius:16px;width:720px;max-width:100%;max-height:88vh;padding:28px;animation:.18s vds-modal-in;overflow-y:auto;box-shadow:0 40px 80px #0009}@keyframes vds-modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.vds-detail-fullscreen{box-sizing:border-box;min-height:calc(100vh - 56px);padding:40px 44px}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.vds-page-enter{animation:.3s both page-enter}@keyframes detail-enter{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.vds-detail-enter{animation:.25s both detail-enter}@keyframes card-enter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.vds-card{animation:.35s both card-enter}@keyframes row-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.vds-launcher-row,.vds-table-row{animation:.25s both row-enter}@keyframes pulse-online{0%,to{box-shadow:0 0 4px var(--accent), 0 0 0 0 #9275fb66}50%{box-shadow:0 0 8px var(--accent), 0 0 0 5px #9275fb00}}.vds-status-dot--online{animation:2s ease-in-out infinite pulse-online}@keyframes donut-enter{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.donut-wrap{animation:.4s cubic-bezier(.34,1.56,.64,1) both donut-enter}.vds-donuts .donut-wrap:first-child{animation-delay:0s}.vds-donuts .donut-wrap:nth-child(2){animation-delay:60ms}.vds-donuts .donut-wrap:nth-child(3){animation-delay:.12s}.vds-donuts .donut-wrap:nth-child(4){animation-delay:.18s}.vds-donuts .donut-wrap:nth-child(5){animation-delay:.24s}.vds-detail-btn{transition:all .2s}.vds-detail-btn:hover{transform:translate(3px)}.vds-uptime-row{animation:.3s .2s both fade-up}.vds-tabs{animation:.3s .25s both fade-up}.vds-overview-section,.vds-launchers-table-wrap{animation:.3s .3s both fade-up}.vds-node-status-badge{letter-spacing:.3px;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600}.btn-danger{color:#e63946;border-radius:var(--r-sm);cursor:pointer;background:#e6394626;border:1px solid #e6394680;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.btn-danger:hover{background:#e6394640;border-color:#e63946}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{color:#e63946;border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #e6394666;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.btn-danger-outline:hover{background:#e639461a;border-color:#e63946}.btn-danger-outline:disabled{opacity:.4;cursor:not-allowed}.btn-success-outline{color:var(--accent);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #9275fb66;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.btn-success-outline:hover{background:var(--accent-dim);border-color:var(--accent)}.btn-success-outline:disabled{opacity:.4;cursor:not-allowed}.vds-toggle-btn{white-space:nowrap}.vds-log-viewer{border:1px solid var(--border);border-radius:var(--r);background:#07070f;flex-direction:column;min-height:420px;max-height:600px;animation:.3s .3s both fade-up;display:flex;overflow:hidden}.vds-log-toolbar{background:var(--surface2);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.vds-log-conn{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.vds-log-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .3s}.vds-log-dot.live{background:var(--accent);box-shadow:0 0 5px var(--accent);animation:2s ease-in-out infinite pulse-online}.vds-log-count{color:var(--text-muted);opacity:.6;font-size:11px}.vds-log-controls{align-items:center;gap:6px;display:flex}.vds-log-select{background:var(--surface3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);cursor:pointer;outline:none;padding:5px 9px;font-size:11px;transition:border-color .15s}.vds-log-select:hover{border-color:var(--border2)}.vds-log-btn{border:1px solid var(--border);border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.vds-log-btn:hover{border-color:var(--border2);color:var(--text)}.vds-log-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.vds-log-body{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex:1;padding:6px 0;font-family:JetBrains Mono,Fira Code,Cascadia Code,ui-monospace,monospace;overflow-y:auto}.vds-log-body::-webkit-scrollbar{width:5px}.vds-log-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.vds-log-empty{height:120px;color:var(--text-muted);opacity:.5;justify-content:center;align-items:center;font-family:inherit;font-size:12px;display:flex}.vds-log-line{border-left:2px solid #0000;align-items:baseline;gap:0;padding:2px 16px;font-size:12px;line-height:1.65;transition:background .1s;display:flex}.vds-log-line:hover{background:#ffffff06}.vds-log-line--error{border-left-color:var(--red);background:#e639460a}.vds-log-line--warn{background:#facc1508;border-left-color:#facc15}.vds-log-line--success{border-left-color:var(--accent)}.vds-log-time{color:#fff3;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:58px;margin-right:10px;font-size:10.5px}.vds-log-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;min-width:16px;margin-right:8px;display:flex}.vds-log-msg{word-break:break-word;white-space:pre-wrap;flex:1}.vds-log-progress{background:#ffffff12;border-radius:2px;flex-shrink:0;align-self:center;width:70px;height:3px;margin-left:10px;overflow:hidden}.vds-log-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.vds-overview-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;animation:.3s .3s both fade-up;display:grid}.vds-active-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;flex-direction:column;gap:10px;padding:16px;transition:border-color .2s;animation:.3s both card-enter;display:flex}.vds-active-card:hover{border-color:#9275fb4d}.vds-active-header{align-items:center;gap:10px;display:flex}.vds-active-avatar{background:linear-gradient(135deg, var(--accent), #b49dff);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:flex}.vds-active-info{flex:1;min-width:0}.vds-active-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.vds-active-os{color:var(--text-muted);margin-top:1px;font-size:11px}.vds-active-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 6px var(--accent);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite pulse-online}.vds-active-hw{flex-wrap:wrap;gap:6px;display:flex}.vds-active-hw-item{color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;display:inline-flex}.vds-active-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:8px;display:flex}.vds-active-ip,.vds-active-time{color:var(--text-muted);align-items:center;gap:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.vds-active-time{margin-left:auto}.vds-risk-mini{border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.vds-risk-mini.high{background:var(--red-dim);color:var(--red)}.vds-risk-mini.med{color:#facc15;background:#facc151a}.vds-launchers-wrap{flex-direction:column;gap:12px;animation:.3s .3s both fade-up;display:flex}.vds-launchers-toolbar{align-items:center;gap:10px;display:flex}.vds-launchers-search-wrap{flex:1;position:relative}.vds-launchers-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.vds-launchers-search{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:7px 12px 7px 30px;font-family:inherit;font-size:12px;transition:border-color .15s}.vds-launchers-search:focus{border-color:var(--accent)}.vds-launchers-count{color:var(--text-muted);white-space:nowrap;font-size:11px}.vds-launchers-table-wrap{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);overflow-x:auto}.analytics-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.analytics-table th.sortable:hover{color:var(--text)}.vds-tbl-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.vds-tbl-dot.online{background:var(--accent);box-shadow:0 0 5px var(--accent);animation:2s ease-in-out infinite pulse-online}.row-risky td{background:#e6394608}.row-risky:hover td{background:#e639460f}.vds-tbl-hw{color:var(--text-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.vds-tbl-hw span{align-items:center;gap:4px;display:flex}.vds-tbl-ip{align-items:center;gap:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.vds-risk-badge{border-radius:20px;align-items:center;gap:3px;margin-right:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.vds-risk-badge.ok{background:var(--accent-dim);color:var(--accent);border:1px solid #9275fb33}.vds-risk-badge.med{color:#facc15;background:#facc151a;border:1px solid #facc1533}.vds-risk-badge.high{background:var(--red-dim);color:var(--red);border:1px solid #e6394633}.vds-vm-badge{color:#818cf8;letter-spacing:.5px;background:#818cf826;border:1px solid #818cf840;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.console-page{background:var(--bg);flex-direction:column;height:calc(100vh - 60px);font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;display:flex}.console-header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.console-title{color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.console-conn-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .3s}.console-conn-dot.connected{background:var(--accent);box-shadow:0 0 6px var(--accent);animation:2s infinite pulse-dot}.console-count{color:var(--text-muted);font-size:11px;font-weight:400}.console-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.console-select{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;outline:none;padding:6px 10px;font-size:12px;transition:border-color .2s}.console-select:hover,.console-select:focus{border-color:#9275fb66}.console-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;transition:all .2s;display:flex}.console-btn:hover{color:var(--text);border-color:#ffffff4d}.console-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.console-nodes{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 20px;display:flex}.console-node-badge{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-family:inherit;font-size:11px;transition:all .2s;display:flex}.console-node-badge:hover{border-color:var(--node-color);color:var(--node-color)}.console-node-badge.active{border-color:var(--node-color);color:var(--node-color);background:color-mix(in srgb, var(--node-color) 12%, transparent)}.console-body{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;background:#0d0d12;flex:1;padding:8px 0;overflow-y:auto}.console-body::-webkit-scrollbar{width:6px}.console-body::-webkit-scrollbar-track{background:0 0}.console-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.console-empty{height:200px;color:var(--text-muted);opacity:.5;justify-content:center;align-items:center;font-size:13px;display:flex}.console-line{border-left:2px solid #0000;align-items:baseline;gap:0;padding:2px 20px;font-size:12.5px;line-height:1.6;transition:background .1s;display:flex}.console-line:hover{background:#ffffff08}.console-line--error{border-left-color:var(--red);background:#e639460a}.console-line--warn{background:#facc1508;border-left-color:#facc15}.console-line--success{border-left-color:var(--accent)}.console-time{color:#ffffff40;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:60px;margin-right:10px;font-size:11px}.console-node{text-overflow:ellipsis;white-space:nowrap;opacity:.85;flex-shrink:0;min-width:140px;max-width:140px;margin-right:8px;font-size:11px;overflow:hidden}.console-level-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;min-width:16px;margin-right:8px;display:flex}.console-msg{word-break:break-word;white-space:pre-wrap;flex:1}.console-progress{background:#ffffff14;border-radius:2px;flex-shrink:0;align-self:center;width:80px;height:3px;margin-left:10px;overflow:hidden}.console-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.manifest-page{width:100%}.manifest-nodes{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.manifest-node-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;flex:1;gap:6px;min-width:180px;padding:14px 16px;transition:border-color .2s;display:flex}.manifest-node-card.node-ok{border-color:#9275fb33}.manifest-node-card.node-error{border-color:#e6394640}.manifest-node-header{align-items:center;gap:8px;display:flex}.manifest-node-role{text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.manifest-node-domain{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.manifest-node-err{color:var(--red);opacity:.8;font-size:11px}.manifest-node-stats{color:var(--text-muted);gap:12px;font-size:11px;display:flex}.manifest-node-stats span{align-items:center;gap:4px;display:flex}.manifest-banner{border-radius:var(--r);border:1px solid;align-items:center;gap:10px;margin-bottom:20px;padding:12px 18px;font-size:13px;font-weight:500;display:flex}.manifest-banner.ok{color:var(--accent);background:#9275fb14;border-color:#9275fb40}.manifest-banner.warn{color:#facc15;background:#facc1512;border-color:#facc1540}.manifest-banner.error{color:var(--red);background:#e6394612;border-color:#e6394640}.manifest-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:80px 0;font-size:15px;display:flex}.manifest-empty-sub{opacity:.6;max-width:420px;font-size:13px;line-height:1.6}.manifest-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.manifest-search-wrap{flex:1;min-width:200px;position:relative}.manifest-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.manifest-search{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:8px 12px 8px 32px;font-family:inherit;font-size:13px;transition:border-color .15s}.manifest-search:focus{border-color:var(--accent)}.manifest-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:flex}.manifest-toggle input{accent-color:var(--accent);cursor:pointer}.manifest-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.manifest-table-wrap{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);overflow-x:auto}.manifest-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.manifest-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:var(--surface2);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600}.manifest-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.manifest-table th.sortable:hover{color:var(--text)}.manifest-row{cursor:pointer;transition:background .1s}.manifest-row:hover td{background:#ffffff06}.manifest-row.row-diff td{background:#facc1508}.manifest-row.row-diff:hover td{background:#facc150f}.manifest-row.row-expanded td{background:#9275fb0f}.manifest-table td{vertical-align:middle;border-bottom:1px solid #ffffff08;padding:10px 14px}.col-status{text-align:center;width:32px}.col-path{max-width:400px}.col-size{width:80px;color:var(--text-muted);white-space:nowrap}.col-hash{width:110px}.file-path{color:var(--text);word-break:break-all;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:12px}.hash-cell{white-space:nowrap;border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11px;display:inline-block}.hash-ok{color:var(--text-muted);background:0 0}.hash-bad{color:#facc15;background:#facc151a;border:1px solid #facc1533}.missing-cell{color:var(--red);background:#e6394614;border:1px solid #e6394633;font-family:inherit;font-size:10px}.no-data{color:var(--text-muted);opacity:.4}.sync-icon{flex-shrink:0}.sync-icon.ok{color:var(--accent)}.sync-icon.mismatch{color:#facc15}.sync-icon.missing{color:var(--red)}.manifest-row-detail td{border-bottom:1px solid var(--border);padding:0}.manifest-detail{background:#9275fb0a;border-top:1px solid #9275fb1a;padding:14px 18px 16px 46px}.manifest-detail-path{color:var(--text-muted);word-break:break-all;margin-bottom:10px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11px}.manifest-detail-hashes{flex-direction:column;gap:6px;display:flex}.manifest-detail-row{border-radius:var(--r-sm);background:var(--surface2);align-items:center;gap:12px;padding:6px 10px;display:flex}.manifest-detail-row.detail-mismatch{background:#facc150f;border:1px solid #facc1526}.detail-node{text-transform:uppercase;letter-spacing:.4px;min-width:70px;font-size:11px;font-weight:700}.detail-domain{color:var(--text-muted);min-width:160px;font-size:11px}.detail-hash{word-break:break-all;flex:1;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11px}.detail-hash.hash-ok{color:var(--text-dim)}.detail-hash.hash-bad{color:#facc15;font-weight:600}.detail-hash.hash-missing{color:var(--red);font-weight:600}.manifest-no-results{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.count-badge.badge-ok{color:var(--accent);background:#9275fb1f;border-color:#9275fb33}.count-badge.badge-warn{color:#facc15;background:#facc151a;border:1px solid #facc1533}.spin{animation:.8s linear infinite spin}.manifest-cache-label{color:var(--text-muted);opacity:.7;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.toast{background:var(--surface);border:1px solid var(--border2);border-radius:var(--r);z-index:300;align-items:center;gap:9px;padding:12px 18px;font-size:13px;font-weight:500;animation:.25s forwards slideUp;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #0006}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast.success{color:var(--accent);border-color:#9275fb59}.toast.error{color:var(--red);border-color:#e639464d}
