@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_522195d6-module__qyNnGa__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_522195d6-module__qyNnGa__variable{--font-sans:"Outfit", "Outfit Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg-base:#111318;--bg-sidebar:#0c0f14;--bg-topbar:#080a0e;--bg-panel:#161b24;--bg-card:#1c2130;--bg-hover:#1f2535;--bg-selected:#f59e0b1a;--border:#222b3a;--border-light:#2a3650;--accent:#f59e0b;--accent-bright:#fbbf24;--accent-dim:#f59e0b1f;--panel-title:#fbbf24;--text-primary:#f1f5f9;--text-muted:#94a3b8;--text-dim:#48556a;--status-ok:#22c55e;--status-warn:#f97316;--status-err:#ef4444;--status-blue:#60a5fa;--status-purple:#a78bfa;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--border-topbar:var(--bg-topbar);--selected-text:#fbbf24;--selected-text-icon:#f59e0b}[data-theme=light]{--bg-base:#f1f5f9;--bg-sidebar:#e8edf5;--bg-topbar:#080a0e;--bg-panel:#fff;--bg-card:#f8fafc;--bg-hover:#eef2f8;--bg-selected:#b4530914;--border:#e2e8f0;--border-light:#cbd5e1;--accent:#d97706;--accent-bright:#b45309;--accent-dim:#d977061a;--panel-title:#b45309;--text-primary:#0f172a;--text-muted:#475569;--text-dim:#94a3b8;--status-ok:#16a34a;--status-warn:#ea580c;--status-err:#dc2626;--status-blue:#2563eb;--status-purple:#7c3aed;--selected-text:#92400e;--selected-text-icon:#d97706}[data-theme=light] ::-webkit-scrollbar-track{background:var(--bg-card)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c4d0e4}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#a8bcd8}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans,"Outfit"), system-ui, -apple-system, sans-serif;height:100vh;font-size:13px;font-weight:400;line-height:1.5;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-topbar)}::-webkit-scrollbar-thumb{background:#2a3650;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a4a68}.ops-col-devices{flex-shrink:0;width:200px}.ops-col-objects{flex-shrink:0;width:220px}.ops-content{flex:1;min-width:0}@media (max-width:1280px){.ops-col-devices{width:164px}.ops-col-objects{width:184px}}@media (max-width:1024px){.ops-col-devices{width:132px}.ops-col-objects{width:150px}body{font-size:12px}}@media (max-width:820px){.ops-col-devices{width:108px}.ops-col-objects{width:124px}}.data-table{min-width:max-content}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot-online{background:var(--status-ok);box-shadow:0 0 6px #22c55e80}.dot-training{background:var(--status-warn);animation:1.2s ease-in-out infinite blink}.dot-inference{background:var(--status-purple);animation:1.5s ease-in-out infinite blink}.dot-alert{background:var(--status-err);animation:.8s ease-in-out infinite blink}.dot-offline{background:#2a3040}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;padding:12px 14px}.panel-title{color:var(--text-muted);border-left:2px solid var(--accent);letter-spacing:.01em;text-transform:none;border-bottom:none;margin-bottom:12px;padding:0 0 0 9px;font-size:11px;font-weight:600;line-height:1.4}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid #f59e0b38;border-radius:4px;padding:14px 16px;transition:border-color .15s,transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s;position:relative;overflow:hidden}.kpi-card:hover{border-color:var(--border-light);border-top-color:#f59e0b80;transform:translateY(-1px);box-shadow:0 4px 16px #00000040}.badge-success{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-error{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-warn{color:#f97316;background:#f973161f;border:1px solid #f973164d;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-default{color:#7a90b0;background:#6478a01a;border:1px solid #6478a040;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-training{color:#f97316;background:#f973161f;border:1px solid #f973164d;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-red{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-amber{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-blue{color:#60a5fa;background:#60a5fa1f;border:1px solid #60a5fa4d;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-panel);letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;font-size:11px;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid #222b3ab3;padding:6px 10px}.data-table tr:hover td{background:var(--bg-hover)}.data-table tr:last-child td{border-bottom:none}.mono{font-family:var(--font-mono)}.log-error{color:#f87171}.log-warn,.log-warning{color:#fb923c}.log-info{color:var(--text-muted)}.log-debug{color:var(--text-dim)}.section-title{color:var(--text-muted);border-left:2px solid var(--accent);letter-spacing:.01em;text-transform:none;margin-bottom:10px;padding-left:9px;font-size:11px;font-weight:600}.pve-tree-item{cursor:pointer;color:var(--text-muted);text-align:left;white-space:nowrap;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:7px;width:100%;padding:5px 10px;font-size:13px;transition:background .12s,color .12s,transform .14s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.pve-tree-item:hover{color:var(--text-primary);background:#f59e0b0f;transform:translate(2px)}.pve-tree-item.active{background:var(--bg-selected);color:var(--selected-text);border-left:2px solid var(--accent);padding-left:8px;transform:none}.pve-tree-item.active svg{color:var(--selected-text-icon)}.pve-nav-item{cursor:pointer;color:var(--text-muted);white-space:nowrap;border-left:2px solid #0000;align-items:center;gap:8px;padding:6px 12px;font-size:13px;text-decoration:none;transition:background .12s,color .12s,transform .14s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.pve-nav-item:hover{color:var(--text-primary);background:#f59e0b0f;transform:translate(2px)}.pve-nav-item.active{background:var(--bg-selected);color:var(--selected-text);border-left:2px solid var(--accent);padding-left:10px;transform:none}.pve-nav-item.active svg{color:var(--selected-text-icon)}.pve-btn{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:6px;padding:5px 13px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s,transform .12s cubic-bezier(.16,1,.3,1),box-shadow .12s;display:inline-flex}.pve-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff2e;transform:translateY(-1px);box-shadow:0 3px 10px #0000004d}.pve-btn:active{box-shadow:none;transform:translateY(1px)}.pve-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none;transform:none}.pve-btn.pve-btn-amber{color:#fbbf24;background:#f59e0b24;border-color:#f59e0b61}.pve-btn.pve-btn-amber:hover{background:#f59e0b40;border-color:#f59e0b8c}.pve-btn.pve-btn-green{color:#4ade80;background:#22c55e1f;border-color:#22c55e59}.pve-btn.pve-btn-green:hover{background:#22c55e38}.pve-btn.pve-btn-red{color:#f87171;background:#ef44441f;border-color:#ef444459}.pve-btn.pve-btn-red:hover{background:#ef444438}.pve-btn.pve-btn-blue{color:#60a5fa;background:#60a5fa1a;border-color:#60a5fa4d}.pve-btn.pve-btn-blue:hover{background:#60a5fa33}[data-theme=light] .pve-btn{color:var(--text-muted);background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .pve-btn:hover{color:var(--text-primary);background:#e2e8f0;border-color:#cbd5e1}[data-theme=light] .pve-btn.pve-btn-amber{color:#92400e;background:#fef3c7;border-color:#fcd34d}[data-theme=light] .pve-btn.pve-btn-amber:hover{background:#fde68a}[data-theme=light] .pve-btn.pve-btn-green{color:#15803d;background:#dcfce7;border-color:#86efac}[data-theme=light] .pve-btn.pve-btn-green:hover{background:#bbf7d0}[data-theme=light] .pve-btn.pve-btn-red{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}[data-theme=light] .pve-btn.pve-btn-red:hover{background:#fecaca}[data-theme=light] .pve-btn.pve-btn-blue{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}[data-theme=light] .pve-btn.pve-btn-blue:hover{background:#dbeafe}[data-theme=light] .panel{box-shadow:0 1px 4px #0000000f}[data-theme=light] .kpi-card{box-shadow:0 2px 6px #0000000f}[data-theme=light] .node-card{box-shadow:0 1px 3px #0000000d}[data-theme=light] .data-table th{background:var(--bg-card)}[data-theme=light] .dot-online{box-shadow:0 0 4px #16a34a80}[data-theme=light] .badge-default{color:#4a6080;border-color:#c4d4e8}[data-theme=light] .pve-tree-item:hover,[data-theme=light] .pve-nav-item:hover{background:#d977060f;transform:translate(2px)}:root{--log-bg:#0a0c10;--log-hd-bg:#0e1018;--log-text:#c0ccd8;--log-dim:#2a3a4a;--log-border:#ffffff0f;--log-err:#f87171;--log-warn:#fb923c;--log-ok:#4ade80;--log-info:#60a5fa;--log-hi:#fbbf24}[data-theme=light]{--log-bg:#f4f6fa;--log-hd-bg:#e8ecf3;--log-text:#1e293b;--log-dim:#94a3b8;--log-border:#00000014;--log-err:#dc2626;--log-warn:#ea580c;--log-ok:#16a34a;--log-info:#2563eb;--log-hi:#d97706}.log-line.log-err{color:var(--log-err)}.log-line.log-warn{color:var(--log-warn)}.log-line.log-ok{color:var(--log-ok)}.log-line.log-hi{color:var(--log-hi)}.log-line.log-info{color:var(--log-info)}.log-line.log-default{color:var(--log-text)}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:7px 0;font-size:12px;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-dim);font-size:12px}.info-value{color:var(--text-muted);font-family:var(--font-mono);text-align:right;font-size:11px}.page-hd{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;display:flex}.page-hd-icon{width:40px;height:40px;color:var(--accent-bright);background:#f59e0b1a;border:1px solid #f59e0b38;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-hd-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.3}.page-hd-sub{color:var(--text-dim);margin:3px 0 0;font-size:11px}.power-btn-reboot{cursor:pointer;color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.power-btn-reboot:hover{background:#f59e0b33;border-color:#f59e0b80}.power-btn-reboot:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .power-btn-reboot{color:#92400e;background:#b4530914;border-color:#b453094d}[data-theme=light] .power-btn-reboot:hover{background:#b4530929;border-color:#b4530980}.power-btn-off{cursor:pointer;color:#f87171;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.power-btn-off:hover{background:#ef444433;border-color:#ef444480}.power-btn-off:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .power-btn-off{color:#b91c1c;background:#b91c1c14;border-color:#b91c1c4d}[data-theme=light] .power-btn-off:hover{background:#b91c1c29;border-color:#b91c1c80}.node-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:4px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.node-card:hover{box-shadow:0 2px 8px #00000040}.node-card.s-online{border-left-color:var(--status-ok)}.node-card.s-training{border-left-color:var(--status-warn)}.node-card.s-inference{border-left-color:var(--status-purple)}.node-card.s-alert{border-left-color:var(--status-err);background:#ef444408}.node-card.s-offline{opacity:.6;border-left-color:#2a3040}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
