.cdot[data-v-d97b3c7d]{display:inline-block;width:10px;height:10px;border-radius:999px;background:#94a3b8;vertical-align:middle}.cdot.on[data-v-d97b3c7d]{background:#22c55e;animation:cpulse-d97b3c7d 2.2s infinite}.cdot.off[data-v-d97b3c7d]{background:#ef4444}@keyframes cpulse-d97b3c7d{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 5px #22c55e00}to{box-shadow:0 0 #22c55e00}}.ds[data-v-a2efcb78]{--c: #7d8b9c;position:relative;display:inline-flex}.tone-grey[data-v-a2efcb78]{--c: #7d8b9c}.tone-blue[data-v-a2efcb78]{--c: #5b9bd1}.tone-green[data-v-a2efcb78]{--c: var(--color-ok)}.tone-amber[data-v-a2efcb78]{--c: var(--color-warn)}.ds-chip[data-v-a2efcb78]{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px 4px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 45%,var(--color-border, #2c3a49));background:color-mix(in srgb,var(--c) 12%,var(--color-surface, #1b2530));color:var(--c);font-size:var(--font-sm, 13px);font-weight:600;cursor:pointer;white-space:nowrap}.ds-chip.open[data-v-a2efcb78]{outline:2px solid color-mix(in srgb,var(--c) 55%,transparent);outline-offset:-1px}.ds-label[data-v-a2efcb78]{color:color-mix(in srgb,var(--c) 60%,var(--color-text, #e8edf2))}.spin[data-v-a2efcb78]{animation:ds-spin-a2efcb78 1s linear infinite}@keyframes ds-spin-a2efcb78{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin[data-v-a2efcb78]{animation:none}}.ds-backdrop[data-v-a2efcb78]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.ds-pop[data-v-a2efcb78]{position:absolute;top:calc(100% + 8px);right:0;z-index:41;width:320px;max-width:calc(100vw - 24px);background:var(--color-surface, #1b2530);border:1px solid var(--color-border, #2c3a49);border-radius:14px;box-shadow:0 24px 48px -20px #0009;overflow:hidden}.ds-head[data-v-a2efcb78]{padding:13px 15px;border-bottom:1px solid var(--color-border-soft, #243140)}.ds-head .t[data-v-a2efcb78]{display:block;font-weight:600;font-size:14px;color:var(--color-text, #e8edf2)}.ds-head .meta[data-v-a2efcb78]{font-size:11.5px;color:var(--color-text-faint, #6b7787)}.ds-lines[data-v-a2efcb78]{padding:11px 15px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--color-border-soft, #243140)}.pl[data-v-a2efcb78]{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--color-text-muted, #9aa6b4)}.pl svg[data-v-a2efcb78]{flex:none;color:var(--color-text-faint, #6b7787)}.pl.good svg[data-v-a2efcb78]{color:var(--color-ok)}.pl.warn svg[data-v-a2efcb78]{color:var(--color-warn)}.pl .lab[data-v-a2efcb78]{flex:1}.pl .val[data-v-a2efcb78]{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--color-text, #e8edf2)}.pl.good .val[data-v-a2efcb78]{color:var(--color-ok)}.pl.warn .val[data-v-a2efcb78]{color:var(--color-warn)}.ds-acts[data-v-a2efcb78]{padding:11px 15px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn[data-v-a2efcb78]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 10px;border-radius:9px;font-size:12.5px;font-weight:600;cursor:pointer;background:var(--color-surface-2, #212d3a);border:1px solid var(--color-border, #2c3a49);color:var(--color-text, #e8edf2)}.btn.primary[data-v-a2efcb78]{grid-column:1 / -1;background:color-mix(in srgb,var(--color-ok) 18%,var(--color-surface-2, #212d3a));border-color:color-mix(in srgb,var(--color-ok) 50%,var(--color-border, #2c3a49));color:var(--color-ok-text)}.btn.soon[data-v-a2efcb78]{color:var(--color-text-faint, #6b7787);cursor:default}.btn[data-v-a2efcb78]:disabled{opacity:.6}.ds-reassure[data-v-a2efcb78]{padding:11px 15px 13px;font-size:11.5px;line-height:1.5;color:var(--color-text-faint, #6b7787);border-top:1px solid var(--color-border-soft, #243140);display:flex;gap:8px;align-items:flex-start}.ds-reassure svg[data-v-a2efcb78]{flex:none;margin-top:1px;color:var(--color-ok)}.ds-reassure b[data-v-a2efcb78]{color:var(--color-text-muted, #9aa6b4);font-weight:600}@media(max-width:640px){.ds-label[data-v-a2efcb78]{display:none}.ds-pop[data-v-a2efcb78]{position:fixed;top:56px;right:12px}}.ac-backdrop[data-v-97d8f074]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:flex;align-items:center;justify-content:center;background:#00000073;padding:var(--space-4)}.ac[data-v-97d8f074]{width:min(440px,100%);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:0 8px 30px #00000040}.ac-head[data-v-97d8f074]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.ac-head h3[data-v-97d8f074]{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--font-md)}.icon[data-v-97d8f074]{display:inline-flex;padding:6px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.muted[data-v-97d8f074]{color:var(--color-text-muted);font-weight:400}.ac-hint[data-v-97d8f074]{margin:0 0 var(--space-1);font-size:var(--font-sm);color:var(--color-text-muted)}.ac-hint.sm[data-v-97d8f074]{font-size:var(--font-xs, 11px);margin:4px 0}.ac-note[data-v-97d8f074]{margin:0;font-size:var(--font-xs, 12px);color:var(--color-warn-text)}.ac-contact[data-v-97d8f074]{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-top:2px;font-size:var(--font-sm);font-weight:600;color:var(--color-primary);text-decoration:none}.ac-contact[data-v-97d8f074]:hover{text-decoration:underline}.ac-status[data-v-97d8f074]{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--font-md)}.ac-diag[data-v-97d8f074]{display:grid;gap:4px;margin:0;padding:8px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ac-diag>div[data-v-97d8f074]{display:flex;justify-content:space-between;gap:12px;font-size:var(--font-xs, 12px)}.ac-diag dt[data-v-97d8f074]{color:var(--color-text-muted);font-weight:600}.ac-diag dd[data-v-97d8f074]{margin:0;color:var(--color-text);font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.ac-card-h[data-v-97d8f074]{margin:0 0 2px;font-size:var(--font-xs, 11px);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.ok-tick[data-v-97d8f074]{color:var(--color-ok, #22c55e);font-family:inherit}.ac-strand[data-v-97d8f074]{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:var(--font-sm);color:var(--color-warn-text)}.ac-strand[data-v-97d8f074] svg{flex:none;margin-top:1px}.dot[data-v-97d8f074]{width:9px;height:9px;border-radius:50%;background:var(--color-ok, #22c55e);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ok, #22c55e) 20%,transparent)}.ac-in[data-v-97d8f074],.ac-out[data-v-97d8f074]{display:flex;flex-direction:column;gap:var(--space-2)}.ac-adv[data-v-97d8f074]{margin-top:4px;border-top:1px solid var(--color-border);padding-top:var(--space-2)}.ac-adv summary[data-v-97d8f074]{cursor:pointer;font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted)}.fl[data-v-97d8f074]{font-size:var(--font-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.in[data-v-97d8f074]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);padding:7px 9px;font:inherit;font-size:var(--font-sm)}.ac-adv .fl[data-v-97d8f074]{margin-top:6px}.ac-dev[data-v-97d8f074]{margin-top:8px;padding-top:8px;border-top:1px dashed var(--color-border)}.ac-adv .in[data-v-97d8f074]{display:block;width:100%;box-sizing:border-box}.err[data-v-97d8f074]{margin:0;font-size:var(--font-sm);color:var(--color-danger)}.btn[data-v-97d8f074]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-sm);cursor:pointer;margin-top:4px}.btn--primary[data-v-97d8f074]{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.btn[data-v-97d8f074]:disabled{opacity:.5;cursor:default}.topbar[data-v-ebe41c13]{display:flex;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.actions-wrap[data-v-ebe41c13]{position:relative;display:flex;align-items:center}.actions-kebab[data-v-ebe41c13]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.actions-kebab.active[data-v-ebe41c13]{border-color:var(--color-primary);color:var(--color-primary)}.actions-backdrop[data-v-ebe41c13]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.topbar-actions[data-v-ebe41c13]{position:absolute;top:calc(100% + 6px);right:0;z-index:41;display:none;flex-direction:column;align-items:stretch;gap:2px;min-width:220px;max-width:78vw;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);box-shadow:0 12px 30px -8px #0006}.topbar-actions.open[data-v-ebe41c13]{display:flex}.topbar-actions[data-v-ebe41c13] .app-action{width:100%;justify-content:flex-start;padding:10px 12px}.topbar-actions[data-v-ebe41c13] .app-label{display:inline!important}.topbar-actions[data-v-ebe41c13] .app-sep{display:none}.brand-block[data-v-ebe41c13]{display:flex;flex-direction:column;justify-content:center}.brand-row[data-v-ebe41c13]{display:flex;align-items:center}.brand-block .who[data-v-ebe41c13]{font-size:11px;color:var(--color-text-muted);margin-left:18px;line-height:1.1}.conn-dot[data-v-ebe41c13]{margin:0 6px 0 2px}.brand[data-v-ebe41c13]{display:flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--color-text);text-decoration:none}.crumbs[data-v-ebe41c13]{display:flex;align-items:center;gap:var(--space-1);min-width:0}.crumb[data-v-ebe41c13]{font-size:var(--font-sm);color:var(--color-text);white-space:nowrap}.crumb-link[data-v-ebe41c13]{text-decoration:none}.crumb-link[data-v-ebe41c13]:hover{color:var(--color-primary)}.crumb-btn[data-v-ebe41c13]{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer}.crumb-btn[data-v-ebe41c13]:hover{border-color:var(--color-primary)}.crumb-edit[data-v-ebe41c13],.sep[data-v-ebe41c13]{color:var(--color-text-muted)}.spacer[data-v-ebe41c13]{flex:1}.badge[data-v-ebe41c13]{font-size:var(--font-xs);padding:2px 8px;border-radius:var(--radius-pill)}.badge--warn[data-v-ebe41c13]{background:var(--color-warn-bg);color:var(--color-warn-text)}.docs-link[data-v-ebe41c13]{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-sm);color:var(--color-text);text-decoration:none;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.docs-link[data-v-ebe41c13]:hover{background:var(--color-bg)}.account-badge[data-v-ebe41c13]{display:inline-flex;align-items:center;gap:var(--space-1);max-width:220px;font-size:var(--font-sm);color:var(--color-text);padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.account-badge[data-v-ebe41c13]:hover{background:var(--color-bg)}.account-badge.is-in[data-v-ebe41c13]{border-color:color-mix(in srgb,var(--color-ok, #22c55e) 55%,var(--color-border))}.account-badge.is-in[data-v-ebe41c13] svg{color:var(--color-ok, #22c55e)}.account-badge .acct-text[data-v-ebe41c13]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-backdrop[data-v-ebe41c13]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000073;padding:var(--space-4)}.modal[data-v-ebe41c13]{width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:0 8px 30px #00000040}.modal-head[data-v-ebe41c13]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.modal-head h3[data-v-ebe41c13]{margin:0;font-size:var(--font-md)}.m-row[data-v-ebe41c13]{display:flex;align-items:center;gap:var(--space-2)}.m-row .select-input[data-v-ebe41c13]{flex:1}.m-name[data-v-ebe41c13]{flex:1;font-weight:600}.icon[data-v-ebe41c13]{display:inline-flex;align-items:center;padding:5px 7px}@media(max-width:768px){.topbar[data-v-ebe41c13]{gap:var(--space-2);padding:0 var(--space-2)}.brand span[data-v-ebe41c13]{display:none}.crumbs[data-v-ebe41c13]{overflow:hidden}.crumb-btn[data-v-ebe41c13]{overflow:hidden;text-overflow:ellipsis}.docs-text[data-v-ebe41c13],.account-badge .acct-text[data-v-ebe41c13]{display:none}}.dlg-backdrop[data-v-f1dc8c90]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#0f172a8c;padding:var(--space-4)}.dlg[data-v-f1dc8c90]{width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-3)}.dlg-head[data-v-f1dc8c90]{display:flex;align-items:center;justify-content:space-between}.dlg-head h3[data-v-f1dc8c90]{margin:0;font-size:var(--font-md)}.dlg-msg[data-v-f1dc8c90]{margin:0;font-size:var(--font-sm);color:var(--color-text);white-space:pre-line;line-height:1.45}.dlg-foot[data-v-f1dc8c90]{display:flex;justify-content:flex-end;gap:var(--space-2)}.pg-backdrop[data-v-5937b2d4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;background:#00000073;padding:var(--space-4)}.pg[data-v-5937b2d4]{width:min(420px,100%);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md, 12px);box-shadow:0 12px 34px #00000040;padding:var(--space-4);display:flex;flex-direction:column;gap:10px}.pg-title[data-v-5937b2d4]{margin:0;font-size:var(--font-md);font-weight:600}.pg-note[data-v-5937b2d4]{margin:0;font-size:var(--font-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.pg-track[data-v-5937b2d4]{position:relative;height:8px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden}.pg-fill[data-v-5937b2d4]{height:100%;background:var(--color-primary);border-radius:999px;transition:width .3s ease}.pg-track.indet .pg-fill[data-v-5937b2d4]{width:35%;animation:pg-sweep-5937b2d4 1.15s ease-in-out infinite}@keyframes pg-sweep-5937b2d4{0%{transform:translate(-120%)}to{transform:translate(320%)}}.pg-row[data-v-5937b2d4]{display:flex;align-items:center;justify-content:space-between;gap:12px}.pg-quip[data-v-5937b2d4]{font-size:var(--font-sm);color:var(--color-text-muted);font-style:italic}.pg-pct[data-v-5937b2d4]{font-size:var(--font-sm);color:var(--color-text);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.pg-track.indet .pg-fill[data-v-5937b2d4]{animation:none;width:100%;opacity:.5}}.help-overlay[data-v-659775e7]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000047;display:flex;justify-content:flex-end}.help-drawer[data-v-659775e7]{width:min(420px,92vw);height:100%;background:var(--color-surface, #fff);border-left:1px solid var(--color-border, #e2e8f0);box-shadow:-4px 0 24px #0000002e;display:flex;flex-direction:column;animation:help-in-659775e7 .16s ease-out}@keyframes help-in-659775e7{0%{transform:translate(16px);opacity:.6}}.help-head[data-v-659775e7]{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border, #e2e8f0)}.help-head h2[data-v-659775e7]{margin:0;flex:1;font-size:var(--font-lg, 1.05rem)}.close[data-v-659775e7]{display:inline-flex;padding:6px;border:none;background:transparent;color:var(--color-text-muted, #64748b);border-radius:var(--radius-md, 6px);cursor:pointer}.close[data-v-659775e7]:hover{background:var(--color-bg, #f1f5f9);color:var(--color-text, #0f172a)}.help-body[data-v-659775e7]{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4, 16px)}.intro[data-v-659775e7]{margin:0 0 var(--space-4, 16px);color:var(--color-text, #0f172a);font-size:var(--font-md, .95rem);line-height:1.5}.block[data-v-659775e7]{margin-bottom:var(--space-4, 16px)}.block h3[data-v-659775e7]{margin:0 0 var(--space-1, 4px);font-size:var(--font-sm, .85rem);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #64748b)}.block p[data-v-659775e7]{margin:0;line-height:1.55;color:var(--color-text, #0f172a);font-size:var(--font-sm, .9rem)}.block ul[data-v-659775e7]{margin:var(--space-2, 8px) 0 0;padding-left:var(--space-4, 16px);line-height:1.5;font-size:var(--font-sm, .9rem)}.un-backdrop[data-v-94bdb281]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-4, 16px);background:#0009}.un-card[data-v-94bdb281]{max-width:520px;width:100%;padding:var(--space-4, 20px) var(--space-4, 22px);background:var(--color-surface, #1c1c1c);color:var(--color-text, #e8e4dc);border:1px solid var(--color-border, #3a3a3a);border-radius:var(--radius-md, 10px);box-shadow:0 12px 40px #00000080}.un-title[data-v-94bdb281]{margin:0 0 var(--space-3, 12px);font-size:var(--font-lg, 17px);line-height:1.3;color:var(--color-text, #f0ece4)}.un-body[data-v-94bdb281]{margin:0 0 var(--space-4, 18px);font-size:var(--font-md, 14px);line-height:1.55;color:var(--color-text, #d8d4cc)}.un-body[data-v-94bdb281] strong{color:var(--color-accent, #c8a96e)}.un-body[data-v-94bdb281] code{font-family:ui-monospace,monospace;font-size:.92em}.un-actions[data-v-94bdb281]{display:flex;justify-content:flex-end}.un-ok[data-v-94bdb281]{font:inherit;font-weight:600;padding:8px 18px;border:1px solid var(--color-accent, #c8a96e);border-radius:var(--radius-sm, 6px);background:var(--color-accent, #c8a96e);color:var(--color-bg, #111);cursor:pointer}.un-ok[data-v-94bdb281]:hover{filter:brightness(1.06)}.welcome-backdrop[data-v-82b5c139]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-bg);overflow:hidden}.grid-bg[data-v-82b5c139]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--color-border) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--color-border) 55%,transparent) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at 50% 40%,black,transparent 75%);mask-image:radial-gradient(circle at 50% 40%,black,transparent 75%)}.welcome[data-v-82b5c139]{position:relative;width:min(560px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 12px);box-shadow:0 20px 60px #15233b24;padding:var(--space-5, 32px) var(--space-5, 32px) var(--space-4, 24px);text-align:center}.w-brand[data-v-82b5c139]{display:inline-flex;align-items:center;gap:10px;color:var(--color-primary);font-weight:700;font-size:20px;letter-spacing:-.01em}.w-brand span[data-v-82b5c139]{color:var(--color-text)}.welcome h1[data-v-82b5c139]{margin:var(--space-3) 0 var(--space-2);font-size:28px;font-weight:600;letter-spacing:-.01em;line-height:1.15;color:var(--color-text);text-wrap:balance}.w-lede[data-v-82b5c139]{margin:0 auto var(--space-4);max-width:46ch;color:var(--color-text-muted);font-size:var(--font-md);line-height:1.55}.w-actions[data-v-82b5c139]{display:flex;flex-direction:column;gap:10px;max-width:340px;margin:0 auto var(--space-2)}.w-btn[data-v-82b5c139]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-md);font-weight:600;cursor:pointer}.w-btn[data-v-82b5c139]:hover{border-color:var(--color-primary);background:var(--color-bg)}.w-btn--primary[data-v-82b5c139]{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.w-btn--primary[data-v-82b5c139]:hover{background:var(--color-primary-hover, var(--color-primary))}.w-contact[data-v-82b5c139]{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-sm);font-weight:600;color:var(--color-primary);text-decoration:none}.w-contact[data-v-82b5c139]:hover{text-decoration:underline}.pwa-toast[data-v-85711b31]{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:var(--space-3);max-width:min(92vw,480px);padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:0 8px 28px #00000047}.pwa-msg[data-v-85711b31]{font-size:var(--font-sm)}.pwa-actions[data-v-85711b31]{display:flex;gap:var(--space-2);margin-left:auto}.pwa-btn[data-v-85711b31]{min-height:44px;padding:0 14px;font:inherit;font-size:var(--font-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer}.pwa-btn.primary[data-v-85711b31]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.pwa-btn[data-v-85711b31]:hover{border-color:var(--color-primary)}.app-shell[data-v-88e14e3b]{display:flex;flex-direction:column;height:100vh;height:100dvh}.app-main[data-v-88e14e3b]{flex:1;min-height:0;overflow:hidden}.signing-in[data-v-88e14e3b]{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;color:var(--color-text-muted);font-size:var(--font-md)}.si-spin[data-v-88e14e3b]{width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:si-rot-88e14e3b .7s linear infinite}@keyframes si-rot-88e14e3b{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.si-spin[data-v-88e14e3b]{animation:none}}.back-online[data-v-88e14e3b]{position:fixed;top:64px;right:16px;z-index:300;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-ok, #22c55e) 55%,var(--color-border));color:var(--color-text);font-size:var(--font-sm);box-shadow:0 6px 20px #00000026}.bo-dot[data-v-88e14e3b]{width:8px;height:8px;border-radius:50%;background:var(--color-ok, #22c55e);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ok, #22c55e) 22%,transparent)}.bo-enter-active[data-v-88e14e3b],.bo-leave-active[data-v-88e14e3b]{transition:opacity .3s ease,transform .3s ease}.bo-enter-from[data-v-88e14e3b],.bo-leave-to[data-v-88e14e3b]{opacity:0;transform:translateY(-6px)}.app-foot[data-v-88e14e3b]{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:2px 12px;font-family:ui-monospace,monospace;font-size:10px;color:var(--color-text-muted, #888);border-top:1px solid var(--color-border, #2c2c2c);background:var(--color-surface, #181818)}.foot-link[data-v-88e14e3b]{margin-right:auto;font:inherit;color:var(--color-text-muted, #888);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.foot-link[data-v-88e14e3b]:hover{color:var(--color-accent, #c8a96e)}.foot-tag[data-v-88e14e3b]{white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.ver-ok[data-v-88e14e3b]{display:inline-flex;align-items:center;color:var(--color-ok)}.ver-stale[data-v-88e14e3b]{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;font:inherit;font-size:inherit;color:var(--color-warn);background:none;border:1px solid var(--color-warn);border-radius:var(--radius-sm);cursor:pointer}.ver-stale[data-v-88e14e3b]:hover{background:color-mix(in srgb,var(--color-warn) 12%,transparent)}.ver-stale[data-v-88e14e3b]:disabled{cursor:default;opacity:.7}@media print{.app-foot[data-v-88e14e3b]{display:none}}.rwo-backdrop[data-v-78fd6299]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}.rwo[data-v-78fd6299]{width:460px;max-width:100%;background:var(--color-surface, #1b2530);border:1px solid var(--color-border, #2c3a49);border-radius:14px;box-shadow:0 24px 60px -20px #0009;overflow:hidden}.rwo-head[data-v-78fd6299]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border-soft, #243140)}.rwo-head h3[data-v-78fd6299]{margin:0;font-size:16px;font-weight:600}.rwo-x[data-v-78fd6299]{background:none;border:none;color:var(--color-text-muted, #9aa6b4);cursor:pointer}.rwo-body[data-v-78fd6299]{padding:14px 16px 18px;display:flex;flex-direction:column;gap:10px}.rwo-q[data-v-78fd6299]{margin:6px 0 0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--color-text-faint, #6b7787)}.rwo-site[data-v-78fd6299]{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;font-weight:600;color:var(--color-text, #e8edf2)}.rwo-change[data-v-78fd6299]{margin-left:auto;background:none;border:none;color:var(--color-accent, #c8a96e);font-size:12px;cursor:pointer}.rwo-list[data-v-78fd6299]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rwo-list.past[data-v-78fd6299]{opacity:.8}.rwo-row[data-v-78fd6299]{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;border:1px solid var(--color-border-soft, #243140);background:var(--color-surface-2, #212d3a);color:var(--color-text, #e8edf2);cursor:pointer;text-align:left}.rwo-row[data-v-78fd6299]:hover{border-color:var(--color-accent, #c8a96e)}.rwo-ico[data-v-78fd6299]{color:var(--color-text-faint, #6b7787);flex:none}.rwo-wo[data-v-78fd6299]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.rwo-name[data-v-78fd6299]{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rwo-sub[data-v-78fd6299]{font-size:12px;color:var(--color-text-muted, #9aa6b4)}.rwo-num[data-v-78fd6299]{font-family:var(--font-mono, ui-monospace, monospace);color:var(--color-text, #e8edf2);margin-right:6px}.rwo-chev[data-v-78fd6299]{flex:none;color:var(--color-text-faint, #6b7787)}.rwo-past-toggle[data-v-78fd6299]{align-self:flex-start;background:none;border:none;color:var(--color-accent, #c8a96e);font-size:12.5px;cursor:pointer;padding:2px 0}.rwo-new[data-v-78fd6299]{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--color-border-soft, #243140)}.rwo-in[data-v-78fd6299]{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--color-border, #2c3a49);background:var(--color-bg, #141a21);color:var(--color-text, #e8edf2);font-size:13.5px;font-family:inherit}.rwo-in.ta[data-v-78fd6299]{resize:vertical}.rwo-row2[data-v-78fd6299]{display:flex;gap:10px}.rwo-lbl[data-v-78fd6299]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-muted, #9aa6b4)}.rwo-in.sel[data-v-78fd6299]{width:auto;padding:7px 10px}.rwo-create[data-v-78fd6299]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border-radius:9px;border:1px solid color-mix(in srgb,var(--color-ok) 50%,var(--color-border, #2c3a49));background:color-mix(in srgb,var(--color-ok) 18%,var(--color-surface-2, #212d3a));color:var(--color-ok-text);font-weight:600;font-size:13.5px;cursor:pointer}.rwo-create[data-v-78fd6299]:disabled{opacity:.5;cursor:default}.rwo-note[data-v-78fd6299]{margin:0;font-size:11.5px;color:var(--color-text-faint, #6b7787);line-height:1.5}.rwo-empty[data-v-78fd6299]{color:var(--color-text-muted, #9aa6b4);font-size:13px}.mw-scroll[data-v-92a408ec]{height:100%;overflow-y:auto}.mywork[data-v-92a408ec]{max-width:780px;margin:0 auto;padding:28px 20px 60px;display:flex;flex-direction:column;gap:22px}.mw-head[data-v-92a408ec]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mw-title[data-v-92a408ec]{display:flex;gap:var(--space-3);align-items:flex-start;color:var(--color-primary)}.mw-head h1[data-v-92a408ec]{margin:0;font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--color-text)}.mw-sub[data-v-92a408ec]{margin:4px 0 0;color:var(--color-text-muted, #9aa6b4);font-size:14px}.mw-head-actions[data-v-92a408ec]{display:flex;gap:8px;flex:none}.mw-places[data-v-92a408ec]{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);font-weight:600;text-decoration:none;cursor:pointer}.mw-places[data-v-92a408ec]:hover{border-color:var(--color-primary);background:var(--color-bg)}.mw-request[data-v-92a408ec]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-text);font-size:var(--font-sm);font-weight:600;cursor:pointer}.mw-request[data-v-92a408ec]:hover{background:var(--color-primary-hover, var(--color-primary))}.mw-lane[data-v-92a408ec]{display:flex;flex-direction:column;gap:8px}.lane-label[data-v-92a408ec]{display:flex;align-items:center;gap:6px;margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-text-faint, #6b7787)}.wo-list[data-v-92a408ec]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.wo-card[data-v-92a408ec]{width:100%;display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;border-radius:var(--radius-md, 10px);border:1px solid var(--color-border-soft, #243140);background:var(--color-surface, #1b2530);color:var(--color-text, #e8edf2);cursor:pointer;text-align:left;min-height:60px}.wo-card[data-v-92a408ec]:hover{border-color:var(--color-accent, #c8a96e)}.wo-card.prov[data-v-92a408ec]{border-left:3px solid var(--color-warn)}.wo-card.done[data-v-92a408ec]{opacity:.65}.wo-body[data-v-92a408ec]{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.wo-title[data-v-92a408ec]{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-meta[data-v-92a408ec]{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-text-muted, #9aa6b4)}.wo-num[data-v-92a408ec]{font-family:var(--font-mono, ui-monospace, monospace);color:var(--color-text, #e8edf2);margin-right:4px}.wo-pill[data-v-92a408ec]{flex:none;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,#5b9bd1 20%,transparent);color:#a9cdeb}.wo-pill.on_hold[data-v-92a408ec]{background:color-mix(in srgb,var(--color-warn) 20%,transparent);color:var(--color-warn-text)}.wo-pill.prov[data-v-92a408ec]{background:color-mix(in srgb,var(--color-warn) 18%,transparent);color:var(--color-warn-text)}.wo-pill.closed[data-v-92a408ec]{background:color-mix(in srgb,#7d8b9c 20%,transparent);color:#b3bdc9}.wo-chev[data-v-92a408ec]{flex:none;color:var(--color-text-faint, #6b7787)}.mw-empty[data-v-92a408ec],.mw-empty-state[data-v-92a408ec]{text-align:center;color:var(--color-text-muted, #9aa6b4)}.mw-empty-state[data-v-92a408ec]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;border:1px dashed var(--color-border, #2c3a49);border-radius:14px}.mwe-title[data-v-92a408ec]{margin:0;font-size:17px;font-weight:600;color:var(--color-text, #e8edf2)}.mwe-hint[data-v-92a408ec]{margin:0;max-width:40ch;font-size:13.5px}.mwe-cta[data-v-92a408ec]{margin-top:6px;display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:10px;background:color-mix(in srgb,var(--color-accent, #c8a96e) 18%,var(--color-surface, #1b2530));border:1px solid color-mix(in srgb,var(--color-accent, #c8a96e) 50%,var(--color-border, #2c3a49));color:#f0dcae;font-weight:600;text-decoration:none}.mw-closed[data-v-92a408ec]{margin-top:4px}.mw-closed summary[data-v-92a408ec]{cursor:pointer;color:var(--color-text-faint, #6b7787);font-size:13px;padding:6px 0}.mw-closed .wo-list[data-v-92a408ec]{margin-top:8px}.signin-nudge[data-v-c8ccf1a2]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px dashed color-mix(in srgb,var(--color-warn) 55%,var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-warn) 9%,transparent);color:var(--color-warn-text);font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer}.signin-nudge[data-v-c8ccf1a2]:hover{border-color:var(--color-warn);background:color-mix(in srgb,var(--color-warn) 14%,transparent)}.modal-backdrop[data-v-38546128]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0f172a8c}.modal[data-v-38546128]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:0 20px 50px -12px #00000080}.ofb[data-v-38546128]{width:min(460px,96vw);display:flex;flex-direction:column;max-height:88vh;max-height:88dvh;overflow:hidden}.ofb[data-v-38546128] .modal-head{flex-shrink:0}.ofb-body[data-v-38546128]{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-3) var(--space-4)}@media(max-width:640px){.modal-backdrop[data-v-38546128]{padding:0;align-items:stretch}.ofb[data-v-38546128]{width:100vw;max-width:none;max-height:100vh;max-height:100dvh;height:100dvh;border-radius:0}}.login[data-v-38546128]{display:flex;flex-direction:column}.fl[data-v-38546128]{display:block;font-size:var(--font-sm);margin:var(--space-2) 0 2px}.two[data-v-38546128]{display:flex;gap:var(--space-2)}.two>div[data-v-38546128]{flex:1}.login .btn[data-v-38546128]{margin-top:var(--space-3);align-self:flex-start}.hint[data-v-38546128]{color:var(--color-text-muted);font-size:var(--font-sm)}.signed-row[data-v-38546128]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.signed[data-v-38546128]{font-size:var(--font-sm);margin:0}.server[data-v-38546128]{font-size:12px;color:var(--color-text-muted);font-family:var(--font-mono, monospace)}.tabs[data-v-38546128]{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3)}.tab[data-v-38546128]{display:inline-flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;padding:6px 10px;margin-bottom:-1px;font-size:var(--font-sm);color:var(--color-text-muted);cursor:pointer}.tab.on[data-v-38546128]{color:var(--color-text);border-bottom-color:var(--color-accent, var(--color-primary));font-weight:600}.tab .count[data-v-38546128]{font-size:11px;color:var(--color-text-muted);background:var(--color-surface-2, rgba(127,127,127,.12));border-radius:999px;padding:0 6px}.proj-list[data-v-38546128]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.proj[data-v-38546128]{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 10px}.proj .meta[data-v-38546128]{min-width:0;flex:1;display:flex;flex-direction:column}.name[data-v-38546128]{font-weight:600}.sub[data-v-38546128]{font-size:12px;color:var(--color-text-muted)}.error[data-v-38546128]{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--font-sm)}.track[data-v-3ea0ada1]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:1px 2px;border-radius:5px;background:linear-gradient(180deg,#0000000f,#ffffff0f);border:1px solid var(--color-border);box-shadow:inset 0 1px 2px #0000002e;line-height:0}.arr[data-v-3ea0ada1]{display:block}.arr.top[data-v-3ea0ada1]{margin-bottom:-6px}.arr.bot[data-v-3ea0ada1]{margin-top:-6px}.ok[data-v-3ea0ada1]{color:var(--color-success, #16a34a)}.bad[data-v-3ea0ada1]{color:var(--color-danger, #dc2626)}.sites-scroll[data-v-40d3993f]{height:100%;overflow-y:auto}.sites[data-v-40d3993f]{max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.hero[data-v-40d3993f]{display:flex;gap:var(--space-3);align-items:flex-start;color:var(--color-primary)}.hero h1[data-v-40d3993f]{margin:0 0 var(--space-1);font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--color-text)}.muted[data-v-40d3993f]{color:var(--color-text-muted);margin:0}.sites-head[data-v-40d3993f]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.to-mywork[data-v-40d3993f]{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-decoration:none;font-size:var(--font-sm);font-weight:600}.to-mywork[data-v-40d3993f]:hover{border-color:var(--color-primary);background:var(--color-bg)}.local-note[data-v-40d3993f]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-left:3px solid var(--color-warn);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-warn) 6%,var(--color-surface))}.local-note .ln-text[data-v-40d3993f]{flex:1;font-size:var(--font-sm);color:var(--color-text-muted)}.local-note .ln-text strong[data-v-40d3993f]{color:var(--color-text)}.local-note .ln-btn[data-v-40d3993f]{flex:none}.create-row[data-v-40d3993f]{display:flex;gap:var(--space-2)}.import-row[data-v-40d3993f]{display:flex;gap:var(--space-2);flex-wrap:wrap}.demo-menu[data-v-40d3993f]{position:relative}.demo-backdrop[data-v-40d3993f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.demo-pop[data-v-40d3993f]{position:absolute;z-index:41;top:calc(100% + 6px);left:0;width:min(360px,88vw);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);box-shadow:0 12px 34px #0000002e;padding:var(--space-2);display:flex;flex-direction:column;gap:4px}.demo-pop-head[data-v-40d3993f]{margin:2px 6px 6px;font-size:var(--font-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.demo-opt[data-v-40d3993f]{display:flex;flex-direction:column;gap:2px;text-align:left;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--color-text);font:inherit;cursor:pointer}.demo-opt[data-v-40d3993f]:hover{background:var(--color-bg);border-color:var(--color-border)}.demo-opt-name[data-v-40d3993f]{font-size:var(--font-sm);font-weight:600}.demo-opt-blurb[data-v-40d3993f]{font-size:var(--font-xs, 12px);color:var(--color-text-muted);line-height:1.4}.import-error[data-v-40d3993f]{margin:0;color:var(--color-danger);font-size:var(--font-sm)}.publish-note[data-v-40d3993f]{margin:0;display:inline-flex;align-items:center;gap:6px;color:var(--color-up, #2f9e54);font-size:var(--font-sm)}.site-list[data-v-40d3993f]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.site-item[data-v-40d3993f]{display:flex;gap:var(--space-2);align-items:stretch}.site-open[data-v-40d3993f]{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--space-3);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.site-open[data-v-40d3993f]:hover{border-color:var(--color-primary)}.site-name[data-v-40d3993f]{font-weight:600}.site-company[data-v-40d3993f]{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-sm);color:var(--color-primary)}.icon-btn[data-v-40d3993f]{display:inline-flex;align-items:center}.empty[data-v-40d3993f]{padding:var(--space-4) 0}.tag[data-v-40d3993f]{display:inline-flex;align-items:center;gap:3px;margin-left:var(--space-2);padding:1px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;vertical-align:middle}.tag--ok[data-v-40d3993f]{background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}.tag--warn[data-v-40d3993f]{background:color-mix(in srgb,var(--color-warning, #b45309) 16%,transparent);color:var(--color-warning, #b45309)}.tag--local[data-v-40d3993f]{background:var(--color-surface-2, rgba(127, 127, 127, .12));color:var(--color-text-muted)}.btn--warn[data-v-40d3993f]{color:var(--color-warning, #b45309);border-color:color-mix(in srgb,var(--color-warning, #b45309) 40%,var(--color-border))}.spin[data-v-40d3993f]{animation:spin-40d3993f .9s linear infinite}@keyframes spin-40d3993f{to{transform:rotate(360deg)}}.remote-only[data-v-40d3993f]{display:flex;flex-direction:column;gap:var(--space-2)}.remote-head[data-v-40d3993f]{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--font-sm);color:var(--color-text-muted);font-weight:600}.remote-row[data-v-40d3993f]{cursor:default}.remote-row[data-v-40d3993f]:hover{border-color:var(--color-border)}.view-tabs[data-v-3a768acf]{display:flex;align-items:center;padding:8px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex:none}.vt-right[data-v-3a768acf]{margin-left:auto;display:flex;align-items:center}.vt-group[data-v-3a768acf]{display:inline-flex;gap:2px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px}.vt[data-v-3a768acf]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-radius:calc(var(--radius-sm) - 1px);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-sm);cursor:pointer}.vt[data-v-3a768acf]:hover{color:var(--color-text)}.vt.active[data-v-3a768acf]{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:var(--shadow-1)}.site-shell[data-v-96d34d0b]{height:100%;overflow-y:auto;display:flex;flex-direction:column}.ss-body[data-v-96d34d0b]{max-width:1100px;width:100%;margin:0 auto;padding:var(--space-4);box-sizing:border-box;display:flex;flex-direction:column;min-height:100%}.ss-head[data-v-96d34d0b]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.ss-title[data-v-96d34d0b]{display:flex;gap:var(--space-3);align-items:flex-start;color:var(--color-primary)}.ss-title h1[data-v-96d34d0b]{margin:0;font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--color-text)}.ss-title .sub[data-v-96d34d0b]{margin:4px 0 0;color:var(--color-text-muted);font-size:var(--font-sm)}.ss-actions[data-v-96d34d0b]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ss-tabs[data-v-96d34d0b]{margin:0 calc(-1 * var(--space-4)) var(--space-4)}.ss-content[data-v-96d34d0b]{flex:1 1 auto}.ss-foot[data-v-96d34d0b]{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.act[data-v-96d34d0b]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-decoration:none;font-size:var(--font-sm);font-weight:600;cursor:pointer}.act[data-v-96d34d0b]:hover{border-color:var(--color-primary);background:var(--color-bg)}.act[data-v-96d34d0b]:disabled{opacity:.5;cursor:default}.act--primary[data-v-96d34d0b]{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.danger-link[data-v-96d34d0b]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);font-size:var(--font-sm);font-weight:600;cursor:pointer}.danger-link[data-v-96d34d0b]:hover{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 40%,transparent);background:color-mix(in srgb,var(--color-danger) 9%,transparent)}.rv-top[data-v-addf5c3a]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.rv-sub[data-v-addf5c3a]{margin:0;color:var(--color-text-muted);font-size:var(--font-sm)}.rv-edit[data-v-addf5c3a]{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer}.rv-edit[data-v-addf5c3a]:hover{color:var(--color-text);border-color:var(--color-primary)}.rv-edit.active[data-v-addf5c3a]{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.act[data-v-addf5c3a]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-decoration:none;font-size:var(--font-sm);font-weight:600;cursor:pointer}.act[data-v-addf5c3a]:hover{border-color:var(--color-primary);background:var(--color-bg)}.act.sm[data-v-addf5c3a]{padding:5px 9px;font-size:var(--font-xs, 12px)}.building[data-v-addf5c3a]{margin-bottom:var(--space-4)}.b-head[data-v-addf5c3a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);padding-bottom:4px;border-bottom:1px solid var(--color-border)}.b-head h2[data-v-addf5c3a]{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--font-md);color:var(--color-text-muted)}.b-head .edit[data-v-addf5c3a]{display:inline-flex;align-items:center;padding:2px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.b-head .edit[data-v-addf5c3a]:hover{color:var(--color-primary)}.rooms[data-v-addf5c3a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.room-card[data-v-addf5c3a]{display:flex;align-items:stretch;border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);background:var(--color-surface);overflow:hidden;transition:border-color .15s}.room-card[data-v-addf5c3a]:hover{border-color:var(--color-primary)}.room-card.current[data-v-addf5c3a]{border-color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}.room-card.current .r-icon[data-v-addf5c3a]{color:var(--color-primary)}.r-current[data-v-addf5c3a]{margin-left:auto;flex:none;font-size:var(--font-xs, 11px);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 16%,transparent);color:var(--color-primary)}.rc-open[data-v-addf5c3a]{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:16px;border:none;background:none;color:var(--color-text);cursor:pointer;text-align:left;font:inherit}.rc-open[data-v-addf5c3a]:hover{background:var(--color-bg)}.rc-open .r-icon[data-v-addf5c3a]{color:var(--color-primary);flex:none}.rc-open .r-name[data-v-addf5c3a]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-edit[data-v-addf5c3a]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;border:none;border-left:1px solid var(--color-border);background:none;color:var(--color-text-muted);cursor:pointer}.rc-edit[data-v-addf5c3a]:hover{color:var(--color-primary);background:var(--color-bg)}.rc-del[data-v-addf5c3a]:hover,.b-head .edit.del[data-v-addf5c3a]:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 9%,transparent)}.empty[data-v-addf5c3a]{color:var(--color-text-muted);font-size:var(--font-sm);padding:6px 2px}.combobox[data-v-f33acc22]{position:relative}.field[data-v-f33acc22]{position:relative;display:flex;align-items:center}.field .text-input[data-v-f33acc22]{padding-right:28px}.chevron[data-v-f33acc22]{position:absolute;right:4px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--color-text-muted)}.popover[data-v-f33acc22]{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;max-height:220px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2)}.empty-hint[data-v-f33acc22]{padding:8px 10px;font-size:var(--font-sm);color:var(--color-text-muted)}.option[data-v-f33acc22]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:7px 10px;border:none;background:transparent;text-align:left;color:var(--color-text)}.option--active[data-v-f33acc22]{background:var(--color-surface-2)}.option--create[data-v-f33acc22]{color:var(--color-primary);font-weight:600}.segment-form[data-v-aecd8e1d]{display:flex;flex-direction:column;gap:var(--space-3)}.joiner[data-v-aecd8e1d]{font-size:var(--font-sm);color:var(--color-text-muted);text-align:center}.error[data-v-aecd8e1d]{margin:0;color:var(--color-danger);font-size:var(--font-sm)}.submit[data-v-aecd8e1d]{justify-content:center}.help-btn[data-v-5de4e735]{display:inline-flex;align-items:center;justify-content:center;padding:5px;border:1px solid transparent;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted, #64748b);cursor:pointer}.help-btn[data-v-5de4e735]:hover{background:var(--color-bg, #f1f5f9);color:var(--color-text, #0f172a);border-color:var(--color-border, #e2e8f0)}.dictate[data-v-c7fae9cc]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.dictate.on[data-v-c7fae9cc]{border-color:#d96a4a;color:#d96a4a}.dossier[data-v-88c65b7b]{display:flex;flex-direction:column;gap:var(--space-4)}.head[data-v-88c65b7b]{display:flex;flex-direction:column;gap:var(--space-2)}.head-top[data-v-88c65b7b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.site-name[data-v-88c65b7b]{margin:0;font-size:var(--font-lg);color:var(--color-text)}.field[data-v-88c65b7b]{display:flex;flex-direction:column;gap:3px}.field-label[data-v-88c65b7b]{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-sm);color:var(--color-text-muted)}.map-link[data-v-88c65b7b]{font-size:var(--font-sm);color:var(--color-primary);text-decoration:none}.block[data-v-88c65b7b]{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.block-head[data-v-88c65b7b]{display:flex;align-items:center;justify-content:space-between}.block-head h3[data-v-88c65b7b]{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--font-md);color:var(--color-text)}.muted[data-v-88c65b7b]{color:var(--color-text-muted)}.empty[data-v-88c65b7b]{font-size:var(--font-sm);margin:0}.report-list[data-v-88c65b7b]{list-style:none;margin:0;padding:0}.report-list li[data-v-88c65b7b]{display:flex;align-items:baseline;gap:var(--space-2);padding:4px 0;font-size:var(--font-sm)}.report-link[data-v-88c65b7b]{background:none;border:none;padding:0;color:var(--color-text);font:inherit;font-weight:600;cursor:pointer;text-align:left}.report-link[data-v-88c65b7b]:hover{color:var(--color-primary)}.icon-btn[data-v-88c65b7b]{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.icon-btn[data-v-88c65b7b]:hover{background:var(--color-bg)}.icon-btn.danger[data-v-88c65b7b]:hover{color:var(--color-danger);border-color:var(--color-danger)}.badges[data-v-88c65b7b]{display:flex;flex-wrap:wrap;gap:6px}.badge[data-v-88c65b7b]{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 8px;border-radius:999px;font-size:var(--font-sm);background:var(--color-bg);border:1px solid var(--color-border)}.badge.k-access[data-v-88c65b7b]{border-color:#3b82f6;color:#1d4ed8}.badge.k-safety[data-v-88c65b7b]{border-color:#f59e0b;color:#b45309}.badge.k-security[data-v-88c65b7b]{border-color:#ef4444;color:#b91c1c}.badge-x[data-v-88c65b7b]{display:inline-flex;padding:1px;border:none;background:transparent;color:inherit;opacity:.6;cursor:pointer}.badge-x[data-v-88c65b7b]:hover{opacity:1}.list[data-v-88c65b7b]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.contact[data-v-88c65b7b]{display:grid;grid-template-columns:1fr auto;align-items:start;gap:4px var(--space-2)}.contact-id[data-v-88c65b7b]{display:flex;flex-direction:column}.contact-name[data-v-88c65b7b]{font-weight:600}.contact-links[data-v-88c65b7b]{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-88c65b7b]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:var(--font-sm);text-decoration:none;color:var(--color-primary);background:var(--color-bg);border:1px solid var(--color-border)}.wo[data-v-88c65b7b]{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:6px}.wo.closed .wo-title[data-v-88c65b7b]{text-decoration:line-through;color:var(--color-text-muted)}.wo-id[data-v-88c65b7b]{display:flex;flex-direction:column;min-width:0}.wo-title[data-v-88c65b7b]{font-weight:600}.wo-status[data-v-88c65b7b]{font-size:10px;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:4px;background:var(--color-bg);border:1px solid var(--color-border);white-space:nowrap}.wo-status.s-provisional[data-v-88c65b7b]{color:#7c3aed;border-color:#a78bfa;border-style:dashed}.wo-status.s-open[data-v-88c65b7b]{color:#15803d;border-color:#22c55e}.wo-status.s-scheduled[data-v-88c65b7b]{color:#1d4ed8;border-color:#3b82f6}.wo-status.s-on_hold[data-v-88c65b7b]{color:#b45309;border-color:#f59e0b}.wo-status.s-closed[data-v-88c65b7b]{color:var(--color-text-muted)}.head-actions[data-v-88c65b7b]{display:inline-flex;gap:2px}.wo-merge[data-v-88c65b7b]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.wo-thread-btn[data-v-88c65b7b]{position:relative}.wo-thread-btn.active[data-v-88c65b7b]{color:var(--color-primary)}.req-badge[data-v-88c65b7b]{position:absolute;top:-3px;right:-3px;min-width:13px;height:13px;padding:0 3px;border-radius:7px;background:#d96a4a;color:#fff;font-size:9px;line-height:13px;text-align:center}.thread-count[data-v-88c65b7b]{font-size:9px;color:var(--color-text-muted);margin-left:1px}.wo-thread[data-v-88c65b7b]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);margin-top:-2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.thread[data-v-88c65b7b]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.thread-item[data-v-88c65b7b]{display:flex;align-items:flex-start;gap:6px;font-size:var(--font-sm)}.thread-item.done .thread-text[data-v-88c65b7b]{text-decoration:line-through;color:var(--color-text-muted)}.thread-body[data-v-88c65b7b]{flex:1;min-width:0;display:flex;flex-direction:column}.thread-text[data-v-88c65b7b]{white-space:pre-wrap;word-break:break-word}.thread-meta[data-v-88c65b7b]{display:inline-flex;gap:6px;align-items:center;font-size:var(--font-xs)}.req-tag[data-v-88c65b7b]{color:#b45309;border:1px solid #f59e0b;border-radius:4px;padding:0 4px;font-size:9px;text-transform:uppercase}.thread-text-row[data-v-88c65b7b]{display:flex;gap:6px;align-items:flex-start}.thread-text-row textarea[data-v-88c65b7b]{flex:1}.req-check[data-v-88c65b7b],.note-glyph[data-v-88c65b7b]{color:var(--color-text-muted);flex-shrink:0;margin-top:1px}.req-check[data-v-88c65b7b]{background:none;border:none;cursor:pointer;padding:0}.thread-add[data-v-88c65b7b]{display:flex;flex-direction:column;gap:6px}.kind-toggle[data-v-88c65b7b]{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.kind-btn[data-v-88c65b7b]{padding:4px 10px;font-size:var(--font-sm);border:none;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.kind-btn.on[data-v-88c65b7b]{background:var(--color-primary);color:var(--color-primary-text)}.wo-prio[data-v-88c65b7b]{font-size:10px;text-transform:uppercase;padding:2px 5px;border-radius:4px}.wo-prio.p-high[data-v-88c65b7b]{color:#b45309;background:#fef3c7}.wo-prio.p-urgent[data-v-88c65b7b]{color:#fff;background:#dc2626}.wo-prio.p-low[data-v-88c65b7b]{color:var(--color-text-muted)}.note[data-v-88c65b7b]{display:flex;flex-direction:column;gap:2px;padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.note-meta[data-v-88c65b7b]{display:flex;align-items:center;gap:4px;font-size:var(--font-sm)}.note-date[data-v-88c65b7b]{font-weight:600}.note-del[data-v-88c65b7b]{margin-left:auto}.note-body[data-v-88c65b7b]{margin:0;white-space:pre-wrap;font-size:var(--font-sm)}.addform[data-v-88c65b7b]{display:flex;flex-direction:column;gap:6px;padding:var(--space-2);background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.addform .row[data-v-88c65b7b]{display:flex;gap:6px}.addform .row.end[data-v-88c65b7b]{justify-content:flex-end}.addform .text-input[data-v-88c65b7b]{width:100%}.addform textarea[data-v-88c65b7b]{resize:vertical}.station[data-v-88c65b7b]{display:flex;flex-direction:column;gap:4px;padding:7px 0;border-bottom:1px solid var(--border)}.station[data-v-88c65b7b]:last-child{border-bottom:none}.station-head[data-v-88c65b7b]{display:flex;align-items:center;gap:8px}.station-name[data-v-88c65b7b]{font-weight:600;font-size:var(--font-sm)}.station-type[data-v-88c65b7b]{font-size:11px}.station-del[data-v-88c65b7b]{margin-left:auto}.station-detail[data-v-88c65b7b]{display:flex;flex-wrap:wrap;gap:6px}.station-detail .chip[data-v-88c65b7b]{display:inline-flex;align-items:center;gap:3px}.mono[data-v-88c65b7b]{font-family:ui-monospace,SFMono-Regular,monospace}.station-access[data-v-88c65b7b]{display:flex;align-items:flex-start;gap:5px;margin:1px 0 0;font-size:12px;opacity:.8}.backup-file[data-v-88c65b7b]{display:flex;align-items:center;gap:8px;font-size:12px}.data[data-v-d6997dcc]{display:flex;flex-direction:column;gap:var(--space-4)}.head-top[data-v-d6997dcc]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.head h2[data-v-d6997dcc]{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--font-lg);color:var(--color-text)}.muted[data-v-d6997dcc]{color:var(--color-text-muted);margin:0}.small[data-v-d6997dcc]{font-size:var(--font-sm)}.empty[data-v-d6997dcc]{padding:var(--space-3) 0}.device[data-v-d6997dcc]{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.device h3[data-v-d6997dcc]{display:inline-flex;align-items:center;gap:6px;margin:0 0 2px;font-size:var(--font-md);color:var(--color-text)}.rollup h3[data-v-d6997dcc]{color:var(--color-primary)}.stats[data-v-d6997dcc]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.stats li[data-v-d6997dcc]{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-sm)}.stat-label[data-v-d6997dcc]{color:var(--color-text)}.stat-val[data-v-d6997dcc]{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.unit[data-v-d6997dcc]{font-size:11px}.suggest[data-v-d6997dcc]{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.suggest h3[data-v-d6997dcc]{margin:0;font-size:var(--font-md);color:var(--color-text)}.sugg-list[data-v-d6997dcc]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.sugg-list li[data-v-d6997dcc]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 var(--space-2)}.sugg-name[data-v-d6997dcc]{font-weight:600}.sugg-src[data-v-d6997dcc]{grid-column:1}.place[data-v-d6997dcc]{grid-row:1 / span 2;grid-column:2}.place.armed[data-v-d6997dcc]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.armed-hint[data-v-d6997dcc]{font-size:var(--font-sm);color:var(--color-primary);background:var(--color-bg);border:1px dashed var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-2);margin:0}.dev-panel[data-v-b6a9a65c]{display:flex;flex-direction:column;gap:var(--space-3);height:100%;min-height:0}.dev-controls[data-v-b6a9a65c]{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.search[data-v-b6a9a65c]{flex:1 1 180px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted)}.search input[data-v-b6a9a65c]{flex:1;border:none;background:none;color:var(--color-text);font:inherit;font-size:var(--font-sm);outline:none;min-width:0}.scope[data-v-b6a9a65c]{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.scope button[data-v-b6a9a65c]{padding:6px 10px;font:inherit;font-size:var(--font-sm);border:none;background:var(--color-bg);color:var(--color-text-muted);cursor:pointer}.scope button.on[data-v-b6a9a65c]{background:var(--color-primary);color:#fff}.dev-add[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font:inherit;font-size:var(--font-sm);cursor:pointer}.dev-add[data-v-b6a9a65c]:hover{filter:brightness(1.05)}.dev-showall[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-sm);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.dev-showall input[data-v-b6a9a65c]{cursor:pointer}.dev-tag[data-v-b6a9a65c]{flex:none;font-size:10px;padding:1px 6px;border-radius:999px;background:var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.dev-tag.unwired[data-v-b6a9a65c]{color:var(--color-warn);background:color-mix(in srgb,var(--color-warn) 15%,transparent)}.dev-scroll[data-v-b6a9a65c]{flex:1;min-height:0;overflow-y:auto}.dev-head[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:6px;margin:14px 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.dev-scroll>.dev-head[data-v-b6a9a65c]:first-child{margin-top:0}.dev-list[data-v-b6a9a65c]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.dev-row[data-v-b6a9a65c]{display:flex;align-items:stretch;gap:4px}.dev-main[data-v-b6a9a65c]{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:9px 11px;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.dev-main[data-v-b6a9a65c]:hover{border-color:var(--color-primary)}.dev-row.elsewhere .dev-main[data-v-b6a9a65c]{opacity:.85}.dev-ico[data-v-b6a9a65c]{flex:none;color:var(--color-primary)}.dev-ico.link[data-v-b6a9a65c]{color:var(--color-text-muted)}.dev-body[data-v-b6a9a65c]{display:flex;flex-direction:column;gap:1px;min-width:0}.dev-name[data-v-b6a9a65c]{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-sub[data-v-b6a9a65c]{font-size:12px;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:8px}.dev-loc[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:3px;color:var(--color-text-faint, var(--color-text-muted))}.dev-photos[data-v-b6a9a65c]{flex:none;display:inline-flex;align-items:center;gap:4px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.dev-photos[data-v-b6a9a65c]:hover{border-color:var(--color-primary);color:var(--color-text)}.pc[data-v-b6a9a65c]{font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;font-weight:700;color:var(--color-primary)}.dev-empty[data-v-b6a9a65c]{margin:var(--space-4) 0;text-align:center;color:var(--color-text-muted);font-size:var(--font-sm)}.dcard-grid[data-v-b6a9a65c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:10px}.dcard[data-v-b6a9a65c]{position:relative;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);overflow:hidden;background:var(--color-surface);transition:border-color .12s,box-shadow .12s}.dcard[data-v-b6a9a65c]:hover{border-color:var(--color-primary);box-shadow:0 3px 12px #0000001f}.dcard.elsewhere[data-v-b6a9a65c]{opacity:.9}.dcard-hit[data-v-b6a9a65c]{display:flex;flex-direction:column;flex:1;min-width:0;padding:0;border:none;background:none;color:var(--color-text);text-align:left;cursor:pointer}.dcard-thumb[data-v-b6a9a65c]{position:relative;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-bottom:1px solid var(--color-border);overflow:hidden}.dcard-thumb img[data-v-b6a9a65c]{width:100%;height:100%;object-fit:cover}.dcard-ph[data-v-b6a9a65c]{color:color-mix(in srgb,var(--color-primary) 60%,var(--color-text-faint, #8894a3));opacity:.85}.dcard-body[data-v-b6a9a65c]{display:flex;flex-direction:column;gap:3px;padding:9px 10px;min-width:0}.dcard-name[data-v-b6a9a65c]{font-weight:600;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcard-sub[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcard-sub svg[data-v-b6a9a65c]{flex:none;color:var(--color-primary)}.dcard-tags[data-v-b6a9a65c]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;min-height:2px}.chip[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;padding:1px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.chip.warn[data-v-b6a9a65c]{color:var(--color-warn);background:color-mix(in srgb,var(--color-warn) 15%,transparent)}.chip.loc[data-v-b6a9a65c]{color:var(--color-text-faint, var(--color-text-muted));background:var(--color-border);text-transform:none;letter-spacing:0;font-weight:500}.chip.loc.room[data-v-b6a9a65c]{margin-left:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.loc.room[data-v-b6a9a65c] svg{flex:none}.dcard-photos[data-v-b6a9a65c]{position:absolute;top:6px;right:6px;z-index:2;display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:none;border-radius:999px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;font:inherit;font-size:11px;cursor:pointer}.dcard-photos[data-v-b6a9a65c]:hover{background:var(--color-primary)}.dcard-more[data-v-b6a9a65c]{position:absolute;top:6px;left:6px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:999px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;cursor:pointer}.dcard-more[data-v-b6a9a65c]:hover,.dcard-more.on[data-v-b6a9a65c]{background:var(--color-primary)}.dcard-menu[data-v-b6a9a65c]{position:absolute;top:34px;left:6px;z-index:6;min-width:180px;display:flex;flex-direction:column;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);background:var(--color-surface);box-shadow:0 8px 24px #00000047}.dcard-menu button[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text);font:inherit;font-size:var(--font-sm);text-align:left;cursor:pointer}.dcard-menu button[data-v-b6a9a65c]:hover{background:var(--color-bg)}.dcard-menu button[data-v-b6a9a65c] svg{flex:none;color:var(--color-primary)}.dev-menu-scrim[data-v-b6a9a65c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5}.dcard.menu-open[data-v-b6a9a65c]{z-index:7}.dcard-photos .pc[data-v-b6a9a65c]{font-family:var(--font-mono, ui-monospace, monospace);font-weight:700}.sheet-scrim[data-v-b6a9a65c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet[data-v-b6a9a65c]{width:min(420px,100%);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 12px);box-shadow:0 12px 40px #00000059}.sheet-head[data-v-b6a9a65c]{display:flex;align-items:center;justify-content:space-between}.sheet-head h2[data-v-b6a9a65c]{margin:0;font-size:var(--font-md, 16px)}.sheet-x[data-v-b6a9a65c]{display:inline-flex;padding:4px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.sheet-x[data-v-b6a9a65c]:hover{color:var(--color-text)}.fld[data-v-b6a9a65c]{display:flex;flex-direction:column;gap:5px}.fld-lbl[data-v-b6a9a65c]{font-size:var(--font-sm);font-weight:600;color:var(--color-text)}.opt[data-v-b6a9a65c]{font-weight:400;font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.fld input[type=text][data-v-b6a9a65c],.fld select[data-v-b6a9a65c]{padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--font-sm)}.fld input[type=text][data-v-b6a9a65c]:focus,.fld select[data-v-b6a9a65c]:focus{outline:none;border-color:var(--color-primary)}.ph-add[data-v-b6a9a65c]{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:7px 12px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted);font:inherit;font-size:var(--font-sm);cursor:pointer}.ph-add[data-v-b6a9a65c]:hover{border-color:var(--color-primary);color:var(--color-text)}.ph-list[data-v-b6a9a65c]{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.ph-item[data-v-b6a9a65c]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--font-sm)}.ph-name[data-v-b6a9a65c]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.ph-x[data-v-b6a9a65c]{display:inline-flex;padding:2px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.ph-x[data-v-b6a9a65c]:hover{color:var(--color-danger)}.sheet-err[data-v-b6a9a65c]{margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger);font-size:var(--font-sm)}.sheet-foot[data-v-b6a9a65c]{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.btn-ghost[data-v-b6a9a65c]{padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--font-sm);cursor:pointer}.btn-primary[data-v-b6a9a65c]{padding:8px 16px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer}.btn-primary[data-v-b6a9a65c]:disabled{opacity:.5;cursor:default}.px-preview[data-v-025e75d2]{height:100%;display:flex;flex-direction:column;background:var(--color-bg)}.bar[data-v-025e75d2]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.title[data-v-025e75d2]{font-size:var(--font-md)}.muted[data-v-025e75d2]{color:var(--color-text-muted);font-weight:400}.spacer[data-v-025e75d2]{flex:1}.btn.icon[data-v-025e75d2]{padding:6px;margin-right:36px}.note[data-v-025e75d2]{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--font-sm);color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.warnings[data-v-025e75d2]{margin:0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5);font-size:var(--font-sm);color:var(--color-warning, #b45309);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.stage[data-v-025e75d2]{flex:1;min-height:0;overflow:hidden;padding:var(--space-4);cursor:grab;touch-action:none}.stage[data-v-025e75d2]:active{cursor:grabbing}.canvas[data-v-025e75d2]{transform-origin:top left;display:inline-block}.center[data-v-025e75d2]{text-align:center;margin-top:15vh}.error[data-v-025e75d2]{color:var(--color-danger)}.cps[data-v-c9b1e780]{display:flex;flex-direction:column;gap:8px}.cps-head[data-v-c9b1e780]{display:flex;align-items:center;justify-content:space-between;gap:8px}.cps-title[data-v-c9b1e780]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted, #9aa6b4)}.cps-seed[data-v-c9b1e780],.cps-add-btn[data-v-c9b1e780]{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, #2c3a49);background:var(--color-surface, #1b2530);color:var(--color-text, #e8edf2);font:inherit;font-size:12.5px;cursor:pointer}.cps-add-btn[data-v-c9b1e780]{align-self:flex-start}.cps-list[data-v-c9b1e780]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cp[data-v-c9b1e780]{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border-soft, #243140);background:var(--color-surface-2, #212d3a)}.cp.absent[data-v-c9b1e780]{opacity:.5}.cp-eye[data-v-c9b1e780]{flex:none;display:inline-flex;border:none;background:transparent;color:var(--color-text-muted, #9aa6b4);cursor:pointer;padding:2px}.cp-label[data-v-c9b1e780]{flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-role[data-v-c9b1e780]{flex:none;font-size:11.5px;color:var(--color-text-faint, #6b7787);text-transform:capitalize}.cp-fluid[data-v-c9b1e780],.cp-in[data-v-c9b1e780]{padding:4px 6px;border-radius:6px;border:1px solid var(--color-border, #2c3a49);background:var(--color-surface, #1b2530);color:var(--color-text, #e8edf2);font:inherit;font-size:12.5px}.cp-del[data-v-c9b1e780]{flex:none;display:inline-flex;border:none;background:transparent;color:var(--color-text-faint, #6b7787);cursor:pointer;padding:2px}.cp-del[data-v-c9b1e780]:hover{color:var(--color-danger, #e5484d)}.cps-empty[data-v-c9b1e780]{margin:0;font-size:12.5px;color:var(--color-text-faint, #6b7787)}.cp-add[data-v-c9b1e780]{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid color-mix(in srgb,var(--color-accent, #c8a96e) 40%,var(--color-border, #2c3a49));border-radius:var(--radius-sm, 6px)}.cp-in[data-v-c9b1e780]{width:100%}.cp-in.sm[data-v-c9b1e780]{width:auto;flex:1}.cp-add-row[data-v-c9b1e780]{display:flex;gap:6px;align-items:center}.btn[data-v-c9b1e780]{padding:5px 11px;border-radius:6px;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid var(--color-border, #2c3a49);background:var(--color-surface-2, #212d3a);color:var(--color-text, #e8edf2)}.btn.primary[data-v-c9b1e780]{background:color-mix(in srgb,var(--color-ok, #3fb950) 18%,var(--color-surface-2, #212d3a));border-color:color-mix(in srgb,var(--color-ok, #3fb950) 50%,var(--color-border, #2c3a49));color:var(--color-ok-text, #7ee787)}.btn.ghost[data-v-c9b1e780]{color:var(--color-text-muted, #9aa6b4)}.btn[data-v-c9b1e780]:disabled{opacity:.5;cursor:default}.conn-editor[data-v-3d4dd91f]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-3d4dd91f]{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted)}.field-label .hint[data-v-3d4dd91f]{font-weight:400}.empty[data-v-3d4dd91f]{margin:0}.cx-port[data-v-3d4dd91f]{display:flex;flex-direction:column;gap:5px;padding:8px 9px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.cx-head[data-v-3d4dd91f]{display:flex;align-items:center;gap:8px}.cx-name[data-v-3d4dd91f]{font-weight:600;font-size:13.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx-type[data-v-3d4dd91f]{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);max-width:55%}.cx-conn[data-v-3d4dd91f]{display:flex;align-items:center;gap:6px;font-size:12.5px;padding-left:4px}.cx-arrow[data-v-3d4dd91f]{color:var(--color-text-muted)}.cx-to[data-v-3d4dd91f]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx-toport[data-v-3d4dd91f]{color:var(--color-text-muted)}.cx-logical[data-v-3d4dd91f]{flex:none;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-warn);background:color-mix(in srgb,var(--color-warn) 15%,transparent);padding:1px 6px;border-radius:999px}.cx-x[data-v-3d4dd91f]{flex:none;display:inline-flex;padding:2px;border:none;background:none;color:var(--color-danger);cursor:pointer;border-radius:4px}.cx-x[data-v-3d4dd91f]:hover{background:color-mix(in srgb,var(--color-danger) 14%,transparent)}.cx-connect[data-v-3d4dd91f]{font:inherit;font-size:12.5px;padding:5px 8px;border:1px dashed var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text-muted)}.overlay[data-v-b135712e]{position:absolute;top:0;left:0;pointer-events:none}.svg[data-v-b135712e]{position:absolute;top:0;left:0}.line[data-v-b135712e]{stroke:#ffd400;stroke-width:3}.pipe[data-v-b135712e]{stroke:#ffd400;fill:none;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 1.5px rgb(0 0 0 / .9))}.overlay.muted .pipe[data-v-b135712e]{stroke:#fff;opacity:.85}.leader[data-v-b135712e]{stroke:#ffd400;fill:none;filter:drop-shadow(0 0 1.5px rgb(0 0 0 / .9))}.dot[data-v-b135712e]{fill:#ffd400;stroke:#000;stroke-width:1.5}.label[data-v-b135712e]{fill:#ffd400;stroke:#000;stroke-width:1.75;paint-order:stroke;font:bold 16px var(--font-sans, sans-serif);dominant-baseline:middle;text-anchor:middle}.node-mark[data-v-b135712e]{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.node-icon[data-v-b135712e]{color:#ffd400;filter:drop-shadow(0 0 2px rgb(0 0 0 / .9)) drop-shadow(0 0 2px rgb(0 0 0 / .9))}.node-name[data-v-b135712e]{font:bold 14px var(--font-sans, sans-serif);color:#ffd400;white-space:nowrap;text-shadow:0 0 2px #000,0 1px 1px #000}.overlay.muted .line[data-v-b135712e],.overlay.muted .leader[data-v-b135712e]{stroke:#fff;opacity:.9;filter:drop-shadow(0 0 1.5px rgb(0 0 0 / .85))}.overlay.muted .dot[data-v-b135712e]{fill:#fff;opacity:.95}.overlay.muted .label[data-v-b135712e],.overlay.muted .node-name[data-v-b135712e]{fill:#fff;color:#fff}.overlay.muted .node-icon[data-v-b135712e]{color:#fff;opacity:.95}.aligner[data-v-9e44cbc9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;flex-direction:column;background:#000000d9;touch-action:none}.bar[data-v-9e44cbc9]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.marking[data-v-9e44cbc9]{font-size:var(--font-md);color:var(--color-text);white-space:nowrap}.marking strong[data-v-9e44cbc9]{color:var(--color-primary)}.hint[data-v-9e44cbc9]{flex:1;font-size:var(--font-sm);color:var(--color-text-muted)}.mark-label[data-v-9e44cbc9]{fill:#ffd400;stroke:#000;stroke-width:3;paint-order:stroke;font:700 16px sans-serif;dominant-baseline:middle;pointer-events:none}.icon-close[data-v-9e44cbc9]{display:inline-flex;padding:6px}.stage[data-v-9e44cbc9]{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--space-3);overflow:hidden}.stage.grab[data-v-9e44cbc9]{cursor:grab}.viewport[data-v-9e44cbc9]{position:relative;display:inline-block;transform-origin:center center;will-change:transform}.stage img[data-v-9e44cbc9]{display:block;max-width:90vw;max-height:78vh;width:auto;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.overlay[data-v-9e44cbc9]{position:absolute;top:0;left:0;pointer-events:none}.move-hit[data-v-9e44cbc9]{fill:#0000;pointer-events:all;cursor:grab}.node-mark[data-v-9e44cbc9]{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.node-icon[data-v-9e44cbc9]{color:#ffd400;filter:drop-shadow(0 0 2px rgb(0 0 0 / .9)) drop-shadow(0 0 2px rgb(0 0 0 / .9))}.node-name[data-v-9e44cbc9]{font:700 15px sans-serif;color:#ffd400;white-space:nowrap;text-shadow:0 0 3px #000,0 0 3px #000,0 1px 2px #000}.line[data-v-9e44cbc9]{stroke:#ffd400;stroke-width:3}.line-hit[data-v-9e44cbc9]{stroke:transparent;stroke-width:34;pointer-events:stroke;cursor:move}.handle[data-v-9e44cbc9]{fill:#ffd400e6;stroke:#000;stroke-width:1.5;pointer-events:none}.handle-hit[data-v-9e44cbc9]{fill:#0000;pointer-events:all;cursor:grab}@media(max-width:768px){.bar[data-v-9e44cbc9]{gap:var(--space-1, 4px);padding:var(--space-2);flex-wrap:wrap}.hint[data-v-9e44cbc9]{display:none}.marking[data-v-9e44cbc9]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}}.photos[data-v-79814a8d]{display:flex;flex-direction:column;gap:var(--space-2)}.photos-head[data-v-79814a8d]{display:flex;align-items:center;justify-content:space-between}.add-actions[data-v-79814a8d]{display:flex;gap:var(--space-2)}.add-btn[data-v-79814a8d]{font-size:var(--font-sm)}.add-btn.on[data-v-79814a8d]{border-color:var(--color-primary);color:var(--color-primary)}.library[data-v-79814a8d]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.library-hint[data-v-79814a8d]{margin:0;font-size:var(--font-sm);color:var(--color-text-muted)}.thumb.pick[data-v-79814a8d]{padding:0;cursor:pointer;background:none}.thumb.pick img[data-v-79814a8d]{cursor:pointer}.thumbs[data-v-79814a8d]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.thumb[data-v-79814a8d]{position:relative;width:64px;height:64px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.thumb img[data-v-79814a8d]{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}.thumb-del[data-v-79814a8d]{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:#0000008c;color:#fff}.thumb.aligned[data-v-79814a8d]:after{content:"";position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-radius:50%;background:#ffd400;border:1px solid rgba(0,0,0,.4)}.muted[data-v-79814a8d]{margin:0;font-size:var(--font-sm);color:var(--color-text-muted)}.error[data-v-79814a8d]{margin:0;color:var(--color-danger);font-size:var(--font-sm)}.conn-anchor[data-v-4837794b]{border-radius:var(--radius-sm);scroll-margin:12px}.conn-anchor.pulse[data-v-4837794b]{animation:conn-pulse-4837794b 1.2s ease-out}@keyframes conn-pulse-4837794b{0%,to{box-shadow:0 0 0 0 transparent}20%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 45%,transparent)}}.inspector[data-v-4837794b]{display:flex;flex-direction:column;gap:var(--space-2)}.inspector-head[data-v-4837794b],.inspector-foot[data-v-4837794b]{display:flex;align-items:center;justify-content:space-between}.inspector-head h3[data-v-4837794b]{margin:0;font-size:var(--font-md)}.head-actions[data-v-4837794b]{display:flex;align-items:center;gap:var(--space-1)}.hdr-close[data-v-4837794b]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:15px;line-height:1;border:1px solid transparent;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.hdr-close[data-v-4837794b]:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.hint[data-v-4837794b]{font-weight:400;color:var(--color-text-muted)}.link-list[data-v-4837794b]{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:4px}.link-list li[data-v-4837794b]{display:flex;align-items:center;gap:6px;font-size:var(--font-sm)}.link-arrow[data-v-4837794b]{color:var(--color-up, #6db86d);font-weight:700}.link-where[data-v-4837794b]{flex:1;min-width:0}.link-del[data-v-4837794b]{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;line-height:1}.link-del[data-v-4837794b]:hover{color:var(--color-danger, #d96a4a)}.link-add[data-v-4837794b]{margin-bottom:var(--space-2)}.id-hint[data-v-4837794b]{margin:-2px 0 0;font-size:var(--font-xs);color:var(--color-text-muted)}.id-hint code[data-v-4837794b]{font-size:var(--font-xs)}.orient-row[data-v-4837794b],.conn-row[data-v-4837794b]{display:flex;gap:var(--space-2);flex-wrap:wrap}.attr-grid[data-v-4837794b]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.attr-field .field-label[data-v-4837794b]{margin-bottom:2px}.check-line[data-v-4837794b]{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);color:var(--color-text-muted);padding:6px 0}.point-row[data-v-4837794b]{display:flex;gap:4px;margin-bottom:4px}.point-row .pt-label[data-v-4837794b],.point-row .pt-ord[data-v-4837794b]{flex:1 1 0;min-width:0}.point-row .pt-kind[data-v-4837794b]{flex:0 0 84px}.point-row .pt-del[data-v-4837794b]{flex:0 0 auto;padding:0 8px}.point-actions[data-v-4837794b]{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.orient-row .btn[data-v-4837794b]{flex:1;justify-content:center;font-size:var(--font-sm)}.error[data-v-4837794b]{margin:0;color:var(--color-danger);font-size:var(--font-sm)}.danger-zone[data-v-4837794b]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.danger-zone .hint[data-v-4837794b]{font-size:var(--font-xs);line-height:1.4}.inspector-foot[data-v-4837794b]{margin-top:var(--space-2)}.inspector[data-v-71bf1347]{display:flex;flex-direction:column;gap:var(--space-2)}.inspector-head[data-v-71bf1347],.inspector-foot[data-v-71bf1347]{display:flex;align-items:center;justify-content:space-between}.inspector-head h3[data-v-71bf1347]{margin:0;font-size:var(--font-md)}.head-actions[data-v-71bf1347]{display:flex;align-items:center;gap:var(--space-1)}.hdr-close[data-v-71bf1347]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:15px;line-height:1;border:1px solid transparent;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.hdr-close[data-v-71bf1347]:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.grid2[data-v-71bf1347]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.line-row[data-v-71bf1347]{display:flex;align-items:center;gap:var(--space-2)}.pipe-types[data-v-71bf1347]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.ptype[data-v-71bf1347]{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:var(--font-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.ptype[data-v-71bf1347]:hover{background:var(--color-bg)}.ptype.active[data-v-71bf1347]{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);font-weight:600}.ptype .sw[data-v-71bf1347]{width:14px;height:14px;border-radius:3px;border:1px solid rgb(0 0 0 / .25);flex-shrink:0}.seg-domain[data-v-71bf1347]{font-weight:400;color:var(--color-text-muted)}.attr-grid[data-v-71bf1347]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.attr-field .field-label[data-v-71bf1347]{margin-bottom:2px}.check-line[data-v-71bf1347]{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);color:var(--color-text-muted);padding:6px 0}.line-row .line-color[data-v-71bf1347]{width:36px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none;flex-shrink:0}.line-row .select-input[data-v-71bf1347]{flex:1}.reverse-btn[data-v-71bf1347]{justify-content:center}.reverse-btn[data-v-71bf1347]:disabled{opacity:.45;cursor:default}.bidir-row[data-v-71bf1347]{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-sm);color:var(--color-text-muted)}.split-controls[data-v-71bf1347]{display:flex;align-items:center;gap:var(--space-2)}.split-count[data-v-71bf1347]{width:64px}.split-unit[data-v-71bf1347]{font-size:var(--font-sm);color:var(--color-text-muted)}.split-controls .btn[data-v-71bf1347]{margin-left:auto;font-size:var(--font-sm)}.hint[data-v-71bf1347]{margin:0;font-size:var(--font-xs);color:var(--color-text-muted);line-height:1.4}.danger-zone[data-v-71bf1347]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.inspector-foot[data-v-71bf1347]{margin-top:var(--space-2)}.inspector[data-v-a8d2fadf]{display:flex;flex-direction:column;gap:var(--space-2)}.inspector-head[data-v-a8d2fadf]{display:flex;align-items:center;justify-content:space-between}.inspector-head h3[data-v-a8d2fadf]{margin:0;font-size:var(--font-md)}.head-actions[data-v-a8d2fadf]{display:flex;align-items:center;gap:var(--space-1)}.hdr-close[data-v-a8d2fadf]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:15px;line-height:1;border:1px solid transparent;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.hdr-close[data-v-a8d2fadf]:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.summary[data-v-a8d2fadf]{margin:0;font-size:var(--font-sm);color:var(--color-text-muted)}.apply-row[data-v-a8d2fadf]{display:flex;gap:var(--space-2)}.pipe-types[data-v-a8d2fadf]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.ptype[data-v-a8d2fadf]{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:var(--font-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.ptype[data-v-a8d2fadf]:hover{background:var(--color-bg)}.ptype .sw[data-v-a8d2fadf]{width:14px;height:14px;border-radius:3px;border:1px solid rgb(0 0 0 / .25);flex-shrink:0}.apply-row .select-input[data-v-a8d2fadf]{flex:1}.apply-row .btn[data-v-a8d2fadf]{flex:1;justify-content:center}.color-input[data-v-a8d2fadf]{width:40px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none;flex-shrink:0}.apply-row .name-input[data-v-a8d2fadf]{flex:1}.hint[data-v-a8d2fadf]{margin:0;font-size:var(--font-sm);color:var(--color-text-muted)}.danger-zone[data-v-a8d2fadf]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.danger-zone .hint[data-v-a8d2fadf]{font-size:var(--font-xs);line-height:1.4}.inspector-foot[data-v-a8d2fadf]{margin-top:var(--space-2)}.inspector-foot .btn[data-v-a8d2fadf]{width:100%;justify-content:center}.node-hub[data-v-58ae4175]{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.hub-head[data-v-58ae4175]{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-soft, #243140)}.hub-name[data-v-58ae4175]{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #e8edf2);overflow-wrap:anywhere}.hub-sub[data-v-58ae4175]{margin:0;font-size:var(--font-sm, 13px);color:var(--color-text-faint, #6b7787)}.hub-actions[data-v-58ae4175]{display:flex;flex-direction:column;gap:10px}.hub-act[data-v-58ae4175]{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-md, 10px);border:1px solid var(--color-border, #2c3a49);background:var(--color-surface-2, #212d3a);color:var(--color-text, #e8edf2);cursor:pointer;text-align:left;min-height:56px}.hub-act[data-v-58ae4175]:hover{border-color:var(--color-accent, #c8a96e)}.ha-ico[data-v-58ae4175]{flex:none;color:var(--color-accent, #c8a96e)}.ha-body[data-v-58ae4175]{display:flex;flex-direction:column;gap:2px;flex:1}.ha-t[data-v-58ae4175]{font-weight:600;font-size:14.5px}.ha-d[data-v-58ae4175]{font-size:12.5px;color:var(--color-text-muted, #9aa6b4)}.ha-count[data-v-58ae4175]{flex:none;font-family:var(--font-mono, ui-monospace, monospace);font-weight:700;font-size:13px;color:var(--color-accent, #c8a96e);background:color-mix(in srgb,var(--color-accent, #c8a96e) 16%,transparent);border-radius:999px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}.hub-device[data-v-58ae4175]{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--color-border-soft, #243140);border-radius:var(--radius-md, 10px);background:var(--color-surface-2, #212d3a)}.hd-head[data-v-58ae4175]{display:flex;align-items:center;justify-content:space-between;gap:8px}.hd-title[data-v-58ae4175]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted, #9aa6b4)}.hd-sma[data-v-58ae4175]{flex:none;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.hd-sma.ok[data-v-58ae4175]{background:color-mix(in srgb,var(--color-ok) 20%,transparent);color:var(--color-ok-text)}.hd-sma.soon[data-v-58ae4175]{background:color-mix(in srgb,var(--color-warn) 20%,transparent);color:var(--color-warn-text)}.hd-sma.expired[data-v-58ae4175]{background:color-mix(in srgb,var(--color-danger) 26%,transparent);color:var(--color-danger-text)}.hd-sma.unknown[data-v-58ae4175]{background:color-mix(in srgb,#7d8b9c 20%,transparent);color:#b3bdc9}.hd-facts[data-v-58ae4175]{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0}.hd-facts>div[data-v-58ae4175]{display:flex;flex-direction:column;gap:1px;min-width:0}.hd-facts>div.wide[data-v-58ae4175]{grid-column:1 / -1}.hd-facts dt[data-v-58ae4175]{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint, #6b7787)}.hd-facts dd[data-v-58ae4175]{margin:0;font-size:13px;color:var(--color-text, #e8edf2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, monospace)}.hd-cap[data-v-58ae4175]{margin:0;font-size:11px;color:var(--color-text-faint, #6b7787)}.hd-btn[data-v-58ae4175]{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;border:1px solid var(--color-border, #2c3a49);background:var(--color-surface, #1b2530);color:var(--color-text, #e8edf2);font-size:12.5px;font-weight:600;cursor:pointer}.hd-btn[data-v-58ae4175]:disabled{opacity:.6;cursor:default}.hd-err[data-v-58ae4175]{margin:0;font-size:12px;color:var(--color-danger-text)}.hd-file[data-v-58ae4175]{display:none}.hub-act.sm[data-v-58ae4175]{min-height:48px;padding:11px 12px}.hub-raise[data-v-58ae4175]{display:flex;flex-direction:column;gap:8px}.raise-label[data-v-58ae4175]{margin:4px 0 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-text-faint, #6b7787)}.raise-form[data-v-58ae4175]{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--color-accent, #c8a96e) 45%,var(--color-border, #2c3a49));border-radius:var(--radius-md, 10px);background:var(--color-surface-2, #212d3a)}.seg[data-v-58ae4175]{display:inline-flex;align-self:flex-start;border:1px solid var(--color-border, #2c3a49);border-radius:8px;overflow:hidden}.seg button[data-v-58ae4175]{padding:5px 12px;font-size:12.5px;border:none;background:transparent;color:var(--color-text-muted, #9aa6b4);cursor:pointer}.seg button.on[data-v-58ae4175]{background:color-mix(in srgb,var(--color-accent, #c8a96e) 20%,transparent);color:var(--color-text, #e8edf2);font-weight:600}.ri[data-v-58ae4175]{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border, #2c3a49);background:var(--color-surface, #1b2530);color:var(--color-text, #e8edf2);font-size:13.5px;font-family:inherit}.ri.qty[data-v-58ae4175]{width:76px;flex:none;margin-right:auto}.ri.ta[data-v-58ae4175]{resize:vertical}.row[data-v-58ae4175]{display:flex;gap:8px;align-items:center;justify-content:flex-end}.btn[data-v-58ae4175]{padding:8px 12px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid var(--color-border, #2c3a49);background:var(--color-surface-2, #212d3a);color:var(--color-text, #e8edf2)}.btn.primary[data-v-58ae4175]{background:color-mix(in srgb,var(--color-ok) 18%,var(--color-surface-2, #212d3a));border-color:color-mix(in srgb,var(--color-ok) 50%,var(--color-border, #2c3a49));color:var(--color-ok-text)}.btn.ghost[data-v-58ae4175]{color:var(--color-text-muted, #9aa6b4)}.btn[data-v-58ae4175]:disabled{opacity:.5;cursor:default}.need-wo[data-v-58ae4175]{border-style:dashed}.wi-list[data-v-58ae4175]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.wi[data-v-58ae4175]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--color-surface-2, #212d3a);border:1px solid var(--color-border-soft, #243140);font-size:12.5px}.wi-kind[data-v-58ae4175]{flex:none;color:var(--color-text-faint, #6b7787)}.wi-desc[data-v-58ae4175]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text, #e8edf2)}.wi-status[data-v-58ae4175]{flex:none;font-weight:600;font-size:11px;padding:2px 8px;border-radius:999px;white-space:nowrap}.wi-status.need[data-v-58ae4175]{background:color-mix(in srgb,var(--color-warn) 18%,transparent);color:var(--color-warn-text)}.wi-status.prog[data-v-58ae4175]{background:color-mix(in srgb,#5b9bd1 20%,transparent);color:#a9cdeb}.wi-status.done[data-v-58ae4175]{background:color-mix(in srgb,var(--color-ok) 20%,transparent);color:var(--color-ok-text)}.wi-status.muted[data-v-58ae4175]{background:color-mix(in srgb,#7d8b9c 20%,transparent);color:#b3bdc9}.hub-foot[data-v-58ae4175]{margin:auto 0 0;font-size:12px;color:var(--color-text-faint, #6b7787);line-height:1.5}.hub-foot strong[data-v-58ae4175]{color:var(--color-text-muted, #9aa6b4)}.node[data-v-e7278c68]{transform-origin:center center;transition:opacity .18s ease,transform .18s ease;position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--accent)}.node[data-v-e7278c68] .vue-flow__handle{opacity:0;pointer-events:none}.node.dimmed[data-v-e7278c68]{opacity:.25}.draw-ring[data-v-e7278c68]{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;border:1.5px dashed var(--color-accent, #c8a96e);border-radius:50%;opacity:.3;pointer-events:none}.unwired-ring[data-v-e7278c68]{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:1.5px dashed var(--color-warn, #d97706);border-radius:9px;opacity:.65;pointer-events:none}.draw-ring.bloom[data-v-e7278c68]{opacity:.9;animation:draw-ring-in-e7278c68 .15s ease-out}@keyframes draw-ring-in-e7278c68{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:.9}}@media(prefers-reduced-motion:reduce){.draw-ring.bloom[data-v-e7278c68]{animation:none}}.node.dimmed.revealing[data-v-e7278c68]{opacity:1;transform:scale(1.08);animation:node-reveal-e7278c68 .34s cubic-bezier(.34,1.56,.64,1)}@keyframes node-reveal-e7278c68{0%{transform:scale(1)}55%{transform:scale(1.18)}to{transform:scale(1.08)}}.node.selected .symbol[data-v-e7278c68],.node.selected .core[data-v-e7278c68]{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.symbol[data-v-e7278c68]{display:flex;align-items:center;justify-content:center;transform-origin:center}.core[data-v-e7278c68]{width:10px;height:10px;border-radius:50%;background:var(--color-default-node)}.photo-badge[data-v-e7278c68]{position:absolute;top:-4px;right:-4px;color:var(--color-primary-text);background:var(--color-primary);border-radius:50%;padding:2px}.wo-badge[data-v-e7278c68]{position:absolute;bottom:-3px;left:-3px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--color-bg);box-shadow:0 0 0 .5px #0000004d;z-index:4}.label[data-v-e7278c68]{position:absolute;font-size:var(--font-xs);font-weight:600;color:var(--color-text);white-space:nowrap;pointer-events:none;z-index:5;text-shadow:0 1px 2px var(--color-bg),0 -1px 2px var(--color-bg),1px 0 2px var(--color-bg),-1px 0 2px var(--color-bg),0 0 3px var(--color-bg)}.label--bottom[data-v-e7278c68]{top:calc(100% + 2px);left:50%;transform:translate(-50%)}.label--top[data-v-e7278c68]{bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.label--right[data-v-e7278c68]{left:calc(100% + 4px);top:50%;transform:translateY(-50%)}.label--left[data-v-e7278c68]{right:calc(100% + 4px);top:50%;transform:translateY(-50%)}.label--bottom-right[data-v-e7278c68]{top:calc(100% - 1px);left:calc(100% + 1px)}.label--bottom-left[data-v-e7278c68]{top:calc(100% - 1px);right:calc(100% + 1px)}.label--top-right[data-v-e7278c68]{bottom:calc(100% - 1px);left:calc(100% + 1px)}.label--top-left[data-v-e7278c68]{bottom:calc(100% - 1px);right:calc(100% + 1px)}.callout[data-v-1da56bd8]{width:100%;border:1px solid var(--color-up, #6db86d);border-radius:5px;background:var(--color-surface, #fff);box-shadow:0 1px 5px #0000001f;overflow:hidden;font-size:10px}.callout-head[data-v-1da56bd8]{display:flex;align-items:center;gap:4px;width:100%;border:none;background:var(--color-up, #6db86d);color:#fff;font:inherit;font-weight:700;padding:3px 6px;cursor:pointer;text-align:left}.callout-head[data-v-1da56bd8]:hover{filter:brightness(1.08)}.callout-rows[data-v-1da56bd8]{list-style:none;margin:0;padding:2px 0}.callout-rows li[data-v-1da56bd8]{padding:0}.more[data-v-1da56bd8]{padding:1px 6px;color:var(--color-text-muted);font-style:italic;font-size:9px}.row-link[data-v-1da56bd8]{display:flex;justify-content:space-between;align-items:baseline;gap:6px;width:100%;border:none;background:none;font:inherit;text-align:left;padding:1px 6px;cursor:pointer}.row-link[data-v-1da56bd8]:hover{background:var(--color-up, #6db86d)}.row-link:hover .pt[data-v-1da56bd8],.row-link:hover .from[data-v-1da56bd8]{color:#fff}.pt[data-v-1da56bd8]{font-weight:600;color:var(--color-text);white-space:nowrap}.from[data-v-1da56bd8]{color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.callout-handle[data-v-1da56bd8]{opacity:0;pointer-events:none}.label-chip[data-v-6786dcc9]{position:absolute;padding:1px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--font-xs);color:var(--color-text-muted);pointer-events:none}.np-backdrop[data-v-ba5fb71d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18}.node-picker[data-v-ba5fb71d]{position:absolute;z-index:19;transform:translate(-50%,8px);width:210px;max-height:360px;display:flex;flex-direction:column;background:var(--color-surface, #1c1c1c);border:1px solid var(--color-border, #3a3a3a);border-radius:var(--radius-sm, 6px);box-shadow:0 10px 30px #00000080;overflow:hidden}.np-head[data-v-ba5fb71d]{padding:6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #9a9a9a);border-bottom:1px solid var(--color-border, #2c2c2c)}.np-list[data-v-ba5fb71d]{overflow-y:auto}.np-item[data-v-ba5fb71d]{display:flex;align-items:center;gap:7px;width:100%;padding:7px 10px;border:none;background:transparent;color:var(--color-text, #e8e4dc);font:inherit;font-size:13px;text-align:left;cursor:pointer}.np-item[data-v-ba5fb71d]:hover{background:var(--color-bg, #141414);color:var(--color-accent, #c8a96e)}.np-plain[data-v-ba5fb71d]{border-bottom:1px solid var(--color-border, #2c2c2c);font-weight:600}.np-actions[data-v-ba5fb71d]{border-top:1px solid var(--color-border, #2c2c2c)}.np-danger[data-v-ba5fb71d]{color:var(--color-danger, #e5484d)}.canvas-wrap[data-v-feed8faa]{position:relative;height:100%;width:100%}.canvas-wrap[data-v-feed8faa]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;border-radius:2px;box-shadow:inset 0 0 0 2px var(--mode-accent, transparent);transition:box-shadow .15s ease}.canvas-wrap.mode-draw[data-v-feed8faa]{--mode-accent: var(--color-primary)}.canvas-wrap.mode-select[data-v-feed8faa]{--mode-accent: #f59e0b}.canvas-wrap.mode-view[data-v-feed8faa]{--mode-accent: #64748b}.canvas-wrap.mode-draw[data-v-feed8faa] .vue-flow__pane{cursor:crosshair}.canvas-wrap.mode-view[data-v-feed8faa] .vue-flow__pane{cursor:grab}.canvas-wrap.mode-view[data-v-feed8faa] .vue-flow__pane:active{cursor:grabbing}.canvas-wrap.arming[data-v-feed8faa] .vue-flow__edge{cursor:copy}.place-banner[data-v-feed8faa]{position:absolute;top:var(--space-3);left:50%;transform:translate(-50%);z-index:6;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;font-size:var(--font-sm);color:#fff;background:var(--color-primary);border-radius:999px;box-shadow:0 2px 8px #00000040}.place-cancel[data-v-feed8faa]{border:none;background:#fff3;color:#fff;border-radius:999px;padding:2px 8px;cursor:pointer;font-size:12px}.canvas-toolbar[data-v-feed8faa]{position:absolute;z-index:5;top:var(--space-3);left:var(--space-3);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.undo-redo[data-v-feed8faa]{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-1)}.tool-icon[data-v-feed8faa]{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:none;border-right:1px solid var(--color-border);background:transparent;color:var(--color-text)}.tool-icon[data-v-feed8faa]:last-child{border-right:none}.tool-icon[data-v-feed8faa]:disabled{opacity:.4;cursor:default}.settings-wrap[data-v-feed8faa]{position:relative;display:inline-flex}.settings-btn[data-v-feed8faa]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-1)}.settings-btn.active[data-v-feed8faa]{background:var(--color-bg)}.settings-backdrop[data-v-feed8faa]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15}.settings-panel[data-v-feed8faa]{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:16;display:flex;flex-direction:column;gap:var(--space-2);min-width:168px;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-2, 0 4px 16px rgb(0 0 0 / .18))}.line-picker[data-v-feed8faa]{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-surface);padding:3px 8px;border-radius:var(--radius-pill);box-shadow:var(--shadow-1)}.line-color[data-v-feed8faa]{width:26px;height:22px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none}.line-sel[data-v-feed8faa]{font-size:var(--font-sm);padding:2px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.line-dir[data-v-feed8faa]{font-size:14px;line-height:1;width:26px;height:24px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.line-dir.active[data-v-feed8faa]{border-color:var(--color-primary);color:var(--color-primary)}.opt[data-v-feed8faa]{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);color:var(--color-text-muted)}.opt--sep[data-v-feed8faa]{margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.discipline-sel[data-v-feed8faa],.component-sel[data-v-feed8faa]{padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);box-shadow:var(--shadow-1)}.layer-bar[data-v-feed8faa]{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background:var(--color-surface);box-shadow:var(--shadow-1)}.layer-chip[data-v-feed8faa]{display:inline-flex;align-items:center;gap:5px;padding:3px 6px 3px 8px;border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.7}.layer-chip.active[data-v-feed8faa]{background:var(--color-bg, #141414);color:var(--color-text);opacity:1;box-shadow:inset 0 0 0 1px var(--color-accent, #c8a96e)}.layer-chip.hidden[data-v-feed8faa]{opacity:.4}.layer-chip.hidden .layer-name[data-v-feed8faa]{text-decoration:line-through}.layer-dot[data-v-feed8faa]{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 .5px #0000004d}.layer-eye[data-v-feed8faa]{display:inline-flex;align-items:center;padding:2px;border:none;background:transparent;color:inherit;opacity:.6;cursor:pointer}.layer-eye[data-v-feed8faa]:hover{opacity:1}.component-sel.armed[data-v-feed8faa]{border-color:var(--color-primary);color:var(--color-primary)}.copy-btn[data-v-feed8faa]{font-size:var(--font-sm)}.flow-host[data-v-feed8faa]{position:absolute;top:0;right:0;bottom:0;left:0}.flow-host.drawing[data-v-feed8faa]{cursor:crosshair;touch-action:none}.flow[data-v-feed8faa]{height:100%;width:100%;background:var(--color-bg)}.flow[data-v-feed8faa] .vue-flow__controls,.flow[data-v-feed8faa] .vue-flow__minimap{bottom:calc(16px + env(safe-area-inset-bottom,0px))}@media(max-width:768px){.flow[data-v-feed8faa] .vue-flow__controls,.flow[data-v-feed8faa] .vue-flow__minimap{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.draw-ghost[data-v-feed8faa]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4}.ghost-line[data-v-feed8faa]{stroke:var(--color-primary);stroke-width:2;stroke-dasharray:5 4}.live-marker[data-v-feed8faa]{position:absolute;top:0;left:0;z-index:6;pointer-events:none;transition:transform 1.2s linear;will-change:transform}.lm-dot[data-v-feed8faa]{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:999px;background:#16a34a;border:2px solid #fff;box-shadow:0 0 #16a34a80;animation:lm-pulse-feed8faa 1.4s infinite}.lm-label[data-v-feed8faa]{position:absolute;left:12px;top:-10px;white-space:nowrap;font-size:11px;font-weight:600;color:#14532d;background:#16a34a24;padding:1px 6px;border-radius:999px}@keyframes lm-pulse-feed8faa{0%{box-shadow:0 0 #16a34a80}70%{box-shadow:0 0 0 12px #16a34a00}to{box-shadow:0 0 #16a34a00}}.snap-ring[data-v-feed8faa]{fill:none;stroke:var(--color-primary);stroke-width:2}.empty-overlay[data-v-feed8faa]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);pointer-events:none;text-align:center;padding:0 var(--space-5)}.empty-how[data-v-feed8faa]{max-width:30rem}.empty-tips[data-v-feed8faa]{margin:var(--space-2) 0 0;padding:0;list-style:none;text-align:left;max-width:30rem;font-size:var(--font-sm, 13px);line-height:1.7}.empty-overlay p[data-v-feed8faa]{margin:0;max-width:360px}.muted[data-v-feed8faa]{color:var(--color-text-muted)}.stage[data-v-2cd25b3c]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;background:var(--color-bg)}.stage-canvas[data-v-2cd25b3c]{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px}.stage-canvas.arming[data-v-2cd25b3c]{cursor:crosshair}.img-wrap[data-v-2cd25b3c]{position:relative;max-width:100%;max-height:100%}.img-wrap img[data-v-2cd25b3c]{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px;box-shadow:0 4px 18px #0000002e;touch-action:none}.stage-empty[data-v-2cd25b3c]{color:var(--color-text-muted);font-size:var(--font-sm);text-align:center}.hot[data-v-2cd25b3c]{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border:none;border-radius:50%;background:transparent;cursor:pointer;touch-action:none}.hot[data-v-2cd25b3c]:hover{background:#ffffff1f}.hot.on[data-v-2cd25b3c]{box-shadow:0 0 0 2px var(--color-primary);background:#ffffff14}.rot-handle[data-v-2cd25b3c]{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-primary);cursor:grab;touch-action:none;box-shadow:0 2px 8px #00000040;z-index:8}.size-ctrl[data-v-2cd25b3c]{position:absolute;transform:translate(-50%,-50%);z-index:9;display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.size-ctrl button[data-v-2cd25b3c]{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.size-ctrl button[data-v-2cd25b3c]:hover{background:#ffffff2e}.tag-handle[data-v-2cd25b3c]{position:absolute;transform:translate(-50%,-50%);min-width:40px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:#00000047;color:#ffffffb3;cursor:grab;touch-action:none;z-index:9}.tag-handle[data-v-2cd25b3c]:hover,.tag-handle[data-v-2cd25b3c]:active{background:#00000080;color:#fff}.draw-preview[data-v-2cd25b3c]{position:absolute;top:0;left:0;pointer-events:none}.draw-preview polyline[data-v-2cd25b3c]{stroke:var(--color-primary);stroke-width:3;stroke-dasharray:6 5;opacity:.9}.photo-del[data-v-2cd25b3c]{position:absolute;top:12px;left:12px;z-index:8;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--color-danger) 40%,transparent);border-radius:999px;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:color-mix(in srgb,var(--color-danger) 85%,#fff);font:inherit;font-size:var(--font-xs, 11px);font-weight:600;cursor:pointer}.photo-del[data-v-2cd25b3c]:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.draw-hint[data-v-2cd25b3c]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:9;padding:6px 12px;border-radius:999px;background:var(--color-primary);color:var(--color-primary-text);font-size:var(--font-sm);box-shadow:0 3px 12px #00000040}.dh-x[data-v-2cd25b3c]{border:none;background:none;color:var(--color-primary-text);text-decoration:underline;cursor:pointer;font:inherit}.tag-size[data-v-2cd25b3c]{position:absolute;top:12px;right:12px;z-index:8;display:inline-flex;align-items:center;gap:2px;padding:3px 4px 3px 9px;border-radius:999px;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ts-lbl[data-v-2cd25b3c]{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf;margin-right:3px}.ts-btn[data-v-2cd25b3c]{min-width:30px;height:30px;padding:0;border:none;border-radius:999px;background:transparent;color:#ffffffd9;font:bold 12px var(--font-sans, sans-serif);cursor:pointer}.ts-btn[data-v-2cd25b3c]:hover{background:#ffffff26}.ts-btn.on[data-v-2cd25b3c]{background:var(--color-primary);color:#fff}.stage-add[data-v-2cd25b3c]{position:absolute;right:14px;bottom:14px;z-index:7}.fab[data-v-2cd25b3c]{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:none;border-radius:999px;background:var(--color-primary);color:var(--color-primary-text);font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer;box-shadow:0 4px 14px #00000040}.add-form[data-v-2cd25b3c]{display:flex;align-items:center;gap:6px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 6px 20px #00000040}.af-name[data-v-2cd25b3c]{width:170px;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--font-sm)}.af-type[data-v-2cd25b3c]{padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--font-sm)}.af-or[data-v-2cd25b3c]{font-size:var(--font-xs, 11px);color:var(--color-text-muted);white-space:nowrap}.af-place[data-v-2cd25b3c]{padding:6px 12px;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-text);font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer}.af-place[data-v-2cd25b3c]:disabled{opacity:.5;cursor:default}.af-x[data-v-2cd25b3c]{display:inline-flex;padding:5px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.strip-wrap[data-v-2cd25b3c]{flex:0 0 auto;border-top:1px solid var(--color-border);background:var(--color-surface)}.pf[data-v-2cd25b3c]{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 0;color:var(--color-text-muted)}.pf-sel[data-v-2cd25b3c]{font:inherit;font-size:var(--font-sm);padding:4px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);max-width:240px}.pf-empty[data-v-2cd25b3c]{margin:0;align-self:center;padding:0 6px;font-size:var(--font-sm);color:var(--color-text-muted)}.strip[data-v-2cd25b3c]{flex:0 0 auto;display:flex;gap:6px;padding:6px 8px;overflow-x:auto}.thumb-wrap[data-v-2cd25b3c]{position:relative;flex:0 0 auto}.thumb[data-v-2cd25b3c]{position:relative;display:block;width:58px;height:44px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:var(--color-bg);cursor:pointer}.thumb.on[data-v-2cd25b3c]{border-color:var(--color-primary)}.thumb img[data-v-2cd25b3c]{width:100%;height:100%;object-fit:cover}.thumb-del[data-v-2cd25b3c]{position:absolute;top:-6px;right:-6px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity .12s}.thumb-wrap:hover .thumb-del[data-v-2cd25b3c],.thumb-del[data-v-2cd25b3c]:focus-visible,.thumb.on+.thumb-del[data-v-2cd25b3c]{opacity:1}.thumb-del[data-v-2cd25b3c]:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}@media(hover:none){.thumb-del[data-v-2cd25b3c]{opacity:1}}.cnt[data-v-2cd25b3c]{position:absolute;right:2px;bottom:2px;font-size:10px;line-height:1;padding:1px 4px;border-radius:999px;background:var(--color-primary);color:var(--color-primary-text)}.cnt.untagged[data-v-2cd25b3c]{background:var(--color-warn);color:#000;font-weight:600}.wop-backdrop[data-v-ef7eb63d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-4, 16px);background:#0000008c}.wop-card[data-v-ef7eb63d]{width:100%;max-width:460px;padding:var(--space-4, 20px);background:var(--color-surface, #1c1c1c);color:var(--color-text, #e8e4dc);border:1px solid var(--color-border, #3a3a3a);border-radius:var(--radius-md, 10px);box-shadow:0 12px 40px #00000080}.wop-title[data-v-ef7eb63d]{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:var(--font-lg, 16px)}.wop-sub[data-v-ef7eb63d]{margin:0 0 var(--space-3, 14px);font-size:var(--font-sm, 13px);color:var(--color-text-muted, #9a9a9a)}.wop-list[data-v-ef7eb63d]{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow-y:auto;margin-bottom:var(--space-3, 14px)}.wop-item[data-v-ef7eb63d]{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-border, #3a3a3a);border-radius:var(--radius-sm, 6px);background:var(--color-bg, #141414);color:inherit;font:inherit;cursor:pointer;text-align:left}.wop-item[data-v-ef7eb63d]:hover,.wop-item.current[data-v-ef7eb63d]{border-color:var(--color-accent, #c8a96e)}.wop-dot[data-v-ef7eb63d]{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 .5px #0000004d}.wop-label[data-v-ef7eb63d]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wop-badge[data-v-ef7eb63d]{font-size:10px;color:var(--color-accent, #c8a96e);text-transform:uppercase;letter-spacing:.04em}.wop-empty[data-v-ef7eb63d]{margin:0 0 var(--space-3, 14px);font-size:var(--font-sm, 13px);color:var(--color-text-muted, #9a9a9a)}.wop-actions[data-v-ef7eb63d]{display:flex;align-items:center;gap:var(--space-2, 10px)}.wop-temp[data-v-ef7eb63d]{display:inline-flex;align-items:center;gap:5px;font:inherit;font-weight:600;padding:8px 14px;border:1px solid var(--color-accent, #c8a96e);border-radius:var(--radius-sm, 6px);background:var(--color-accent, #c8a96e);color:var(--color-bg, #111);cursor:pointer}.wop-later[data-v-ef7eb63d]{margin-left:auto;font:inherit;padding:8px 12px;border:none;background:none;color:var(--color-text-muted, #9a9a9a);cursor:pointer}.wop-later[data-v-ef7eb63d]:hover{color:var(--color-text, #e8e4dc)}.sync-overlay[data-v-41741afd]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000004d;display:flex;justify-content:flex-end}.sync[data-v-41741afd]{width:min(440px,94vw);height:100%;background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000002e}.sync-head[data-v-41741afd]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.sync-head h2[data-v-41741afd]{margin:0;font-size:var(--font-lg)}.hdr-close[data-v-41741afd]{display:inline-flex;padding:6px;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer}.sync-body[data-v-41741afd]{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.grp h3[data-v-41741afd]{margin:0 0 var(--space-2);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.fl[data-v-41741afd]{display:block;font-size:var(--font-sm);margin:var(--space-2) 0 2px}.two[data-v-41741afd]{display:flex;gap:var(--space-2)}.two>div[data-v-41741afd]{flex:1}.row[data-v-41741afd]{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.hint[data-v-41741afd]{margin:0 0 var(--space-2);font-size:var(--font-sm);color:var(--color-text-muted)}.ok[data-v-41741afd]{margin:0;color:var(--color-success, #15803d);font-size:var(--font-sm)}.oidc[data-v-41741afd]{margin-top:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-2)}.oidc summary[data-v-41741afd]{cursor:pointer;font-size:var(--font-sm);font-weight:600;color:var(--color-text)}.oidc-hint[data-v-41741afd]{margin:6px 0;font-size:var(--font-xs, 11px);color:var(--color-text-muted)}.oidc .btn[data-v-41741afd]{margin-top:8px}.error[data-v-41741afd]{margin:0;color:var(--color-danger);font-size:var(--font-sm)}.viewer[data-v-6c9c58ba]{width:min(560px,96vw);display:flex;flex-direction:column;max-height:92vh}.viewer-body[data-v-6c9c58ba]{padding:var(--space-3) var(--space-4);overflow-y:auto}.photo-wrap[data-v-6c9c58ba]{position:relative;border-radius:var(--radius-md);overflow:hidden;background:#000}.photo-wrap img[data-v-6c9c58ba]{width:100%;max-height:64vh;object-fit:contain;display:block}.loading img[data-v-6c9c58ba]{filter:blur(2px);opacity:.7}.photo-mark[data-v-6c9c58ba]{position:absolute;width:26px;height:26px;transform:translate(-50%,-50%);border:3px solid #ef4444;border-radius:999px;box-shadow:0 0 0 2px #ffffffd9,0 0 6px #00000080;pointer-events:none}.photo-mark[data-v-6c9c58ba]:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:#ef4444;border-radius:999px}.note[data-v-6c9c58ba]{margin:var(--space-3) 0 0;white-space:pre-wrap}.by[data-v-6c9c58ba]{margin:var(--space-2) 0 0;font-size:var(--font-sm);color:var(--color-text-muted);display:inline-flex;align-items:center;gap:4px}.pane-inner[data-v-f04b92dc]{display:flex;flex-direction:column;height:100%;min-height:0}.toolbar[data-v-f04b92dc]{display:flex;gap:6px;padding:var(--space-3) var(--space-4) 0;flex-wrap:wrap}.pane-body[data-v-f04b92dc]{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-4)}.empty[data-v-f04b92dc]{color:var(--color-text-muted);font-size:var(--font-sm)}.ok[data-v-f04b92dc]{margin:var(--space-2) var(--space-4) 0;color:var(--color-success, #15803d);font-size:var(--font-sm)}.error[data-v-f04b92dc]{margin:var(--space-2) var(--space-4) 0;color:var(--color-danger);font-size:var(--font-sm)}.obs-list[data-v-f04b92dc]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.obs[data-v-f04b92dc]{display:flex;gap:10px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.obs[data-v-f04b92dc]:hover{border-color:var(--color-primary, #2563eb)}.thumb[data-v-f04b92dc]{width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;flex:none;display:grid;place-items:center;background:var(--color-bg);color:var(--color-text-muted)}.thumb img[data-v-f04b92dc]{width:100%;height:100%;object-fit:cover}.meta[data-v-f04b92dc]{min-width:0;flex:1}.row1[data-v-f04b92dc]{display:flex;align-items:center;gap:8px}.kind[data-v-f04b92dc]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--color-text-muted)}.anchor[data-v-f04b92dc]{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-sm);color:var(--color-text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot[data-v-f04b92dc]{width:9px;height:9px;border-radius:999px;margin-left:auto;flex:none}.dot.pending[data-v-f04b92dc]{background:#f59e0b}.dot.shared[data-v-f04b92dc]{background:#22c55e}.dot.remote[data-v-f04b92dc]{background:#3b82f6}.note[data-v-f04b92dc]{margin:2px 0;font-size:var(--font-sm)}.by[data-v-f04b92dc]{margin:0;font-size:12px;color:var(--color-text-muted)}.jobs[data-v-76917fcf]{display:flex;flex-direction:column;height:100%;min-height:0}.wo-sec[data-v-76917fcf]{flex:0 0 auto;max-height:45%;overflow-y:auto;padding:var(--space-3) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border)}.wo-head[data-v-76917fcf]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.wo-htitle[data-v-76917fcf]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.wo-manage[data-v-76917fcf]{display:inline-flex;align-items:center;gap:2px;padding:3px 6px;border:none;background:none;color:var(--color-primary);font:inherit;font-size:var(--font-sm);cursor:pointer}.wo-manage[data-v-76917fcf]:hover{text-decoration:underline}.wo-list[data-v-76917fcf]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.wo-row[data-v-76917fcf]{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.wo-row[data-v-76917fcf]:hover{border-color:var(--color-primary)}.wo-row.current[data-v-76917fcf]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.wo-title[data-v-76917fcf]{flex:1;min-width:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-cur[data-v-76917fcf]{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary)}.wo-status[data-v-76917fcf]{flex:none;font-size:10px;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:4px;background:var(--color-bg);border:1px solid var(--color-border);white-space:nowrap}.wo-status.s-provisional[data-v-76917fcf]{color:#7c3aed;border-color:#a78bfa;border-style:dashed}.wo-status.s-open[data-v-76917fcf]{color:#15803d;border-color:#22c55e}.wo-status.s-scheduled[data-v-76917fcf]{color:#1d4ed8;border-color:#3b82f6}.wo-status.s-on_hold[data-v-76917fcf]{color:#b45309;border-color:#f59e0b}.wo-prio[data-v-76917fcf]{flex:none;font-size:10px;text-transform:uppercase;padding:2px 5px;border-radius:4px}.wo-prio.p-high[data-v-76917fcf]{color:#b45309;background:#fef3c7}.wo-prio.p-urgent[data-v-76917fcf]{color:#fff;background:#dc2626}.wo-prio.p-low[data-v-76917fcf]{color:var(--color-text-muted)}.wo-empty[data-v-76917fcf]{margin:var(--space-2) 0 0;font-size:var(--font-sm);color:var(--color-text-muted)}.link[data-v-76917fcf]{display:inline-flex;align-items:center;gap:3px;padding:0;border:none;background:none;color:var(--color-primary);font:inherit;font-size:var(--font-sm);cursor:pointer}.link[data-v-76917fcf]:hover{text-decoration:underline}.notes-head[data-v-76917fcf]{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:var(--space-3) var(--space-4) 0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.nh-sub[data-v-76917fcf]{text-transform:none;letter-spacing:0;font-weight:400;color:var(--color-text-faint, var(--color-text-muted))}.notes-wrap[data-v-76917fcf]{flex:1;min-height:0}.capture[data-v-9fdf419e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text)}.bar[data-v-9fdf419e]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.title[data-v-9fdf419e]{display:inline-flex;align-items:center;gap:6px;font-weight:600}.grow[data-v-9fdf419e]{flex:1}.icon[data-v-9fdf419e]{display:inline-flex;padding:6px}.wo-pick[data-v-9fdf419e]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--color-primary);border-radius:999px;background:var(--color-surface);color:var(--color-primary);font:inherit;cursor:pointer;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hint[data-v-9fdf419e]{color:var(--color-text-muted);font-size:var(--font-sm);margin:0}.error[data-v-9fdf419e]{color:var(--color-danger);font-size:var(--font-sm);margin:var(--space-2) var(--space-3) 0}.picker[data-v-9fdf419e]{padding:var(--space-3);display:flex;flex-direction:column;gap:6px;overflow-y:auto}.wo-opt[data-v-9fdf419e]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.wo-opt.on[data-v-9fdf419e]{border-color:var(--color-primary);color:var(--color-primary)}.spacer-ico[data-v-9fdf419e]{width:14px}.new-wo[data-v-9fdf419e]{display:flex;gap:6px;margin-top:6px}.new-wo input[data-v-9fdf419e]{flex:1;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.actions[data-v-9fdf419e]{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2)}.big[data-v-9fdf419e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:120px;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-md);cursor:pointer}.big[data-v-9fdf419e]:active{transform:scale(.99)}.note-box[data-v-9fdf419e]{display:flex;flex-direction:column;gap:8px;padding:0 var(--space-3)}.note-row[data-v-9fdf419e]{display:flex;gap:8px;align-items:flex-start}.note-row textarea[data-v-9fdf419e]{flex:1;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;resize:vertical}.note-actions[data-v-9fdf419e]{display:flex;justify-content:space-between;align-items:center}.kind-toggle[data-v-9fdf419e]{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.kbtn[data-v-9fdf419e]{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:var(--font-sm);border:none;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.kbtn.on[data-v-9fdf419e]{background:var(--color-primary);color:var(--color-primary-text)}.feed[data-v-9fdf419e]{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:6px}.feed-item[data-v-9fdf419e]{display:flex;align-items:center;gap:8px;font-size:var(--font-sm)}.feed-item img[data-v-9fdf419e]{width:36px;height:36px;object-fit:cover;border-radius:4px;flex-shrink:0}.feed-ico[data-v-9fdf419e]{color:var(--color-text-muted);flex-shrink:0}.feed-label[data-v-9fdf419e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn[data-v-9fdf419e]{white-space:nowrap}.capture[data-v-2073d662]{width:min(440px,96vw);display:flex;flex-direction:column;max-height:92vh}.capture-body[data-v-2073d662]{padding:var(--space-3) var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.dest[data-v-2073d662]{display:flex;gap:6px}.dbtn[data-v-2073d662]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:var(--font-sm);cursor:pointer}.dbtn.on[data-v-2073d662]{border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb);font-weight:600}.scopes[data-v-2073d662]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.scope-lead[data-v-2073d662]{font-size:var(--font-sm);color:var(--color-text-muted);margin-right:2px}.note-row[data-v-2073d662]{display:flex;gap:8px;align-items:flex-start}.note[data-v-2073d662]{flex:1;resize:vertical}.photo-btn[data-v-2073d662]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:92px;border:1.5px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:var(--color-bg)}.photo-note[data-v-2073d662]{margin:0}.photo-wrap[data-v-2073d662]{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:crosshair;background:#000}.photo-wrap img[data-v-2073d662]{width:100%;max-height:300px;object-fit:contain;display:block}.photo-mark[data-v-2073d662]{position:absolute;width:22px;height:22px;transform:translate(-50%,-50%);border:3px solid #ef4444;border-radius:999px;box-shadow:0 0 0 2px #ffffffd9,0 0 6px #00000080;pointer-events:none}.photo-mark[data-v-2073d662]:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;background:#ef4444;border-radius:999px}.tap-hint[data-v-2073d662]{position:absolute;left:8px;bottom:8px;font-size:12px;background:#0009;color:#fff;padding:2px 8px;border-radius:999px}.retake-btn[data-v-2073d662]{position:absolute;top:8px;right:8px;font-size:12px;background:#0009;color:#fff;border:none;padding:3px 10px;border-radius:999px;cursor:pointer}.wo-home[data-v-2073d662]{display:flex;flex-direction:column;gap:6px}.new-wo[data-v-2073d662]{display:flex;gap:6px}.new-wo input[data-v-2073d662]{flex:1;padding:9px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.hint[data-v-2073d662]{margin:0;color:var(--color-text-muted);font-size:var(--font-sm)}.chip[data-v-2073d662]{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--font-sm)}.chip.on[data-v-2073d662]{background:var(--color-primary, #2563eb);border-color:transparent;color:#fff}.chip.disabled[data-v-2073d662]{opacity:.5;cursor:not-allowed}.chip-hint[data-v-2073d662]{opacity:.7;font-size:11px}.error[data-v-2073d662]{margin:0;color:var(--color-danger);font-size:var(--font-sm)}.editor[data-v-d73e8e95]{position:relative;display:flex;height:100%}.pane[data-v-d73e8e95]{overflow-y:auto;min-height:0}.pane--preview[data-v-d73e8e95]{flex:1 1 0;min-width:0;overflow:hidden;border-left:1px solid var(--color-border)}.editor.preview-open .pane--center[data-v-d73e8e95]{flex:1 1 0}.pane--right[data-v-d73e8e95]{flex:0 0 340px;width:340px;padding:var(--space-4);border-left:1px solid var(--color-border);background:var(--color-surface)}.inspector-empty[data-v-d73e8e95]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:var(--space-5);color:var(--color-text-faint, #6b7787)}.inspector-empty svg[data-v-d73e8e95]{opacity:.45;margin-bottom:4px}.ie-title[data-v-d73e8e95]{margin:0;font-weight:600;color:var(--color-text-muted, #9aa6b4)}.ie-hint[data-v-d73e8e95]{margin:0;font-size:var(--font-sm);max-width:26ch}.ie-note-btn[data-v-d73e8e95]{display:inline-flex;align-items:center;gap:7px;margin-top:var(--space-3);padding:9px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-primary, #2563eb);background:var(--color-surface);color:var(--color-primary, #2563eb);font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer}.ie-note-btn[data-v-d73e8e95]:hover{background:color-mix(in srgb,var(--color-primary, #2563eb) 12%,transparent)}.mode-seg[data-v-d73e8e95]{display:inline-flex;gap:2px;padding:2px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.mode-seg-btn[data-v-d73e8e95]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-radius:calc(var(--radius-sm) - 1px);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer}.mode-seg-btn[data-v-d73e8e95]:hover{color:var(--color-text)}.mode-seg-btn.active[data-v-d73e8e95]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-1)}.panel-host[data-v-d73e8e95]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:var(--color-bg);overflow-y:auto}.panel-body[data-v-d73e8e95]{max-width:760px;margin:0 auto;padding:var(--space-4)}.pane--center[data-v-d73e8e95]{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;padding:0;overflow:hidden}.center-stage[data-v-d73e8e95]{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.pane--right[data-v-d73e8e95] .inspector-head{position:sticky;top:0;z-index:2;margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.pane--right[data-v-d73e8e95] .inspector-foot{position:sticky;bottom:0;z-index:2;margin:auto calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border)}.canvas-actions[data-v-d73e8e95]{position:absolute;left:15px;bottom:calc(150px + env(safe-area-inset-bottom,0px));z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.app-action[data-v-d73e8e95]{display:inline-flex;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-3);font-size:var(--font-sm);font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer}.app-action[data-v-d73e8e95]:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-primary, #2563eb)}.app-action[data-v-d73e8e95]:disabled{opacity:.5;cursor:default}.app-action--primary[data-v-d73e8e95]{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:#fff}.app-action--primary[data-v-d73e8e95]:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8);border-color:var(--color-primary-hover, #1d4ed8)}.app-sep[data-v-d73e8e95]{width:1px;height:22px;background:var(--color-border);margin:0 var(--space-1)}.canvas-actions .btn[data-v-d73e8e95]{font-size:var(--font-sm);box-shadow:0 1px 3px #0000001f}.canvas-actions .btn.live-on[data-v-d73e8e95]{color:#15803d;border-color:#16a34a;background:#16a34a14}.notices-bell[data-v-d73e8e95]{position:absolute;top:var(--space-2);right:var(--space-2);z-index:7;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;padding:6px 10px;border:1px solid var(--color-warn-text);border-radius:var(--radius-md);background:var(--color-warn-bg);color:var(--color-warn-text);cursor:pointer}.notices-bell.open[data-v-d73e8e95]{outline:2px solid var(--color-warn-text);outline-offset:-1px}.notices-badge[data-v-d73e8e95]{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.notices[data-v-d73e8e95]{position:absolute;top:calc(var(--space-2) + 48px);right:var(--space-2);z-index:6;max-width:300px;max-height:40vh;overflow-y:auto;border:1px solid var(--color-warn-text);background:var(--color-warn-bg);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:0 1px 3px #00000026}.notices-head[data-v-d73e8e95]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0 0 var(--space-2)}.notices h2[data-v-d73e8e95]{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--font-sm);color:var(--color-warn-text)}.notices-close[data-v-d73e8e95]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;margin:-2px -4px -2px 0;border:1px solid transparent;border-radius:var(--radius-sm);background:#0000000d;color:var(--color-warn-text);cursor:pointer;touch-action:manipulation}.notices-close[data-v-d73e8e95]:hover{background:#0000001f;border-color:var(--color-warn-text)}.notices ul[data-v-d73e8e95]{margin:0;padding-left:var(--space-4);font-size:var(--font-sm);color:var(--color-text)}@media(max-width:768px){.notices[data-v-d73e8e95]{top:var(--space-2);right:var(--space-2);max-width:min(72vw,260px);max-height:32vh}.notices-close[data-v-d73e8e95]{width:44px;height:44px;margin:-8px -8px -8px 0}.notices-close[data-v-d73e8e95] svg{width:20px;height:20px}}.modal-backdrop[data-v-d73e8e95]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000073;padding:var(--space-4)}.modal[data-v-d73e8e95]{width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:0 8px 30px #00000040}.modal-head[data-v-d73e8e95]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.modal-head h3[data-v-d73e8e95]{margin:0;font-size:var(--font-md)}.icon-btn[data-v-d73e8e95]{display:inline-flex;align-items:center;padding:5px 8px}@media(max-width:768px){.pane--preview[data-v-d73e8e95]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;flex:none}.canvas-actions[data-v-d73e8e95]{bottom:calc(210px + env(safe-area-inset-bottom,0px))}.app-action[data-v-d73e8e95]{height:32px;padding:0 7px;gap:0}.app-label[data-v-d73e8e95],.app-sep[data-v-d73e8e95]{display:none}.pane--right[data-v-d73e8e95]{position:absolute;top:0;bottom:0;left:0;right:0;width:auto;z-index:20;flex:none;box-shadow:0 0 24px #00000040}.pane--right.is-empty[data-v-d73e8e95]{display:none}.pane--right[data-v-d73e8e95] .inspector{min-height:100%}}.tuning[data-v-d71345f4]{max-width:1000px;margin:0 auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.bar[data-v-d71345f4]{display:flex;align-items:center;gap:var(--space-3)}.bar h1[data-v-d71345f4]{display:flex;align-items:center;gap:8px;font-size:20px;margin:0}.card[data-v-d71345f4]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.card h2[data-v-d71345f4]{font-size:15px;margin:0;display:flex;align-items:center;gap:6px}.card-head[data-v-d71345f4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.grid[data-v-d71345f4]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2) var(--space-3)}@media(max-width:760px){.grid[data-v-d71345f4]{grid-template-columns:1fr 1fr}}label[data-v-d71345f4]{display:flex;flex-direction:column;font-size:12px;color:var(--color-text-muted);gap:3px}input[data-v-d71345f4],select[data-v-d71345f4]{font:inherit;padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);box-sizing:border-box;max-width:100%}.hint[data-v-d71345f4]{font-size:12px;color:var(--color-text-muted);margin:0 0 var(--space-2)}.tbl-wrap[data-v-d71345f4]{overflow-x:auto}.steps[data-v-d71345f4]{width:100%;border-collapse:collapse;font-size:13px}.steps th[data-v-d71345f4]{text-align:left;font-size:11px;color:var(--color-text-muted);font-weight:500;padding:4px;border-bottom:1px solid var(--color-border);white-space:nowrap}.steps td[data-v-d71345f4]{padding:3px 4px;border-bottom:1px solid var(--color-border)}.steps td input[type=number][data-v-d71345f4]{width:72px;padding:4px 6px}.steps td.c[data-v-d71345f4]{text-align:center}.steps td.c input[data-v-d71345f4]{width:auto}.steps td.ix[data-v-d71345f4]{color:var(--color-text-muted)}.steps td.k[data-v-d71345f4]{font-family:ui-monospace,monospace;font-weight:600;white-space:nowrap}.steps tr.governs td.k[data-v-d71345f4]{color:var(--color-accent, #c8a96e)}.steps th .opt[data-v-d71345f4]{color:var(--color-text-muted);font-weight:400}.badge[data-v-d71345f4]{background:var(--color-accent, #c8a96e);color:#111;border-radius:999px;padding:0 7px;font-size:10px;margin-left:6px}.curve[data-v-d71345f4]{font-size:13px;color:var(--color-text-muted);margin:var(--space-2) 0 var(--space-3)}.params[data-v-d71345f4]{width:100%;border-collapse:collapse;font-size:13px}.params th[data-v-d71345f4]{text-align:left;font-weight:500;color:var(--color-text-muted);padding:5px 0;border-bottom:1px solid var(--color-border)}.params .val[data-v-d71345f4]{text-align:right;font-family:ui-monospace,monospace;font-weight:600;padding:5px 0;border-bottom:1px solid var(--color-border)}.params .u[data-v-d71345f4]{color:var(--color-text-muted);font-weight:400}.deriv[data-v-d71345f4]{font-family:ui-monospace,monospace;font-size:11px;color:var(--color-text-muted);padding-left:18px}details summary[data-v-d71345f4]{font-size:12px;cursor:pointer;margin:var(--space-2) 0;color:var(--color-text-muted)}.warn[data-v-d71345f4]{font-size:12px;color:var(--color-accent, #c8a96e);padding-left:18px;margin:var(--space-2) 0 0}.actions[data-v-d71345f4]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.ok[data-v-d71345f4]{color:var(--color-up, #6db86d);font-size:12px}.muted[data-v-d71345f4]{color:var(--color-text-muted)}.reports[data-v-d71345f4]{list-style:none;margin:0;padding:0}.reports li[data-v-d71345f4]{display:flex;align-items:center;gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--color-border);font-size:13px}.reports .link[data-v-d71345f4]{background:none;border:none;color:var(--color-text);cursor:pointer;font:inherit;font-weight:600;padding:0}.btn[data-v-d71345f4]{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface, transparent);color:var(--color-text);cursor:pointer}.btn.primary[data-v-d71345f4]{background:var(--color-accent, #c8a96e);color:#111;border-color:transparent}.btn.ghost[data-v-d71345f4]{border-color:transparent}.icon-btn[data-v-d71345f4]{background:none;border:none;color:var(--color-text-muted);cursor:pointer}.icon-btn.danger[data-v-d71345f4]:hover{color:var(--color-danger, #d96a4a)}.ckl[data-v-b721e111]{display:flex;flex-direction:column;gap:6px}.ckl-head[data-v-b721e111]{display:flex;align-items:center;gap:8px}.ckl-head h4[data-v-b721e111]{margin:0;font-size:var(--font-sm)}.head-nudge[data-v-b721e111]{margin-left:auto}.rbtn[data-v-b721e111]:disabled{opacity:.45;cursor:default}.muted[data-v-b721e111]{color:var(--color-text-muted);font-weight:400}.empty[data-v-b721e111]{padding:var(--space-2) 0;font-size:var(--font-sm)}.open-pill[data-v-b721e111]{font-size:var(--font-xs, 11px);font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-warn) 16%,transparent);color:var(--color-warn-text)}.stage[data-v-b721e111]{margin-top:2px}.stage-name[data-v-b721e111]{font-size:var(--font-xs, 11px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding:4px 0 2px}.item[data-v-b721e111]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 60%,transparent)}.item-main[data-v-b721e111]{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--font-sm)}.glyph[data-v-b721e111]{flex:none;color:var(--color-text-faint, #6b7787)}.desc[data-v-b721e111]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item.r-done .desc[data-v-b721e111]{color:var(--color-text-muted);text-decoration:line-through}.item.r-na .desc[data-v-b721e111]{color:var(--color-text-muted)}.proc[data-v-b721e111]{flex:none;font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px}.proc.need[data-v-b721e111]{background:color-mix(in srgb,var(--color-warn) 18%,transparent);color:var(--color-warn-text)}.proc.prog[data-v-b721e111]{background:color-mix(in srgb,#5b9bd1 20%,transparent);color:#a9cdeb}.proc.done[data-v-b721e111]{background:color-mix(in srgb,var(--color-ok) 20%,transparent);color:var(--color-ok-text)}.proc.muted[data-v-b721e111]{background:color-mix(in srgb,#7d8b9c 20%,transparent);color:#b3bdc9}.res[data-v-b721e111]{display:inline-flex;gap:4px}.rbtn[data-v-b721e111]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 8px;font-size:var(--font-xs, 11px);font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.rbtn.done.on[data-v-b721e111]{background:color-mix(in srgb,var(--color-ok) 22%,transparent);border-color:var(--color-ok);color:var(--color-ok-text)}.rbtn.na.on[data-v-b721e111]{background:color-mix(in srgb,#7d8b9c 22%,transparent);border-color:#7d8b9c;color:var(--color-text)}.rbtn.def.on[data-v-b721e111]{background:color-mix(in srgb,var(--color-warn) 20%,transparent);border-color:var(--color-warn);color:var(--color-warn-text)}.note[data-v-b721e111]{grid-column:1 / -1;padding:2px 0 2px 20px}.note-in[data-v-b721e111]{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:5px 8px;font:inherit;font-size:var(--font-sm)}.note-txt[data-v-b721e111]{font-size:var(--font-sm);color:var(--color-text-muted);font-style:italic}.add[data-v-b721e111]{display:flex;gap:6px;margin-top:8px}.add-in[data-v-b721e111]{flex:1;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:6px 8px;font:inherit;font-size:var(--font-sm)}.add-stage[data-v-b721e111]{width:92px;flex:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:6px 8px;font:inherit;font-size:var(--font-sm)}.btn.add-btn[data-v-b721e111]{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);cursor:pointer}.btn.add-btn[data-v-b721e111]:disabled{opacity:.5;cursor:default}.overlay[data-v-0e34c8f4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:60;padding:var(--space-3)}.card[data-v-0e34c8f4]{width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}header[data-v-0e34c8f4]{display:flex;align-items:center}header h3[data-v-0e34c8f4]{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--font-md);flex:1}.icon[data-v-0e34c8f4]{display:inline-flex;padding:6px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.muted[data-v-0e34c8f4]{color:var(--color-text-muted)}.hint[data-v-0e34c8f4]{font-size:var(--font-sm);color:var(--color-text-muted);margin:0}.hint code[data-v-0e34c8f4]{background:var(--color-bg);padding:1px 4px;border-radius:3px;font-size:.9em}.link[data-v-0e34c8f4]{background:none;border:none;color:var(--color-primary);cursor:pointer;font:inherit;padding:0}.warn[data-v-0e34c8f4]{font-size:var(--font-sm);color:var(--color-warn-text);background:color-mix(in srgb,var(--color-warn) 12%,transparent);padding:6px 8px;border-radius:var(--radius-sm);margin:0}.err[data-v-0e34c8f4]{font-size:var(--font-sm);color:var(--color-danger);margin:0}.paste[data-v-0e34c8f4]{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);padding:8px;font:inherit;font-size:var(--font-sm);resize:vertical}.row[data-v-0e34c8f4]{display:flex;align-items:center;gap:10px}.spin[data-v-0e34c8f4]{display:inline-flex;align-items:center;gap:4px}.spin[data-v-0e34c8f4] svg{animation:spin-0e34c8f4 .8s linear infinite}@keyframes spin-0e34c8f4{to{transform:rotate(360deg)}}.prev[data-v-0e34c8f4]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);padding:var(--space-2);display:flex;flex-direction:column;gap:4px}.name[data-v-0e34c8f4]{display:flex;align-items:center;gap:8px;font-size:var(--font-sm);margin-bottom:4px}.name span[data-v-0e34c8f4]{color:var(--color-text-muted)}.name-in[data-v-0e34c8f4]{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:5px 8px;font:inherit;font-weight:600}.stage-name[data-v-0e34c8f4]{font-size:var(--font-xs, 11px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding:4px 0 2px}.item[data-v-0e34c8f4]{display:flex;align-items:center;gap:6px;font-size:var(--font-sm);padding:1px 0}.glyph[data-v-0e34c8f4]{color:var(--color-text-faint, #6b7787);flex:none}.desc[data-v-0e34c8f4]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}footer[data-v-0e34c8f4]{display:flex;align-items:center;gap:8px;margin-top:2px}.apply[data-v-0e34c8f4]{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm)}.grow[data-v-0e34c8f4]{flex:1}.btn[data-v-0e34c8f4]{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-sm);cursor:pointer}.btn--primary[data-v-0e34c8f4]{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.btn[data-v-0e34c8f4]:disabled{opacity:.5;cursor:default}.wov[data-v-b7b2fa60]{display:flex;flex-direction:column}.bar[data-v-b7b2fa60]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.bar h1[data-v-b7b2fa60]{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--font-lg)}.grow[data-v-b7b2fa60]{flex:1}.muted[data-v-b7b2fa60]{color:var(--color-text-muted);font-weight:400}.icon[data-v-b7b2fa60]{display:inline-flex;padding:6px}.sel[data-v-b7b2fa60]{padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm)}.untagged-banner[data-v-b7b2fa60]{display:flex;align-items:center;gap:8px;margin:var(--space-3) var(--space-3) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left}.untagged-banner.none[data-v-b7b2fa60]{border-color:var(--color-border);opacity:.7}.untagged-banner strong[data-v-b7b2fa60]{font-size:var(--font-md)}.triage[data-v-b7b2fa60]{margin:var(--space-2) var(--space-3) 0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-2) var(--space-3)}.triage-head[data-v-b7b2fa60]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.link[data-v-b7b2fa60]{background:none;border:none;color:var(--color-primary);cursor:pointer;font:inherit}.empty[data-v-b7b2fa60]{padding:var(--space-3)}.pad[data-v-b7b2fa60]{padding:var(--space-4);text-align:center}.room-group[data-v-b7b2fa60]{margin-bottom:var(--space-2)}.room-name[data-v-b7b2fa60]{font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted);padding:2px 0}.pick-row[data-v-b7b2fa60],.art-row[data-v-b7b2fa60]{display:flex;align-items:center;gap:6px;padding:2px 0 2px 8px;font-size:var(--font-sm)}.pick-row[data-v-b7b2fa60]{cursor:pointer}.kind[data-v-b7b2fa60]{color:var(--color-text-muted);flex-shrink:0}.pick-label[data-v-b7b2fa60]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-list[data-v-b7b2fa60]{list-style:none;margin:0;padding:var(--space-3);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.wo-card[data-v-b7b2fa60]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden}.wo-card.open[data-v-b7b2fa60]{border-color:var(--color-primary)}.wo-card.current[data-v-b7b2fa60]{border-color:#f59e0b;box-shadow:inset 3px 0 #f59e0b}.wo-head[data-v-b7b2fa60]{display:flex;align-items:stretch}.sync-note[data-v-b7b2fa60]{margin:var(--space-2) var(--space-3) 0;padding:var(--space-2) var(--space-3);font-size:var(--font-sm);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.sync-note.err[data-v-b7b2fa60]{color:var(--color-danger);border-color:var(--color-danger)}.icon.spin[data-v-b7b2fa60] svg{animation:spin-b7b2fa60 .8s linear infinite}@keyframes spin-b7b2fa60{to{transform:rotate(360deg)}}.remote-banner[data-v-b7b2fa60]{display:flex;align-items:center;gap:8px;margin:var(--space-2) var(--space-3) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left}.remote-list[data-v-b7b2fa60]{margin:var(--space-2) var(--space-3) 0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:6px}.remote-item[data-v-b7b2fa60]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm)}.r-title[data-v-b7b2fa60]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-sync[data-v-b7b2fa60]{display:inline-flex;align-items:center;gap:2px;padding-left:4px}.sync-btn[data-v-b7b2fa60]{display:inline-flex;align-items:center;padding:4px;border:none;background:none;cursor:pointer}.sync-btn.up[data-v-b7b2fa60]{color:var(--color-primary)}.sync-btn.down[data-v-b7b2fa60]{color:#b45309}.synced[data-v-b7b2fa60]{color:var(--color-text-muted)}.star[data-v-b7b2fa60]{display:inline-flex;align-items:center;padding:0 8px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.star.on[data-v-b7b2fa60]{color:#f59e0b}.star.on[data-v-b7b2fa60] svg{fill:#f59e0b}.wo-row[data-v-b7b2fa60]{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:none;background:none;color:var(--color-text);font:inherit;text-align:left;padding:var(--space-2) var(--space-3) var(--space-2) 0;cursor:pointer}.dot[data-v-b7b2fa60]{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 .5px #0000004d}.wo-title[data-v-b7b2fa60]{font-weight:600}.counts[data-v-b7b2fa60]{display:inline-flex;gap:10px;color:var(--color-text-muted);font-size:var(--font-sm)}.counts span[data-v-b7b2fa60]{display:inline-flex;align-items:center;gap:2px;font-variant-numeric:tabular-nums}.wo-status[data-v-b7b2fa60]{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--color-bg);border:1px solid var(--color-border);white-space:nowrap}.wo-status.s-provisional[data-v-b7b2fa60]{color:#7c3aed;border-color:#a78bfa;border-style:dashed}.wo-status.s-open[data-v-b7b2fa60]{color:#15803d;border-color:#22c55e}.wo-status.s-scheduled[data-v-b7b2fa60]{color:#1d4ed8;border-color:#3b82f6}.wo-status.s-on_hold[data-v-b7b2fa60]{color:#b45309;border-color:#f59e0b}.wo-status.s-closed[data-v-b7b2fa60]{color:var(--color-text-muted)}.wo-detail[data-v-b7b2fa60]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-bg)}.detail-actions[data-v-b7b2fa60]{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.detail-actions .btn[data-v-b7b2fa60]{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);cursor:pointer}.detail-col h4[data-v-b7b2fa60]{margin:0 0 var(--space-2);font-size:var(--font-sm)}.wi-row[data-v-b7b2fa60]{display:flex;align-items:center;gap:6px;font-size:var(--font-sm);padding:2px 0}.wi-kind[data-v-b7b2fa60]{flex:none;color:var(--color-text-faint, #6b7787)}.wi-desc[data-v-b7b2fa60]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wi-status[data-v-b7b2fa60]{flex:none;font-weight:600;font-size:var(--font-xs, 11px);padding:2px 8px;border-radius:999px;white-space:nowrap}.wi-status.need[data-v-b7b2fa60]{background:color-mix(in srgb,var(--color-warn) 18%,transparent);color:var(--color-warn-text)}.wi-status.prog[data-v-b7b2fa60]{background:color-mix(in srgb,#5b9bd1 20%,transparent);color:#a9cdeb}.wi-status.done[data-v-b7b2fa60]{background:color-mix(in srgb,var(--color-ok) 20%,transparent);color:var(--color-ok-text)}.wi-status.muted[data-v-b7b2fa60]{background:color-mix(in srgb,#7d8b9c 20%,transparent);color:#b3bdc9}.thread[data-v-b7b2fa60]{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:4px}.thread-item[data-v-b7b2fa60]{display:flex;gap:6px;align-items:flex-start;font-size:var(--font-sm)}.thread-item.done .t-body span[data-v-b7b2fa60]:first-child{text-decoration:line-through;color:var(--color-text-muted)}.req[data-v-b7b2fa60]{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-muted);margin-top:1px}.t-body[data-v-b7b2fa60]{display:flex;flex-direction:column}.t-meta[data-v-b7b2fa60]{font-size:var(--font-xs)}.add-text[data-v-b7b2fa60]{display:flex;gap:6px;align-items:flex-start}.add textarea[data-v-b7b2fa60]{flex:1;width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:6px;font:inherit;resize:vertical}.add-row[data-v-b7b2fa60]{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.kind-toggle[data-v-b7b2fa60]{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.kind-toggle button[data-v-b7b2fa60]{padding:4px 10px;font-size:var(--font-sm);border:none;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.kind-toggle button.on[data-v-b7b2fa60]{background:var(--color-primary);color:var(--color-primary-text)}@media(max-width:768px){.wo-detail[data-v-b7b2fa60]{grid-template-columns:1fr}.bar[data-v-b7b2fa60]{flex-wrap:wrap}}.controls[data-v-b138924c]{display:flex;flex-direction:column;gap:var(--space-4, 20px)}.ct-report-actions[data-v-b138924c]{display:flex;justify-content:flex-end;gap:8px}.act[data-v-b138924c]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, #2c3a49);background:var(--color-surface, #1b2530);color:var(--color-text, #e8edf2);font:inherit;font-size:var(--font-sm, 13px);cursor:pointer}.act[data-v-b138924c]:hover:not(:disabled){border-color:var(--color-accent, #c8a96e)}.act[data-v-b138924c]:disabled{opacity:.5;cursor:default}.ct-summary[data-v-b138924c]{display:flex;flex-wrap:wrap;gap:10px}.stat[data-v-b138924c]{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-radius:var(--radius-md, 10px);border:1px solid var(--color-border-soft, #243140);background:var(--color-surface-2, #212d3a);min-width:84px}.stat .n[data-v-b138924c]{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.stat .n2[data-v-b138924c]{font-size:14px;font-weight:600}.stat .l[data-v-b138924c]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint, #6b7787)}.stat.hot[data-v-b138924c]{border-color:color-mix(in srgb,var(--color-danger, #e5484d) 55%,transparent)}.stat.hot .n[data-v-b138924c]{color:var(--color-danger-text, #ff9ea1)}.stat.warn[data-v-b138924c]{border-color:color-mix(in srgb,var(--color-warn, #d9a441) 55%,transparent)}.stat.warn .n[data-v-b138924c]{color:var(--color-warn-text, #f0c674)}.stat.wide[data-v-b138924c]{flex:1;min-width:200px;align-items:flex-start;justify-content:center}.ct-empty[data-v-b138924c]{color:var(--color-text-muted, #9aa6b4);font-size:var(--font-sm, 13px)}.ct-list[data-v-b138924c]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.jace[data-v-b138924c]{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:var(--radius-md, 10px);border:1px solid var(--color-border, #2c3a49);background:var(--color-surface-2, #212d3a)}.j-main[data-v-b138924c]{flex:1;min-width:0}.j-title[data-v-b138924c]{display:flex;align-items:center;gap:8px}.j-ico[data-v-b138924c]{color:var(--color-accent, #c8a96e);flex:none}.j-name[data-v-b138924c]{border:none;background:none;color:var(--color-text, #e8edf2);font:inherit;font-size:15.5px;font-weight:600;cursor:pointer;padding:0}.j-name[data-v-b138924c]:hover{color:var(--color-accent, #c8a96e);text-decoration:underline}.sma[data-v-b138924c]{flex:none;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}.sma.ok[data-v-b138924c]{background:color-mix(in srgb,var(--color-ok, #3fb950) 20%,transparent);color:var(--color-ok-text, #7ee787)}.sma.soon[data-v-b138924c]{background:color-mix(in srgb,var(--color-warn, #d9a441) 22%,transparent);color:var(--color-warn-text, #f0c674)}.sma.expired[data-v-b138924c]{background:color-mix(in srgb,var(--color-danger, #e5484d) 26%,transparent);color:var(--color-danger-text, #ff9ea1)}.sma.unknown[data-v-b138924c]{background:color-mix(in srgb,#7d8b9c 20%,transparent);color:#b3bdc9}.j-loc[data-v-b138924c]{margin:3px 0 0;font-size:12.5px;color:var(--color-text-muted, #9aa6b4)}.j-facts[data-v-b138924c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:4px 14px;margin:8px 0 0}.j-facts>div[data-v-b138924c]{display:flex;flex-direction:column;gap:1px;min-width:0}.j-facts dt[data-v-b138924c]{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint, #6b7787)}.j-facts dd[data-v-b138924c]{margin:0;font-size:13px;font-family:var(--font-mono, ui-monospace, monospace);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.j-nocap[data-v-b138924c]{margin:8px 0 0;font-size:12.5px;color:var(--color-text-faint, #6b7787)}.j-net[data-v-b138924c]{margin-top:8px}.net-toggle[data-v-b138924c]{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;border:1px solid var(--color-border-soft, #243140);background:transparent;color:var(--color-text-muted, #9aa6b4);font:inherit;font-size:12px;cursor:pointer}.net-toggle[data-v-b138924c]:hover{color:var(--color-text, #e8edf2)}.net-count[data-v-b138924c]{font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;color:var(--color-text-faint, #6b7787)}.net-edit[data-v-b138924c]{margin-top:8px;padding:10px;border:1px solid var(--color-border, #2c3a49);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #1b2530)}.net-hint[data-v-b138924c]{margin:0 0 8px;font-size:11.5px;color:var(--color-text-faint, #6b7787)}.net-row[data-v-b138924c]{display:flex;gap:6px;align-items:center;margin-bottom:6px}.net-in[data-v-b138924c]{padding:6px 8px;border-radius:6px;border:1px solid var(--color-border, #2c3a49);background:var(--color-surface-2, #212d3a);color:var(--color-text, #e8edf2);font:inherit;font-size:12.5px}.net-in.iface[data-v-b138924c]{flex:1}.net-in.ip[data-v-b138924c]{width:150px;font-family:var(--font-mono, ui-monospace, monospace)}.net-x[data-v-b138924c]{border:none;background:none;color:var(--color-text-faint, #6b7787);cursor:pointer;padding:4px;display:inline-flex}.net-x[data-v-b138924c]:hover{color:var(--color-danger, #e5484d)}.net-actions[data-v-b138924c]{display:flex;align-items:center;gap:8px;margin-top:4px}.net-actions .grow[data-v-b138924c]{flex:1}.net-add[data-v-b138924c]{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:var(--color-accent, #c8a96e);font:inherit;font-size:12px;cursor:pointer}.net-cancel[data-v-b138924c]{border:none;background:none;color:var(--color-text-muted, #9aa6b4);font:inherit;font-size:12.5px;cursor:pointer}.net-save[data-v-b138924c]{padding:5px 12px;border-radius:6px;border:1px solid color-mix(in srgb,var(--color-ok, #3fb950) 50%,var(--color-border, #2c3a49));background:color-mix(in srgb,var(--color-ok, #3fb950) 18%,var(--color-surface-2, #212d3a));color:var(--color-ok-text, #7ee787);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.j-msg[data-v-b138924c]{margin:8px 0 0;font-size:12.5px;color:var(--color-accent, #c8a96e)}.j-actions[data-v-b138924c]{flex:none;display:flex;flex-direction:column;gap:6px}.detail[data-v-b138924c]{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, #2c3a49);background:transparent;color:var(--color-text-muted, #9aa6b4);font:inherit;font-size:12px;cursor:pointer}.detail[data-v-b138924c]:hover{border-color:var(--color-accent, #c8a96e);color:var(--color-text, #e8edf2)}.review[data-v-b138924c]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, #2c3a49);background:var(--color-surface, #1b2530);color:var(--color-text, #e8edf2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.review[data-v-b138924c]:hover:not(:disabled){border-color:var(--color-accent, #c8a96e)}.review[data-v-b138924c]:disabled{opacity:.6;cursor:default}.spin[data-v-b138924c]{animation:spin-b138924c .8s linear infinite}@keyframes spin-b138924c{to{transform:rotate(360deg)}}.hidden-file[data-v-b138924c]{display:none}.sd[data-v-135552a2]{display:flex;flex-direction:column;gap:var(--space-3)}.sd-controls[data-v-135552a2]{display:flex;align-items:center;gap:var(--space-3)}.search[data-v-135552a2]{flex:1 1 220px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted)}.search input[data-v-135552a2]{flex:1;border:none;background:none;color:var(--color-text);font:inherit;font-size:var(--font-sm);outline:none;min-width:0}.sd-showall[data-v-135552a2]{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:var(--font-sm);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.sd-showall input[data-v-135552a2]{cursor:pointer}.sd-count[data-v-135552a2]{flex:none;font-size:var(--font-sm);color:var(--color-text-muted)}.sd-msg[data-v-135552a2]{display:inline-flex;align-items:center;gap:8px;margin:var(--space-5) 0;justify-content:center;color:var(--color-text-muted);font-size:var(--font-sm)}.sd-building[data-v-135552a2]{margin-bottom:var(--space-5)}.sd-bname[data-v-135552a2]{margin:0 0 var(--space-2);font-size:var(--font-md, 16px)}.sd-room[data-v-135552a2]{margin-bottom:var(--space-4)}.sd-rname[data-v-135552a2]{display:inline-flex;align-items:center;gap:5px;margin:0 0 8px;padding:2px 0;border:none;background:none;color:var(--color-text-muted);font:inherit;font-size:12px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.sd-rname[data-v-135552a2]:hover{color:var(--color-primary)}.sd-rn-count[data-v-135552a2]{text-transform:none;letter-spacing:0}.dcard-grid[data-v-135552a2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:10px}.dcard[data-v-135552a2]{position:relative;display:flex;flex-direction:column;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md, 10px);overflow:hidden;background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.dcard[data-v-135552a2]:hover{border-color:var(--color-primary);box-shadow:0 3px 12px #0000001f}.dcard-thumb[data-v-135552a2]{position:relative;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-bottom:1px solid var(--color-border);overflow:hidden}.dcard-thumb img[data-v-135552a2]{width:100%;height:100%;object-fit:cover}.dcard-ph[data-v-135552a2]{color:color-mix(in srgb,var(--color-primary) 60%,var(--color-text-faint, #8894a3));opacity:.85}.dcard-photos[data-v-135552a2]{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;font-size:11px;font-family:var(--font-mono, ui-monospace, monospace);font-weight:700}.dcard-body[data-v-135552a2]{display:flex;flex-direction:column;gap:3px;padding:9px 10px;min-width:0}.dcard-name[data-v-135552a2]{font-weight:600;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcard-sub[data-v-135552a2]{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcard-sub svg[data-v-135552a2]{flex:none;color:var(--color-primary)}.report{background:var(--color-bg, #141c24);min-height:100vh}.report .toolbar{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);position:sticky;top:0;z-index:2;background:var(--color-surface, #1b2530);border-bottom:1px solid var(--color-border, #2c3a49)}.report .toolbar .grow{flex:1}.report .loading{padding:48px;text-align:center;color:var(--color-text-muted, #9aa6b4)}.doc{max-width:820px;margin:var(--space-4, 20px) auto;background:#fff;color:#111;padding:32px 40px;box-shadow:0 2px 12px #00000024}.doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid #111;padding-bottom:12px}.doc-head h1{margin:0;font-size:22px}.doc-head .sub{margin:4px 0 0;color:#555;font-size:13px}.doc-head .meta{text-align:right;font-size:11px;color:#777}.doc-head .gen{margin-top:4px}.doc h2{font-size:18px;margin:18px 0 8px}.doc h3{font-size:14px;margin:22px 0 8px;border-bottom:1px solid #ddd;padding-bottom:4px}.doc h4{font-size:12px;margin:12px 0 4px;color:#444}.doc p{font-size:13px;line-height:1.5}.doc .muted{color:#888;font-weight:400}.doc code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.doc table{width:100%;border-collapse:collapse;font-size:12.5px}.doc .fields th{text-align:left;color:#666;font-weight:600;width:96px;padding:3px 8px 3px 0;vertical-align:top}.doc .fields td{padding:3px 16px 3px 0}.doc table.grid-tbl{margin-top:6px}.doc table.grid-tbl th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:#555;border-bottom:1px solid #bbb;padding:5px 8px 5px 0;white-space:nowrap}.doc table.grid-tbl td{padding:5px 8px 5px 0;border-bottom:1px solid #eee;vertical-align:top}.doc table.grid-tbl td.num{font-variant-numeric:tabular-nums}.doc table.grid-tbl tr.hot td{background:#fdecec}.doc .stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px}.doc .stat{border:1px solid #ddd;border-radius:6px;padding:8px 14px;min-width:78px}.doc .stat .n{display:block;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.doc .stat .l{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#777}.doc .stat.hot{border-color:#e0a0a0}.doc .stat.hot .n{color:#b42318}.doc .stat.warn{border-color:#e0c080}.doc .stat.warn .n{color:#8a6d1a}.doc .sma{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:999px;white-space:nowrap}.doc .sma.ok{background:#e7f5ea;color:#1a7a33}.doc .sma.soon{background:#fbf1dc;color:#8a6d1a}.doc .sma.expired{background:#fde3e3;color:#b42318}.doc .sma.unknown{background:#eef0f2;color:#667}.doc .note-box{background:#f6f7f8;border:1px solid #e4e6e8;border-radius:6px;padding:10px 12px;font-size:12px;color:#555;margin-top:10px}.doc ul.plain{list-style:none;margin:6px 0 0;padding:0;font-size:12.5px}.doc ul.plain li{padding:2px 0}.doc ul.tags{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:5px}.doc ul.tags li{font-size:11px;background:#f1f3f5;border-radius:4px;padding:2px 7px;font-family:ui-monospace,monospace}.doc .no-ip{color:#b42318;font-style:italic}.doc .small{font-size:11.5px}.doc .iface-group{margin-bottom:10px}.doc-foot{margin-top:28px;padding-top:10px;border-top:1px solid #ddd;font-size:11px;color:#888}@media print{.no-print{display:none!important}body.tg-report-print .app-shell{height:auto!important;display:block!important}body.tg-report-print .app-main{overflow:visible!important;min-height:0!important}body.tg-report-print .topbar,body.tg-report-print .app-foot{display:none!important}.report{background:#fff;min-height:0}.doc{box-shadow:none;margin:0;max-width:none;padding:0}.doc section,.doc figure,.doc tr,.report .keep{break-inside:avoid}.doc h2,.doc h3,.doc h4{break-after:avoid}@page{margin:14mm}}.photo-tile[data-v-d3dc1546]{position:relative;display:block;line-height:0}.photo-tile img[data-v-d3dc1546]{width:100%;height:auto;display:block;cursor:zoom-in;border-radius:var(--radius-sm, 4px)}.status[data-v-71f7a264]{display:inline-block;padding:2px 10px;border:1px solid #999;border-radius:4px;font-size:12px;text-transform:capitalize}.status.s-closed[data-v-71f7a264]{color:#555}.status.s-provisional[data-v-71f7a264]{border-style:dashed;color:#7c3aed}.desc[data-v-71f7a264]{font-size:13px;margin-top:8px}.checks[data-v-71f7a264],.notes[data-v-71f7a264],.eq[data-v-71f7a264]{list-style:none;margin:0;padding:0;font-size:13px}.checks li[data-v-71f7a264],.notes li[data-v-71f7a264],.eq li[data-v-71f7a264]{padding:3px 0;display:flex;gap:6px;align-items:baseline}.box[data-v-71f7a264]{font-size:14px}.by[data-v-71f7a264]{color:#888}.grid[data-v-71f7a264]{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}figure[data-v-71f7a264]{margin:0;break-inside:avoid}figure[data-v-71f7a264] .photo-tile img{border:1px solid #ddd}figcaption[data-v-71f7a264]{font-size:10px;color:#666;margin-top:2px}.inspect[data-v-81576610]{height:100%;overflow-y:auto}.inspect-inner[data-v-81576610]{max-width:920px;margin:0 auto;padding:var(--space-4, 24px)}.head h1[data-v-81576610]{margin:0;font-size:22px}.sub[data-v-81576610]{color:var(--color-text-muted, #888);margin:6px 0 18px}code[data-v-81576610]{font-family:ui-monospace,monospace;font-size:.9em}.drop[data-v-81576610]{display:flex;align-items:center;justify-content:center;min-height:120px;border:2px dashed var(--color-border, #ccc);border-radius:10px;cursor:pointer;color:var(--color-text-muted, #777);text-align:center;padding:16px}.drop.over[data-v-81576610]{border-color:var(--color-accent, #c8a96e);background:var(--color-surface, #1a1a1a)}.fatal[data-v-81576610]{color:var(--color-danger, #d96a4a)}.report[data-v-81576610]{margin-top:20px;display:flex;flex-direction:column;gap:16px}.bar[data-v-81576610]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.bar h2[data-v-81576610]{margin:0 0 4px;font-size:16px;word-break:break-all}.bar-actions[data-v-81576610]{display:flex;gap:8px;flex-shrink:0}.print-doc[data-v-81576610]{display:none}.tag[data-v-81576610]{display:inline-block;font-size:11px;border:1px solid var(--color-border, #ccc);border-radius:4px;padding:1px 7px;margin-right:6px}.mono[data-v-81576610]{font-family:ui-monospace,monospace;font-size:12px}.dim[data-v-81576610]{color:var(--color-text-muted, #888)}.btn[data-v-81576610]{font:inherit;font-size:13px;padding:6px 12px;border:1px solid var(--color-border, #ccc);border-radius:6px;background:var(--color-surface, #1c1c1c);color:inherit;cursor:pointer}.btn.primary[data-v-81576610]{border-color:var(--color-accent, #c8a96e)}.row[data-v-81576610]{display:flex;gap:8px;margin-top:8px}.grid2[data-v-81576610]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card[data-v-81576610]{border:1px solid var(--color-border, #2c2c2c);border-radius:8px;padding:14px}.card h3[data-v-81576610]{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted, #999)}dl[data-v-81576610]{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px}.dl-wide[data-v-81576610]{grid-template-columns:auto 1fr auto 1fr;column-gap:28px}@media(max-width:640px){.dl-wide[data-v-81576610]{grid-template-columns:auto 1fr}}dt[data-v-81576610]{color:var(--color-text-muted, #888)}.mod-head[data-v-81576610]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.mod-head h3[data-v-81576610]{margin:0}.mod-filter[data-v-81576610]{font:inherit;font-size:12px;padding:3px 8px;border:1px solid var(--color-border, #444);border-radius:6px;background:var(--color-bg, #111);color:inherit;width:150px;max-width:50%}.mod-filter[data-v-81576610]:focus{outline:none;border-color:var(--color-accent, #c8a96e)}.chips[data-v-81576610]{display:flex;flex-wrap:wrap;gap:5px}.chip[data-v-81576610]{border:1px solid var(--color-border, #333);border-radius:4px;padding:1px 6px}.tbl[data-v-81576610]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-81576610]{text-align:left;color:var(--color-text-muted, #999);font-weight:500;font-size:11px;padding:4px 8px;border-bottom:1px solid var(--color-border, #333)}.tbl td[data-v-81576610]{padding:5px 8px;border-bottom:1px solid var(--color-border, #2a2a2a)}.sma[data-v-81576610]{font-family:ui-monospace,monospace}.certs[data-v-81576610]{font-size:13px;margin:6px 0}.note[data-v-81576610]{line-height:1.55;margin-top:8px}.counts b[data-v-81576610]{font-size:15px}.issues[data-v-81576610]{border:1px solid var(--color-danger, #d96a4a);border-radius:8px;padding:14px}.issues h3[data-v-81576610]{color:var(--color-danger, #d96a4a);margin:0 0 8px}.issues ul[data-v-81576610],.flags ul[data-v-81576610]{margin:0 0 10px;padding-left:18px;font-size:13px}.issues textarea[data-v-81576610]{width:100%;box-sizing:border-box;font:inherit;padding:8px;border-radius:6px;border:1px solid var(--color-border, #444);background:var(--color-bg, #111);color:inherit}.sent[data-v-81576610]{color:var(--color-up, #6db86d);font-size:13px;align-self:center}.row span[data-v-81576610]{align-self:center;font-size:12px}.tabs[data-v-81576610]{display:flex;gap:2px;border-bottom:1px solid var(--color-border, #2c2c2c)}.tabs button[data-v-81576610]{font:inherit;font-size:13px;padding:8px 14px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted, #888);cursor:pointer}.tabs button[data-v-81576610]:hover{color:inherit}.tabs button.active[data-v-81576610]{color:inherit;border-bottom-color:var(--color-accent, #c8a96e)}.panel[data-v-81576610]{display:flex;flex-direction:column;gap:16px}.sheets[data-v-81576610]{list-style:none;margin:0;padding:0;font-size:13px}.sheets li[data-v-81576610]{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--color-border, #222)}.crumb[data-v-81576610]{word-break:break-word}.nowrap[data-v-81576610]{white-space:nowrap}.ws-bar[data-v-81576610]{display:flex;align-items:center;gap:12px}.ws-bar .note[data-v-81576610]{flex:1;margin:0}.sheets li .right[data-v-81576610],.fright[data-v-81576610]{display:flex;align-items:center;gap:10px}.btn-open[data-v-81576610]{font:inherit;font-size:11px;padding:2px 9px;border:1px solid var(--color-border, #444);border-radius:5px;background:var(--color-surface, #1c1c1c);color:inherit;cursor:pointer;flex-shrink:0}.btn-open[data-v-81576610]:hover{border-color:var(--color-accent, #c8a96e)}.tag-irm[data-v-81576610]{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--color-accent, #c8a96e);border:1px solid var(--color-accent, #c8a96e);border-radius:3px;padding:0 4px;margin-right:4px}.ftree[data-v-81576610]{font-size:13px;border:1px solid var(--color-border, #2c2c2c);border-radius:8px;overflow:hidden}.frow[data-v-81576610]{display:flex;justify-content:space-between;gap:12px;padding:3px 10px;border-bottom:1px solid var(--color-border, #1c1c1c)}.frow.isdir[data-v-81576610]{cursor:pointer}.frow.isdir[data-v-81576610]:hover{background:var(--color-surface, #1a1a1a)}.fname[data-v-81576610]{font-family:ui-monospace,monospace}.tw[data-v-81576610]{display:inline-block;width:1em;color:var(--color-text-muted, #888)}@media print{body.tg-inspect-print *{visibility:hidden!important}body.tg-inspect-print .print-doc,body.tg-inspect-print .print-doc *{visibility:visible!important}body.tg-inspect-print .print-doc{display:block!important;position:absolute;left:0;top:0;width:100%}body.tg-inspect-print .app-shell{height:auto!important;display:block!important}body.tg-inspect-print .app-main{overflow:visible!important}body.tg-inspect-print .inspect{overflow:visible!important;height:auto!important}@page{margin:14mm}body.tg-inspect-print .print-doc{color:#111;font-family:Georgia,Times New Roman,serif}body.tg-inspect-print .pd-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:8px}body.tg-inspect-print .pd-head h1{font-size:20px;margin:0}body.tg-inspect-print .pd-sub{margin:3px 0 0;color:#555}body.tg-inspect-print .pd-meta{text-align:right;font-size:11px;color:#555}body.tg-inspect-print .print-doc h2{font-size:14px;margin:16px 0 6px;border-bottom:1px solid #ccc;padding-bottom:3px}body.tg-inspect-print .pd-dim{color:#888;font-weight:400}body.tg-inspect-print .pd-fields,body.tg-inspect-print .pd-tbl{width:100%;border-collapse:collapse;font-size:12px}body.tg-inspect-print .pd-fields th{text-align:left;color:#555;width:72px;padding:3px 8px 3px 0;vertical-align:top}body.tg-inspect-print .pd-fields td{padding:3px 16px 3px 0}body.tg-inspect-print .pd-tbl th{text-align:left;border-bottom:1px solid #999;padding:4px 8px;font-size:11px}body.tg-inspect-print .pd-tbl td{padding:4px 8px;border-bottom:1px solid #ddd}body.tg-inspect-print .pd-modules{font-family:ui-monospace,monospace;font-size:9.5px;line-height:1.55;word-break:break-word;color:#333}body.tg-inspect-print .pd-flags{font-size:11px;color:#444;margin:0;padding-left:18px}body.tg-inspect-print .pd-note{font-size:10px;color:#777}body.tg-inspect-print .pd-foot{margin-top:20px;padding-top:8px;border-top:1px solid #ccc;font-size:10px;color:#777}body.tg-inspect-print .pd-head,body.tg-inspect-print table,body.tg-inspect-print .pd-modules{break-inside:avoid}}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px}.vue-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}.ws-page[data-v-ff843a0e]{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--color-bg, #0d0d0d);color:var(--color-text, #e8e4dc)}.ws-head[data-v-ff843a0e]{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 14px;border-bottom:1px solid var(--color-border, #2c2c2c);flex:0 0 auto}.ws-nav[data-v-ff843a0e]{display:flex;align-items:baseline;gap:10px;min-width:0}.ws-back[data-v-ff843a0e]{font:inherit;font-size:12px;background:var(--color-surface, #1c1c1c);color:inherit;border:1px solid var(--color-border, #3a3a3a);border-radius:5px;padding:2px 9px;cursor:pointer}.ws-back[data-v-ff843a0e]:hover{border-color:var(--color-accent, #c8a96e)}.ws-crumb[data-v-ff843a0e]{font-size:14px}.ws-meta[data-v-ff843a0e]{font-family:ui-monospace,monospace;font-size:12px;color:var(--color-text-muted, #8a8a8a)}.ws-notice[data-v-ff843a0e]{font-size:12px;color:var(--color-accent, #c8a96e)}.ws-hint[data-v-ff843a0e]{font-size:11px;color:var(--color-text-muted, #8a8a8a)}.ws-empty[data-v-ff843a0e]{padding:40px;text-align:center;color:var(--color-text-muted, #8a8a8a)}.ws-flow[data-v-ff843a0e]{flex:1;min-height:0}.wb[data-v-ff843a0e]{position:relative;width:174px;height:100%;box-sizing:border-box;background:var(--color-surface, #191919);border:1px solid var(--color-border, #3a3a3a);border-radius:6px}.wb.composite[data-v-ff843a0e]{border-color:var(--color-accent, #c8a96e);border-width:2px}.wb.drillable[data-v-ff843a0e]{cursor:pointer}.wb-name[data-v-ff843a0e]{font-size:11px;font-weight:600;padding:3px 6px;border-bottom:1px solid var(--color-border, #2c2c2c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;justify-content:space-between;gap:4px}.wb-into[data-v-ff843a0e]{color:var(--color-accent, #c8a96e)}.pin[data-v-ff843a0e]{position:absolute;transform:translateY(-50%);font-family:ui-monospace,monospace;font-size:8px;color:var(--color-text-muted, #9a9a9a);white-space:nowrap;max-width:70px;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.pin-in[data-v-ff843a0e]{left:8px;text-align:left}.pin-out[data-v-ff843a0e]{right:8px;text-align:right}[data-v-ff843a0e] .vue-flow__handle{width:7px;height:7px;background:var(--color-accent, #c8a96e);border:none}[data-v-ff843a0e] .vue-flow__edge-path{stroke:#7aa2c8;stroke-width:1.4}.pxv[data-v-257b9424]{min-height:100vh;background:var(--color-bg, #111);color:var(--color-text, #e8e4dc)}.pxv-head[data-v-257b9424]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 18px;border-bottom:1px solid var(--color-border, #2c2c2c);position:sticky;top:0;background:var(--color-surface, #181818);z-index:1}.pxv-head h1[data-v-257b9424]{margin:0;font-size:16px;word-break:break-all}.meta[data-v-257b9424]{font-size:12px;color:var(--color-text-muted, #888)}.zoom[data-v-257b9424]{display:flex;align-items:center;gap:6px}.zoom button[data-v-257b9424]{font:inherit;font-size:13px;padding:2px 9px;border:1px solid var(--color-border, #444);border-radius:6px;background:var(--color-bg, #111);color:inherit;cursor:pointer}.mono[data-v-257b9424]{font-family:ui-monospace,monospace;font-size:12px;min-width:42px;text-align:center}.err[data-v-257b9424]{padding:24px;color:var(--color-danger, #d96a4a)}.canvas-wrap[data-v-257b9424]{padding:24px;overflow:auto}.canvas[data-v-257b9424]{position:relative;transform-origin:top left;box-shadow:0 2px 16px #0006}.w[data-v-257b9424]{position:absolute;overflow:hidden;font-size:12px;display:flex;align-items:center;box-sizing:border-box}.txt[data-v-257b9424]{padding:0 3px;white-space:nowrap}.k-button .btn[data-v-257b9424]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:1px solid rgb(0 0 0 / .4);border-radius:3px;background:#ffffff1f;font-size:11px}.k-checkbox[data-v-257b9424]{font-size:12px;padding:0 3px}.k-shape[data-v-257b9424]{border:1px solid rgb(0 0 0 / .35)}.k-shape .shape[data-v-257b9424]{width:100%;height:100%}.ph[data-v-257b9424]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-accent, #c8a96e);border-radius:3px;font-size:10px;color:var(--color-accent, #c8a96e);background:#c8a96e14;overflow:hidden}.nf[data-v-81921475]{max-width:560px;margin:12vh auto;padding:24px;text-align:center}.nf h1[data-v-81921475]{font-size:22px;margin:0 0 10px}.path[data-v-81921475]{color:var(--color-text-muted, #888);word-break:break-all}code[data-v-81921475]{font-family:ui-monospace,monospace}a[data-v-81921475]{color:var(--color-accent, #c8a96e);text-decoration:none}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-surface-2: #f0f2f5;--color-border: #d8dde3;--color-text: #1b2733;--color-text-muted: #5b6772;--color-primary: #1f6feb;--color-primary-text: #ffffff;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-danger-text: #b91c1c;--color-ok: #16a34a;--color-ok-bg: #dcfce7;--color-ok-text: #166534;--color-warn: #d97706;--color-warn-bg: #fef3c7;--color-warn-text: #92400e;--color-boiler: #e0552b;--color-pump: #1f6feb;--color-valve: #8e44ad;--color-tank: #2e7d6b;--color-sensor: #d4a017;--color-default-node: #5b6772;--color-electrical: #d97706;--color-lowvolt: #16a34a;--color-controls: #7c3aed;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-pill: 999px;--font-xs: 12px;--font-sm: 13px;--font-md: 14px;--font-lg: 16px;--font-xl: 20px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .08);--shadow-2: 0 4px 12px rgba(16, 24, 40, .12)}html,body{margin:0;height:100%}body{overflow:hidden;overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--font-md);color:var(--color-text);background:var(--color-bg)}#app{height:100%}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}a{color:var(--color-primary)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.btn:hover{background:var(--color-surface-2)}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.btn--primary:hover{filter:brightness(1.05)}.btn--danger{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-surface)}.field-label{display:block;font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-1)}.text-input,.select-input{width:100%;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.text-input:focus,.select-input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-surface-2: #f1f5f9;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-muted: #64748b;--color-primary: #2563eb;--color-primary-text: #ffffff;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-danger-text: #b91c1c;--color-ok: #16a34a;--color-ok-bg: #dcfce7;--color-ok-text: #166534;--color-warn: #d97706;--color-warn-bg: #fef3c7;--color-warn-text: #92400e;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--font-family: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-xs: 12px;--font-sm: 13px;--font-md: 14px;--font-lg: 16px;--font-xl: 20px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .08);--shadow-2: 0 4px 12px rgba(16, 24, 40, .12);--shadow-3: 0 20px 50px rgba(15, 23, 42, .35);--bg: var(--color-bg);--surface: var(--color-surface);--surface-2: var(--color-surface-2);--border: var(--color-border);--text: var(--color-text);--muted: var(--color-text-muted);--primary: var(--color-primary);--primary-ink: var(--color-primary-text);--primary-text: var(--color-primary-text);--danger: var(--color-danger);--ok: var(--color-ok);--warn: var(--color-warn);--radius: var(--radius-md)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
