:root{--bg:#000;--bg-elev-1:#0a0a0a;--bg-elev-2:#141414;--bg-elev-3:#1c1c1c;--surface-glass:#0c0c0cc7;--border:#1f1f1f;--border-strong:#2e2e2e;--border-accent:#00ffff59;--text:#fff;--text-muted:#b3b3b3;--text-dim:grey;--text-faint:#4d4d4d;--accent:#0ff;--accent-bright:#0ff;--accent-dim:#00ffff29;--accent-dark:#0aa;--success:#0f8;--success-dim:#00ff8824;--warn:#0aa;--warn-dim:#00aaaa2e;--danger:#f44;--danger-dim:#ff44441f;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:6px;--r-md:10px;--r-lg:14px;--shadow-2:0 4px 12px #00000080;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tap:44px}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;color:#fff;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--font-sans);font-size:14px;height:100%;line-height:1.5;text-rendering:optimizeLegibility}body,html{background:#000;background:var(--bg)}body{overflow:hidden;overscroll-behavior:none}button,input,select,textarea{color:inherit;font-family:inherit;font-size:inherit;outline:none}button{background:none;border:none;cursor:pointer}.muted{color:grey;color:var(--text-dim)}.mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono)}.btn{align-items:center;background:#141414;background:var(--bg-elev-2);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:6px;border-radius:var(--r-sm);color:#fff;color:var(--text);display:inline-flex;font-size:.78rem;font-weight:500;gap:8px;gap:var(--sp-2);justify-content:center;line-height:1;min-height:34px;padding:8px 12px;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover:not(:disabled){background:#1c1c1c;background:var(--bg-elev-3);border-color:#2e2e2e;border-color:var(--border-strong)}.btn.sm{font-size:.72rem;min-height:28px;padding:6px 10px}.btn.icon{height:32px;min-height:32px;padding:0;width:32px}.btn.primary{background:#0ff;background:var(--accent);border-color:#0ff;border-color:var(--accent);color:#001619;font-weight:600}.btn.primary:hover:not(:disabled){background:#0ff;background:var(--accent-bright);border-color:#0ff;border-color:var(--accent-bright)}.btn.danger{background:#ff44441f;background:var(--danger-dim);border-color:#ff44444d;color:#f44;color:var(--danger)}.btn.danger:hover:not(:disabled){background:#ff444438}.btn.ghost{background:#0000;border-color:#0000;color:#b3b3b3;color:var(--text-muted)}.btn.ghost:hover:not(:disabled){background:#141414;background:var(--bg-elev-2);color:#fff;color:var(--text)}.btn.active{background:#00ffff29;background:var(--accent-dim);border-color:#00ffff59;border-color:var(--border-accent);color:#0ff;color:var(--accent)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;gap:var(--sp-2)}.login-wrap{justify-content:center;min-height:100vh;padding:24px;padding:var(--sp-6);padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--sp-6) + var(--safe-bottom));padding-top:calc(24px + env(safe-area-inset-top, 0px));padding-top:calc(var(--sp-6) + var(--safe-top))}.login-box,.login-wrap{align-items:center;display:flex}.login-box{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#0c0c0cc7;background:var(--surface-glass);border:1px solid #2e2e2e;border:1px solid var(--border-strong);border-radius:14px;border-radius:var(--r-lg);box-shadow:0 4px 12px #00000080;box-shadow:var(--shadow-2);flex-direction:column;gap:16px;gap:var(--sp-4);max-width:380px;padding:32px 24px;padding:var(--sp-8) var(--sp-6);width:100%}.login-title{background:linear-gradient(180deg,#fff 30%,#b3b3b3);background:linear-gradient(180deg,var(--text) 30%,var(--text-muted));-webkit-background-clip:text;background-clip:text;color:#0000;font-size:1.15rem;font-weight:700;letter-spacing:5px;text-align:center}.login-sub{color:grey;color:var(--text-dim);font-size:.7rem;letter-spacing:2.5px;margin-top:-8px;text-transform:uppercase}.login-input{background:#0a0a0a;background:var(--bg-elev-1);border:1px solid #2e2e2e;border:1px solid var(--border-strong);border-radius:6px;border-radius:var(--r-sm);color:#fff;color:var(--text);font-size:16px;min-height:44px;padding:12px 14px;transition:border-color .12s;width:100%}.login-input:focus{border-color:#0ff;border-color:var(--accent)}.login-btn{background:#0ff;background:var(--accent);border:none;border-radius:6px;border-radius:var(--r-sm);color:#001619;font-size:.85rem;font-weight:700;letter-spacing:1.5px;min-height:44px;padding:12px;transition:background .12s;width:100%}.login-btn:hover{background:#0ff;background:var(--accent-bright)}.login-err{color:#f44;color:var(--danger);font-size:.78rem}.dash{display:flex;flex-direction:column;height:100dvh;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0);padding-bottom:var(--safe-bottom);padding-top:env(safe-area-inset-top,0);padding-top:var(--safe-top)}.header{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0a0a0eb3;border-bottom:1px solid #1f1f1f;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 20px;padding:var(--sp-3) var(--sp-5);z-index:5}.brand-wrap{align-items:baseline;display:flex;gap:8px;gap:var(--sp-2);min-width:0}.brand{color:#fff;color:var(--text);font-size:.95rem;font-weight:900;letter-spacing:3px}.brand,.brand-sub{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono)}.brand-sub{color:grey;color:var(--text-dim);font-size:.65rem;letter-spacing:1px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:12px;gap:var(--sp-3)}.host-name{color:#b3b3b3;color:var(--text-muted);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:.72rem}.status-pill{align-items:center;background:#00ff8824;background:var(--success-dim);border:1px solid #00ff884d;border-radius:999px;color:#0f8;color:var(--success);display:inline-flex;font-size:.7rem;font-weight:600;gap:6px;letter-spacing:.5px;padding:4px 10px}.status-pill:before{animation:pulse 2s infinite;background:currentColor;border-radius:50%;box-shadow:0 0 6px currentColor;content:"";height:6px;width:6px}.status-pill.offline{background:#ff44441f;background:var(--danger-dim);border-color:#ff44444d;color:#f44;color:var(--danger)}.status-pill.offline:before{animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.grid{grid-gap:12px;grid-gap:var(--sp-3);display:grid;flex:1 1;grid-template-columns:1.05fr .95fr 1.1fr .9fr;overflow:hidden;padding:12px;padding:var(--sp-3)}.grid,.panel{gap:12px;gap:var(--sp-3);min-height:0}.panel{-webkit-overflow-scrolling:touch;background:#0a0a0a;background:var(--bg-elev-1);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);display:flex;flex-direction:column;overflow-y:auto;padding:16px;padding:var(--sp-4);position:relative}.panel-head{align-items:center;border-bottom:1px solid #1f1f1f;border-bottom:1px solid var(--border);color:#b3b3b3;color:var(--text-muted);display:flex;flex-shrink:0;font-size:.7rem;justify-content:space-between;letter-spacing:1.5px;padding-bottom:8px;padding-bottom:var(--sp-2)}.panel-head,.panel-section{font-weight:600;text-transform:uppercase}.panel-section{color:#4d4d4d;color:var(--text-faint);font-size:.62rem;letter-spacing:1px;margin-top:12px;margin-top:var(--sp-3)}.gauge-grid{grid-gap:12px;grid-gap:var(--sp-3);display:grid;gap:12px;gap:var(--sp-3);grid-template-columns:1fr 1fr}.gauge{align-items:center;background:#141414;background:var(--bg-elev-2);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:4px;gap:var(--sp-1);padding:12px 8px;padding:var(--sp-3) var(--sp-2)}.gauge>svg{height:64px;width:64px}.gauge .gauge-track{stroke:#1c1c1c;stroke:var(--bg-elev-3)}.gauge .gauge-fill{stroke:#0ff;stroke:var(--accent);transition:stroke-dasharray .6s ease,stroke .2s}.gauge.warn .gauge-fill{stroke:#0aa;stroke:var(--warn)}.gauge.danger .gauge-fill{stroke:#f44;stroke:var(--danger)}.gauge .gauge-text{fill:#fff;fill:var(--text);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:15px;font-weight:600}.gauge .gauge-text.with-temp{font-size:13px}.gauge .gauge-label{color:#b3b3b3;color:var(--text-muted);font-size:.65rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.gauge .gauge-sub{color:grey;color:var(--text-dim);font-size:.65rem}.gauge .gauge-sub,.gauge-temp-text{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono)}.gauge-temp-text{fill:grey;fill:var(--text-dim);font-size:11px;font-weight:500}.gauge-temp-text.warm{fill:#0aa;fill:var(--warn)}.gauge-temp-text.hot{fill:#f44;fill:var(--danger)}.sys-banner{align-items:center;background:#141414;background:var(--bg-elev-2);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;flex-wrap:wrap;gap:16px;gap:var(--sp-4);padding:12px;padding:var(--sp-3) var(--sp-3)}.sys-banner-item{align-items:center;display:inline-flex;font-size:.72rem;gap:8px}.sys-banner-item svg{color:#4d4d4d;color:var(--text-faint);flex-shrink:0}.sys-banner-item .k{color:#4d4d4d;color:var(--text-faint);font-size:.62rem;letter-spacing:.5px;text-transform:uppercase}.sys-banner-item .v{color:#fff;color:var(--text);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:.74rem;font-weight:500}.sparkline-row{grid-gap:12px;grid-gap:var(--sp-3);display:grid;gap:12px;gap:var(--sp-3);grid-template-columns:1fr 1fr}.sparkline-card{background:#141414;background:var(--bg-elev-2);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:4px;padding:12px;padding:var(--sp-3)}.sparkline-card-head{color:#b3b3b3;color:var(--text-muted);display:flex;flex-direction:column;font-size:.6rem;gap:2px;letter-spacing:.5px;text-transform:uppercase}.sparkline-card-val{color:#fff;color:var(--text);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.sparkline-card svg{display:block;height:32px;width:100%}.sparkline-fill{fill:#00ffff29;fill:var(--accent-dim);stroke:none}.sparkline-line{stroke:#0ff;stroke:var(--accent);stroke-width:1.5;fill:none;stroke-linejoin:round;stroke-linecap:round}.spark-legend{color:grey;color:var(--text-dim);display:flex;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:.62rem;gap:12px;gap:var(--sp-3);margin-top:2px}.spark-legend .dot{border-radius:50%;display:inline-block;height:6px;margin-right:4px;width:6px}.stat-list{display:flex;flex-direction:column}.stat-row{align-items:center;display:flex;font-size:.78rem;justify-content:space-between;padding:6px 0}.stat-row+.stat-row{border-top:1px solid #1f1f1f;border-top:1px solid var(--border)}.stat-label{color:#b3b3b3;color:var(--text-muted);font-weight:500}.stat-val{color:#fff;color:var(--text);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:.74rem;text-align:right}.stat-val.warn{color:#0aa;color:var(--warn)}.stat-val.danger{color:#f44;color:var(--danger)}.svc-list{display:flex;flex-direction:column;gap:8px;gap:var(--sp-2)}.svc-card{align-items:center;background:#141414;background:var(--bg-elev-2);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;gap:12px;gap:var(--sp-3);padding:12px;padding:var(--sp-3);transition:border-color .12s}.svc-card:hover{border-color:#2e2e2e;border-color:var(--border-strong)}.svc-dot{animation:pulse 2s infinite;background:#0f8;background:var(--success);border-radius:50%;box-shadow:0 0 6px #0f8;box-shadow:0 0 6px var(--success);flex-shrink:0;height:8px;width:8px}.svc-dot.off{animation:none;background:#4d4d4d;background:var(--text-faint);box-shadow:none}.svc-info{flex:1 1;min-width:0}.svc-name{color:#fff;color:var(--text);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svc-meta{color:grey;color:var(--text-dim);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:.7rem;margin-top:2px}.toast-stack{bottom:calc(20px + env(safe-area-inset-bottom, 0px));bottom:calc(var(--sp-5) + var(--safe-bottom));display:flex;flex-direction:column;gap:8px;gap:var(--sp-2);max-width:min(360px,calc(100vw - 32px));max-width:min(360px,calc(100vw - var(--sp-8)));pointer-events:none;position:fixed;right:20px;right:var(--sp-5);z-index:1000}.toast{animation:toastIn .2s ease-out;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#0c0c0cc7;background:var(--surface-glass);border:1px solid #2e2e2e;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--r-md);box-shadow:0 4px 12px #00000080;box-shadow:var(--shadow-2);color:#fff;color:var(--text);font-size:.8rem;padding:12px 16px;padding:var(--sp-3) var(--sp-4);pointer-events:auto}.toast.success{border-left:3px solid #0f8;border-left:3px solid var(--success)}.toast.warn{border-left:3px solid #0aa;border-left:3px solid var(--warn)}.toast.danger{border-left:3px solid #f44;border-left:3px solid var(--danger)}.toast.info{border-left:3px solid #0ff;border-left:3px solid var(--accent)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.log-box{background:#000;background:var(--bg);border:1px solid #1f1f1f;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);color:#b3b3b3;color:var(--text-muted);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono);font-size:.7rem;line-height:1.5;max-height:280px;overflow-y:auto;padding:12px;padding:var(--sp-3);white-space:pre-wrap;word-break:break-all}.proc-header{border-bottom:1px solid #1f1f1f;border-bottom:1px solid var(--border);color:#4d4d4d;color:var(--text-faint);font-size:.62rem;font-weight:600;letter-spacing:1px;padding:6px 10px;text-transform:uppercase}.proc-header,.proc-row{align-items:center;display:flex}.proc-row{border-radius:6px;border-radius:var(--r-sm);font-size:.78rem;gap:8px;gap:var(--sp-2);padding:7px 10px;transition:background .1s}.proc-row:hover{background:#141414;background:var(--bg-elev-2)}.proc-name{color:#fff;color:var(--text);flex:1 1;font-size:.76rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-mem,.proc-name{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-family:var(--font-mono)}.proc-mem{color:#b3b3b3;color:var(--text-muted);font-size:.72rem;min-width:70px;text-align:right}.skeleton{animation:skeleton 1.4s infinite;background:linear-gradient(90deg,#141414 25%,#1c1c1c 50%,#141414 75%);background:linear-gradient(90deg,var(--bg-elev-2) 25%,var(--bg-elev-3) 50%,var(--bg-elev-2) 75%);background-size:200% 100%;border-radius:6px;border-radius:var(--r-sm)}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{height:14px;margin:8px 0}.skeleton-gauge{border-radius:50%;height:64px;width:64px}.bottom-tabs{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#0c0c0cc7;background:var(--surface-glass);border-top:1px solid #2e2e2e;border-top:1px solid var(--border-strong);bottom:0;display:none;justify-content:space-around;left:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom, 0px));padding:6px var(--sp-2) calc(6px + var(--safe-bottom));position:fixed;right:0;z-index:50}.bottom-tab{align-items:center;border-radius:6px;color:grey;color:var(--text-dim);display:flex;flex:1 1;flex-direction:column;font-size:.62rem;font-weight:500;gap:2px;justify-content:center;min-height:44px;min-height:var(--tap);padding:4px;transition:color .12s}.bottom-tab.active{color:#0ff;color:var(--accent)}.bottom-tab svg{height:20px;width:20px}.loading{align-items:center;color:#4d4d4d;color:var(--text-faint);display:flex;font-size:.85rem;height:100vh;justify-content:center}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#1c1c1c;background:var(--bg-elev-3);background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4d4d4d;background:var(--text-faint);background-clip:padding-box;border:2px solid #0000}@media (max-width:1100px) and (min-width:701px){.grid{gap:8px;gap:var(--sp-2);grid-template-columns:1fr 1fr}.dash,body{height:auto;min-height:100dvh;overflow:auto}.panel{max-height:65vh}}@media (max-width:700px){body,html{font-size:15px}.dash,body{height:auto;min-height:100dvh;overflow:auto}body{background:#000;background:var(--bg)}.header{padding:12px 16px;padding:var(--sp-3) var(--sp-4);position:sticky;top:0;z-index:10}.brand{font-size:.95rem;letter-spacing:3px}.grid{gap:12px;gap:var(--sp-3);grid-template-columns:1fr;overflow:visible;padding:12px;padding:var(--sp-3);padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(76px + var(--safe-bottom))}.panel{display:none;max-height:none;overflow-y:visible}.panel.mobile-active{display:flex}.stat-row{font-size:.85rem}.stat-val{font-size:.78rem}.btn{font-size:.82rem;min-height:40px;padding:10px 12px}.btn.sm{font-size:.76rem;min-height:34px;padding:8px 10px}.svc-card{padding:12px;padding:var(--sp-3)}.svc-name{font-size:.9rem}.svc-meta{font-size:.78rem}.gauge>svg{height:72px;width:72px}.bottom-tabs{display:flex}.toast-stack{bottom:calc(80px + env(safe-area-inset-bottom, 0px));bottom:calc(80px + var(--safe-bottom));left:12px;left:var(--sp-3);right:12px;right:var(--sp-3)}}@media (max-width:380px){.header-right{gap:8px;gap:var(--sp-2)}.gauge-grid{grid-template-columns:1fr}.gauge>svg{height:80px;width:80px}}@media (max-width:900px) and (orientation:landscape){.grid{grid-template-columns:1fr 1fr}}
/*# sourceMappingURL=main.ca9b79cd.css.map*/