*,:before,:after{box-sizing:border-box}body,html{height:100%}:root{--bg:#eef2f7;--surface:#fff;--surface-2:#f8fafc;--surface-3:#eef2f7;--border:#e2e8f0;--border-2:#cbd5e1;--text:#0f172a;--text-2:#475569;--text-3:#94a3b8;--shadow:0 1px 2px #0f172a0d, 0 14px 34px -16px #0f172a29;--ok:#16a34a;--okBg:#16a34a1f;--warn:#d97706;--warnBg:#d9770621;--bad:#dc2626;--badBg:#dc26261f;--info:#2563eb;--infoBg:#2563eb1f;--accent:#4f46e5;--accent-weak:#4f46e51c;--on-accent:#fff;--scrim:#0f172a8c;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace}[data-theme=dark]{--bg:#070c16;--surface:#0f172a;--surface-2:#131d31;--surface-3:#1c2840;--border:#1e293b;--border-2:#334155;--text:#e6ecf5;--text-2:#94a3b8;--text-3:#5f7088;--shadow:0 1px 2px #00000080, 0 18px 40px -18px #000000b3;--ok:#22c55e;--okBg:#22c55e26;--warn:#f59e0b;--warnBg:#f59e0b26;--bad:#ef4444;--badBg:#ef444426;--info:#60a5fa;--infoBg:#60a5fa26;--accent:#6366f1;--accent-weak:#6366f129;--on-accent:#fff;--scrim:#080c1699}body{background:var(--bg);color:var(--text)}#app{width:100%;min-height:100dvh;font-family:var(--font-sans);margin:0;padding:0;font-weight:400}.mono{font-family:var(--font-mono)}.page{max-width:1180px;margin:0 auto;padding:32px 24px 64px}.page-header{margin-bottom:24px}.page-title{letter-spacing:-.02em;color:var(--text);margin:0 0 6px;font-size:26px;font-weight:700}.page-sub{color:var(--text-2);margin:0;font-size:14px}.section-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.section-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 18px;display:flex}.head-icon{background:var(--accent-weak);width:32px;height:32px;color:var(--accent);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.head-title{color:var(--text);font-size:15px;font-weight:600}.head-sub{color:var(--text-2);font-size:12px}.section-body{padding:16px 18px 18px}.btn-primary,.btn-ghost,.btn-outline{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent);border:none}.btn-ghost{border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);font-weight:500}.btn-ghost:hover{color:var(--text)}.btn-outline{border:1px solid var(--accent);background:var(--accent-weak);color:var(--accent)}.btn-primary:disabled,.btn-ghost:disabled,.btn-outline:disabled{opacity:.5;cursor:not-allowed}.fld-label{color:var(--text-2);margin-bottom:6px;font-size:12px;display:block}.text-input,.select-input{border:1px solid var(--border-2);background:var(--surface-2);width:100%;height:38px;color:var(--text);font-family:var(--font-sans);border-radius:8px;outline:none;padding:0 12px;font-size:13px}.text-input:focus,.select-input:focus{border-color:var(--accent)}.help{color:var(--text-3);font-size:11.5px}.err-help{color:var(--bad);font-size:11.5px}.ok-help{color:var(--ok);font-size:11.5px}.warn-help{color:var(--warn);font-size:11.5px}.banner{border-radius:8px;padding:10px 13px;font-size:12.5px}.banner.ok{background:var(--okBg);color:var(--ok)}.banner.bad{background:var(--badBg);color:var(--bad)}.banner.warn{background:var(--warnBg);color:var(--warn)}.banner.info{background:var(--infoBg);color:var(--info)}.badge{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;display:inline-flex}.badge.ok{background:var(--okBg);color:var(--ok)}.badge.bad{background:var(--badBg);color:var(--bad)}.badge.warn{background:var(--warnBg);color:var(--warn)}.badge.info{background:var(--infoBg);color:var(--info)}.empty-state{text-align:center;color:var(--text-3);padding:28px 16px;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.app-root[data-v-71866650]{background:var(--bg);min-height:100vh;color:var(--text);transition:background .25s,color .25s}.app-nav[data-v-71866650]{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.nav-left[data-v-71866650]{align-items:center;gap:26px;display:flex}.nav-right[data-v-71866650]{align-items:center;gap:10px;display:flex}.nav-logo[data-v-71866650]{align-items:center;gap:9px;text-decoration:none;display:flex}.logo-icon[data-v-71866650]{background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.logo-dot[data-v-71866650]{background:var(--on-accent);border-radius:2px;width:9px;height:9px}.logo-text[data-v-71866650]{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--text);font-size:14px;font-weight:600}.nav-links[data-v-71866650]{align-items:center;gap:4px;display:flex}.nav-link[data-v-71866650]{color:var(--text-2);border-radius:7px;padding:6px 11px;font-size:13px;text-decoration:none;transition:background .15s,color .15s}.nav-link[data-v-71866650]:hover{background:var(--surface-3);color:var(--text)}.nav-link.active[data-v-71866650]{color:var(--accent);background:var(--accent-weak);font-weight:600}.icon-btn[data-v-71866650]{cursor:pointer;border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-2);border-radius:9px;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.icon-btn[data-v-71866650]:hover{border-color:var(--border-2);color:var(--text)}.icon-btn--danger[data-v-71866650]:hover{border-color:var(--bad);color:var(--bad)}.user-pill[data-v-71866650]{border:1px solid var(--border);border-radius:999px;align-items:center;gap:9px;padding:4px 12px 4px 5px;text-decoration:none;transition:border-color .15s;display:flex}.user-pill[data-v-71866650]:hover{border-color:var(--border-2)}.user-avatar[data-v-71866650]{background:var(--accent-weak);width:26px;height:26px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.user-name[data-v-71866650]{color:var(--text-2);font-size:13px}@media (max-width:640px){.nav-links[data-v-71866650],.user-name[data-v-71866650]{display:none}}.auth-page[data-v-f454fd4a]{justify-content:center;align-items:center;min-height:100vh;padding:32px 24px;display:flex}.login-card[data-v-f454fd4a]{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:14px;gap:15px;padding:28px 26px;display:grid}.brand[data-v-f454fd4a]{align-items:center;gap:9px;display:flex}.logo-icon[data-v-f454fd4a]{background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.logo-dot[data-v-f454fd4a]{background:var(--on-accent);border-radius:2px;width:9px;height:9px}.logo-text[data-v-f454fd4a]{font-family:var(--font-mono);color:var(--text);font-size:14px;font-weight:600}.title[data-v-f454fd4a]{letter-spacing:-.02em;color:var(--text);margin:0;font-size:22px;font-weight:700}.pw-row[data-v-f454fd4a]{gap:8px;display:flex}.pw-row .text-input[data-v-f454fd4a]{flex:1;min-width:0}.btn-ghost[data-v-f454fd4a]{padding:0 14px}.btn-ghost[data-v-f454fd4a]:hover{color:var(--text)}.btn-primary[data-v-f454fd4a]{margin-top:4px;padding:10px 16px}.reg-link[data-v-f454fd4a]{color:var(--accent);text-align:center;font-size:12.5px;text-decoration:none}.reg-link[data-v-f454fd4a]:hover{text-decoration:underline}.status-dot[data-v-268f7b75]{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.status-dot.online[data-v-268f7b75]{background:var(--ok)}.status-dot.offline[data-v-268f7b75]{background:var(--text-3)}.status-dot.unknown[data-v-268f7b75]{background:var(--border-2)}.status-dot.pulse[data-v-268f7b75]{animation:2s infinite livePulse-268f7b75}@keyframes livePulse-268f7b75{0%,to{opacity:1}50%{opacity:.35}}.table-container[data-v-9a89255d]{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.search-table[data-v-9a89255d]{border-collapse:collapse;width:100%;font-size:13px}.search-table th[data-v-9a89255d]{text-align:left;background:var(--surface-2);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:10px;position:sticky;top:0}.search-table th.sortable[data-v-9a89255d]{cursor:pointer}.search-table th.sortable[data-v-9a89255d]:hover,.search-table th.sorted[data-v-9a89255d]{color:var(--text)}.sort-icon[data-v-9a89255d]{margin-left:4px;font-size:.85em}.search-table td[data-v-9a89255d]{border-top:1px solid var(--border);color:var(--text);vertical-align:middle;padding:10px 14px}.search-table tbody tr.clickable[data-v-9a89255d]{cursor:pointer}.search-table tbody tr[data-v-9a89255d]:hover{background:var(--surface-2)}.compact .search-table[data-v-9a89255d]{font-size:12.5px}.compact .search-table th[data-v-9a89255d],.compact .search-table td[data-v-9a89255d]{padding:8px 12px}.align-left[data-v-9a89255d]{text-align:left}.align-right[data-v-9a89255d]{text-align:right}.align-center[data-v-9a89255d]{text-align:center}td.align-right[data-v-9a89255d]{font-family:var(--font-mono)}.status-cell[data-v-9a89255d]{justify-content:center;align-items:center;display:flex}.machine-link[data-v-9a89255d]{font-family:var(--font-mono);color:var(--accent);font-weight:500;text-decoration:none}.machine-link[data-v-9a89255d]:hover{text-decoration:underline}.data-cell[data-v-9a89255d]{color:var(--text-2)}.muted-cell[data-v-9a89255d]{color:var(--text-3)}.table-badges[data-v-9a89255d]{flex-wrap:wrap;gap:5px;display:flex}.subtle-badge[data-v-9a89255d]{font-family:var(--font-mono);color:var(--text-2);background:var(--surface-3);border-radius:5px;padding:1px 6px;font-size:11px;display:inline-flex}.empty-results[data-v-9a89255d]{text-align:center;color:var(--text-3);padding:36px 16px}.machines-card[data-v-71d76135]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.card-head[data-v-71d76135]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.card-title[data-v-71d76135]{color:var(--text);flex:none;font-size:15px;font-weight:600}.search-wrap[data-v-71d76135]{flex:0 280px;min-width:0;position:relative}.search-icon[data-v-71d76135]{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-input[data-v-71d76135]{border:1px solid var(--border-2);background:var(--surface-2);width:100%;height:36px;color:var(--text);font-family:var(--font-sans);border-radius:8px;outline:none;padding:0 12px 0 32px;font-size:13px;transition:border-color .15s}.search-input[data-v-71d76135]:focus{border-color:var(--accent)}.machines-card[data-v-71d76135] .table-container{border:none;border-radius:0}@media (max-width:600px){.search-wrap[data-v-71d76135]{flex:100%}.card-head[data-v-71d76135]{flex-wrap:wrap}}.loading-container[data-v-eae7a9f2]{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:200px;display:flex}.spinner[data-v-eae7a9f2]{color:var(--accent);animation:1s linear infinite spin}.loading-text[data-v-eae7a9f2]{color:var(--text-3);margin-top:12px;font-size:13px}.stat-grid[data-v-16b10cd5]{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card[data-v-16b10cd5]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:16px 18px}.stat-label[data-v-16b10cd5]{color:var(--text-3);margin-bottom:8px;font-size:12px}.stat-value[data-v-16b10cd5]{font-family:var(--font-mono);color:var(--text);font-size:28px;font-weight:600}.stat-row[data-v-16b10cd5]{align-items:center;gap:9px;display:flex}@media (max-width:768px){.stat-grid[data-v-16b10cd5]{grid-template-columns:repeat(2,1fr)}}.head-text[data-v-7c1a5ba5]{min-width:0;margin-right:auto}.section-body[data-v-7c1a5ba5]{padding:16px 18px 20px}.banner[data-v-7c1a5ba5]{margin-bottom:14px}.request-list[data-v-7c1a5ba5]{flex-direction:column;gap:12px;display:flex}.request-item[data-v-7c1a5ba5]{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:14px 16px}.request-topline[data-v-7c1a5ba5]{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:6px;display:flex}.request-user[data-v-7c1a5ba5]{color:var(--text);font-size:13.5px;font-weight:600}.request-time[data-v-7c1a5ba5]{color:var(--text-3);font-size:12px}.perm-label[data-v-7c1a5ba5]{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:10px 0 7px;font-size:10px}.perm-chips[data-v-7c1a5ba5]{flex-wrap:wrap;gap:6px;display:flex}.chip[data-v-7c1a5ba5]{color:var(--text-2);background:var(--surface-3);border-radius:6px;padding:3px 9px;font-size:11.5px}.chip.accent[data-v-7c1a5ba5]{color:var(--accent);background:var(--accent-weak)}.chip.muted[data-v-7c1a5ba5]{color:var(--text-3)}.chip.perm[data-v-7c1a5ba5]{cursor:pointer;border:1px solid var(--border-2);color:var(--text-2);background:0 0;align-items:center;gap:5px;display:inline-flex}.chip.perm[data-v-7c1a5ba5]:hover{border-color:var(--accent);color:var(--accent)}.chip.perm.on[data-v-7c1a5ba5]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.perm-check[data-v-7c1a5ba5]{width:8px;font-size:10px;display:inline-block}.request-actions[data-v-7c1a5ba5]{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.btn-success[data-v-7c1a5ba5]{cursor:pointer;background:var(--ok);color:var(--on-accent);border:none;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:600}.btn-success[data-v-7c1a5ba5]:disabled{opacity:.5;cursor:not-allowed}.btn-deny[data-v-7c1a5ba5]{cursor:pointer;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:500}.btn-deny[data-v-7c1a5ba5]:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}.btn-deny[data-v-7c1a5ba5]:disabled{opacity:.5;cursor:not-allowed}.btn-outline[data-v-7c1a5ba5]{border:1px solid var(--border-2);background:var(--surface);color:var(--text);padding:6px 11px;font-size:12px;font-weight:500}.btn-outline[data-v-7c1a5ba5]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.empty-note[data-v-7c1a5ba5]{text-align:center;color:var(--text-3);padding:28px;font-size:13px}.empty-state[data-v-7c1a5ba5]{place-items:center;gap:10px;padding:36px 16px;display:grid}.empty-badge[data-v-7c1a5ba5]{background:var(--okBg);width:44px;height:44px;color:var(--ok);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-title[data-v-7c1a5ba5]{color:var(--text);font-size:14px;font-weight:600}.empty-sub[data-v-7c1a5ba5]{color:var(--text-3);font-size:12.5px}@media (max-width:720px){.request-actions[data-v-7c1a5ba5]{flex-direction:column}}.section-body[data-v-5eb06c3a]{padding:20px 22px}.banner[data-v-5eb06c3a]{margin-bottom:16px}.form-grid[data-v-5eb06c3a]{gap:15px;display:grid}@media (min-width:820px){.form-grid[data-v-5eb06c3a]{grid-template-columns:1fr 1fr;grid-auto-flow:dense}.form-grid .actions[data-v-5eb06c3a]{grid-column:1/-1;justify-self:end}}.select-input[data-v-5eb06c3a]{cursor:pointer}.text-input.mono[data-v-5eb06c3a]{font-family:var(--font-mono)}.text-input.err[data-v-5eb06c3a],.select-input.err[data-v-5eb06c3a]{border-color:var(--bad)}.help[data-v-5eb06c3a],.err-help[data-v-5eb06c3a]{margin:6px 0 0}.suggestions[data-v-5eb06c3a]{margin-top:10px}.suggest-label[data-v-5eb06c3a]{color:var(--text-3);margin-bottom:7px;font-size:11.5px}.chips[data-v-5eb06c3a]{flex-wrap:wrap;gap:6px;display:flex}.chip.dashed[data-v-5eb06c3a]{cursor:pointer;color:var(--text-2);border:1px dashed var(--border-2);background:0 0;border-radius:6px;padding:3px 9px;font-size:12px}.chip.dashed[data-v-5eb06c3a]:hover{border-color:var(--accent);color:var(--accent)}.btn-primary[data-v-5eb06c3a]{gap:7px}.btn-primary[data-v-5eb06c3a]:hover:not(:disabled){filter:brightness(1.08)}.mgmt-grid[data-v-7127e2ee]{align-items:start;gap:20px;display:grid}@media (min-width:1080px){.mgmt-grid[data-v-7127e2ee]{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}.profile-card[data-v-be13b094]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;margin-bottom:20px;padding:22px 24px}.profile-head[data-v-be13b094]{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.avatar[data-v-be13b094]{background:var(--accent-weak);width:52px;height:52px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.profile-id[data-v-be13b094]{min-width:0}.profile-name[data-v-be13b094]{color:var(--text);font-size:18px;font-weight:600}.profile-handle[data-v-be13b094]{font-family:var(--font-mono);color:var(--text-3);font-size:12.5px}.role-tags[data-v-be13b094]{flex-wrap:wrap;gap:7px;margin-left:auto;display:flex}.role-tag[data-v-be13b094]{color:var(--text-2);background:var(--surface-3);border-radius:6px;padding:4px 10px;font-size:11px}.role-tag.accent[data-v-be13b094]{color:var(--accent);background:var(--accent-weak)}.profile-grid[data-v-be13b094]{grid-template-columns:1fr 1fr;gap:16px 28px;display:grid}.field-label[data-v-be13b094]{color:var(--text-3);margin-bottom:6px;font-size:12px}.field-value-row[data-v-be13b094]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mono[data-v-be13b094]{color:var(--text);font-size:13.5px}.token-chip[data-v-be13b094]{background:var(--surface-3);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:5px 10px;font-size:13px}.link[data-v-be13b094]{color:var(--accent);cursor:pointer;font-size:12px}.link[data-v-be13b094]:hover{text-decoration:underline}.link.muted[data-v-be13b094]{color:var(--text-2)}.link.muted[data-v-be13b094]:hover{color:var(--accent)}.text-input[data-v-be13b094]{height:34px;padding:0 10px}.btn-mini[data-v-be13b094]{cursor:pointer;border:1px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600}.btn-mini.accent[data-v-be13b094]{background:var(--accent);color:var(--on-accent);border:none}.btn-mini[data-v-be13b094]:disabled{opacity:.5;cursor:not-allowed}.help[data-v-be13b094]{margin:6px 0 0}.help code[data-v-be13b094]{font-family:var(--font-mono);background:var(--surface-3);border-radius:4px;padding:1px 5px}.err-help[data-v-be13b094]{margin:6px 0 0}@media (max-width:600px){.profile-grid[data-v-be13b094]{grid-template-columns:1fr}.role-tags[data-v-be13b094]{margin-left:0}}.modal-overlay[data-v-e4d9383d]{z-index:50;background:var(--scrim);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel[data-v-e4d9383d]{outline:none;justify-content:center;width:100%;display:flex}.section-card[data-v-93e97633]{margin-bottom:20px}.head-text[data-v-93e97633]{margin-right:auto}.banner[data-v-93e97633]{margin-bottom:12px}.add-form[data-v-93e97633]{border-bottom:1px solid var(--border);background:var(--surface-2);gap:13px;padding:18px;display:grid}.text-input[data-v-93e97633]{background:var(--surface);height:36px}.key-textarea[data-v-93e97633]{border:1px solid var(--border-2);background:var(--surface);width:100%;color:var(--text);font-family:var(--font-mono);resize:vertical;white-space:pre;border-radius:8px;outline:none;padding:9px 12px;font-size:12px;overflow-x:auto}.key-textarea[data-v-93e97633]:focus{border-color:var(--accent)}.key-textarea.readonly[data-v-93e97633]{background:var(--surface-2);color:var(--text-2);resize:none}.help[data-v-93e97633]{margin:6px 0 0}.help code[data-v-93e97633]{font-family:var(--font-mono);background:var(--surface-3);border-radius:4px;padding:1px 5px}.form-actions[data-v-93e97633]{justify-content:flex-end;gap:8px;display:flex}.empty-state[data-v-93e97633]{border:1px dashed var(--border-2);border-radius:10px;padding:28px}.keys-list[data-v-93e97633]{flex-direction:column;gap:10px;display:flex}.key-item[data-v-93e97633]{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:10px;padding:13px 16px;display:grid}.key-head[data-v-93e97633]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.key-title[data-v-93e97633]{align-items:baseline;gap:10px;min-width:0;display:flex}.key-name[data-v-93e97633]{color:var(--text);font-size:13.5px;font-weight:500}.key-meta[data-v-93e97633]{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.key-actions[data-v-93e97633]{flex:none;gap:8px;display:flex}.btn-icon[data-v-93e97633]{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-3);border-radius:8px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;display:inline-flex}.btn-icon[data-v-93e97633]:hover{border-color:var(--border-2);color:var(--text)}.btn-icon.danger[data-v-93e97633]:hover{border-color:var(--bad);color:var(--bad)}.btn-outline[data-v-93e97633]{padding:7px 12px;font-size:12.5px}.btn-ghost[data-v-93e97633]{padding:8px 14px}.btn-primary[data-v-93e97633]{padding:8px 16px}@media (max-width:600px){.key-head[data-v-93e97633]{flex-direction:column;align-items:flex-start}}.modal[data-v-93e97633]{background:var(--surface);border:1px solid var(--border);width:100%;max-width:520px;max-height:84vh;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.modal-head[data-v-93e97633]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.modal-title[data-v-93e97633]{color:var(--text);font-size:15px;font-weight:600}.modal-sub[data-v-93e97633]{font-family:var(--font-mono);color:var(--text-3);margin-top:2px;font-size:12px}.modal-close[data-v-93e97633]{cursor:pointer;border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-2);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.modal-close[data-v-93e97633]:hover{border-color:var(--border-2);color:var(--text)}.modal-search-wrap[data-v-93e97633]{padding:14px 20px 6px}.modal-search[data-v-93e97633]{border:1px solid var(--border-2);background:var(--surface-2);width:100%;height:38px;color:var(--text);border-radius:8px;outline:none;padding:0 12px;font-size:13px}.modal-search[data-v-93e97633]:focus{border-color:var(--accent)}.modal-banner[data-v-93e97633]{margin:0 20px}.modal-list[data-v-93e97633]{flex:1;padding:6px 12px 12px;overflow-y:auto}.modal-row[data-v-93e97633]{cursor:pointer;border-radius:9px;align-items:center;gap:11px;padding:10px 12px;display:flex}.modal-row[data-v-93e97633]:hover{background:var(--surface-2)}.modal-row.busy[data-v-93e97633]{opacity:.6;pointer-events:none}.check-box[data-v-93e97633]{border:1.5px solid var(--border-2);border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.check-box.on[data-v-93e97633]{background:var(--accent);border-color:var(--accent)}.modal-row-info[data-v-93e97633]{flex:1;min-width:0}.modal-machine[data-v-93e97633]{color:var(--text);font-size:13px}.modal-loc[data-v-93e97633]{color:var(--text-3);font-size:11.5px}.row-status[data-v-93e97633]{color:var(--text-3);flex:none;font-size:11px}.row-status.deployed[data-v-93e97633]{color:var(--ok);background:var(--okBg);border-radius:6px;padding:3px 9px}.modal-empty[data-v-93e97633]{text-align:center;color:var(--text-3);padding:28px;font-size:13px}.modal-foot[data-v-93e97633]{border-top:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.foot-text[data-v-93e97633]{color:var(--text-2);font-size:12.5px}.foot-text strong[data-v-93e97633]{color:var(--text)}.section-body[data-v-02a6518a]{padding:14px 18px 18px}.all-granted[data-v-02a6518a]{color:var(--text-2);align-items:center;gap:10px;padding:20px 6px;font-size:13.5px;display:flex}.ok-badge[data-v-02a6518a]{background:var(--okBg);width:30px;height:30px;color:var(--ok);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.machine-list[data-v-02a6518a]{flex-direction:column;gap:12px;display:flex}.machine-item[data-v-02a6518a]{border:1px solid var(--border);border-radius:10px;overflow:hidden}.machine-head[data-v-02a6518a]{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;display:flex}.machine-name[data-v-02a6518a]{font-family:var(--font-mono);color:var(--text);font-size:13px;font-weight:500}.pill[data-v-02a6518a]{color:var(--text-2);background:var(--surface-3);border-radius:6px;padding:3px 9px;font-size:11px}.pill.ok[data-v-02a6518a]{color:var(--ok);background:var(--okBg)}.machine-body[data-v-02a6518a]{flex-direction:column;gap:11px;padding:13px 16px;display:flex}.perm-row[data-v-02a6518a]{align-items:baseline;gap:12px;display:flex}.row-label[data-v-02a6518a]{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);flex:none;width:74px;font-size:10px}.chips[data-v-02a6518a]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.muted[data-v-02a6518a]{color:var(--text-3);font-size:12px}.chip[data-v-02a6518a]{color:var(--text-2);background:var(--surface-3);border-radius:6px;padding:3px 9px;font-size:11.5px}.chip.ok[data-v-02a6518a]{color:var(--ok);background:var(--okBg)}.chip.info[data-v-02a6518a]{color:var(--info);background:var(--infoBg)}.chip.dashed[data-v-02a6518a]{cursor:pointer;color:var(--text-2);border:1px dashed var(--border-2);background:0 0}.chip.dashed[data-v-02a6518a]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chip.dashed.selected[data-v-02a6518a]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.chip.dashed[data-v-02a6518a]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-02a6518a]{border-radius:7px;padding:5px 12px;font-size:12px}.ok-help[data-v-02a6518a],.err-help[data-v-02a6518a]{margin:0}@media (max-width:600px){.perm-row[data-v-02a6518a]{flex-direction:column;gap:6px}}.page[data-v-179c8113]{max-width:920px}.page-title[data-v-179c8113]{margin:0 0 24px}.err-text[data-v-179c8113]{color:var(--bad);font-size:14px}.vitals-card[data-v-b7193135]{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:.75rem;padding:18px 20px;display:grid}.vitals-head[data-v-b7193135]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.vitals-title[data-v-b7193135]{color:var(--text);font-size:13px;font-weight:600}.vitals-meta[data-v-b7193135]{font-family:var(--font-mono);color:var(--text-3);align-items:center;gap:6px;font-size:11px;display:flex}.dot-sep[data-v-b7193135]{color:var(--text-3)}.empty[data-v-b7193135]{color:var(--text-3);place-items:center;height:160px;font-size:13px;display:grid}.proc-wrap[data-v-a4ec769f]{border:1px solid var(--border);border-radius:10px;overflow:hidden}.proc-table[data-v-a4ec769f]{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:12.5px}.proc-table th[data-v-a4ec769f]{text-align:left;background:var(--surface-2);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 16px;font-size:10px}.proc-table th.sorted[data-v-a4ec769f]{color:var(--text)}.proc-table th.num[data-v-a4ec769f]{text-align:right}.sort-icon[data-v-a4ec769f]{margin-left:4px;font-size:.85em}.proc-table td[data-v-a4ec769f]{border-top:1px solid var(--border);color:var(--text);vertical-align:middle;padding:10px 16px}.proc-table td.num[data-v-a4ec769f]{text-align:right;color:var(--text-2)}.proc-table td.accent[data-v-a4ec769f]{color:var(--accent)}.cmd[data-v-a4ec769f]{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.empty[data-v-a4ec769f]{text-align:center;color:var(--text-3);font-family:var(--font-sans);padding:28px}.proc-wrap.compact[data-v-a4ec769f]{border:none;border-radius:0}.proc-wrap.compact .proc-table[data-v-a4ec769f]{font-size:12px}.proc-wrap.compact th[data-v-a4ec769f]{background:0 0;padding:0 8px 6px 0}.proc-wrap.compact td[data-v-a4ec769f]{padding:5px 8px 5px 0}.proc-wrap.compact .cmd[data-v-a4ec769f]{max-width:160px}.proc-wrap.compact .empty[data-v-a4ec769f]{text-align:left;padding:8px 0}.task-list[data-v-df4f39a4]{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.task-list.compact[data-v-df4f39a4]{gap:8px}.empty-note[data-v-df4f39a4]{color:var(--text-3);padding:8px 0;font-size:13px}.task-list.compact .task-row[data-v-df4f39a4]{align-items:center;gap:8px;font-size:13px;display:flex}.task-dot[data-v-df4f39a4]{background:var(--text-3);border-radius:50%;flex-shrink:0;width:7px;height:7px}.task-dot.complete[data-v-df4f39a4]{background:var(--ok)}.task-dot.failed[data-v-df4f39a4]{background:var(--bad)}.task-dot.warning[data-v-df4f39a4]{background:var(--warn)}.task-dot.in_progress[data-v-df4f39a4]{background:var(--info);animation:1.5s infinite pulse-df4f39a4}@keyframes pulse-df4f39a4{0%,to{opacity:1}50%{opacity:.4}}.task-label[data-v-df4f39a4]{color:var(--text);flex:1}.task-row.full[data-v-df4f39a4]{border-top:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:10px 0;display:grid}.task-main[data-v-df4f39a4]{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.task-name[data-v-df4f39a4]{color:var(--text);font-size:13px}.task-time[data-v-df4f39a4]{font-family:var(--font-mono);color:var(--text-3);flex-shrink:0;font-size:11px}.status-pill[data-v-df4f39a4]{white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:11px}.status-pill.ok[data-v-df4f39a4]{color:var(--ok);background:var(--okBg)}.status-pill.warn[data-v-df4f39a4]{color:var(--warn);background:var(--warnBg)}.status-pill.bad[data-v-df4f39a4]{color:var(--bad);background:var(--badBg)}.status-pill.info[data-v-df4f39a4]{color:var(--info);background:var(--infoBg)}.status-pill.muted[data-v-df4f39a4]{color:var(--text-3);background:var(--surface-3)}.task-msg[data-v-df4f39a4]{border-radius:8px;grid-column:1/-1;padding:8px 11px;font-size:12px}.task-msg.warn[data-v-df4f39a4]{color:var(--warn);background:var(--warnBg)}.task-msg.bad[data-v-df4f39a4]{color:var(--bad);background:var(--badBg)}@media (max-width:640px){.task-row.full[data-v-df4f39a4]{grid-template-columns:1fr}}.overview-root[data-v-ef99b59a]{flex-direction:column;gap:16px;display:flex}.gauges-wrap[data-v-ef99b59a]{width:100%}.cards-row[data-v-ef99b59a]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.info-card[data-v-ef99b59a]{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.card-title[data-v-ef99b59a]{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin:0 0 12px;font-size:12px;font-weight:600}.info-rows[data-v-ef99b59a]{flex-direction:column;gap:8px;display:flex}.info-row[data-v-ef99b59a]{justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.info-label[data-v-ef99b59a]{color:var(--text-2);flex-shrink:0}.info-val[data-v-ef99b59a]{color:var(--text);text-align:right;word-break:break-all}.info-val.mono[data-v-ef99b59a]{font-family:var(--font-mono);font-size:12px}.mono[data-v-ef99b59a]{font-size:12px}.empty-note[data-v-ef99b59a]{color:var(--text-3);padding:8px 0;font-size:13px}@media (max-width:768px){.cards-row[data-v-ef99b59a]{grid-template-columns:1fr}}.spec-root[data-v-0b590ba3]{flex-direction:column;gap:20px;display:flex}.msg-text[data-v-0b590ba3]{border-radius:8px;padding:8px 12px;font-size:13px}.ok-text[data-v-0b590ba3]{color:var(--ok);background:var(--okBg)}.bad-text[data-v-0b590ba3]{color:var(--bad);background:var(--badBg)}.groups-grid[data-v-0b590ba3]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.spec-group[data-v-0b590ba3]{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.group-title[data-v-0b590ba3]{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:0 0 10px;font-size:11px;font-weight:700}.spec-rows[data-v-0b590ba3]{flex-direction:column;gap:0;display:flex}.spec-row[data-v-0b590ba3]{border-bottom:1px solid var(--border);grid-template-columns:110px 1fr;align-items:start;gap:8px;padding:7px 0;font-size:13px;display:grid}.spec-row[data-v-0b590ba3]:last-child{border-bottom:none}.spec-label[data-v-0b590ba3]{color:var(--text-2);align-items:center;gap:4px;padding-top:1px;display:flex}.pin-mark[data-v-0b590ba3]{color:var(--accent);font-size:10px}.spec-val-wrap[data-v-0b590ba3]{align-items:flex-start;gap:6px;min-width:0;display:flex}.spec-edit-wrap[data-v-0b590ba3]{flex-direction:column;gap:6px;display:flex}.spec-input[data-v-0b590ba3]{border:1px solid var(--border-2);background:var(--surface);width:100%;height:32px;color:var(--text);border-radius:7px;outline:none;padding:0 10px;font-family:IBM Plex Sans,sans-serif;font-size:13px}.spec-input[data-v-0b590ba3]:focus{border-color:var(--accent)}.spec-textarea[data-v-0b590ba3]{border:1px solid var(--border-2);background:var(--surface);width:100%;color:var(--text);font-family:var(--font-mono);resize:vertical;border-radius:7px;outline:none;padding:8px 10px;font-size:12px}.spec-textarea[data-v-0b590ba3]:focus{border-color:var(--accent)}.edit-btns[data-v-0b590ba3]{align-items:center;gap:6px;display:flex}.btn-ghost[data-v-0b590ba3]{border-radius:7px;height:28px;padding:0 10px;font-size:12px}.btn-ghost[data-v-0b590ba3]:hover:not(:disabled){color:var(--text)}.btn-ghost[data-v-0b590ba3]:disabled{opacity:.4}.btn-save[data-v-0b590ba3]{background:var(--accent);height:28px;color:var(--on-accent);cursor:pointer;border:none;border-radius:7px;padding:0 12px;font-size:12px;font-weight:600}.btn-save[data-v-0b590ba3]:hover:not(:disabled){filter:brightness(1.08)}.btn-save[data-v-0b590ba3]:disabled{opacity:.4;cursor:not-allowed}.btn-clear-override[data-v-0b590ba3]{border:1px solid var(--border-2);background:var(--surface);height:28px;color:var(--bad);cursor:pointer;border-radius:7px;padding:0 10px;font-size:12px}.btn-clear-override[data-v-0b590ba3]:hover:not(:disabled){border-color:var(--bad)}.btn-clear-override[data-v-0b590ba3]:disabled{opacity:.4;cursor:not-allowed}.btn-pen[data-v-0b590ba3]{color:var(--text-3);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.btn-pen[data-v-0b590ba3]:hover:not(:disabled){color:var(--accent)}.btn-pen[data-v-0b590ba3]:disabled{opacity:.3;cursor:not-allowed}.code-inline[data-v-0b590ba3]{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--border);word-break:break-all;border-radius:5px;padding:1px 5px;font-size:12px}.code-block[data-v-0b590ba3]{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;border-radius:7px;margin:0;padding:8px 10px;font-size:12px}.badge-list[data-v-0b590ba3]{flex-wrap:wrap;flex:1;gap:5px;display:flex}.badge[data-v-0b590ba3]{border:1px solid var(--border);font-family:var(--font-mono);border-radius:999px;padding:2px 8px;font-size:11px}.accent-badge[data-v-0b590ba3]{background:var(--accent-weak);color:var(--accent);border-color:#0000}.warn-badge[data-v-0b590ba3]{background:var(--warnBg);color:var(--warn);border-color:#0000}.extra-section[data-v-0b590ba3]{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.editable-section .spec-row[data-v-0b590ba3]{grid-template-columns:80px 1fr}@media (max-width:768px){.groups-grid[data-v-0b590ba3]{grid-template-columns:1fr}.spec-row[data-v-0b590ba3]{grid-template-columns:90px 1fr}}.keys-root[data-v-d10cc2e6]{flex-direction:column;gap:14px;display:flex}.keys-header[data-v-d10cc2e6]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.keys-header-text[data-v-d10cc2e6]{flex-direction:column;gap:4px;display:flex}.btn-deploy[data-v-d10cc2e6]{cursor:pointer;border:1px solid var(--accent);background:var(--accent-weak);color:var(--accent);border-radius:8px;flex:none;align-items:center;gap:6px;padding:8px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.picker[data-v-d10cc2e6]{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:11px;padding:14px 16px;display:flex}.picker-search[data-v-d10cc2e6]{border:1px solid var(--border-2);background:var(--surface);width:100%;color:var(--text);border-radius:8px;outline:none;padding:9px 12px;font-size:13px}.picker-search[data-v-d10cc2e6]:focus{border-color:var(--accent)}.picker-list[data-v-d10cc2e6]{flex-direction:column;gap:8px;max-height:280px;display:flex;overflow-y:auto}.picker-row[data-v-d10cc2e6]{border:1px solid var(--border);background:var(--surface);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.picker-info[data-v-d10cc2e6]{min-width:0}.picker-line[data-v-d10cc2e6]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.picker-name[data-v-d10cc2e6]{color:var(--text);font-size:13px;font-weight:500}.picker-owner[data-v-d10cc2e6]{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.role-tag[data-v-d10cc2e6]{color:var(--text-2);background:var(--surface-3);border-radius:5px;padding:2px 7px;font-size:10px}.btn-deploy-row[data-v-d10cc2e6]{cursor:pointer;background:var(--accent);color:var(--on-accent);border:none;border-radius:7px;flex:none;padding:6px 12px;font-size:12px;font-weight:600}.btn-deploy-row[data-v-d10cc2e6]:disabled{opacity:.5;cursor:not-allowed}.picker-empty[data-v-d10cc2e6]{text-align:center;color:var(--text-3);padding:14px;font-size:12.5px}.keys-count[data-v-d10cc2e6]{color:var(--text);margin:0;font-size:14px}.keys-hint[data-v-d10cc2e6]{color:var(--text-3);margin:0;font-size:12px}.msg[data-v-d10cc2e6]{border-radius:8px;padding:8px 12px;font-size:13px}.bad-text[data-v-d10cc2e6]{color:var(--bad);background:var(--badBg)}.loading-note[data-v-d10cc2e6],.empty-note[data-v-d10cc2e6]{color:var(--text-3);font-size:13px}.keys-table-wrap[data-v-d10cc2e6]{overflow-x:auto}.keys-table[data-v-d10cc2e6]{border-collapse:collapse;width:100%;font-size:13px}.keys-table th[data-v-d10cc2e6]{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);padding:0 12px 8px 0;font-size:11px;font-weight:600}.keys-table td[data-v-d10cc2e6]{color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px 10px 0}.keys-table tr:last-child td[data-v-d10cc2e6]{border-bottom:none}.mono[data-v-d10cc2e6]{color:var(--text-2);font-size:12px}.excerpt[data-v-d10cc2e6]{color:var(--text-3)}.action-col[data-v-d10cc2e6]{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.deployed-badge[data-v-d10cc2e6]{background:var(--okBg);color:var(--ok);border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.btn-remove[data-v-d10cc2e6]{border:1px solid var(--border-2);background:var(--surface);height:28px;color:var(--bad);cursor:pointer;border-radius:7px;padding:0 10px;font-size:12px;transition:border-color .15s}.btn-remove[data-v-d10cc2e6]:hover:not(:disabled){border-color:var(--bad)}.btn-remove[data-v-d10cc2e6]:disabled{opacity:.4;cursor:not-allowed}.pdu-root[data-v-97a3c31f]{gap:6px;display:grid}.loading-text[data-v-97a3c31f]{color:var(--text-3);font-size:13px}.pdu-row[data-v-97a3c31f]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pdu-select[data-v-97a3c31f]{border:1px solid var(--border-2);background:var(--surface-2);height:36px;color:var(--text);cursor:pointer;border-radius:8px;outline:none;min-width:160px;padding:0 10px;font-family:IBM Plex Sans,sans-serif;font-size:13px}.pdu-select[data-v-97a3c31f]:focus{border-color:var(--accent)}.outlet-input[data-v-97a3c31f]{border:1px solid var(--border-2);background:var(--surface-2);width:90px;height:36px;color:var(--text);font-family:var(--font-mono);border-radius:8px;outline:none;padding:0 10px;font-size:13px}.outlet-input[data-v-97a3c31f]:focus{border-color:var(--accent)}.btn-save[data-v-97a3c31f]{background:var(--accent);height:36px;color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;padding:0 14px;font-size:13px;font-weight:600;transition:filter .15s}.btn-save[data-v-97a3c31f]:hover:not(:disabled){filter:brightness(1.08)}.btn-save[data-v-97a3c31f]:disabled{opacity:.4;cursor:not-allowed}.btn-clear[data-v-97a3c31f]{border:1px solid var(--border-2);background:var(--surface);height:36px;color:var(--bad);cursor:pointer;border-radius:8px;padding:0 14px;font-size:13px;font-weight:500;transition:border-color .15s}.btn-clear[data-v-97a3c31f]:hover:not(:disabled){border-color:var(--bad)}.btn-clear[data-v-97a3c31f]:disabled{opacity:.4;cursor:not-allowed}.err-text[data-v-97a3c31f]{color:var(--bad);font-size:12px}.ok-text[data-v-97a3c31f]{color:var(--ok);font-size:12px}.action-group[data-v-58de6fcc]{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:16px 18px}.action-group-head[data-v-58de6fcc]{gap:3px;margin-bottom:13px;display:grid}.group-title[data-v-58de6fcc]{color:var(--text);margin:0;font-size:13px;font-weight:600}.group-description[data-v-58de6fcc]{color:var(--text-3);margin:0;font-size:12.5px}.check-row[data-v-58de6fcc]{flex-wrap:wrap;gap:18px;margin-bottom:14px;display:flex}.check[data-v-58de6fcc]{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check input[data-v-58de6fcc]{accent-color:var(--accent);width:15px;height:15px}.buttons-wrap[data-v-58de6fcc]{flex-wrap:wrap;gap:8px;display:flex}.btn-primary[data-v-58de6fcc]{padding:8px 14px;font-size:12.5px}.warn-help[data-v-58de6fcc],.ok-help[data-v-58de6fcc]{margin:12px 0 0}.err-help[data-v-58de6fcc]{margin:6px 0 0}.actions-root[data-v-1ad26d90]{gap:16px;min-width:0;display:grid}.action-groups[data-v-1ad26d90]{gap:16px;display:grid}.action-group[data-v-1ad26d90]{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:16px 18px}.action-group-head[data-v-1ad26d90]{gap:3px;margin-bottom:13px;display:grid}.group-title[data-v-1ad26d90]{color:var(--text);margin:0;font-size:13px;font-weight:600}.group-description[data-v-1ad26d90]{color:var(--text-3);margin:0;font-size:12.5px}.buttons-wrap[data-v-1ad26d90]{flex-wrap:wrap;gap:8px;display:flex}.btn-action[data-v-1ad26d90]{cursor:pointer;border:1px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:500}.btn-action[data-v-1ad26d90]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-action.danger[data-v-1ad26d90]:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}.btn-action[data-v-1ad26d90]:disabled{opacity:.5;cursor:not-allowed}.banner[data-v-1ad26d90]{padding:12px 14px;font-size:13px}.no-perms[data-v-1ad26d90]{color:var(--text-3);padding:8px 0;font-size:13px}.empty[data-v-1ad26d90]{color:var(--text-3);place-items:center;padding:32px;font-size:14px;display:grid}.usage-history[data-v-36286584]{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:12px;gap:.75rem;padding:18px 20px;display:grid}.header[data-v-36286584]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.section-title[data-v-36286584]{color:var(--text);margin:0;font-size:15px;font-weight:600}.controls[data-v-36286584]{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.control[data-v-36286584]{align-items:center;display:flex}.date-input[data-v-36286584]{border:1px solid var(--border-2);background:var(--surface-2);min-width:16ch;height:34px;color:var(--text);border-radius:8px;outline:none;padding:0 10px;font-family:IBM Plex Sans,sans-serif;font-size:12.5px}.date-input[data-v-36286584]:focus{border-color:var(--accent)}.label-text[data-v-36286584]{color:var(--text-3);white-space:nowrap;margin-right:.5rem;font-size:12px}.echarts[data-v-36286584]{width:100%;min-width:0}.empty[data-v-36286584]{color:var(--text-3);place-items:center;height:220px;font-size:13px;display:grid}@media (max-width:640px){.header[data-v-36286584]{align-items:stretch}.controls[data-v-36286584]{width:100%}.control[data-v-36286584]{flex:220px}}.gallery-root[data-v-ec4c34fa]{gap:1rem;min-width:0;display:grid}.header[data-v-ec4c34fa]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.section-title[data-v-ec4c34fa]{color:var(--text);margin:0;font-size:15px;font-weight:600}.count-chip[data-v-ec4c34fa]{color:var(--text-2);background:var(--surface-3);border-radius:6px;padding:3px 9px;font-size:11.5px}.img-card[data-v-ec4c34fa]{cursor:zoom-in;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;overflow:hidden}.image-frame.primary[data-v-ec4c34fa]{aspect-ratio:16/9;background:var(--surface-3)}.grid[data-v-ec4c34fa]{gap:.75rem;display:grid}@media (min-width:640px){.grid[data-v-ec4c34fa]{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.grid[data-v-ec4c34fa]{grid-template-columns:repeat(3,1fr)}}.thumb-card[data-v-ec4c34fa]{border-radius:10px}.image-frame.thumb[data-v-ec4c34fa]{aspect-ratio:4/3;background:var(--surface-3)}.image-frame[data-v-ec4c34fa]{width:100%;display:block;overflow:hidden}.image-frame img[data-v-ec4c34fa]{object-fit:cover;width:100%;height:100%;display:block}.caption[data-v-ec4c34fa]{color:var(--text-2);word-break:break-word;overflow-wrap:anywhere;margin:0;padding:10px 14px;font-size:12.5px}.empty[data-v-ec4c34fa]{color:var(--text-3);place-items:center;min-height:120px;font-size:13px;display:grid}.banner[data-v-ec4c34fa]{padding:12px 14px;font-size:13px}.lightbox[data-v-ec4c34fa]{background:var(--surface);border:1px solid var(--border);width:100%;max-width:900px;box-shadow:var(--shadow);border-radius:12px;position:relative;overflow:hidden}.lightbox-img[data-v-ec4c34fa]{background:#000;place-items:center;width:100%;display:grid}.lightbox-img img[data-v-ec4c34fa]{object-fit:contain;width:100%;height:auto;max-height:76vh;display:block}.lightbox-caption[data-v-ec4c34fa]{color:var(--text-2);border-top:1px solid var(--border);padding:12px 16px;font-size:13.5px}.nav[data-v-ec4c34fa]{background:var(--scrim);width:38px;height:38px;color:var(--on-accent);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nav.prev[data-v-ec4c34fa]{left:.75rem}.nav.next[data-v-ec4c34fa]{right:.75rem}.modal-close[data-v-ec4c34fa]{background:var(--surface);width:34px;height:34px;color:var(--text-2);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:24px;right:24px}.modal-close[data-v-ec4c34fa]:hover{color:var(--text)}@media (max-width:640px){.image-frame.primary[data-v-ec4c34fa]{aspect-ratio:4/3}.nav[data-v-ec4c34fa]{display:none}}.page[data-v-a3ad5278]{padding:24px 24px 64px}.breadcrumb[data-v-a3ad5278]{font-family:var(--font-mono);color:var(--text-2);align-items:center;gap:6px;margin-bottom:18px;font-size:12px;display:flex}.bc-link[data-v-a3ad5278]{color:var(--text-3);text-decoration:none}.bc-link[data-v-a3ad5278]:hover{color:var(--accent)}.bc-sep[data-v-a3ad5278]{color:var(--text-3)}.machine-card[data-v-a3ad5278]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.mcard-head[data-v-a3ad5278]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 18px;display:flex}.mhead-left[data-v-a3ad5278]{flex-direction:column;gap:8px;min-width:0;display:flex}.mhead-title-row[data-v-a3ad5278]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mname[data-v-a3ad5278]{letter-spacing:-.02em;color:var(--text);margin:0;font-size:25px;font-weight:700}.status-pill[data-v-a3ad5278]{border-radius:999px;align-items:center;gap:6px;padding:4px 11px 4px 9px;font-size:12px;font-weight:600;display:inline-flex}.status-pill.online[data-v-a3ad5278]{background:var(--okBg);color:var(--ok)}.status-pill.offline[data-v-a3ad5278]{background:var(--surface-3);color:var(--text-3)}.mhead-meta[data-v-a3ad5278]{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px;font-size:13.5px;display:flex}.meta-sep[data-v-a3ad5278]{color:var(--text-3)}.mhead-actions[data-v-a3ad5278]{flex-shrink:0;gap:8px;display:flex}.btn-outline[data-v-a3ad5278]{border:1px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:9px;gap:7px;padding:8px 13px;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s}.btn-outline[data-v-a3ad5278]:hover:not(:disabled){border-color:var(--text-3)}.btn-outline[data-v-a3ad5278]:disabled{opacity:.4}.btn-accent[data-v-a3ad5278]{cursor:pointer;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:600;transition:filter .15s;display:inline-flex}.btn-accent[data-v-a3ad5278]:hover:not(:disabled){filter:brightness(1.08)}.btn-accent[data-v-a3ad5278]:disabled{opacity:.4;cursor:not-allowed}.tab-bar[data-v-a3ad5278]{border-bottom:1px solid var(--border);gap:0;padding:0 24px;display:flex;overflow-x:auto}.tab-btn[data-v-a3ad5278]{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:18px;padding:12px 4px;font-size:13px;transition:color .15s}.tab-btn[data-v-a3ad5278]:hover{color:var(--text)}.tab-btn.active[data-v-a3ad5278]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-content[data-v-a3ad5278]{padding:20px 24px;overflow-x:auto}.loading-row[data-v-a3ad5278]{color:var(--text-3);align-items:center;gap:10px;padding:32px 0;font-size:14px;display:flex}.spin-icon[data-v-a3ad5278]{animation:1s linear infinite spin}.msg-box[data-v-a3ad5278]{border-radius:10px;padding:16px 18px;font-size:13.5px}.msg-danger[data-v-a3ad5278]{background:var(--badBg);color:var(--bad)}.msg-warn[data-v-a3ad5278]{background:var(--warnBg);color:var(--warn)}.access-btns[data-v-a3ad5278]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mb-2[data-v-a3ad5278]{margin-bottom:8px}.ok-text[data-v-a3ad5278]{color:var(--ok);margin-top:8px;font-size:12.5px}.bad-text[data-v-a3ad5278]{color:var(--bad);margin-top:8px;font-size:12.5px}@media (max-width:640px){.mcard-head[data-v-a3ad5278]{flex-direction:column}.mhead-actions[data-v-a3ad5278]{width:100%}.btn-outline[data-v-a3ad5278]{flex:1}.tab-content[data-v-a3ad5278]{padding:16px}}.page[data-v-ffb3acba]{max-width:760px}.section-body[data-v-ffb3acba]{padding:20px 22px}.banner[data-v-ffb3acba]{margin-bottom:16px;padding:12px 14px;font-size:13px}.banner .sub[data-v-ffb3acba]{opacity:.9;margin:6px 0 0;font-size:12px}.form-grid[data-v-ffb3acba]{gap:15px 16px;display:grid}@media (min-width:640px){.form-grid[data-v-ffb3acba]{grid-template-columns:1fr 1fr}.span-2[data-v-ffb3acba]{grid-column:1/-1}}.optional-hint[data-v-ffb3acba]{color:var(--text-3);margin-left:4px;font-size:11px;font-weight:400}.select-input[data-v-ffb3acba]{cursor:pointer}.text-input.mono[data-v-ffb3acba]{font-family:var(--font-mono)}.text-input.err[data-v-ffb3acba],.select-input.err[data-v-ffb3acba]{border-color:var(--bad)}.help[data-v-ffb3acba]{margin:6px 0 0}.help code[data-v-ffb3acba],.optional-hint code[data-v-ffb3acba]{font-family:var(--font-mono);background:var(--surface-3);border-radius:4px;padding:1px 5px}.err-help[data-v-ffb3acba],.warn-help[data-v-ffb3acba]{margin:6px 0 0}.actions[data-v-ffb3acba]{justify-content:flex-end;gap:8px;display:flex}.auth-page[data-v-da088784]{justify-content:center;align-items:center;min-height:100vh;padding:32px 24px;display:flex}.auth-wrap[data-v-da088784]{width:100%;max-width:460px}.section-body[data-v-da088784]{gap:15px;padding:20px 22px;display:grid}.text-input.mono[data-v-da088784]{font-family:var(--font-mono)}.text-input.err[data-v-da088784]{border-color:var(--bad)}.help[data-v-da088784],.err-help[data-v-da088784]{margin:6px 0 0}.actions[data-v-da088784]{justify-content:flex-end;display:flex}.btn-primary[data-v-da088784]{padding:9px 18px}.disclaimer[data-v-da088784]{color:var(--text-3);margin:12px 4px 0;font-size:12px}.range-root[data-v-adaccc0b]{gap:10px;display:grid}.range-fields[data-v-adaccc0b]{align-items:center;gap:7px;min-width:0;display:flex}.num-input[data-v-adaccc0b]{border:1px solid var(--border-2);background:var(--surface);min-width:0;max-width:9ch;height:30px;color:var(--text);font-family:var(--font-mono);appearance:textfield;border-radius:7px;outline:none;flex:1 1 0;padding:0 6px;font-size:12.5px}.num-input[data-v-adaccc0b]:focus{border-color:var(--accent)}.num-input[data-v-adaccc0b]::-webkit-inner-spin-button{appearance:none;margin:0}.num-input[data-v-adaccc0b]::-webkit-outer-spin-button{appearance:none;margin:0}.dash[data-v-adaccc0b]{color:var(--text-3);flex:none;font-size:12px}.unit[data-v-adaccc0b]{color:var(--text-3);flex:none;font-size:11.5px}.slider[data-v-adaccc0b]{align-items:center;height:18px;display:flex;position:relative}.track[data-v-adaccc0b]{background:var(--surface-3);border-radius:999px;height:4px;position:absolute;left:0;right:0}.track.fill[data-v-adaccc0b]{background:var(--accent)}.thumb[data-v-adaccc0b]{appearance:none;pointer-events:none;background:0 0;width:100%;height:18px;margin:0;position:absolute;left:0}.thumb[data-v-adaccc0b]:focus-visible{outline:none}.thumb[data-v-adaccc0b]::-webkit-slider-thumb{pointer-events:auto;appearance:none;border:2px solid var(--accent);background:var(--surface);cursor:grab;width:14px;height:14px;box-shadow:var(--shadow);border-radius:50%}.thumb[data-v-adaccc0b]::-moz-range-thumb{pointer-events:auto;border:2px solid var(--accent);background:var(--surface);cursor:grab;border-radius:50%;width:14px;height:14px}.thumb[data-v-adaccc0b]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-weak)}.thumb[data-v-adaccc0b]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-weak)}.range-foot[data-v-adaccc0b]{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.hint[data-v-adaccc0b]{color:var(--text-3);font-size:11.5px;font-family:var(--font-mono)}.clear[data-v-adaccc0b]{color:var(--accent);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:11.5px}.clear[data-v-adaccc0b]:hover{text-decoration:underline}.filter-grid[data-v-b765a2e8]{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;min-width:0;display:grid}.filter-panel[data-v-b765a2e8]{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;min-width:0;padding:14px 16px}.filter-panel-header[data-v-b765a2e8]{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.filter-panel-header h3[data-v-b765a2e8]{color:var(--text);margin:0;font-size:13px;font-weight:600}.filter-type[data-v-b765a2e8]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-size:10px}.subtle-input[data-v-b765a2e8]{border:1px solid var(--border-2);background:var(--surface);width:100%;height:34px;color:var(--text);border-radius:8px;outline:none;padding:0 10px;font-size:13px}.subtle-input[data-v-b765a2e8]:focus{border-color:var(--accent)}.select-wrap select[data-v-b765a2e8]{border:1px solid var(--border-2);background:var(--surface);width:100%;height:34px;color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.select-wrap select[data-v-b765a2e8]:focus{border-color:var(--accent)}.hint[data-v-b765a2e8]{color:var(--text-3);margin:8px 0 0;font-size:11.5px}.machine-search-page[data-v-1020aa39]{max-width:1180px;margin:0 auto;padding:32px 24px 64px;overflow-x:hidden}.search-shell[data-v-1020aa39]{gap:20px;width:100%;min-width:0;display:grid}.panel-card[data-v-1020aa39]{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;box-shadow:var(--shadow);border-radius:12px}.search-hero[data-v-1020aa39]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-eyebrow[data-v-1020aa39]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 4px;font-size:10px;font-weight:600}.panel-header h2[data-v-1020aa39]{color:var(--text);margin:0;font-size:14px;font-weight:600}.hero-actions[data-v-1020aa39]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.result-pill[data-v-1020aa39]{background:var(--surface-3);color:var(--text-2);border-radius:8px;align-items:center;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.result-pill.soft[data-v-1020aa39]{background:var(--accent-weak);color:var(--accent)}.btn-ghost[data-v-1020aa39]{padding:8px 13px}.btn-ghost[data-v-1020aa39]:hover{border-color:var(--accent);color:var(--accent)}.search-layout[data-v-1020aa39]{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:20px;min-width:0;display:grid}.control-column[data-v-1020aa39],.results-column[data-v-1020aa39]{align-content:start;gap:20px;min-width:0;display:grid}.control-card[data-v-1020aa39],.filters-card[data-v-1020aa39],.results-card[data-v-1020aa39],.loading-card[data-v-1020aa39]{padding:18px}.panel-header[data-v-1020aa39]{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.panel-header.compact[data-v-1020aa39]{align-items:center}.chip-grid[data-v-1020aa39]{flex-wrap:wrap;gap:7px;display:flex}.field-chip[data-v-1020aa39]{cursor:pointer;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text-2);border-radius:8px;padding:6px 11px;font-size:12.5px;transition:border-color .15s,background .15s,color .15s}.field-chip[data-v-1020aa39]:hover{border-color:var(--accent);color:var(--accent)}.field-chip.active[data-v-1020aa39]{background:var(--accent-weak);border-color:var(--accent);color:var(--accent);font-weight:600}.sort-grid[data-v-1020aa39]{gap:13px;display:grid}.label[data-v-1020aa39]{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.select-wrap[data-v-1020aa39]{width:100%;position:relative}.select-wrap select[data-v-1020aa39]{border:1px solid var(--border-2);background:var(--surface);width:100%;height:36px;color:var(--text);font-family:var(--font-sans);cursor:pointer;appearance:none;border-radius:8px;outline:none;padding:0 30px 0 12px;font-size:13px}.select-wrap select[data-v-1020aa39]:focus{border-color:var(--accent)}.select-wrap[data-v-1020aa39]:after{content:"";border-right:2px solid var(--text-3);border-bottom:2px solid var(--text-3);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:13px;transform:translateY(-70%)rotate(45deg)}.segmented-toggle[data-v-1020aa39]{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.toggle-button[data-v-1020aa39]{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 8px;font-size:12.5px;font-weight:600}.toggle-button.active[data-v-1020aa39]{background:var(--accent);color:var(--on-accent)}@media (max-width:960px){.search-layout[data-v-1020aa39]{grid-template-columns:1fr}.search-hero[data-v-1020aa39]{flex-direction:column}.hero-actions[data-v-1020aa39]{justify-content:flex-start}}
