.nav-company[data-v-4e31cee9]{gap:7px}.nav-company-name[data-v-4e31cee9]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.company-tri[data-v-4e31cee9]{color:var(--muted);cursor:pointer;flex-shrink:0;transition:color .12s}.nav-company:hover .company-tri[data-v-4e31cee9],.nav-company.active .company-tri[data-v-4e31cee9]{color:var(--text)}.nav-sub-item[data-v-4e31cee9]{color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:5px;margin:1px 8px;padding:5px 14px 5px 30px;font-size:12px;transition:background .12s,color .12s;overflow:hidden}.nav-sub-item[data-v-4e31cee9]:hover{background:var(--surface-2);color:var(--text)}.nav-sub-item.active[data-v-4e31cee9]{background:var(--surface-2);color:var(--accent);font-weight:500}.topbar-search[data-v-4e31cee9]{flex:1;align-items:center;max-width:320px;margin:0 16px;display:flex;position:relative}.search-icon[data-v-4e31cee9]{color:var(--muted);pointer-events:none;position:absolute;left:10px}.topbar-search-input[data-v-4e31cee9]{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);font-size:12px;font-family:var(--font);border-radius:6px;outline:none;padding:5px 10px 5px 32px;transition:border-color .12s}.topbar-search-input[data-v-4e31cee9]:focus{border-color:var(--accent);background:var(--surface)}.topbar-search-input[data-v-4e31cee9]::placeholder{color:var(--muted)}.topbar-search-input[data-v-4e31cee9]::-webkit-search-cancel-button{cursor:pointer}.tabs[data-v-0d2b391a]{display:flex}.tab[data-v-0d2b391a]{cursor:pointer;height:44px;color:var(--muted);font-size:12px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;padding:0 16px;transition:color .12s,border-color .12s}.tab[data-v-0d2b391a]:hover{color:var(--text-muted-2)}.tab.active[data-v-0d2b391a]{color:var(--accent);border-bottom-color:var(--accent)}.tab.tab-sm[data-v-0d2b391a]{height:32px;padding:0 10px;font-size:11px}.tab-count[data-v-0d2b391a]{background:var(--border-2);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:3px;margin-left:5px;padding:1px 5px;font-size:10px}.class-bar[data-v-0d2b391a]{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.class-tab[data-v-0d2b391a]{border:none;border-right:1px solid var(--border);cursor:pointer;background:0 0;border-bottom:3px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:100px;padding:12px 24px;transition:background .12s,border-color .12s;display:flex}.class-tab[data-v-0d2b391a]:hover{background:var(--surface-2)}.class-tab.active[data-v-0d2b391a]{border-bottom-color:var(--accent);background:var(--surface-2)}.class-tab-label[data-v-0d2b391a]{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.class-tab.active .class-tab-label[data-v-0d2b391a]{color:var(--accent)}.class-tab-count[data-v-0d2b391a]{color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1}.class-bar-actions[data-v-0d2b391a]{align-items:center;gap:8px;margin-left:auto;padding:0 16px;display:flex}.device-row-active td[data-v-0d2b391a]{background:#4e7ef70a;border-bottom:none}.expand-row td[data-v-0d2b391a]{padding:0}.expand-cell[data-v-0d2b391a]{border-bottom:1px solid var(--border);background:var(--bg)}.border-online[data-v-0d2b391a]{border-left:3px solid var(--teal)}.border-pending[data-v-0d2b391a]{border-left:3px solid var(--amber)}.border-offline[data-v-0d2b391a]{border-left:3px solid var(--border-2)}.ddev-header[data-v-0d2b391a]{border-bottom:1px solid var(--border);padding:12px 20px 10px}.ddev-hostname[data-v-0d2b391a]{color:var(--text);margin-bottom:3px;font-size:15px;font-weight:600}.ddev-sub[data-v-0d2b391a]{align-items:center;gap:6px;display:flex}.ddev-sep[data-v-0d2b391a]{color:var(--border-2);font-size:12px}.pill-online[data-v-0d2b391a]{color:var(--teal);font-size:11px;font-weight:600}.pill-offline[data-v-0d2b391a]{color:var(--muted);font-size:11px;font-weight:600}.ddev-toolbar[data-v-0d2b391a]{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:2px;padding:6px 12px;display:flex}.toolbar-btn[data-v-0d2b391a]{border-radius:var(--r-btn);color:var(--text);font-size:12px;font-weight:500;font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:5px 11px;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.toolbar-btn[data-v-0d2b391a]:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-2)}.toolbar-btn[data-v-0d2b391a]:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn-dim[data-v-0d2b391a]{opacity:.45}.toolbar-btn-dim[data-v-0d2b391a]:hover{opacity:.45;background:0 0;border-color:#0000}.toolbar-btn-icon[data-v-0d2b391a]{padding:5px 8px}.toolbar-sep[data-v-0d2b391a]{background:var(--border-2);flex-shrink:0;width:1px;height:20px;margin:0 4px}.toolbar-success[data-v-0d2b391a]{color:var(--teal);align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.kebab-wrap[data-v-0d2b391a]{position:relative}.kebab-dropdown[data-v-0d2b391a]{background:var(--surface);border:1px solid var(--border-2);z-index:50;border-radius:8px;min-width:200px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 8px 24px #0006}.kebab-item[data-v-0d2b391a]{width:100%;color:var(--text);font-size:12px;font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:8px 14px;transition:background .1s;display:flex}.kebab-item[data-v-0d2b391a]:hover:not(:disabled){background:var(--surface-2)}.kebab-item[data-v-0d2b391a]:disabled{cursor:default}.kebab-item-dim[data-v-0d2b391a]{opacity:.45}.kebab-item-danger[data-v-0d2b391a]{color:var(--red)}.kebab-item-danger[data-v-0d2b391a]:hover:not(:disabled){background:#e8566a14}.kebab-sep[data-v-0d2b391a]{background:var(--border);height:1px;margin:4px 0}.soon-tag[data-v-0d2b391a]{letter-spacing:.05em;text-transform:uppercase;background:var(--surface-2);color:var(--muted);border-radius:3px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:700}.ddev-grid[data-v-0d2b391a]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.ddev-section[data-v-0d2b391a]{border-right:1px solid var(--border);padding:14px 20px}.ddev-section[data-v-0d2b391a]:last-child{border-right:none}.ddev-section-title[data-v-0d2b391a]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:10px;font-weight:700}.ddev-row[data-v-0d2b391a]{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.ddev-label[data-v-0d2b391a]{color:var(--muted);flex-shrink:0;min-width:72px;font-size:11px}.modal-backdrop[data-v-0d2b391a]{z-index:100;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-0d2b391a]{background:var(--surface);border:1px solid var(--border-2);border-radius:10px;flex-direction:column;width:440px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.modal-lg[data-v-0d2b391a]{width:620px}.modal-xl[data-v-0d2b391a]{width:860px}.modal-sm[data-v-0d2b391a]{width:360px}.modal-head[data-v-0d2b391a]{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.modal-title[data-v-0d2b391a]{color:var(--text);font-size:14px;font-weight:600}.modal-body[data-v-0d2b391a]{padding:20px;overflow-y:auto}.modal-foot[data-v-0d2b391a]{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.required[data-v-0d2b391a]{color:var(--red)}.qj-tabs[data-v-0d2b391a]{border:1px solid var(--border-2);border-radius:6px;flex-shrink:0;display:flex;overflow:hidden}.qj-tab[data-v-0d2b391a]{color:var(--muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);background:0 0;border:none;padding:5px 14px;transition:background .1s,color .1s}.qj-tab.active[data-v-0d2b391a]{background:var(--accent);color:#fff}.qj-library-body[data-v-0d2b391a]{flex-direction:column;max-height:60vh;padding:0;display:flex;overflow:hidden}.qj-lib-empty[data-v-0d2b391a]{color:var(--muted);text-align:center;padding:24px 20px;font-size:12px}.qj-lib-layout[data-v-0d2b391a]{grid-template-columns:260px 1fr;height:420px;display:grid}.qj-lib-list[data-v-0d2b391a]{border-right:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.qj-lib-search[data-v-0d2b391a]{border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;font-family:var(--font);border-radius:5px;outline:none;flex-shrink:0;margin:10px;padding:6px 10px}.qj-lib-search[data-v-0d2b391a]:focus{border-color:var(--accent)}.qj-lib-item[data-v-0d2b391a]{cursor:pointer;border-bottom:1px solid var(--border);padding:9px 14px;transition:background .1s}.qj-lib-item[data-v-0d2b391a]:hover{background:var(--surface-2)}.qj-lib-item.selected[data-v-0d2b391a]{border-left:2px solid var(--accent);background:#4e7ef71a}.qj-lib-name[data-v-0d2b391a]{color:var(--text);font-size:12px;font-weight:500}.qj-lib-meta[data-v-0d2b391a]{gap:6px;margin-top:3px;display:flex}.qj-lib-cat[data-v-0d2b391a]{color:var(--accent);font-size:10px}.qj-lib-shell[data-v-0d2b391a]{color:var(--muted);font-size:10px;font-family:var(--mono)}.qj-lib-preview[data-v-0d2b391a]{flex-direction:column;display:flex;overflow-y:auto}.qj-lib-preview-inner[data-v-0d2b391a]{flex-direction:column;height:100%;display:flex}.qj-preview-head[data-v-0d2b391a]{border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 16px}.qj-preview-name[data-v-0d2b391a]{color:var(--text);font-size:13px;font-weight:600}.qj-preview-script[data-v-0d2b391a]{font-family:var(--mono);color:#c8d0e8;white-space:pre-wrap;word-break:break-all;background:#080a11;flex:1;margin:0;padding:12px 16px;font-size:12px;line-height:1.6;overflow-y:auto}.code-area[data-v-0d2b391a]{background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-btn);width:100%;color:var(--text);font-size:12px;font-family:var(--mono);resize:vertical;outline:none;padding:10px 12px;line-height:1.6;transition:border-color .12s}.code-area[data-v-0d2b391a]:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4e7ef726}.ddev-tabs[data-v-0d2b391a]{border-bottom:1px solid var(--border);background:var(--surface);gap:0;display:flex}.ddev-tab[data-v-0d2b391a]{color:var(--muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;transition:color .1s,border-color .1s}.ddev-tab[data-v-0d2b391a]:hover{color:var(--text-muted-2)}.ddev-tab.active[data-v-0d2b391a]{color:var(--accent);border-bottom-color:var(--accent)}.inv-empty[data-v-0d2b391a]{color:var(--muted);text-align:center;padding:20px;font-size:12px}.inv-toolbar[data-v-0d2b391a]{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:8px 20px;display:flex}.inv-section[data-v-0d2b391a]{border-bottom:1px solid var(--border);padding:12px 0 4px}.inv-section-title[data-v-0d2b391a]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;padding:0 20px 8px;font-size:10px;font-weight:700;display:flex}.normal-weight[data-v-0d2b391a]{letter-spacing:0;text-transform:none;font-weight:400}.inv-subsection[data-v-0d2b391a]{padding:0 0 8px}.inv-sub-title[data-v-0d2b391a]{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 20px 4px;font-size:10px;font-weight:600}.inv-badge-ok[data-v-0d2b391a]{color:var(--teal);background:#2dcfa01f;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700}.inv-badge-warn[data-v-0d2b391a]{color:var(--amber);background:#f0a8401f;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700}.inv-av-row[data-v-0d2b391a]{align-items:center;margin-bottom:6px;display:flex}.inv-disk-row[data-v-0d2b391a]{align-items:center;gap:8px;padding:2px 20px 4px;display:flex}.inv-disk-label[data-v-0d2b391a]{flex-shrink:0;min-width:90px}.inv-disk-bar-wrap[data-v-0d2b391a]{background:var(--border-2);border-radius:2px;flex:1;height:4px;overflow:hidden}.inv-disk-bar[data-v-0d2b391a]{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.inv-disk-stat[data-v-0d2b391a]{font-variant-numeric:tabular-nums;flex-shrink:0}.inv-search[data-v-0d2b391a]{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-size:12px;font-family:var(--font);box-sizing:border-box;border-radius:5px;outline:none;padding:6px 10px;transition:border-color .12s}.inv-search[data-v-0d2b391a]:focus{border-color:var(--accent)}.sw-list[data-v-0d2b391a]{border-top:1px solid var(--border)}.inv-pagination[data-v-0d2b391a]{border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 20px;display:flex}.pag-btn[data-v-0d2b391a]{border:1px solid var(--border-2);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:14px;line-height:1.4;transition:border-color .12s}.pag-btn[data-v-0d2b391a]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pag-btn[data-v-0d2b391a]:disabled{opacity:.35;cursor:default}.pag-info[data-v-0d2b391a]{text-align:center;min-width:48px}.pag-size-select[data-v-0d2b391a]{background:var(--surface);border:1px solid var(--border-2);color:var(--text);cursor:pointer;border-radius:4px;margin-right:auto;padding:2px 6px;font-size:11px}.pag-size-select[data-v-0d2b391a]:focus{border-color:var(--accent);outline:none}.sw-row[data-v-0d2b391a]{border-bottom:1px solid #ffffff08;align-items:baseline;gap:10px;padding:5px 20px;display:flex}.sw-row[data-v-0d2b391a]:last-child{border-bottom:none}.sw-name[data-v-0d2b391a]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:260px;overflow:hidden}.sw-ver[data-v-0d2b391a]{font-variant-numeric:tabular-nums;flex-shrink:0}.sw-pub[data-v-0d2b391a]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.inv-empty-row[data-v-0d2b391a]{color:var(--muted);padding:10px 20px;font-size:12px}.svc-list[data-v-0d2b391a]{border-top:1px solid var(--border)}.svc-row[data-v-0d2b391a]{border-bottom:1px solid #ffffff08;align-items:center;gap:8px;padding:5px 20px;display:flex}.svc-row[data-v-0d2b391a]:last-child{border-bottom:none}.svc-dot[data-v-0d2b391a]{border-radius:50%;flex-shrink:0;width:7px;height:7px}.svc-dot-run[data-v-0d2b391a]{background:var(--teal)}.svc-dot-stop[data-v-0d2b391a]{background:var(--border-2)}.svc-name[data-v-0d2b391a]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.svc-start[data-v-0d2b391a]{flex-shrink:0}.chg-group[data-v-0d2b391a]{border-bottom:1px solid var(--border)}.chg-group-head[data-v-0d2b391a]{color:var(--muted);background:var(--surface);align-items:center;gap:7px;padding:8px 20px;font-size:11px;font-weight:600;display:flex}.chg-count[data-v-0d2b391a]{background:var(--border-2);color:var(--muted);border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.chg-row[data-v-0d2b391a]{border-top:1px solid #ffffff08;align-items:center;gap:8px;padding:6px 20px;display:flex}.chg-badge[data-v-0d2b391a]{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.chg-badge-software[data-v-0d2b391a]{color:var(--accent);background:#4e7ef71f}.chg-badge-hardware[data-v-0d2b391a]{color:#a04ef7;background:#a04ef71f}.chg-badge-services[data-v-0d2b391a]{color:var(--amber);background:#f0a8401f}.chg-badge-security[data-v-0d2b391a]{color:var(--red);background:#e8566a1f}.chg-type[data-v-0d2b391a]{flex-shrink:0;font-size:10px;font-weight:700}.chg-type-added[data-v-0d2b391a]{color:var(--teal)}.chg-type-removed[data-v-0d2b391a]{color:var(--red)}.chg-type-changed[data-v-0d2b391a]{color:var(--muted)}.chg-name[data-v-0d2b391a]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chg-field[data-v-0d2b391a]{flex-shrink:0}.chg-diff[data-v-0d2b391a]{flex-shrink:0;align-items:center;gap:4px;display:flex}.chg-old[data-v-0d2b391a]{color:var(--red);text-decoration:line-through}.chg-arrow[data-v-0d2b391a]{color:var(--muted)}.chg-new[data-v-0d2b391a]{color:var(--teal)}.select-input[data-v-b189c516]{background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-btn);width:100%;color:var(--text);font-size:13px;font-family:var(--font);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7094' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:8px 30px 8px 11px;transition:border-color .12s}.select-input[data-v-b189c516]:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4e7ef726}.select-input option[data-v-b189c516],.select-input optgroup[data-v-b189c516]{color:var(--text);background:#1c1f2e}.tenant-row-active td[data-v-78d4e291]{background:#4e7ef70d;border-bottom:none}.expand-row td[data-v-78d4e291]{padding:0}.expand-cell[data-v-78d4e291]{border-left:3px solid var(--accent);background:var(--bg);border-bottom:1px solid var(--border)}.expand-head[data-v-78d4e291]{border-bottom:1px solid var(--border);align-items:center;gap:0;padding:0 16px;display:flex}.expand-tab[data-v-78d4e291]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s;display:flex}.expand-tab[data-v-78d4e291]:hover{color:var(--text)}.expand-tab.active[data-v-78d4e291]{color:var(--accent);border-bottom-color:var(--accent)}.tab-pill[data-v-78d4e291]{background:var(--surface-2);color:var(--muted);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.4}.expand-tab.active .tab-pill[data-v-78d4e291]{color:var(--accent);background:#4e7ef71f}.inner-table[data-v-78d4e291]{width:100%}.item-list[data-v-78d4e291]{flex-direction:column;gap:6px;padding:12px 20px;display:flex}.item-card[data-v-78d4e291]{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.item-info[data-v-78d4e291]{flex:1;min-width:0}.item-name[data-v-78d4e291]{color:var(--text);align-items:center;gap:6px;margin-bottom:2px;font-size:13px;font-weight:500;display:flex}.item-actions[data-v-78d4e291]{flex-shrink:0;gap:6px;display:flex}.badge-accent-sm[data-v-78d4e291]{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:#4e7ef71f;border:1px solid #4e7ef733;border-radius:3px;padding:1px 7px;font-size:9px;font-weight:700}.modal-backdrop[data-v-78d4e291]{z-index:100;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-78d4e291]{background:var(--surface);border:1px solid var(--border-2);border-radius:10px;flex-direction:column;width:440px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.modal-lg[data-v-78d4e291]{width:620px}.modal-head[data-v-78d4e291]{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.modal-close[data-v-78d4e291]{cursor:pointer;color:var(--muted-2);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px;line-height:1;transition:color .12s}.modal-close[data-v-78d4e291]:hover{color:var(--text)}.modal-title[data-v-78d4e291]{color:var(--text);font-size:14px;font-weight:600}.modal-body[data-v-78d4e291]{padding:20px;overflow-y:auto}.modal-foot[data-v-78d4e291]{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.form-section-label[data-v-78d4e291]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:8px;font-size:10px;font-weight:700}.form-row-2[data-v-78d4e291]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row-3[data-v-78d4e291]{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.field textarea[data-v-78d4e291]{background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-btn);color:var(--text);font-size:13px;font-family:var(--font);resize:vertical;outline:none;width:100%;padding:8px 11px;transition:border-color .12s}.field textarea[data-v-78d4e291]:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4e7ef726}.required[data-v-78d4e291]{color:var(--red)}.toggle-group[data-v-78d4e291]{flex-direction:column;display:flex}.toggle-row[data-v-78d4e291]{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.toggle-row input[type=checkbox][data-v-78d4e291]{accent-color:var(--accent);flex-shrink:0;width:15px;height:15px;margin-top:2px}.token-reveal[data-v-78d4e291]{background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-btn);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .12s;display:flex;overflow:hidden}.token-reveal[data-v-78d4e291]:hover{border-color:var(--accent)}.copy-hint[data-v-78d4e291]{color:var(--accent);flex-shrink:0;font-size:11px}.copy-icon[data-v-78d4e291]{width:15px;height:15px;color:var(--muted-2);flex-shrink:0;transition:color .12s}.token-reveal:hover .copy-icon[data-v-78d4e291],.copy-icon--done[data-v-78d4e291]{color:var(--accent)}code[data-v-78d4e291]{font-family:var(--mono);background:var(--surface-2);color:var(--muted-2);border-radius:3px;padding:1px 5px;font-size:11px}.field-hint[data-v-78d4e291]{margin-top:4px;font-size:11px;display:block}.field-hint-warn[data-v-78d4e291]{color:var(--amber)}.modal-install[data-v-78d4e291]{width:540px}.inst-section[data-v-78d4e291]{border-bottom:1px solid var(--border);padding:14px 20px 10px}.inst-section[data-v-78d4e291]:last-child{border-bottom:none}.inst-label[data-v-78d4e291]{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);align-items:center;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.inst-os-tabs[data-v-78d4e291]{border-bottom:1px solid var(--border);background:var(--surface);display:flex}.inst-os-tab[data-v-78d4e291]{color:var(--muted);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:9px 16px;transition:color .1s,border-color .1s;display:flex}.inst-os-tab[data-v-78d4e291]:hover{color:var(--text)}.inst-os-tab.active[data-v-78d4e291]{color:var(--accent);border-bottom-color:var(--accent)}.inst-arch-row[data-v-78d4e291]{align-items:center;gap:12px;padding:10px 20px;display:flex}.arch-toggle[data-v-78d4e291]{border:1px solid var(--border-2);border-radius:5px;display:flex;overflow:hidden}.arch-btn[data-v-78d4e291]{color:var(--muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);background:0 0;border:none;padding:4px 12px;transition:background .1s,color .1s}.arch-btn.active[data-v-78d4e291]{background:var(--accent);color:#fff}.inst-dl-btn[data-v-78d4e291]{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.oneliner-wrap[data-v-78d4e291]{border:1px solid var(--border-2);background:#080a11;border-radius:6px;position:relative;overflow:hidden}.oneliner-pre[data-v-78d4e291]{font-family:var(--mono);color:#c8d0e8;white-space:pre-wrap;word-break:break-all;margin:0;padding:12px 52px 12px 14px;font-size:11px;line-height:1.6}.oneliner-copy[data-v-78d4e291]{color:var(--muted);font-size:11px;font-weight:500;font-family:var(--font);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:background .1s,color .1s;display:flex;position:absolute;top:8px;right:8px}.oneliner-copy[data-v-78d4e291]:hover{color:var(--text);background:#ffffff1f}.tabs[data-v-35c74feb]{display:flex}.tab[data-v-35c74feb]{cursor:pointer;height:44px;color:var(--muted);font-size:12px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;padding:0 16px;transition:color .12s,border-color .12s}.tab[data-v-35c74feb]:hover{color:var(--text)}.tab.active[data-v-35c74feb]{color:var(--accent);border-bottom-color:var(--accent)}.tab-count[data-v-35c74feb]{background:var(--border-2);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:3px;margin-left:5px;padding:1px 5px;font-size:10px}.job-name[data-v-35c74feb]{color:var(--text);font-size:13px;font-weight:500}.job-row-active td[data-v-35c74feb]{background:#4e7ef70a;border-bottom:none}.type-badge[data-v-35c74feb]{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.type-quick[data-v-35c74feb]{color:var(--accent);background:#4e7ef71f}.type-scheduled[data-v-35c74feb]{color:#9c6af7;background:#9c6af71f}.status-badge[data-v-35c74feb]{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.status-active[data-v-35c74feb]{color:var(--teal);background:#2dcfa01f}.status-completed[data-v-35c74feb]{background:var(--surface-2);color:var(--muted)}.status-cancelled[data-v-35c74feb]{color:var(--red);background:#e8566a14}.prog-bar-wrap[data-v-35c74feb]{align-items:center;gap:8px;display:flex}.prog-bar[data-v-35c74feb]{background:var(--border);border-radius:3px;flex:1;max-width:120px;height:6px;display:flex;overflow:hidden}.prog-seg[data-v-35c74feb]{height:100%;transition:width .3s}.prog-completed[data-v-35c74feb]{background:var(--teal)}.prog-failed[data-v-35c74feb]{background:var(--red)}.prog-sent[data-v-35c74feb]{background:var(--accent)}.prog-label[data-v-35c74feb]{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.btn-danger-ghost[data-v-35c74feb]{color:var(--red)!important}.btn-danger-ghost[data-v-35c74feb]:hover:not(:disabled){background:#e8566a14!important}.btn-danger-ghost[data-v-35c74feb]:disabled{opacity:.35;cursor:not-allowed}.expand-row td[data-v-35c74feb]{padding:0}.expand-cell[data-v-35c74feb]{border-bottom:1px solid var(--border);background:var(--bg);border-left:3px solid var(--border-2)}.jd-loading[data-v-35c74feb]{color:var(--muted);padding:16px 20px;font-size:12px}.dev-card[data-v-35c74feb]{border-bottom:1px solid var(--border)}.dev-card[data-v-35c74feb]:last-child{border-bottom:none}.dev-card-head[data-v-35c74feb]{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 20px 8px;display:flex}.dev-card-info[data-v-35c74feb]{align-items:center;gap:8px;display:flex}.dev-card-statuses[data-v-35c74feb]{flex-wrap:wrap;gap:6px;display:flex}.mini-badge[data-v-35c74feb]{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.mini-queued[data-v-35c74feb]{color:var(--amber);background:#f0a8401f}.mini-sent[data-v-35c74feb]{color:var(--accent);background:#4e7ef71f}.mini-completed[data-v-35c74feb]{color:var(--teal);background:#2dcfa01f}.mini-failed[data-v-35c74feb]{color:var(--red);background:#e8566a1f}.cmd-output-block[data-v-35c74feb]{border-bottom:1px solid var(--border);padding:10px 20px 12px}.cmd-output-block[data-v-35c74feb]:last-child{border-bottom:none}.cmd-output-head[data-v-35c74feb]{align-items:center;margin-bottom:8px;display:flex}.output-stream[data-v-35c74feb]{margin-bottom:6px}.stream-label[data-v-35c74feb]{letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700}.stream-out[data-v-35c74feb]{color:var(--teal)}.stream-err[data-v-35c74feb]{color:var(--red)}.output-pre[data-v-35c74feb]{border:1px solid var(--border);font-family:var(--mono);color:#c8d0e8;white-space:pre-wrap;word-break:break-all;background:#080a11;border-radius:5px;margin:0;padding:8px 12px;font-size:12px;line-height:1.6}.output-pre-err[data-v-35c74feb]{color:var(--red)}.output-empty[data-v-35c74feb]{color:var(--muted);padding:4px 0;font-size:12px}.exit-code[data-v-35c74feb]{font-size:11px;font-family:var(--mono);color:var(--red);margin-top:4px}.search-input[data-v-88a3ddcc]{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text);font-size:12px;font-family:var(--font);border-radius:5px;width:220px;padding:0 10px}.search-input[data-v-88a3ddcc]:focus{border-color:var(--accent);outline:none}.filter-select[data-v-88a3ddcc]{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text);font-size:12px;font-family:var(--font);border-radius:5px;padding:0 8px}.comp-name[data-v-88a3ddcc]{color:var(--text);font-size:13px;font-weight:500}.cat-badge[data-v-88a3ddcc]{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.cat-maintenance[data-v-88a3ddcc]{color:var(--accent);background:#4e7ef71f}.cat-diagnostic[data-v-88a3ddcc]{color:var(--teal);background:#2dcfa01f}.cat-deployment[data-v-88a3ddcc]{color:var(--amber);background:#f0a8401f}.cat-monitoring[data-v-88a3ddcc]{color:#9c6af7;background:#9c6af71f}.cat-security[data-v-88a3ddcc]{color:var(--red);background:#e8566a1f}.cat-custom[data-v-88a3ddcc]{background:var(--surface-2);color:var(--muted)}.row-actions[data-v-88a3ddcc]{justify-content:flex-end;gap:4px;display:flex}.btn-danger-ghost[data-v-88a3ddcc]{color:var(--red)!important}.btn-danger-ghost[data-v-88a3ddcc]:hover{background:#e8566a14!important}.comp-modal-body[data-v-88a3ddcc]{grid-template-columns:280px 1fr;gap:20px;padding-bottom:0;display:grid}.comp-meta[data-v-88a3ddcc]{flex-direction:column;display:flex}.comp-script[data-v-88a3ddcc]{flex-direction:column;min-height:0;display:flex}.script-label[data-v-88a3ddcc]{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:600}.code-area-full[data-v-88a3ddcc]{resize:vertical;flex:1;min-height:320px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0e16;--surface:#141720;--surface-2:#1c1f2e;--border:#232638;--border-2:#2d3148;--text:#d8daf0;--muted:#616480;--muted-2:#8486a8;--accent:#4e7ef7;--teal:#2dcfa0;--amber:#f0a840;--red:#e8566a;--r-card:8px;--r-btn:5px;--r-badge:4px;--sidebar-w:220px;--topbar-h:52px;--shadow:0 2px 8px #0006, 0 1px 2px #0000004d;--font:-apple-system, "Segoe UI", system-ui, sans-serif;--mono:"SF Mono", "Cascadia Code", "Consolas", monospace}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5}#app{flex-direction:column;height:100%;display:flex}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font)}.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:0;display:flex;overflow:hidden}.sidebar-brand{height:var(--topbar-h);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:0 20px;display:flex}.sidebar-brand-mark{background:var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.sidebar-brand-mark svg{color:#fff}.sidebar-brand-name{letter-spacing:-.01em;color:var(--text);font-size:14px;font-weight:700}.sidebar-section{flex:1;padding:12px 8px}.sidebar-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 12px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--r-btn);color:var(--muted-2);cursor:pointer;border-left:2px solid #0000;align-items:center;gap:9px;margin-bottom:1px;padding:7px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:#4e7ef71a}.nav-item svg{opacity:.8;flex-shrink:0}.nav-item.active svg{opacity:1}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:12px 16px}.main-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);min-height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.topbar-title{color:var(--text);font-size:14px;font-weight:600}.topbar-actions{align-items:center;gap:8px;display:flex}.page{flex:1;padding:28px;overflow-y:auto}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-card);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.stat-card.c-teal{border-left-color:var(--teal)}.stat-card.c-amber{border-left-color:var(--amber)}.stat-card.c-red{border-left-color:var(--red)}.stat-card.c-blue{border-left-color:var(--accent)}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:30px;font-weight:700;line-height:1.1;font-family:var(--mono)}.stat-sub{color:var(--muted);margin-top:2px;font-size:11px}.chart-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:20px}.chart-card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:11px;font-weight:600}.donut-wrap{align-items:center;gap:20px;display:flex}.donut-svg-wrap{flex-shrink:0;width:110px;height:110px;position:relative}.donut-svg{width:110px;height:110px}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center-value{font-size:22px;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text);line-height:1}.donut-center-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:10px}.donut-legend{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.legend-row{align-items:center;gap:7px;min-width:0;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.legend-name{color:var(--muted-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.legend-count{font-variant-numeric:tabular-nums;color:var(--text);font-size:12px;font-family:var(--mono);flex-shrink:0}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);margin-bottom:20px;overflow:hidden}.section-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.section-card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}table{border-collapse:collapse;width:100%}thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 16px;font-size:10px;font-weight:700}tbody tr{border-bottom:1px solid var(--border);transition:background 80ms}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--surface-2)}tbody td{vertical-align:middle;padding:11px 16px}.status-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.dot-online{background:var(--teal);box-shadow:0 0 5px var(--teal)}.dot-offline{background:var(--muted)}.dot-pending{background:var(--amber)}.badge{border-radius:var(--r-badge);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.badge-pending{color:var(--amber);background:#f0a8401f}.badge-approved{color:var(--teal);background:#2dcfa01f}.badge-revoked{color:var(--red);background:#e8566a1f}.btn{border-radius:var(--r-btn);cursor:pointer;letter-spacing:.01em;border:none;align-items:center;gap:5px;padding:5px 13px;font-size:12px;font-weight:500;line-height:1.5;transition:opacity .12s,background .12s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.85}.btn-danger{color:var(--red);background:#e8566a26;border:1px solid #e8566a4d}.btn-danger:hover:not(:disabled){background:#e8566a40}.btn-ghost{color:var(--muted-2);border:1px solid var(--border-2);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--muted);background:var(--surface-2)}.btn-sm{padding:3px 10px;font-size:11px}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.field input{background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-btn);color:var(--text);font-size:13px;font-family:var(--font);outline:none;width:100%;padding:8px 11px;transition:border-color .12s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4e7ef726}.login-wrap{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border-2);width:380px;box-shadow:var(--shadow);border-radius:10px;padding:36px 40px}.login-logo{align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-logo-mark{background:var(--accent);border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.login-logo-name{color:var(--text);font-size:18px;font-weight:700}.login-card h2{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.login-card p{color:var(--muted);margin-bottom:24px;font-size:12px}.error-banner{color:var(--red);border-radius:var(--r-btn);background:#e8566a14;border:1px solid #e8566a40;margin-bottom:14px;padding:8px 14px;font-size:12px}.empty{text-align:center;color:var(--muted);padding:48px 24px}.empty-title{color:var(--muted-2);font-size:14px;font-weight:500}.empty-sub{margin-top:4px;font-size:12px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.text-muted{color:var(--muted)}.text-muted-2{color:var(--muted-2)}.text-sm{font-size:12px}.text-xs{font-size:11px}.actions{gap:5px;display:flex}.teal{color:var(--teal)}.amber{color:var(--amber)}.red{color:var(--red)}
