.app-logo[data-v-6a33b1ea]{flex-shrink:0;display:block}.shell[data-v-206f0aa8]{min-height:100vh}.topbar[data-v-206f0aa8]{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(10px);backdrop-filter:saturate(1.6) blur(10px)}.topbar-inner[data-v-206f0aa8]{max-width:var(--page-width);margin:0 auto;display:flex;align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-5)}.brand[data-v-206f0aa8]{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:1rem;letter-spacing:-.02em;text-decoration:none;color:var(--color-text);white-space:nowrap}.nav[data-v-206f0aa8]{display:flex;gap:var(--space-1);flex:1}.nav-link[data-v-206f0aa8]{padding:.35rem .7rem;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:550}.nav-link[data-v-206f0aa8]:hover{color:var(--color-text);background:var(--color-neutral-bg)}.nav-link.active[data-v-206f0aa8]{color:var(--color-accent);background:var(--color-accent-bg)}.actions[data-v-206f0aa8]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.user[data-v-206f0aa8]{color:var(--color-text-muted);font-size:.82rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:var(--space-2)}.worker-down[data-v-206f0aa8]{background:var(--color-danger-bg);color:var(--color-danger);font-size:.88rem;text-align:center;padding:var(--space-2) var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--color-danger) 25%,transparent)}@media (max-width: 860px){.user[data-v-206f0aa8]{display:none}}@media (max-width: 600px){.topbar-inner[data-v-206f0aa8]{flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4)}.brand span[data-v-206f0aa8]{display:none}.nav[data-v-206f0aa8]{order:3;flex-basis:100%}.actions[data-v-206f0aa8]{margin-left:auto}}.dot[data-v-317fe6da]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.stat-button[data-v-ee05fe35]{cursor:pointer;transition:border-color .15s,box-shadow .15s}.stat-button[data-v-ee05fe35]:hover{border-color:var(--color-border-strong)}.stat-button.selected[data-v-ee05fe35]{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 16%,transparent)}.stat-total[data-v-ee05fe35]{font-size:.95rem;color:var(--color-text-faint);font-weight:600}.toolbar[data-v-ee05fe35]{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.toolbar input[data-v-ee05fe35]{max-width:380px}.empty[data-v-ee05fe35]{padding:var(--space-8) var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.empty .btn[data-v-ee05fe35]{align-self:center;margin-top:var(--space-2)}.rows[data-v-ee05fe35]{display:flex;flex-direction:column}.row[data-v-ee05fe35]{display:grid;grid-template-columns:1.4fr .9fr 1.3fr 1.1fr .8fr .8fr;gap:var(--space-3);align-items:center;padding:.8rem var(--space-4);border-bottom:1px solid var(--color-border);color:inherit;text-decoration:none;font-size:.9rem}.row[data-v-ee05fe35]:last-child{border-bottom:none}a.row[data-v-ee05fe35]:hover{background:var(--color-surface-2)}a.row:hover strong[data-v-ee05fe35]{color:var(--color-accent)}.row-head[data-v-ee05fe35]{background:var(--color-surface-2);color:var(--color-text-faint);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding-top:.55rem;padding-bottom:.55rem}.cell-agent[data-v-ee05fe35],.cell-machine[data-v-ee05fe35]{display:flex;flex-direction:column;min-width:0}.cell-agent[data-v-ee05fe35]>*,.cell-machine[data-v-ee05fe35]>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-updates .pill[data-v-ee05fe35]:first-of-type{margin-left:var(--space-2)}@media (max-width: 820px){.row-head[data-v-ee05fe35]{display:none}.row[data-v-ee05fe35]{grid-template-columns:1fr auto;grid-template-areas:"agent status" "machine machine" "updates updates" "data when";gap:var(--space-2) var(--space-3);padding:var(--space-4)}.cell-agent[data-v-ee05fe35]{grid-area:agent}.cell-status[data-v-ee05fe35]{grid-area:status}.cell-machine[data-v-ee05fe35]{grid-area:machine}.cell-updates[data-v-ee05fe35]{grid-area:updates}.cell-data[data-v-ee05fe35]{grid-area:data}.cell-when[data-v-ee05fe35]{grid-area:when;text-align:right}.toolbar input[data-v-ee05fe35]{max-width:none}}.dt-object[data-v-136f3ac6]{display:grid;grid-template-columns:minmax(8rem,max-content) 1fr;gap:var(--space-2) var(--space-4);margin:0;font-size:.9rem}.dt-object dt[data-v-136f3ac6]{color:var(--color-text-muted)}.dt-object dd[data-v-136f3ac6]{margin:0;min-width:0;overflow-wrap:anywhere}.dt-object dd>.dt-object[data-v-136f3ac6]{padding-left:var(--space-3);border-left:2px solid var(--color-border)}.dt-list[data-v-136f3ac6]{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-1)}.dt-table td[data-v-136f3ac6]{font-variant-numeric:tabular-nums}.val-true[data-v-136f3ac6]{color:var(--color-success);font-weight:550}.val-false[data-v-136f3ac6]{color:var(--color-danger);font-weight:550}@media (max-width: 560px){.dt-object[data-v-136f3ac6]{grid-template-columns:1fr;gap:0}.dt-object dd[data-v-136f3ac6]{margin-bottom:var(--space-2)}}.segmented[data-v-c1405f19]{display:inline-flex;flex-wrap:wrap;align-self:flex-start;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden}.segmented label[data-v-c1405f19]{padding:.4rem .8rem;font-size:.85rem;cursor:pointer;color:var(--color-text-muted)}.segmented label+label[data-v-c1405f19]{border-left:1px solid var(--color-border-strong)}.segmented label[data-v-c1405f19]:focus-within{outline:2px solid var(--color-accent);outline-offset:-2px}.segmented label.active[data-v-c1405f19]{background:var(--color-text);color:var(--color-bg)}.segmented input[data-v-c1405f19]{position:absolute;opacity:0;pointer-events:none}.mono[data-v-c1405f19]{font-family:var(--font-mono);font-size:.8rem}.breadcrumb[data-v-0d1a13a0]{display:flex;gap:var(--space-2);align-items:center;font-size:.88rem;margin-bottom:calc(-1 * var(--space-2))}.detail-header[data-v-0d1a13a0]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.refresh[data-v-0d1a13a0]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.spin[data-v-0d1a13a0]{display:inline-block;animation:spin-0d1a13a0 1s linear infinite}@keyframes spin-0d1a13a0{to{transform:rotate(360deg)}}.action-banner[data-v-0d1a13a0]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.stat-link[data-v-0d1a13a0]{cursor:pointer;transition:border-color .15s}.stat-link[data-v-0d1a13a0]:hover{border-color:var(--color-accent)}.unit[data-v-0d1a13a0]{font-size:.95rem;font-weight:600;margin-left:1px}.level-warning[data-v-0d1a13a0]{color:var(--color-warning)}.level-danger[data-v-0d1a13a0]{color:var(--color-danger)}.facts[data-v-0d1a13a0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.facts dt[data-v-0d1a13a0]{color:var(--color-text-muted);font-size:.8rem}.facts dd[data-v-0d1a13a0]{font-size:.92rem;overflow-wrap:anywhere}.gauges[data-v-0d1a13a0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4) var(--space-5)}.gauge-label[data-v-0d1a13a0]{display:flex;justify-content:space-between;gap:var(--space-2);font-size:.85rem;margin-bottom:var(--space-1)}.bar[data-v-0d1a13a0]{height:8px;border-radius:999px;background:var(--color-neutral-bg);overflow:hidden}.bar-fill[data-v-0d1a13a0]{height:100%;border-radius:999px}.bar-fill.ok[data-v-0d1a13a0]{background:var(--color-success)}.bar-fill.warning[data-v-0d1a13a0]{background:var(--color-warning)}.bar-fill.danger[data-v-0d1a13a0]{background:var(--color-danger)}.updates-table[data-v-0d1a13a0]{max-height:460px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.updates-table th[data-v-0d1a13a0]{position:sticky;top:0}.uptodate[data-v-0d1a13a0]{color:var(--color-success);font-weight:600}.timeline[data-v-0d1a13a0]{display:flex;flex-direction:column;gap:var(--space-4)}.timeline-date[data-v-0d1a13a0]{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);margin-bottom:var(--space-2)}.timeline ul[data-v-0d1a13a0]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.event[data-v-0d1a13a0]{display:grid;grid-template-columns:24px 1fr auto;align-items:baseline;gap:var(--space-2);font-size:.88rem}.event-icon[data-v-0d1a13a0]{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;align-self:center}.event-available .event-icon[data-v-0d1a13a0]{background:var(--color-info-bg);color:var(--color-info)}.event-applied .event-icon[data-v-0d1a13a0]{background:var(--color-success-bg);color:var(--color-success)}.event-text[data-v-0d1a13a0]{min-width:0;overflow-wrap:anywhere}.url[data-v-0d1a13a0]{overflow-wrap:anywhere}.url-input[data-v-0d1a13a0]{flex:1;min-width:220px}.raw[data-v-0d1a13a0]{background:var(--color-neutral-bg);padding:var(--space-4);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.8rem;overflow:auto;max-height:520px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.danger-zone[data-v-0d1a13a0]{border-color:color-mix(in srgb,var(--color-danger) 30%,var(--color-border))}.confirm-input[data-v-0d1a13a0]{flex:1;min-width:220px;max-width:360px}@media (max-width: 640px){.refresh[data-v-0d1a13a0]{align-items:flex-start}}.login-page[data-v-bb2887de]{background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--color-accent) 14%,transparent),transparent 45%),radial-gradient(circle at 90% 100%,color-mix(in srgb,#7c3aed 10%,transparent),transparent 40%),var(--color-bg)}.login[data-v-bb2887de]{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--space-5)}.login-brand[data-v-bb2887de]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.login-brand h1[data-v-bb2887de]{margin-top:var(--space-2)}.center[data-v-bb2887de]{text-align:center;align-items:center}.sent-icon[data-v-bb2887de]{font-size:2rem;color:var(--color-accent);line-height:1}.text[data-v-bb2887de]{color:var(--color-text)}.add-form[data-v-48da23d3]{display:flex;gap:var(--space-2);flex-wrap:wrap}.add-form input[data-v-48da23d3]{flex:1 1 220px}.add-form select[data-v-48da23d3]{flex:0 1 160px}.role-select[data-v-48da23d3]{width:auto;padding:.3rem .5rem;font-size:.85rem}.alerts-toggle[data-v-48da23d3]{width:auto;accent-color:var(--color-text)}.actions[data-v-48da23d3]{text-align:right;white-space:nowrap}.actions .btn-link+.btn-link[data-v-48da23d3]{margin-left:var(--space-3)}:root{--color-bg: #f6f6fa;--color-surface: #ffffff;--color-surface-2: #fafafc;--color-border: #e5e5ee;--color-border-strong: #d2d2de;--color-text: #16161d;--color-text-muted: #5f5f6e;--color-text-faint: #9696a6;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-bg: #eef0ff;--color-accent-text: #ffffff;--color-success: #15803d;--color-success-bg: #eafaf0;--color-warning: #9a6700;--color-warning-bg: #fff7e0;--color-danger: #c0202b;--color-danger-bg: #fdecee;--color-info: #3b4fd8;--color-info-bg: #eef0ff;--color-neutral: #5f5f6e;--color-neutral-bg: #f0f0f5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(22, 22, 40, .05);--shadow-md: 0 10px 30px rgba(22, 22, 40, .08);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--page-width: 1120px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--color-bg: #0d0d14;--color-surface: #16161f;--color-surface-2: #1b1b25;--color-border: #272733;--color-border-strong: #363645;--color-text: #ececf3;--color-text-muted: #9d9db0;--color-text-faint: #6b6b7d;--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-accent-bg: #1d1f3f;--color-accent-text: #0d0d14;--color-success: #4ade80;--color-success-bg: #10281a;--color-warning: #f5c04e;--color-warning-bg: #2d2410;--color-danger: #f5707a;--color-danger-bg: #331419;--color-info: #a5b4fc;--color-info-bg: #1d1f3f;--color-neutral: #9d9db0;--color-neutral-bg: #20202b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 10px 30px rgba(0, 0, 0, .5);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,p,figure,dl,dd{margin:0}a{color:inherit}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}h1{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}h2{font-size:1rem;font-weight:650;letter-spacing:-.01em}h3{font-size:.92rem;font-weight:600}code{font-family:var(--font-mono);font-size:.86em;background:var(--color-neutral-bg);padding:.1em .4em;border-radius:5px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.page{max-width:var(--page-width);margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8);display:flex;flex-direction:column;gap:var(--space-5)}.page-narrow{max-width:760px}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);text-decoration:none;font-size:.88rem}.back-link:hover{color:var(--color-accent)}.page-header{display:flex;flex-direction:column;gap:var(--space-1)}.page-header-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.page-header-split{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.subtitle{color:var(--color-text-muted);font-size:.92rem}@media (max-width: 640px){.page{padding:var(--space-5) var(--space-4) var(--space-8)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-3);flex-wrap:wrap}.card-header p{color:var(--color-text-muted);font-size:.85rem}.card-flush{padding:0;overflow:hidden}.field{display:flex;flex-direction:column;gap:var(--space-1);font-size:.9rem}.field-label{font-weight:550;color:var(--color-text)}.field-hint{color:var(--color-text-muted);font-size:.82rem;line-height:1.45}.field-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}input,textarea,select{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.55rem .75rem;width:100%;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 22%,transparent)}input::placeholder,textarea::placeholder{color:var(--color-text-faint)}input[type=file]{padding:.4rem;border-style:dashed}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--color-accent)}textarea{resize:vertical;min-height:4.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.form-grid .field-full{grid-column:1 / -1}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:var(--space-2);font:inherit;font-size:.88rem;font-weight:600;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,opacity .15s}.btn-block{align-self:stretch;width:100%}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--color-accent);color:var(--color-accent-text)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-bg)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-neutral-bg);color:var(--color-text)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 25%,transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 16%,var(--color-surface))}.btn-sm{padding:.35rem .7rem;font-size:.8rem}.btn-link{background:none;border:none;padding:0;color:var(--color-accent);text-decoration:none;font:inherit;font-size:.85rem;font-weight:550;cursor:pointer}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--color-danger)}.btn-link:disabled{opacity:.5;cursor:default}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-weight:600;color:var(--color-text-faint);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;padding:.6rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}td{padding:.7rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr.row-clickable{cursor:pointer}tbody tr.row-clickable:hover{background:var(--color-surface-2)}.empty-cell{color:var(--color-text-muted);text-align:center;padding:var(--space-6) var(--space-4)!important}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.18rem .6rem .18rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.pill{display:inline-block;margin-left:var(--space-1);padding:.05rem .45rem;border-radius:999px;font-size:.72rem;font-weight:650;white-space:nowrap}.pill-danger{background:var(--color-danger-bg);color:var(--color-danger)}.pill-warning{background:var(--color-warning-bg);color:var(--color-warning)}.pill-neutral{background:var(--color-neutral-bg);color:var(--color-neutral)}.banner{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:.88rem;border:1px solid transparent}.banner-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 22%,transparent)}.banner-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 22%,transparent)}.banner-info{background:var(--color-info-bg);color:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 18%,transparent)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:.6rem .9rem;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--color-text-muted);font:inherit;font-size:.9rem;font-weight:550;cursor:pointer;white-space:nowrap;text-decoration:none}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-count{font-size:.72rem;font-weight:650;padding:.02rem .45rem;border-radius:999px;background:var(--color-neutral-bg);color:var(--color-text-muted)}.tab-count.danger{background:var(--color-danger-bg);color:var(--color-danger)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:.15rem;text-align:left;font:inherit;color:inherit;box-shadow:var(--shadow-sm)}.stat-label{color:var(--color-text-muted);font-size:.8rem;font-weight:550}.stat-value{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.stat-hint{color:var(--color-text-faint);font-size:.78rem}@media (max-width: 640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:var(--space-3)}.stat-value{font-size:1.25rem}}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.small{font-size:.8rem}.mono{font-family:var(--font-mono);font-size:.82rem}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.divider{height:1px;background:var(--color-border);border:none;margin:0}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}
