*:focus-visible{outline:2px solid rgba(46,92,255,.55);outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.slide-in-from-right-transition-enter-active,.slide-in-from-left-transition-enter-active,.slide-in-from-top-transition-enter-active,.slide-in-from-bottom-transition-enter-active,.fade-in-scale-up-transition-enter-active{transition-duration:.18s!important;transition-timing-function:ease-out!important}.slide-in-from-right-transition-leave-active,.slide-in-from-left-transition-leave-active,.slide-in-from-top-transition-leave-active,.slide-in-from-bottom-transition-leave-active,.fade-in-scale-up-transition-leave-active{transition-duration:.12s!important;transition-timing-function:ease-in!important}.n-drawer-container .n-drawer.n-drawer--right-placement{top:12px;right:12px;bottom:12px;border-radius:16px;overflow:hidden}.n-drawer-container .n-drawer.slide-in-from-right-transition-enter-from,.n-drawer-container .n-drawer.slide-in-from-right-transition-leave-to{transform:translate(calc(100% + 12px))}.n-drawer-container .n-drawer-mask:not(.n-drawer-mask--invisible){background-color:#0f172a40}.n-drawer-container .n-drawer-footer{box-shadow:0 -6px 16px -10px #0f172a2e}.page-enter-active{transition:opacity .18s ease-out,transform .18s ease-out}.page-leave-active{transition:opacity .12s ease-in}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0}.app-shell[data-v-ef719fae]{height:100vh}.brand[data-v-ef719fae]{display:flex;align-items:center;gap:11px;padding:18px 18px 14px;flex-shrink:0}.menu-scroll[data-v-ef719fae]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.menu-scroll[data-v-ef719fae]::-webkit-scrollbar{width:6px}.menu-scroll[data-v-ef719fae]::-webkit-scrollbar-thumb{background:#0f203424;border-radius:3px}.brand-mark[data-v-ef719fae]{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:linear-gradient(135deg,#14b8a6,#2e5cff);box-shadow:0 6px 14px #2e5cff47}.brand-title[data-v-ef719fae]{color:#0f2034;font-size:16px;font-weight:800;line-height:1.15}.brand-en[data-v-ef719fae]{color:#667d9c;font-size:10px;letter-spacing:1.5px}.topbar[data-v-ef719fae]{display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 22px;background:#fff}.page-kicker[data-v-ef719fae]{color:#5b6b82;font-size:12px}.topbar-title h1[data-v-ef719fae]{margin:0;font-size:17px;font-weight:700;color:#0f2034}.topbar-actions[data-v-ef719fae]{display:flex;align-items:center;gap:14px}.user-name[data-v-ef719fae]{font-size:14px;font-weight:600;color:#2a3a52}.content[data-v-ef719fae]{background:#f4f7fb}.qr-mgr[data-v-1751c1a8]{display:flex;flex-direction:column}.bar[data-v-1751c1a8]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.fill-bar[data-v-1751c1a8]{margin-top:-2px}.bar .grow[data-v-1751c1a8]{flex:1}.muted[data-v-1751c1a8]{color:#93a4bd}.small[data-v-1751c1a8]{font-size:12px}.empty[data-v-1751c1a8]{padding:24px 0;text-align:center}.lt-body[data-v-43ffafa1]{display:flex;flex-direction:column;gap:14px}.lt-top[data-v-43ffafa1]{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:1px solid #eef2f7}.lt-row[data-v-43ffafa1]{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.lt-colors[data-v-43ffafa1]{gap:10px 48px}.lt-fields[data-v-43ffafa1]{gap:8px}.color-input[data-v-43ffafa1]{width:40px;height:26px;padding:0;border:1px solid #dbe3ee;border-radius:5px;background:none;cursor:pointer}.color-input[data-v-43ffafa1]::-webkit-color-swatch-wrapper{padding:2px}.color-input[data-v-43ffafa1]::-webkit-color-swatch{border:none;border-radius:3px}.hex[data-v-43ffafa1]{min-width:62px;font-variant-numeric:tabular-nums;text-transform:uppercase}.grow[data-v-43ffafa1]{flex:1}.ctl[data-v-43ffafa1]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.ctl>span[data-v-43ffafa1]{white-space:nowrap}code[data-v-43ffafa1]{background:#f1f5fb;padding:0 4px;border-radius:4px}.lt-bottom[data-v-43ffafa1]{display:flex;gap:18px;align-items:flex-start}.lt-editor-col[data-v-43ffafa1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.lt-editor-wrap[data-v-43ffafa1]{position:relative}.lt-editor[data-v-43ffafa1]{min-height:220px;max-height:360px;overflow-y:auto;box-sizing:border-box;padding:12px 14px;border:1px solid #dbe3ee;border-radius:8px;color:#1f2d3d;outline:none;background:#fff}.lt-editor[data-v-43ffafa1]:focus{border-color:#2e5cff;box-shadow:0 0 0 2px #2e5cff1f}.lt-toolbar[data-v-43ffafa1]{position:absolute;z-index:20;display:flex;align-items:center;gap:4px;background:#1f2d3d;border-radius:7px;padding:4px 6px;box-shadow:0 4px 14px #0f20344d}.tbtn[data-v-43ffafa1]{min-width:26px;height:26px;padding:0 6px;border:none;border-radius:4px;background:transparent;color:#fff;cursor:pointer;font-size:13px}.tbtn[data-v-43ffafa1]:hover{background:#ffffff2e}.tsep[data-v-43ffafa1]{width:1px;height:18px;background:#ffffff40;margin:0 2px}.tswatch[data-v-43ffafa1]{width:20px;height:20px;border:1px solid rgba(255,255,255,.4);border-radius:4px;cursor:pointer;padding:0}.lt-preview[data-v-43ffafa1]{flex-shrink:0;border-left:1px dashed #e2eaf3;padding-left:16px}.lt-preview-head[data-v-43ffafa1]{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:4px}.lt-scaler[data-v-43ffafa1]{position:relative}.lt-label[data-v-43ffafa1]{position:absolute;top:0;left:0;transform-origin:top left;border:1px solid #cbd5e1;border-radius:2px;box-shadow:0 2px 8px #0f20341f;overflow:hidden;display:flex;align-items:flex-start;gap:8px;padding:12px 16px;box-sizing:border-box}.lt-label-text[data-v-43ffafa1]{flex:1;min-width:0;white-space:normal;word-break:break-word}.muted[data-v-43ffafa1]{color:#93a4bd}.small[data-v-43ffafa1]{font-size:12px}.ex-body[data-v-75235b44]{display:flex;gap:20px;align-items:flex-start}.ex-left[data-v-75235b44]{flex:1;min-width:220px;display:flex;flex-direction:column;gap:14px}.ex-row[data-v-75235b44]{display:flex;align-items:center;gap:10px}.ex-preview[data-v-75235b44]{flex-shrink:0;border-left:1px dashed #e2eaf3;padding-left:18px}.ex-scaler[data-v-75235b44]{position:relative}.ex-label[data-v-75235b44]{position:absolute;top:0;left:0;transform-origin:top left;overflow:hidden;border:1px solid #cbd5e1;border-radius:2px;box-shadow:0 2px 8px #0f20341f;display:flex;align-items:flex-start;gap:8px;padding:12px 16px;box-sizing:border-box}.ex-label-text[data-v-75235b44]{flex:1;min-width:0;white-space:normal;word-break:break-word}.muted[data-v-75235b44]{color:#8595ac}.small[data-v-75235b44]{font-size:12px}.plm-toolbar[data-v-923b58d6]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.plm-body[data-v-923b58d6]{max-height:60vh;overflow-y:auto}.plm-group[data-v-923b58d6]{margin-bottom:10px}.plm-group-title[data-v-923b58d6]{font-size:12px;color:#8595ac;margin:8px 0 4px}.plm-row[data-v-923b58d6]{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f1f5fb;font-size:13px}.plm-portno[data-v-923b58d6]{font-weight:700;color:#1f2d3d;width:40px;flex-shrink:0}.plm-arrow[data-v-923b58d6]{color:#5b6b82}.plm-linked[data-v-923b58d6]{color:#1d4ed8}.grow[data-v-923b58d6]{flex:1}.plm-picker-body[data-v-923b58d6]{display:flex;flex-direction:column;gap:4px}.muted[data-v-923b58d6]{color:#93a4bd}.small[data-v-923b58d6]{font-size:12px}.excel-body[data-v-9d3b3f3f]{display:flex;flex-direction:column;gap:12px}.excel-toolbar[data-v-9d3b3f3f]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.excel-upload-icon[data-v-9d3b3f3f]{display:grid;place-items:center;margin-bottom:6px;color:#667d9c}.excel-upload-tip[data-v-9d3b3f3f]{font-size:14px;font-weight:600;color:#243b5a}.excel-file[data-v-9d3b3f3f]{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f6f9fe;border-radius:8px;font-size:13px}.excel-file-name[data-v-9d3b3f3f]{font-weight:600;color:#1d4ed8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excel-result[data-v-9d3b3f3f]{margin:0}.excel-result[data-v-9d3b3f3f]:not(:first-child){margin-top:12px}.grow[data-v-9d3b3f3f]{flex:1}.muted[data-v-9d3b3f3f]{color:#5b6b82}.small[data-v-9d3b3f3f]{font-size:12px}.fgroup[data-v-248efadd]{margin-top:22px}.fgroup[data-v-248efadd]:first-child{margin-top:0}.fgroup-title[data-v-248efadd]{font-size:13px;font-weight:600;color:#5b6b82;padding-bottom:7px;margin-bottom:12px;border-bottom:1px solid #eef2f8}.drawer-head[data-v-248efadd]{display:flex;align-items:center;gap:8px;min-width:0}.drawer-title[data-v-248efadd]{font-size:16px;font-weight:700;color:#0f2034}.code-tag[data-v-248efadd]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.drawer-foot[data-v-248efadd]{display:flex;align-items:center;justify-content:space-between;width:100%}.foot-hint[data-v-248efadd]{font-size:12px;color:#5b6b82}.help-dot[data-v-248efadd]{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:5px;border-radius:50%;background:#d6e0ee;color:#5b6b82;font-size:11px;cursor:help;vertical-align:middle}.rack-clear[data-v-248efadd]{margin:-4px 0 8px}.muted[data-v-248efadd]{color:#5b6b82}.small[data-v-248efadd]{font-size:12px}.fgroup[data-v-3c965426]{margin-top:22px}.fgroup[data-v-3c965426]:first-child{margin-top:0}.fgroup-title[data-v-3c965426]{font-size:13px;font-weight:600;color:#5b6b82;padding-bottom:7px;margin-bottom:12px;border-bottom:1px solid #eef2f8}.drawer-head[data-v-3c965426]{display:flex;align-items:center;gap:8px;min-width:0}.drawer-title[data-v-3c965426]{font-size:16px;font-weight:700;color:#0f2034}.code-tag[data-v-3c965426]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.drawer-foot[data-v-3c965426]{display:flex;align-items:center;justify-content:space-between;width:100%}.foot-hint[data-v-3c965426]{font-size:12px;color:#5b6b82}.help-dot[data-v-3c965426]{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:5px;border-radius:50%;background:#d6e0ee;color:#5b6b82;font-size:11px;cursor:help;vertical-align:middle}.fiber-module-list[data-v-3c965426]{display:flex;flex-direction:column;gap:8px;width:100%}.fiber-module-row[data-v-3c965426]{display:flex;align-items:center;gap:8px}.muted[data-v-3c965426]{color:#5b6b82}.small[data-v-3c965426]{font-size:12px}.hub[data-v-542e671f]{display:flex;flex-direction:column;gap:16px}.help-dot[data-v-542e671f]{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:5px;border-radius:50%;background:#d6e0ee;color:#5b6b82;font-size:11px;cursor:help;vertical-align:middle}.drawer-head[data-v-542e671f]{display:flex;align-items:center;gap:8px;min-width:0}.drawer-title[data-v-542e671f]{font-size:16px;font-weight:700;color:#0f2034}.code-tag[data-v-542e671f]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.drawer-foot[data-v-542e671f]{display:flex;align-items:center;justify-content:space-between;width:100%}.foot-hint[data-v-542e671f]{font-size:12px;color:#5b6b82}.hub[data-v-542e671f]>*{animation:hub-in-542e671f .24s ease-out both}.hub[data-v-542e671f]>*:nth-child(2){animation-delay:.04s}.hub[data-v-542e671f]>*:nth-child(3){animation-delay:.08s}.hub[data-v-542e671f]>*:nth-child(4){animation-delay:.12s}@keyframes hub-in-542e671f{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-head[data-v-542e671f]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:2px 2px 0}.page-head-copy h2[data-v-542e671f]{margin:0;font-size:22px;font-weight:800;color:#0f2034;letter-spacing:.2px}.page-head-copy p[data-v-542e671f]{margin:6px 0 0;color:#5b6b82;font-size:13px}.type-bar[data-v-542e671f]{display:flex;gap:4px;flex-wrap:wrap;padding:5px;background:#fff;border:1px solid #e8eef6;border-radius:12px}.type-pill[data-v-542e671f]{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:none;border-radius:8px;background:transparent;color:#44566f;cursor:pointer;font-size:13px;transition:background .15s ease-out,color .15s ease-out}.type-pill[data-v-542e671f]:hover{background:#f2f6fc;color:#0f2034}.type-pill.active[data-v-542e671f]{background:#2e5cff;color:#fff;font-weight:600}.tp-icon[data-v-542e671f]{opacity:.85}.tp-count[data-v-542e671f]{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;opacity:.75}.type-pill.active .tp-count[data-v-542e671f]{opacity:.95}.stat-strip[data-v-542e671f]{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:14px;padding:2px 2px 0}.ss-item[data-v-542e671f]{display:flex;align-items:baseline;gap:7px}.ss-value[data-v-542e671f]{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.ss-label[data-v-542e671f]{font-size:13px;color:#44566f}.ss-foot[data-v-542e671f]{font-size:12px;color:#667d9c}.tbl-skeleton[data-v-542e671f]{display:flex;flex-direction:column;gap:14px;padding:10px 2px}.skl-row[data-v-542e671f]{display:flex;gap:18px;align-items:center}.skl-bar[data-v-542e671f]{height:14px;border-radius:6px;background:linear-gradient(90deg,#edf1f7 25%,#f7fafd,#edf1f7 75%);background-size:200% 100%;animation:skl-shimmer-542e671f 1.1s linear infinite}@keyframes skl-shimmer-542e671f{0%{background-position:200% 0}to{background-position:-200% 0}}.tbl-ready[data-v-542e671f]{animation:tbl-in-542e671f .25s ease-out}@keyframes tbl-in-542e671f{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.col-main[data-v-542e671f] .n-data-table-td:first-child{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.col-main[data-v-542e671f] .n-data-table-td{font-variant-numeric:tabular-nums}.area-bar[data-v-542e671f]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.area-bar-label[data-v-542e671f]{margin-right:2px}.area-chip[data-v-542e671f]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid #e6edf6;border-radius:999px;background:#f7fafe;color:#38495f;font-size:13px;cursor:pointer}.area-chip[data-v-542e671f]:hover{border-color:#c4d6ef}.area-chip.active[data-v-542e671f]{background:#2e5cff;border-color:#2e5cff;color:#fff}.area-chip b[data-v-542e671f]{font-weight:600;opacity:.7}.area-chip.active b[data-v-542e671f]{opacity:.85}.link-head[data-v-542e671f]{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:#243b5a;margin-bottom:8px}.link-list[data-v-542e671f]{display:flex;flex-direction:column;gap:6px}.link-item[data-v-542e671f]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f6f9fe;border-radius:8px}.link-code[data-v-542e671f]{font-weight:700;color:#1d4ed8;font-size:13px}.link-seq[data-v-542e671f]{margin-left:auto;font-size:12px;color:#6a7c95}.route-line[data-v-542e671f]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.route-seg[data-v-542e671f]{padding:3px 9px;background:#eef4ff;border-radius:7px;font-size:12px;color:#1d4ed8;font-weight:600}.route-seg b[data-v-542e671f]{color:#b45309;font-weight:700}.route-arrow[data-v-542e671f]{color:#5b6b82;font-size:12px}.muted[data-v-542e671f]{color:#5b6b82}.small[data-v-542e671f]{font-size:12px}.wr-preview[data-v-542e671f]{color:#243b5a;background:#f4f7fb;border-radius:6px;padding:6px 10px;margin-bottom:6px}.filter-bar[data-v-542e671f]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.filter-bar .grow[data-v-542e671f]{flex:1}.pager[data-v-542e671f]{display:flex;justify-content:flex-end;margin-top:14px}.detail-empty[data-v-542e671f]{padding:24px 0}.detail-code[data-v-542e671f]{font-size:18px;font-weight:800;color:#0f2034}.kv[data-v-542e671f]{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.detail-actions[data-v-542e671f]{display:flex;flex-direction:column;gap:8px;margin-top:14px}[data-v-542e671f] .tbl-ops{display:flex;gap:10px;align-items:center}.n-cascader-menu .n-cascader-submenu{min-width:260px}.n-dropdown-menu .ops-del{color:#d03050}.cabinet-config[data-v-ee9451f3]{display:flex;flex-direction:column;gap:16px;--rack-metal-hi: #eef2f8;--rack-metal: #e0e8f2;--rack-metal-lo: #d2dce9;--rack-line: #cfdae8;--rack-body: #fbfcfe;--rack-edge: #cbd7e6;--rack-ink: #44566e}.page-head[data-v-ee9451f3]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:2px 2px 0}.page-head-copy h2[data-v-ee9451f3]{margin:0;font-size:22px;font-weight:800;color:#0f2034;letter-spacing:.2px}.page-head-copy p[data-v-ee9451f3]{margin:6px 0 0;color:#5b6b82;font-size:13px}.cabinet-meta[data-v-ee9451f3]{display:flex;flex-wrap:wrap;gap:32px;padding:14px 16px;background:#fff;border:1px solid var(--rack-metal-hi);border-radius:12px}.meta-item[data-v-ee9451f3]{display:flex;flex-direction:column;gap:3px;min-width:130px}.meta-item b[data-v-ee9451f3]{color:#0f2034;font-size:14px;font-weight:700}.link-head[data-v-ee9451f3]{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700;color:#243b5a;margin-bottom:12px}.muted[data-v-ee9451f3]{color:#5b6b82}.small[data-v-ee9451f3]{font-size:12px}[data-v-ee9451f3] .tbl-ops{display:flex;gap:10px}.empty-tip[data-v-ee9451f3]{padding:24px 0;color:#5b6b82;font-size:13px}.rack-toolbar[data-v-ee9451f3]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;min-height:28px}.sel-info[data-v-ee9451f3]{font-size:12px;font-weight:700;color:#244fdb}.u-jump[data-v-ee9451f3]{width:110px}.full-bar[data-v-ee9451f3]{margin-bottom:10px;padding:8px 12px;border:1px solid #f0c96a;border-radius:8px;background:#fdf6e3;color:#8a6d1a;font-size:12px}.rack-wrap[data-v-ee9451f3]{position:relative}.rack-wrap.placing .u-slot[data-v-ee9451f3]{cursor:crosshair}.rack[data-v-ee9451f3]{position:relative;max-width:400px;margin:0 auto;border:1px solid var(--rack-metal-lo);border-radius:12px;background:var(--rack-body);overflow:hidden;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0f20340f,0 10px 28px #0f203414}.rack-top[data-v-ee9451f3]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:linear-gradient(180deg,var(--rack-metal-hi),var(--rack-metal-lo))}.rt-name[data-v-ee9451f3]{font-size:13px;font-weight:700;color:#243b5a;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rt-spec[data-v-ee9451f3]{flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--rack-ink)}.rack-body[data-v-ee9451f3]{position:relative}.u-row[data-v-ee9451f3]{display:flex;height:28px}.u-rail[data-v-ee9451f3]{flex:none;width:32px;display:flex;align-items:center;justify-content:flex-end;padding:0 6px 0 0;background:linear-gradient(90deg,var(--rack-metal),var(--rack-metal-hi));transition:background .18s ease}.u-row+.u-row .u-rail[data-v-ee9451f3]{border-top:1px solid var(--rack-line)}.u-rail.right[data-v-ee9451f3]{width:12px;padding:0}.u-num[data-v-ee9451f3]{flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;color:var(--rack-ink);transition:color .18s ease}.u-rail.rail-sel[data-v-ee9451f3]{background:#2e5cff14}.u-rail.rail-sel .u-num[data-v-ee9451f3]{color:#2e5cff;font-weight:700}.u-slot[data-v-ee9451f3]{flex:1;cursor:cell;background:var(--rack-body);transition:background .12s ease}.u-row+.u-row .u-slot[data-v-ee9451f3]{border-top:1px solid var(--rack-metal-hi)}.u-slot[data-v-ee9451f3]:hover{background:#2e5cff0d}.u-slot[data-v-ee9451f3]:focus-visible,.rack-block[data-v-ee9451f3]:focus-visible{outline:2px solid #2e5cff;outline-offset:-2px}.u-slot.selected[data-v-ee9451f3]{background:#2e5cff1f;box-shadow:inset 0 0 0 1px #2e5cff80}.u-slot.anchor[data-v-ee9451f3]{box-shadow:inset 0 0 0 2px #2e5cff}.u-slot.selected.u-enter[data-v-ee9451f3]{animation:u-pop-in-ee9451f3 .18s cubic-bezier(.34,1.56,.64,1)}.u-slot.u-leaving[data-v-ee9451f3]{animation:u-pop-out-ee9451f3 .16s ease-out}.u-slot.u-flash[data-v-ee9451f3]{animation:u-flash-ee9451f3 .6s ease-out 2}@keyframes u-pop-in-ee9451f3{0%{transform:scale(1)}50%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes u-pop-out-ee9451f3{0%{transform:scale(1);background:#2e5cff1f;box-shadow:inset 0 0 0 1px #2e5cff80}50%{transform:scale(.94)}to{transform:scale(1);background:transparent;box-shadow:none}}@keyframes u-flash-ee9451f3{0%,to{background:var(--rack-body)}50%{background:#2e5cff38}}.rack-foot[data-v-ee9451f3]{height:8px;background:linear-gradient(180deg,var(--rack-metal-lo),var(--rack-line));border-radius:0 0 12px 12px}@media(prefers-reduced-motion:reduce){.u-slot.selected.u-enter[data-v-ee9451f3],.u-slot.u-leaving[data-v-ee9451f3],.u-slot.u-flash[data-v-ee9451f3]{animation:none}.u-rail[data-v-ee9451f3],.u-num[data-v-ee9451f3]{transition:none}}.rack-block[data-v-ee9451f3]{position:absolute;left:33px;right:13px;z-index:2;display:flex;align-items:center;gap:6px;padding:0 8px;background:#fff;border:1px solid var(--rack-edge);border-radius:5px;box-shadow:0 1px 3px #0f20341a;cursor:pointer;overflow:hidden}.rack-block[data-v-ee9451f3]:hover{border-color:#2e5cff;box-shadow:0 2px 8px #2e5cff33}.rack-block[data-v-ee9451f3]:not(.is-1u){flex-direction:column;justify-content:center;gap:2px}.blk-tag[data-v-ee9451f3]{flex:none;width:16px;height:16px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:#fff;background:#64748b}.blk-tag.device[data-v-ee9451f3]{background:#2e5cff}.blk-tag.panel[data-v-ee9451f3]{background:#0d9488}.blk-code[data-v-ee9451f3]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:600;color:#0f2034;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.blk-name[data-v-ee9451f3]{font-size:12px;color:#5b6b82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rack-hint[data-v-ee9451f3]{margin:10px 0 0;text-align:center}.placement-bar[data-v-ee9451f3]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:8px 12px;border:1px dashed rgba(46,92,255,.45);border-radius:8px;background:#2e5cff12;color:#244fdb;font-size:12px}.unplaced-list[data-v-ee9451f3]{display:flex;flex-direction:column}.unplaced-row[data-v-ee9451f3]{display:grid;grid-template-columns:minmax(140px,220px) 1fr 70px 130px;align-items:center;gap:12px;padding:7px 4px;border-bottom:1px solid var(--rack-metal-hi)}.unplaced-row[data-v-ee9451f3]:last-child{border-bottom:0}.up-code[data-v-ee9451f3]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;color:#0f2034;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-name[data-v-ee9451f3]{font-size:13px;color:#5b6b82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-type[data-v-ee9451f3]{font-size:12px;color:#64748b}.bar[data-v-e7faec8e]{display:flex;align-items:center;gap:12px;margin:12px 0 14px}.bar .grow[data-v-e7faec8e]{flex:1}.muted[data-v-e7faec8e]{color:#93a4bd}.small[data-v-e7faec8e]{font-size:12px}.dict-table-wrap[data-v-e7faec8e]{overflow-x:auto}.dict-table[data-v-e7faec8e]{width:100%;border-collapse:collapse;min-width:520px}.dict-table th[data-v-e7faec8e],.dict-table td[data-v-e7faec8e]{padding:10px 12px;text-align:left;border-bottom:1px solid #eef2f7;white-space:nowrap;font-size:13px;vertical-align:middle}.dict-table thead th[data-v-e7faec8e]{color:#5b6b82;font-weight:600;background:#f7f9fc}.dict-table tbody tr[data-v-e7faec8e]:hover{background:#f7faff}.th-drag[data-v-e7faec8e]{width:36px}.th-ops[data-v-e7faec8e]{width:120px}.drag-handle[data-v-e7faec8e]{cursor:grab;color:#9aa7ba;-webkit-user-select:none;user-select:none}.mono[data-v-e7faec8e]{font-family:ui-monospace,monospace}.strong[data-v-e7faec8e]{font-weight:700;color:#0f2034}.swatch[data-v-e7faec8e]{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px}.ops[data-v-e7faec8e]{display:flex;gap:10px;align-items:center}.intro[data-v-e7ab7e72]{margin-bottom:14px}.muted[data-v-e7ab7e72]{color:#8a97ab}.small[data-v-e7ab7e72]{font-size:12.5px}.rule-list[data-v-e7ab7e72]{display:flex;flex-direction:column;gap:14px}.rule-card[data-v-e7ab7e72]{background:#fafbfd}.rule-head[data-v-e7ab7e72]{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.rule-label[data-v-e7ab7e72]{font-size:15px;font-weight:700;color:#0f2034}.rule-desc[data-v-e7ab7e72]{font-size:12.5px;color:#8a97ab}.rule-block[data-v-e7ab7e72]{margin-bottom:10px}.block-title[data-v-e7ab7e72]{font-size:12.5px;color:#5b6b84;margin-bottom:6px}.chip-row[data-v-e7ab7e72]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-e7ab7e72]{cursor:pointer}.preview-row[data-v-e7ab7e72]{display:flex;align-items:center;gap:10px}.preview-tag[data-v-e7ab7e72]{font-weight:600}.rule-foot[data-v-e7ab7e72]{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.ed-toolbar[data-v-e0ef5af4]{margin-bottom:14px}.tb-row[data-v-e0ef5af4]{display:flex;align-items:center;gap:10px}.tb-title[data-v-e0ef5af4]{font-weight:700;color:#0f2034}.tb-grow[data-v-e0ef5af4]{flex:1}.ed-loading[data-v-e0ef5af4]{display:flex;align-items:center;gap:10px;padding:40px;color:#6a7c95}.ed-error[data-v-e0ef5af4]{padding:40px}.ed-error-title[data-v-e0ef5af4]{margin:0 0 6px;font-weight:700;color:#b91c1c}.ed-error-actions[data-v-e0ef5af4]{display:flex;gap:10px;margin-top:14px}.add-pipe-error[data-v-e0ef5af4]{margin-top:8px;color:#dc2626;font-size:12px}.ed-grid[data-v-e0ef5af4]{display:grid;grid-template-columns:232px minmax(0,1fr) 300px;gap:14px;align-items:start}.muted[data-v-e0ef5af4]{color:#93a4bd}.small[data-v-e0ef5af4]{font-size:12px}.strong[data-v-e0ef5af4]{font-weight:700;color:#0f2034}.kv[data-v-e0ef5af4]{display:flex;justify-content:space-between;padding:2px 0 10px}.ed-col-left[data-v-e0ef5af4]{display:flex;flex-direction:column;gap:14px}.comp-list[data-v-e0ef5af4]{display:flex;flex-direction:column;gap:8px}.comp-item[data-v-e0ef5af4]{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;cursor:pointer;text-align:left}.comp-item[data-v-e0ef5af4]:hover{border-color:#2e5cff}.comp-text[data-v-e0ef5af4]{display:flex;flex-direction:column}.comp-text small[data-v-e0ef5af4]{color:#93a4bd;font-size:12px}.ofc-dot[data-v-e0ef5af4]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ofc-placed-list[data-v-e0ef5af4]{display:flex;flex-direction:column;gap:6px}.ofc-placed[data-v-e0ef5af4]{display:flex;align-items:center;gap:7px;padding:6px 9px;background:#fff7ec;border:1px solid #fde3bf;border-radius:8px;font-size:12px;color:#7c4a06}.ofc-placed strong[data-v-e0ef5af4]{color:#b45309}.ofc-placed small[data-v-e0ef5af4]{color:#a9742f}.ofc-placed .n-button[data-v-e0ef5af4]{margin-left:auto}.face-tabs-row[data-v-e0ef5af4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.face-tabs[data-v-e0ef5af4]{display:flex;gap:6px}.face-tab[data-v-e0ef5af4]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid #d8e4f2;border-radius:8px;background:#f8fbff;color:#60708a;cursor:pointer;font-size:13px}.face-tab.active[data-v-e0ef5af4]{background:#2e5cff;color:#fff;border-color:#2e5cff;font-weight:700}.face-tab.empty[data-v-e0ef5af4]{background:#f3f5f8;color:#5b6b82;border-style:dashed;border-color:#d0d7e2}.face-tab.empty.active[data-v-e0ef5af4]{background:#2e5cff;color:#fff;border-style:solid}.face-tab-badge[data-v-e0ef5af4]{min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#2e5cff;color:#fff;font-size:11px;line-height:16px;text-align:center;font-weight:700}.face-tab.active .face-tab-badge[data-v-e0ef5af4]{background:#ffffff47}.face-tab-badge.zero[data-v-e0ef5af4]{background:#c2cad6}.konva-wrap[data-v-e0ef5af4]{display:flex;justify-content:center}.panel-sub[data-v-e0ef5af4]{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.peer-info[data-v-e0ef5af4]{padding:8px 10px;background:#eef6ff;border:1px solid #d6e6fb;border-radius:8px;font-size:12px;color:#1d4ed8}.peer-form[data-v-e0ef5af4]{padding:8px 10px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:8px}.ov-table[data-v-e0ef5af4]{margin-top:14px;border:1px solid #eef2f7;border-radius:8px;overflow:hidden}.ov-row[data-v-e0ef5af4]{display:grid;grid-template-columns:1fr 44px 44px;padding:7px 10px;font-size:13px}.ov-row+.ov-row[data-v-e0ef5af4]{border-top:1px solid #f3f6fa}.ov-row.ov-head[data-v-e0ef5af4]{background:#f7f9fc;color:#6a7c95;font-size:12px}.ov-row.active[data-v-e0ef5af4]{background:#eef6ff;font-weight:700}.ov-row span[data-v-e0ef5af4]:not(:first-child){text-align:right}.ed-list[data-v-e0ef5af4]{margin-top:14px}.login-shell[data-v-dc2555ce]{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(1200px 700px at 20% 0%,rgba(46,92,255,.07),transparent 60%),linear-gradient(155deg,#eef3fa,#f2f6fb 55%,#eaf1f8)}.grid-bg[data-v-dc2555ce]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;background-image:linear-gradient(rgba(90,122,174,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(90,122,174,.09) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}.aurora[data-v-dc2555ce]{position:absolute;width:46vw;height:46vw;max-width:720px;max-height:720px;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.35}.aurora-a[data-v-dc2555ce]{top:-18%;left:-10%;background:radial-gradient(circle,rgba(96,165,250,.35),transparent 65%);animation:aurora-drift-a-dc2555ce 22s ease-in-out infinite alternate}.aurora-b[data-v-dc2555ce]{right:-14%;bottom:-22%;background:radial-gradient(circle,rgba(45,212,191,.28),transparent 65%);animation:aurora-drift-b-dc2555ce 28s ease-in-out infinite alternate}@keyframes aurora-drift-a-dc2555ce{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(9%,12%,0) scale(1.12)}}@keyframes aurora-drift-b-dc2555ce{0%{transform:translateZ(0) scale(1.08)}to{transform:translate3d(-8%,-10%,0) scale(.96)}}.field[data-v-dc2555ce]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.layer[data-v-dc2555ce]{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .6s cubic-bezier(.2,.8,.3,1)}.layer-far[data-v-dc2555ce]{transform:translate3d(calc(var(--px, 0) * -18px),calc(var(--py, 0) * -14px),0)}.layer-near[data-v-dc2555ce]{transform:translate3d(calc(var(--px, 0) * -9px),calc(var(--py, 0) * -7px),0)}.slot[data-v-dc2555ce]{position:absolute;display:block;pointer-events:auto;cursor:default;transition:transform .22s ease-out,opacity .3s ease-out,filter .25s ease-out}.slot svg[data-v-dc2555ce]{display:block;width:100%;height:auto}.layer-far .slot[data-v-dc2555ce]{opacity:.4;filter:blur(1.2px)}.drift[data-v-dc2555ce]{display:block;animation-duration:var(--dur, 40s);animation-delay:var(--del, 0s);animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out}.drift.d-a[data-v-dc2555ce]{animation-name:drift-a-dc2555ce}.drift.d-b[data-v-dc2555ce]{animation-name:drift-b-dc2555ce}.drift.d-c[data-v-dc2555ce]{animation-name:drift-c-dc2555ce}@keyframes drift-a-dc2555ce{0%{transform:translateZ(0) rotate(-2.4deg)}50%{transform:translate3d(34px,-38px,0) rotate(2deg)}to{transform:translate3d(-28px,22px,0) rotate(-1.2deg)}}@keyframes drift-b-dc2555ce{0%{transform:translateZ(0) rotate(1.8deg)}50%{transform:translate3d(-32px,-26px,0) rotate(-2deg)}to{transform:translate3d(24px,26px,0) rotate(1deg)}}@keyframes drift-c-dc2555ce{0%{transform:translateZ(0) rotate(-1deg)}33%{transform:translate3d(22px,28px,0) rotate(2.2deg)}66%{transform:translate3d(-30px,-18px,0) rotate(-2deg)}to{transform:translate3d(10px,-30px,0) rotate(.8deg)}}.slot[data-v-dc2555ce]:hover{transform:translateY(-5px)}.slot:hover .drift[data-v-dc2555ce]{animation-play-state:paused}.field:has(.slot:hover) .slot[data-v-dc2555ce]:not(:hover){opacity:.18}.field:has(.slot:hover) .layer-far .slot[data-v-dc2555ce]:not(:hover){opacity:.14}.field:has(.slot:hover) .slot[data-v-dc2555ce]:hover{opacity:1;filter:none}.login-main[data-v-dc2555ce]{position:relative;z-index:2;display:flex;min-height:100vh;align-items:center;justify-content:center;padding:32px 24px;pointer-events:none}.login-card[data-v-dc2555ce]{display:flex;flex-direction:column;gap:15px;width:100%;max-width:400px;padding:34px 34px 26px;border:1px solid #e6edf6;border-radius:18px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px #26406924,0 2px 8px #2640690f;pointer-events:auto}.login-brand[data-v-dc2555ce]{display:flex;align-items:center;gap:11px;margin-bottom:2px}.brand-glyph[data-v-dc2555ce]{width:38px;height:38px;flex-shrink:0}.bm-ln[data-v-dc2555ce]{fill:none;stroke:#3a5a8c;stroke-width:2;stroke-linecap:round}.bm-ln.thin[data-v-dc2555ce]{stroke-width:1.2;stroke:#6b87b3}.bm-led[data-v-dc2555ce]{fill:#38bdf8;animation:led-blink 2.6s ease-in-out var(--ld, 0s) infinite}.brand-name[data-v-dc2555ce]{font-size:16px;font-weight:800;color:#0f2034}.brand-en[data-v-dc2555ce]{font-size:10px;letter-spacing:1.8px;color:#8b9bb3}.login-head h2[data-v-dc2555ce]{margin:0;font-size:22px;font-weight:800;color:#0f2034}.login-head p[data-v-dc2555ce]{margin:5px 0 0;color:#6a7c95;font-size:13px}.field-item[data-v-dc2555ce]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-dc2555ce]{font-size:13px;color:#44566f}.captcha-row[data-v-dc2555ce]{display:flex;gap:10px}.captcha-row[data-v-dc2555ce] .n-input{flex:1}.login-card[data-v-dc2555ce] .n-input.n-input--focus{box-shadow:0 0 0 2px #2e5cff29}.captcha-img[data-v-dc2555ce]{width:116px;height:40px;padding:0;border:1px solid #e2e8f0;border-radius:8px;background:#f1f5fb;cursor:pointer;overflow:hidden;display:grid;place-items:center;transition:border-color .15s ease-out}.captcha-img[data-v-dc2555ce]:hover{border-color:#2e5cff}.captcha-img img[data-v-dc2555ce]{width:100%;height:100%;object-fit:contain}.captcha-loading[data-v-dc2555ce]{font-size:12px;color:#6a7c95}.login-error[data-v-dc2555ce]{margin:0;padding:9px 12px;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#dc2626;font-size:13px}.login-submit[data-v-dc2555ce]{margin-top:4px;transition:transform .15s ease-out,box-shadow .2s ease-out}.login-submit[data-v-dc2555ce]:not(.n-button--loading):hover{transform:translateY(-1px);box-shadow:0 8px 20px #2e5cff52}.login-submit[data-v-dc2555ce]:not(.n-button--loading):active{transform:translateY(0) scale(.985)}.login-foot[data-v-dc2555ce]{display:flex;justify-content:space-between;font-size:12px;color:#5b6b82}.link-btn[data-v-dc2555ce]{border:none;background:none;color:#2e5cff;cursor:pointer;font-size:12px}.rise[data-v-dc2555ce]{opacity:0;transform:translateY(18px) scale(.985);animation:rise-in-dc2555ce .55s cubic-bezier(.22,.9,.3,1.08) .08s forwards}@keyframes rise-in-dc2555ce{to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.drift[data-v-dc2555ce],.aurora-a[data-v-dc2555ce],.aurora-b[data-v-dc2555ce],.rise[data-v-dc2555ce]{animation:none}.rise[data-v-dc2555ce]{opacity:1;transform:none}}.login-shell .ln{fill:none;stroke:#4a6b9e;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.login-shell .ln.thin{stroke-width:1.1;stroke:#6b87b3}.login-shell .ln.strong{stroke-width:2;stroke:#3a5a8c}.login-shell .ln.slot{stroke-width:.7;stroke:#9db2d0}.login-shell .ln.glass{stroke:#7c97bd;fill:#4a6b9e0d}.login-shell .ln.glow-line{stroke:#2e5cff;stroke-width:2}.login-shell .unit{fill:#4a6b9e1a;stroke:#6b87b3;stroke-width:1}.login-shell .led{fill:#38bdf8;animation:led-blink 2.6s ease-in-out var(--ld, 0s) infinite}.login-shell .led.green{fill:#34d399}.login-shell .led.amber{fill:#fbbf24}@keyframes led-blink{0%,to{opacity:.15}50%{opacity:1}}.login-shell .slot:hover .drift{filter:brightness(1.15) drop-shadow(0 0 14px rgba(46,92,255,.35))}.login-shell .slot:hover .led{animation-duration:.5s;opacity:1}@media(prefers-reduced-motion:reduce){.login-shell .led{animation:none}}.bar[data-v-85c3b4d9]{display:flex;align-items:center;gap:10px;margin:14px 0}.bar.wrap[data-v-85c3b4d9]{flex-wrap:wrap}.grow[data-v-85c3b4d9]{flex:1}.muted[data-v-85c3b4d9]{color:#93a4bd}.small[data-v-85c3b4d9]{font-size:12px}.pager[data-v-85c3b4d9]{display:flex;justify-content:flex-end;margin-top:14px}.log-detail .kv[data-v-85c3b4d9]{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:13px;border-bottom:1px solid #f0f3f8}.mono[data-v-85c3b4d9]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all}.body-block[data-v-85c3b4d9]{margin-top:14px}.body-label[data-v-85c3b4d9]{font-size:12px;color:#6a7c95;margin-bottom:6px}.body-pre[data-v-85c3b4d9]{margin:0;padding:10px 12px;background:#0f1b2d;color:#c9e0ff;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:280px;overflow:auto}:root{color:#10233f;background:#f4f8fc;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:#f4f8fc}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.brand{display:grid;justify-items:center;gap:10px;margin-bottom:34px;text-align:center}.brand-mark{display:grid;width:58px;height:58px;place-items:center;border:1px solid rgba(0,213,255,.44);border-radius:16px;background:radial-gradient(circle at 50% 50%,rgba(0,213,255,.22),transparent 58%),linear-gradient(135deg,#0f6bff,#00a3d8);color:#fff;font-weight:700;box-shadow:0 14px 30px #0066ff47}.brand-copy{display:grid;gap:4px;min-width:0}.brand-title{width:100%;white-space:nowrap}.content{padding:24px;min-width:0}.panel{border:1px solid #d8e4f2;border-radius:10px;padding:18px;background:#fff;box-shadow:0 10px 30px #1939630f}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h3{margin:0;font-size:18px}.panel-title span{color:#60708a;font-size:13px}.summary-card.normal{background:#ecfdf3}.summary-card.pending{background:#fff7e6}.summary-card.abnormal{background:#fff1f2}.summary-card.unrecorded{background:#f8fafc}label{display:grid;gap:6px;color:#60708a;font-size:13px}input,select{width:100%;height:38px;border:1px solid #cbd9e8;border-radius:8px;padding:0 10px;color:#10233f;background:#fff}textarea{width:100%;min-height:72px;resize:vertical;border:1px solid #cbd9e8;border-radius:8px;padding:8px 10px;color:#10233f;background:#fff}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:8px;padding:0 14px;cursor:pointer}.primary-button{border:1px solid #2e5cff;background:#2e5cff;color:#fff}.secondary-button{border:1px solid #cbd9e8;background:#fff;color:#1d4ed8}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.message{margin:10px 0 0;font-size:13px}.message.success{color:#16a34a}.message.error{color:#dc2626}.status-pill{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:13px}.status-pill.normal{background:#e9f8ef;color:#15803d}.status-pill.pending{background:#fff7e6;color:#b45309}.status-pill.abnormal{background:#feecec;color:#b91c1c}.status-pill.unrecorded{background:#f1f5f9;color:#64748b}.comp-badge{display:grid;place-items:center;width:34px;height:34px;border:2px solid #2e5cff;border-radius:50%;color:#2e5cff;font-weight:700;font-size:12px}.ofc-badge{width:18px;height:18px;border-width:1.5px;font-size:10px;flex-shrink:0}.empty-state{display:grid;min-height:180px;place-content:center;text-align:center;color:#60708a}.face-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.face-tab{display:flex;align-items:baseline;gap:8px;border:1px solid #d8e4f2;border-radius:8px;padding:6px 10px;background:#f8fbff;color:#60708a;cursor:pointer;text-align:left}.face-tab strong,.face-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.face-tab strong{color:#10233f;font-size:13px}.face-tab span{font-size:12px}.face-tab.active{border-color:#2e5cff;background:#eef6ff;box-shadow:inset 0 0 0 1px #2e5cff2e}.face-canvas.selected{border-color:#2e5cff;box-shadow:inset 0 0 0 1px #2e5cff3d}.pipe-dot.selected{border-color:#0f6bff;background:#dbeafe;box-shadow:0 0 0 4px #2e5cff2e,0 10px 24px #2e5cff38}.cable-dot.selected{border-color:var(--cable-color);background:var(--cable-color);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--cable-color) 18%,transparent)}.overview-row.active{background:#eef6ff;font-weight:700}.pipe-row.selected{border-color:#2e5cff;background:#eef6ff;color:#10233f}.cable-component.active{background:var(--tag-color);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--tag-color) 16%,transparent)}.panel-title.compact{margin:6px 0 0}.cable-editor-card.selected{border-color:#2e5cff;background:#eef6ff}.pipe-table tbody tr:hover,.pipe-table tbody tr.selected{background:#eef6ff}.export-page{display:grid;gap:18px}.export-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.export-toolbar h2{margin:4px 0 0;font-size:24px}.export-actions{display:flex;gap:10px}.export-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;min-width:0}.export-preview-panel{min-width:0}.size-warning{color:#dc2626!important;font-weight:700}.export-preview-sheet{min-height:620px;border:1px solid #d8e4f2;border-radius:8px;padding:22px;background:#fff}.export-share-sheet{border-color:#c8d7ea;background:#fff;box-shadow:inset 0 0 0 6px #f6f9fd}.export-sheet-header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e5edf7;padding-bottom:14px;margin-bottom:18px}.share-sheet-header{align-items:flex-start;border-bottom:2px solid #dbe7f5}.export-sheet-header div{display:grid;gap:2px}.export-sheet-header strong{font-size:24px}.share-sheet-header strong{color:#10233f;font-size:32px;line-height:1.1}.export-sheet-title{color:#1d4ed8!important;font-size:15px;font-weight:700}.export-sheet-header span,.export-sheet-header small{color:#60708a}.overview-preview{display:grid;gap:18px}.share-overview{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}.export-info-card,.export-stat-grid article{border:1px solid #d8e4f2;border-radius:8px;padding:16px;background:#f8fbff}.export-info-card h4{margin:0 0 12px;color:#10233f;font-size:16px}.export-info-card dl{display:grid;gap:10px;margin:0}.export-info-card dl div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px}.export-info-card dt{color:#60708a}.export-info-card dd{margin:0;color:#10233f;font-weight:600}.export-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.export-stat-grid article{display:grid;gap:4px}.export-stat-grid span,.export-stat-grid small{color:#60708a;font-size:12px}.export-stat-grid strong{color:#10233f;font-size:30px;line-height:1}.overview-stats,.face-mini-grid{display:grid;gap:12px}.share-face-summary{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats span,.face-mini-grid article{border:1px solid #d8e4f2;border-radius:8px;padding:14px;background:#f8fbff}.face-mini-grid article{display:flex;justify-content:space-between}.share-face-summary article{align-items:center}.share-face-summary article div{display:grid;gap:2px}.share-face-summary b{color:#1d4ed8}.faces-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.faces-preview-grid.single{grid-template-columns:minmax(0,1fr)}.faces-preview-grid.single .preview-face-canvas{height:360px}.preview-face{border:1px solid #d8e4f2;border-radius:8px;padding:14px;background:#fbfdff}.preview-face-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.preview-face-title span{color:#60708a;font-size:13px}.preview-face-title div{display:grid;gap:2px}.preview-face-title b{border-radius:999px;padding:4px 9px;background:#eef6ff;color:#1d4ed8;font-size:12px}.preview-face-canvas{position:relative;height:220px;overflow:hidden;border:1px solid #c8d7ea;border-radius:8px;background-color:#fff;background-image:linear-gradient(90deg,rgba(96,112,138,.16) 1px,transparent 1px),linear-gradient(rgba(96,112,138,.16) 1px,transparent 1px);background-size:24px 24px}.preview-pipe-node{position:absolute;display:block;transform:translate(-50%,-50%);border:3px solid #2e5cff;border-radius:50%;background:#eff6ff;color:#10233f;box-shadow:0 7px 18px #2e5cff24}.preview-pipe-code,.preview-pipe-spec{position:absolute;left:50%;max-width:80px;transform:translate(-50%);border:1px solid #d8e4f2;border-radius:999px;padding:1px 6px;background:#fffffff0;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:0 3px 8px #19396314}.preview-pipe-code{top:-20px}.preview-pipe-spec{bottom:-20px;color:#1d4ed8}.preview-pipe-summary{position:absolute;left:50%;top:calc(100% + 24px);z-index:4;max-width:148px;transform:translate(-50%);border:1px solid #cbd9e8;border-radius:999px;padding:2px 7px;background:#fffffff5;color:#10233f;font-size:10px;font-weight:700;line-height:1.25;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 10px #1939631a}.preview-cable-layer{position:absolute;top:7px;right:7px;bottom:7px;left:7px}.preview-cable-layer i,.preview-cable-layer em{position:absolute;transform:translate(-50%,-50%)}.preview-cable-layer i{width:14px;height:14px;border:1px solid color-mix(in srgb,var(--cable-color) 70%,white);border-radius:50%;background:var(--cable-color);box-shadow:0 0 0 2px #ffffffdb}.preview-cable-layer em{min-width:22px;border:1px solid #cbd9e8;border-radius:999px;padding:1px 4px;background:#edf3fa;color:#60708a;font-size:10px;font-style:normal;font-weight:700;line-height:1.4;text-align:center;box-shadow:0 0 0 2px #ffffffdb}.list-preview{overflow-x:auto}.export-list-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.export-list-summary span{border-radius:999px;padding:6px 11px;background:#eef6ff;color:#1d4ed8;font-size:13px;font-weight:700}.list-preview table{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}.list-preview th,.list-preview td{border-bottom:1px solid #edf3fa;padding:11px 10px;text-align:left;vertical-align:top}.list-preview th{background:#10233f;color:#fff}.export-settings{display:grid;gap:14px}.export-rule-list{display:grid;gap:10px;border:1px solid #edf3fa;border-radius:8px;padding:12px;background:#f8fbff;color:#60708a;font-size:13px}.export-rule-list p{margin:0}.message.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.export-delivery-page{gap:22px}.export-delivery-page .panel{border:1px solid rgba(191,219,254,.64);border-radius:24px;background:#fffffff0;box-shadow:0 18px 48px #0f172a14}.export-delivery-page .export-toolbar{position:relative;overflow:hidden;min-height:132px;padding:24px 28px;border:0;background:radial-gradient(circle at 12% 20%,rgba(56,189,248,.34),transparent 24%),radial-gradient(circle at 78% 0%,rgba(46,92,255,.26),transparent 26%),linear-gradient(135deg,#07111f,#0d223b 55%,#102e52);color:#f8fbff}.export-delivery-page .export-toolbar:after{position:absolute;right:-80px;bottom:-120px;width:360px;height:260px;border:1px solid rgba(125,211,252,.22);border-radius:50%;content:"";background:#0ea5e914}.export-delivery-page .export-toolbar>*{position:relative;z-index:1}.export-delivery-page .export-toolbar .eyebrow{color:#7dd3fc;letter-spacing:.08em}.export-delivery-page .export-toolbar h2{color:#fff;font-size:30px;line-height:1.1}.export-hero-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.export-hero-metrics span{border:1px solid rgba(125,211,252,.26);border-radius:999px;padding:5px 10px;background:#0812205c;color:#dbeafe;font-size:12px;font-weight:700}.export-delivery-page .export-actions .secondary-button{border-color:#bfdbfe57;background:#ffffff1a;color:#e0f2fe;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.export-delivery-page .export-actions .primary-button{border:0;background:linear-gradient(135deg,#38bdf8,#2e5cff);color:#fff;box-shadow:0 14px 30px #2e5cff47}.export-delivery-page .export-grid{grid-template-columns:minmax(0,1fr) 360px;gap:20px}.export-delivery-page .export-preview-panel,.export-delivery-page .export-settings{padding:18px}.export-delivery-page .panel-title{margin-bottom:14px;border-bottom:1px solid #edf3fb;padding-bottom:12px}.export-delivery-page .panel-title h3{margin:0;color:#0f2034;font-size:18px}.export-delivery-page .panel-title span{color:#8aa0bd;font-size:12px}.export-delivery-page .export-preview-sheet{min-height:650px;border:1px solid rgba(191,219,254,.82);border-radius:22px;padding:28px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#38bdf880,#2e5cff29) border-box;box-shadow:inset 0 0 0 8px #f7fbff,0 20px 44px #0f172a14}.export-delivery-page .share-sheet-header{margin:-4px -4px 22px;border:0;border-radius:18px;padding:18px;background:radial-gradient(circle at 90% 8%,rgba(46,92,255,.16),transparent 28%),linear-gradient(135deg,#f8fbff,#eef6ff)}.export-delivery-page .export-sheet-title{color:#2e5cff!important;letter-spacing:.08em}.export-delivery-page .share-sheet-header strong{margin-top:2px;font-size:36px}.export-delivery-page .status-pill{box-shadow:0 6px 16px #0f172a14}.export-delivery-page .export-info-card,.export-delivery-page .export-stat-grid article,.export-delivery-page .face-mini-grid article,.export-delivery-page .preview-face{border-color:#dbeafe;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 26px #0f172a0f}.export-delivery-page .export-stat-grid strong{color:#1d4ed8;font-size:34px}.export-delivery-page .preview-face-canvas{border-color:#60a5fa57;border-radius:18px;background-color:#f8fbff;background-image:linear-gradient(90deg,rgba(46,92,255,.08) 1px,transparent 1px),linear-gradient(rgba(46,92,255,.08) 1px,transparent 1px);box-shadow:inset 0 0 0 1px #ffffffd1}.export-delivery-page .preview-pipe-node{border-color:#38bdf8;background:#10243c;color:#e0f2fe;box-shadow:0 0 0 4px #38bdf81f,0 12px 26px #2e5cff38}.export-delivery-page .preview-pipe-code,.export-delivery-page .preview-pipe-spec,.export-delivery-page .preview-pipe-summary{border-color:#bfdbfeeb;background:#fffffff5}.export-delivery-page .export-settings{position:sticky;top:20px;display:grid;gap:16px}.export-delivery-page .export-settings label{display:grid;gap:8px}.export-delivery-page .export-settings label span{color:#5d7190;font-size:13px;font-weight:700}.export-delivery-page .export-settings select{width:100%;border:1px solid #d8e4f2;border-radius:12px;padding:11px 12px;background:#f8fbff;color:#0f2034;font:inherit}.export-delivery-page .export-rule-list{border-color:#dbeafe;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#eef6ff)}@media(max-width:1280px){.export-delivery-page .export-grid{grid-template-columns:minmax(0,1fr)}.export-delivery-page .export-settings{position:static}}
