.auth-layout[data-v-df4f7188]{height:100vh;overflow:hidden}.top-bar[data-v-f77e4850]{color:#c8d0da;z-index:100;background:#1a2332;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 20px;font-size:13px;display:flex;position:relative}.top-bar-left[data-v-f77e4850]{align-items:center;display:flex}.logo-area[data-v-f77e4850]{align-items:center;gap:8px;display:flex}.logo-text[data-v-f77e4850]{color:#e8ecf1;letter-spacing:1px;font-size:16px;font-weight:600}.top-bar-center[data-v-f77e4850]{cursor:pointer;position:relative}.project-trigger[data-v-f77e4850]{border-radius:4px;align-items:center;gap:6px;padding:4px 10px;transition:background .15s;display:flex}.project-trigger[data-v-f77e4850]:hover{background:#2a3a4a}.proj-name[data-v-f77e4850]{color:#e8ecf1;text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-weight:500;overflow:hidden}.proj-name.loading[data-v-f77e4850]{color:#8a9aaa;font-style:italic}.proj-name.error[data-v-f77e4850]{color:#e74b3c}.proj-name.none[data-v-f77e4850]{color:#8a9aaa}.arrow[data-v-f77e4850]{flex-shrink:0;transition:transform .2s}.arrow.open[data-v-f77e4850]{transform:rotate(180deg)}.dropdown-panel[data-v-f77e4850]{z-index:1000;background:#fff;border:1px solid #e0e4e8;border-radius:6px;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 24px #00000026}.project-panel[data-v-f77e4850]{flex-direction:column;width:380px;max-height:460px;display:flex;left:0}.panel-search[data-v-f77e4850]{border-bottom:1px solid #eef1f5;padding:10px 12px}.search-input[data-v-f77e4850]{box-sizing:border-box;border:1px solid #d0d5dd;border-radius:4px;outline:none;width:100%;padding:7px 10px;font-size:12px}.panel-list[data-v-f77e4850]{flex:1;max-height:300px;overflow-y:auto}.panel-item[data-v-f77e4850]{cursor:pointer;border-bottom:1px solid #f5f7fa;padding:10px 14px;transition:background .1s}.panel-item[data-v-f77e4850]:hover{background:#f0f4f9}.panel-item.active[data-v-f77e4850]{background:#d4e4fc}.pi-main[data-v-f77e4850]{align-items:center;gap:8px;margin-bottom:2px;display:flex}.pi-name[data-v-f77e4850]{color:#1a2332;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.pi-badge[data-v-f77e4850]{color:#fff;background:#2384ff;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px}.pi-meta[data-v-f77e4850]{color:#8a9aaa;gap:10px;font-size:11px;display:flex}.panel-empty[data-v-f77e4850]{text-align:center;color:#8a9aaa;padding:24px;font-size:12px}.panel-footer[data-v-f77e4850]{border-top:1px solid #eef1f5;padding:8px 12px}.panel-link[data-v-f77e4850]{text-align:center;color:#2384ff;border-radius:4px;padding:6px;font-size:12px;text-decoration:none;display:block}.panel-link[data-v-f77e4850]:hover{background:#f0f4f9}.user-panel[data-v-f77e4850]{width:220px;right:0}.panel-item-link[data-v-f77e4850]{cursor:pointer;color:#1a2332;padding:10px 14px;font-size:12px;text-decoration:none;transition:background .1s;display:block}.panel-item-link[data-v-f77e4850]:hover{background:#f0f4f9}.panel-item-link.danger[data-v-f77e4850]{color:#e74b3c}.panel-divider[data-v-f77e4850]{background:#eef1f5;height:1px;margin:4px 0}.panel-user-info[data-v-f77e4850]{padding:12px 14px}.pui-name[data-v-f77e4850]{color:#1a2332;font-size:13px;font-weight:600}.pui-role[data-v-f77e4850]{color:#8a9aaa;margin-top:2px;font-size:11px}.top-bar-right[data-v-f77e4850]{align-items:center;display:flex;position:relative}.user-trigger[data-v-f77e4850]{cursor:pointer;color:#8a9aaa;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;transition:background .15s;display:flex}.user-trigger[data-v-f77e4850]:hover{color:#c8d0da;background:#2a3a4a}.user-name[data-v-f77e4850]{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.side-menu[data-v-9ddf8cfb]{background:#1e293b;border-right:1px solid #2a3a4a;flex-direction:column;flex-shrink:0;width:200px;height:100%;padding:4px 0;display:flex;overflow-y:auto}.flat-item[data-v-9ddf8cfb]{color:#8a9aaa;cursor:pointer;align-items:center;gap:8px;padding:11px 16px;font-size:13px;transition:all .15s;display:flex}.flat-item[data-v-9ddf8cfb]:hover{color:#e8ecf1;background:#243043}.flat-item.active[data-v-9ddf8cfb]{color:#e8ecf1;background:#2a3a4a;border-left:3px solid #2384ff}.group-header[data-v-9ddf8cfb]{color:#8a9aaa;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.group-header[data-v-9ddf8cfb]:hover{color:#e8ecf1;background:#243043}.group-icon[data-v-9ddf8cfb]{flex-shrink:0;align-items:center;width:16px;height:16px;display:flex}.group-label[data-v-9ddf8cfb]{flex:1}.group-arrow[data-v-9ddf8cfb]{flex-shrink:0;transition:transform .2s}.group-arrow.open[data-v-9ddf8cfb]{transform:rotate(180deg)}.menu-item[data-v-9ddf8cfb]{color:#8a9aaa;cursor:pointer;border-left:3px solid #0000;align-items:center;padding:9px 16px 9px 40px;font-size:12px;transition:all .15s;display:flex}.menu-item[data-v-9ddf8cfb]:hover{color:#c8d0da;background:#243043}.menu-item.active[data-v-9ddf8cfb]{color:#e8ecf1;background:#2a3a4a;border-left-color:#2384ff}.menu-label[data-v-9ddf8cfb]{flex:1}.app-layout[data-v-ae28ce60]{background:#eef1f5;flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body[data-v-ae28ce60]{flex:1;display:flex;overflow:hidden}.main-content[data-v-ae28ce60]{flex-direction:column;flex:1;display:flex;overflow:hidden}.login-page[data-v-472e8b42]{background:#1a2332;justify-content:center;align-items:center;height:100vh;display:flex}.login-card[data-v-472e8b42]{background:#fff;border-radius:8px;width:380px;padding:36px 32px;box-shadow:0 8px 32px #0003}.login-header[data-v-472e8b42]{text-align:center;margin-bottom:28px}.login-header h1[data-v-472e8b42]{color:#1a2332;margin:0 0 4px;font-size:20px;font-weight:600}.login-header p[data-v-472e8b42]{color:#7a8a9a;margin:0;font-size:12px}.msg[data-v-472e8b42]{border-radius:4px;margin-bottom:16px;padding:8px 12px;font-size:12px}.err[data-v-472e8b42]{color:#a11a2a;background:#fef2f2;border:1px solid #fecaca}.form-group[data-v-472e8b42]{margin-bottom:16px}.form-group label[data-v-472e8b42]{color:#4a5a6a;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-group input[data-v-472e8b42]{color:#1a2332;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:4px;outline:none;width:100%;padding:10px 12px;font-size:14px}.form-group input[data-v-472e8b42]:focus{border-color:#2384ff}.login-btn[data-v-472e8b42]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;width:100%;padding:10px;font-size:14px}.login-btn[data-v-472e8b42]:hover{background:#1a6fd9}.login-btn[data-v-472e8b42]:disabled{opacity:.6}.login-page[data-v-9e323125]{background:#1a2332;justify-content:center;align-items:center;height:100vh;display:flex}.login-card[data-v-9e323125]{background:#fff;border-radius:8px;width:420px;padding:36px 32px;box-shadow:0 8px 32px #0003}.login-header[data-v-9e323125]{text-align:center;margin-bottom:24px}.login-header h1[data-v-9e323125]{color:#1a2332;margin:0 0 4px;font-size:20px;font-weight:600}.login-header p[data-v-9e323125]{color:#7a8a9a;margin:0;font-size:12px}.account-info[data-v-9e323125]{font-weight:500;color:#1a5bbf!important;margin-top:8px!important}.msg[data-v-9e323125]{border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:12px}.err[data-v-9e323125]{color:#a11a2a;background:#fef2f2;border:1px solid #fecaca}.ok[data-v-9e323125]{color:#1a7a3a;background:#d4edda;border:1px solid #c3e6cb}.form-group[data-v-9e323125]{margin-bottom:14px}.form-group label[data-v-9e323125]{color:#4a5a6a;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.form-group input[data-v-9e323125]{box-sizing:border-box;border:1px solid #d0d5dd;border-radius:4px;outline:none;width:100%;padding:10px 12px;font-size:14px}.form-group input[data-v-9e323125]:focus{border-color:#2384ff}.rules[data-v-9e323125]{background:#f5f7fa;border-radius:4px;margin-bottom:14px;padding:10px 14px;font-size:11px}.rules p[data-v-9e323125]{color:#5a6a7a;margin:0 0 4px;font-weight:500}.rules ul[data-v-9e323125]{color:#8a9aaa;margin:0;padding-left:18px;list-style:outside}.rules li.done[data-v-9e323125]{color:#28a66a;list-style-type:"✓ "}.login-btn[data-v-9e323125]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;width:100%;padding:10px;font-size:14px}.login-btn[data-v-9e323125]:hover{background:#1a6fd9}.login-btn[data-v-9e323125]:disabled{opacity:.6}.logout-link[data-v-9e323125]{text-align:center;margin-top:12px}.link-btn[data-v-9e323125]{color:#8a9aaa;cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.link-btn[data-v-9e323125]:hover{color:#e74b3c}.page-view[data-v-b64499e4]{flex:1;height:100%;padding:20px;overflow-y:auto}.debug-id[data-v-b64499e4]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-b64499e4]{flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header h2[data-v-b64499e4]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.ctrl-bar[data-v-b64499e4]{align-items:center;gap:8px;display:flex}.ctrl-btn[data-v-b64499e4]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:5px 12px;font-size:12px}.ctrl-speed[data-v-b64499e4]{color:#5a6a7a;font-size:11px}.speed-slider[data-v-b64499e4]{width:80px}.kpi-row[data-v-b64499e4]{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.kpi-c[data-v-b64499e4]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:100px;padding:14px}.kv[data-v-b64499e4]{color:#1a2332;font-size:24px;font-weight:700}.kl[data-v-b64499e4]{color:#7a8a9a;margin-top:2px;font-size:11px}.kpi-c.warn .kv[data-v-b64499e4]{color:#e74b3c}.chart-row[data-v-b64499e4]{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:14px;display:grid}.chart-card[data-v-b64499e4]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:12px}.chart-title[data-v-b64499e4]{color:#5a6a7a;margin-bottom:8px;font-size:12px;font-weight:600}.chart-svg[data-v-b64499e4]{width:100%;height:80px}.pie-row[data-v-b64499e4]{flex-wrap:wrap;gap:8px;display:flex}.pie-item[data-v-b64499e4]{color:#1a2332;align-items:center;gap:4px;font-size:11px;display:flex}.pie-dot[data-v-b64499e4]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.big-pct[data-v-b64499e4]{color:#2384ff;text-align:center;padding:10px 0;font-size:36px;font-weight:700}.alarm-item[data-v-b64499e4]{align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.alarm-label[data-v-b64499e4]{color:#5a6a7a;width:30px}.alarm-fill[data-v-b64499e4]{background:#e74b3c;border-radius:3px;height:14px}.warn-fill[data-v-b64499e4]{background:#f0b429}.dash-grid[data-v-b64499e4]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.card[data-v-b64499e4]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:14px}.card.wide[data-v-b64499e4]{grid-column:1/-1}.card-title[data-v-b64499e4]{color:#1a2332;border-bottom:1px solid #eef1f5;margin-bottom:10px;padding-bottom:6px;font-size:13px;font-weight:600}.equip-grid[data-v-b64499e4]{grid-template-columns:1fr 1fr;gap:4px;display:grid}.eq-item[data-v-b64499e4]{border-radius:3px;align-items:center;gap:5px;padding:3px 4px;font-size:11px;display:flex}.eq-dot[data-v-b64499e4]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.eq-running[data-v-b64499e4]{background:#28a66a}.eq-stopped[data-v-b64499e4]{background:#7d8794}.eq-maintenance[data-v-b64499e4]{background:#f0b429}.eq-alarm[data-v-b64499e4]{background:#e74b3c}.eq-name[data-v-b64499e4]{text-overflow:ellipsis;white-space:nowrap;color:#1a2332;flex:1;overflow:hidden}.eq-stat[data-v-b64499e4]{color:#7a8a9a;font-size:10px}.wo-item[data-v-b64499e4]{border-bottom:1px solid #f0f2f5;padding:6px 0}.wo-top[data-v-b64499e4]{justify-content:space-between;align-items:center;display:flex}.wo-code[data-v-b64499e4]{color:#5a6a7a;font-family:monospace;font-size:11px}.tag[data-v-b64499e4]{border-radius:3px;padding:1px 6px;font-size:10px}.err[data-v-b64499e4]{color:#a11a2a;background:#f8d7da}.wo-name[data-v-b64499e4]{color:#1a2332;margin:2px 0;font-size:12px;font-weight:500}.wo-step[data-v-b64499e4]{color:#2384ff;font-size:11px}.tl-item[data-v-b64499e4]{border-left:2px solid #e0e4e8;gap:8px;margin-left:6px;padding:4px 0 4px 12px;display:flex;position:relative}.tl-dot[data-v-b64499e4]{border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:-5px}.tl-pass[data-v-b64499e4]{background:#28a66a}.tl-fail[data-v-b64499e4]{background:#e74b3c}.tl-warn[data-v-b64499e4]{background:#f0b429}.tl-info[data-v-b64499e4]{background:#2384ff}.tl-content[data-v-b64499e4]{gap:6px;font-size:11px;display:flex}.tl-time[data-v-b64499e4]{color:#8a9aaa;font-family:monospace}.tl-event[data-v-b64499e4]{font-weight:500}.viewer-container[data-v-41700339]{width:100%;height:100%;position:relative;overflow:hidden}.load-overlay[data-v-41700339]{z-index:10;background:#000000b3;border-radius:6px;padding:12px 24px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.load-bar[data-v-41700339]{background:#4a5a6a;border-radius:2px;width:200px;height:4px;overflow:hidden}.load-fill[data-v-41700339]{background:#2384ff;border-radius:2px;height:100%;transition:width .2s}.load-text[data-v-41700339]{text-align:center;color:#e8ecf1;margin-top:4px;font-size:11px}.load-error[data-v-41700339]{color:#e74b3c;z-index:10;background:#00000080;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.tree-node[data-v-fe1a2106]{cursor:default;color:#2a3a4a;align-items:center;gap:4px;padding:5px 12px;font-size:12px;transition:background .15s;display:flex}.tree-node.hoverable[data-v-fe1a2106]{cursor:pointer}.tree-node.hoverable[data-v-fe1a2106]:hover{background:#e3eaf2}.tree-node.selected[data-v-fe1a2106]{color:#1a5bbf;background:#d4e4fc;font-weight:500}.expand-icon[data-v-fe1a2106]{color:#7a8a9a;cursor:pointer;text-align:center;width:12px;font-size:9px}.expand-icon-placeholder[data-v-fe1a2106]{width:12px}.node-icon[data-v-fe1a2106]{text-align:center;width:18px;font-size:12px}.node-label[data-v-fe1a2106]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.node-count[data-v-fe1a2106]{color:#8a9aaa;background:#e8ecf1;border-radius:8px;padding:0 6px;font-size:10px}.model-tree[data-v-606d334b]{background:#f5f7fa;border-right:1px solid #e0e4e8;flex-direction:column;height:100%;display:flex}.tree-header[data-v-606d334b]{color:#1a2332;background:#eef1f5;border-bottom:1px solid #e0e4e8;padding:12px 16px;font-size:14px;font-weight:600}.tree-tabs[data-v-606d334b]{border-bottom:1px solid #e0e4e8;display:flex}.tree-tab[data-v-606d334b]{cursor:pointer;color:#5a6a7a;background:0 0;border:none;flex:1;padding:8px 12px;font-size:12px;transition:all .2s}.tree-tab.active[data-v-606d334b]{color:#2384ff;background:#fff;border-bottom:2px solid #2384ff}.tree-tab[data-v-606d334b]:hover{color:#2384ff}.tree-search[data-v-606d334b]{padding:8px 12px}.search-input[data-v-606d334b]{color:#1a2332;box-sizing:border-box;background:#fff;border:1px solid #d0d5dd;border-radius:4px;outline:none;width:100%;padding:6px 10px;font-size:12px}.search-input[data-v-606d334b]:focus{border-color:#2384ff}.tree-scroll[data-v-606d334b]{flex:1;padding:4px 0;overflow-y:auto}.property-panel[data-v-78925ef6]{background:#f5f7fa;border-left:1px solid #e0e4e8;flex-direction:column;height:100%;display:flex}.panel-header[data-v-78925ef6]{color:#1a2332;background:#eef1f5;border-bottom:1px solid #e0e4e8;flex-shrink:0;padding:12px 16px;font-size:14px;font-weight:600}.panel-tabs[data-v-78925ef6]{border-bottom:1px solid #e0e4e8;flex-shrink:0;display:flex}.tab[data-v-78925ef6]{cursor:pointer;color:#5a6a7a;text-align:center;background:#f5f7fa;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 4px;font-size:11px}.tab.active[data-v-78925ef6]{color:#2384ff;border-bottom-color:#2384ff;font-weight:600}.panel-content[data-v-78925ef6]{flex:1;overflow-y:auto}.prop-section[data-v-78925ef6]{padding:10px 14px}.prop-row[data-v-78925ef6]{justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.prop-label[data-v-78925ef6]{color:#7a8a9a;flex-shrink:0;margin-right:8px}.prop-value[data-v-78925ef6]{color:#1a2332;text-align:right}.prop-row.warn .prop-value[data-v-78925ef6]{color:#e74b3c}.section-title[data-v-78925ef6]{color:#5a6a7a;margin-bottom:8px;font-size:12px;font-weight:600}.st-running[data-v-78925ef6]{font-weight:600;color:#28a66a!important}.st-stopped[data-v-78925ef6]{color:#7d8794!important}.st-maintenance[data-v-78925ef6]{color:#f0b429!important}.st-alarm[data-v-78925ef6]{font-weight:600;color:#e74b3c!important}.doc-link[data-v-78925ef6]{cursor:pointer;text-decoration:none;color:#2384ff!important}.doc-link[data-v-78925ef6]:hover{text-decoration:underline}.viewer-toolbar[data-v-a3482b79]{background:#eef1f5;border-bottom:1px solid #d8dce3;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 12px;display:flex}.toolbar-group[data-v-a3482b79]{gap:2px;display:flex}.toolbar-divider[data-v-a3482b79]{background:#d0d5dd;width:1px;height:24px;margin:0 6px}.tool-btn[data-v-a3482b79]{cursor:pointer;color:#4a5a6a;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;transition:all .15s;display:flex}.tool-btn[data-v-a3482b79]:hover{color:#1a2332;background:#dce3ec}.tool-btn.active[data-v-a3482b79]{color:#1a5bbf;background:#d4e4fc;border-color:#b8d4f5}.tool-btn[data-v-a3482b79]:disabled{opacity:.4;cursor:default}.demo-console[data-v-610c773d]{z-index:100;background:#fff;border:1px solid #d0d5dd;border-radius:6px;width:320px;font-size:12px;position:absolute;bottom:36px;right:12px;box-shadow:0 4px 16px #0000001f}.demo-console.collapsed[data-v-610c773d]{width:auto}.console-header[data-v-610c773d]{color:#c8d0da;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e293b;border-radius:5px 5px 0 0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.collapsed .console-header[data-v-610c773d]{border-radius:5px}.toggle-icon[data-v-610c773d]{font-size:10px}.console-body[data-v-610c773d]{max-height:350px;padding:10px 12px;overflow-y:auto}.console-section[data-v-610c773d]{margin-bottom:10px}.cs-title[data-v-610c773d]{color:#5a6a7a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.cs-actions[data-v-610c773d]{flex-wrap:wrap;gap:4px;display:flex}.demo-btn[data-v-610c773d]{cursor:pointer;color:#3a4a5a;background:#f5f7fa;border:1px solid #d0d5dd;border-radius:4px;padding:4px 10px;font-size:11px;transition:all .15s}.demo-btn[data-v-610c773d]:hover{color:#2384ff;background:#e8ecf1;border-color:#2384ff}.demo-btn.fault[data-v-610c773d]{color:#e74b3c;border-color:#e74b3c}.demo-btn.fault[data-v-610c773d]:hover{background:#fef2f2}.demo-btn.success[data-v-610c773d]{color:#28a66a;border-color:#28a66a}.demo-btn.success[data-v-610c773d]:hover{background:#f0fdf4}.demo-btn.warn[data-v-610c773d]{color:#856404;border-color:#f0b429}.demo-btn.warn[data-v-610c773d]:hover{background:#fffbe6}.console-toast[data-v-610c773d]{color:#1a5bbf;background:#d4e4fc;border-radius:4px;margin-top:6px;padding:6px 10px;font-size:11px;animation:.2s fadeIn-610c773d}@keyframes fadeIn-610c773d{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-view[data-v-5e2d4a93]{flex-direction:column;height:100%;display:flex}.model-body[data-v-5e2d4a93]{flex:1;display:flex;overflow:hidden}.model-left[data-v-5e2d4a93]{flex-shrink:0;width:280px;overflow-y:auto}.model-center[data-v-5e2d4a93]{flex-direction:column;flex:1;min-width:0;display:flex}.viewer-wrapper[data-v-5e2d4a93]{flex:1;position:relative;overflow:hidden}.model-right[data-v-5e2d4a93]{flex-shrink:0;width:300px;overflow-y:auto}.model-footer[data-v-5e2d4a93]{background:#eef1f5;border-top:1px solid #d8dce3;flex-shrink:0;align-items:center;gap:16px;padding:6px 12px;font-size:12px;display:flex}.footer-status[data-v-5e2d4a93]{border-radius:3px;padding:2px 8px}.footer-status.loading[data-v-5e2d4a93]{color:#856404;background:#fff3cd}.footer-status.error[data-v-5e2d4a93]{color:#a11a2a;background:#f8d7da}.footer-status.ready[data-v-5e2d4a93]{color:#1a7a3a;background:#d4edda}.footer-selected[data-v-5e2d4a93]{color:#1a5bbf;font-weight:500}.footer-hint[data-v-5e2d4a93]{color:#8a9aaa}.page-view[data-v-03f9aeec]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-03f9aeec]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-03f9aeec]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.page-header h2[data-v-03f9aeec]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.update-time[data-v-03f9aeec]{color:#8a9aaa;font-size:11px}.btn-s[data-v-03f9aeec]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.kpi-row[data-v-03f9aeec]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.kpi-c[data-v-03f9aeec]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:80px;padding:8px}.kpi-c .kv[data-v-03f9aeec]{color:#1a2332;font-size:16px;font-weight:700}.kpi-c .kl[data-v-03f9aeec]{color:#7a8a9a;margin-top:1px;font-size:10px}.filter-row[data-v-03f9aeec]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.inp-s[data-v-03f9aeec]{border:1px solid #d0d5dd;border-radius:3px;padding:5px 8px;font-size:12px}.table-w[data-v-03f9aeec]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:10px;overflow:auto}.dt[data-v-03f9aeec]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-03f9aeec]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:7px 10px;font-weight:600}.dt td[data-v-03f9aeec]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:7px 10px}.code[data-v-03f9aeec]{color:#2384ff;cursor:pointer;font-family:monospace}.pbar-s[data-v-03f9aeec]{vertical-align:middle;background:#e0e4e8;border-radius:3px;width:50px;height:5px;display:inline-block;overflow:hidden}.pfill-s[data-v-03f9aeec]{background:#2384ff;border-radius:3px;height:100%}.pct[data-v-03f9aeec]{color:#5a6a7a;margin-left:4px;font-size:10px}.tag[data-v-03f9aeec]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.pri-high[data-v-03f9aeec]{color:#a11a2a;background:#f8d7da}.pri-normal[data-v-03f9aeec],.wo-pending[data-v-03f9aeec]{color:#5a6a7a;background:#e8ecf1}.wo-in_production[data-v-03f9aeec]{color:#1a5bbf;background:#d4e4fc}.wo-completed[data-v-03f9aeec]{color:#1a7a3a;background:#d4edda}.wo-suspended[data-v-03f9aeec]{color:#856404;background:#fff3cd}.normal[data-v-03f9aeec]{color:#28a66a}.warn[data-v-03f9aeec]{color:#f0b429}.overdue[data-v-03f9aeec]{color:#e74b3c}.pagi[data-v-03f9aeec]{color:#8a9aaa;text-align:right;padding:8px 12px;font-size:11px}.chart-row[data-v-03f9aeec]{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.chart-box[data-v-03f9aeec]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:10px}.chart-title[data-v-03f9aeec]{color:#5a6a7a;margin-bottom:6px;font-size:11px;font-weight:600}.ch-svg[data-v-03f9aeec]{width:100%;height:50px}.bar-chart[data-v-03f9aeec]{align-items:flex-end;gap:4px;height:60px;display:flex}.bar-item[data-v-03f9aeec]{flex-direction:column;flex:1;align-items:center;display:flex}.bar-label[data-v-03f9aeec]{color:#8a9aaa;font-size:9px}.bar-fill[data-v-03f9aeec]{background:#2384ff;border-radius:2px 2px 0 0;width:60%;min-height:4px}.risk-list[data-v-03f9aeec]{font-size:11px}.risk-item[data-v-03f9aeec]{border-bottom:1px solid #f8f9fa;gap:8px;padding:4px 0;display:flex}.risk-code[data-v-03f9aeec]{color:#e74b3c;font-family:monospace}.risk-customer[data-v-03f9aeec]{color:#1a2332;flex:1}.risk-date[data-v-03f9aeec]{color:#8a9aaa}.drawer-overlay[data-v-03f9aeec]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-right[data-v-03f9aeec]{background:#fff;flex-direction:column;width:520px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-hdr[data-v-03f9aeec]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-hdr h3[data-v-03f9aeec]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-close[data-v-03f9aeec]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-body[data-v-03f9aeec]{flex:1;padding:14px 18px;overflow-y:auto}.det[data-v-03f9aeec]{padding:4px 0;font-size:12px;display:flex}.dl[data-v-03f9aeec]{color:#7a8a9a;flex-shrink:0;width:80px}.sec-title-sm[data-v-03f9aeec]{color:#5a6a7a;margin:10px 0 4px;font-size:12px;font-weight:600}.step-sm[data-v-03f9aeec]{border-bottom:1px solid #f0f2f5;justify-content:space-between;padding:5px 0;font-size:12px;display:flex}.step-sm-name[data-v-03f9aeec]{color:#1a2332}.ok[data-v-03f9aeec]{color:#1a7a3a;background:#d4edda}.run[data-v-03f9aeec]{color:#1a5bbf;background:#d4e4fc}.fail[data-v-03f9aeec]{color:#a11a2a;background:#f8d7da}.wait[data-v-03f9aeec]{color:#5a6a7a;background:#e8ecf1}.btn-p[data-v-03f9aeec]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.page-view[data-v-d15d8a2e]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-d15d8a2e]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-d15d8a2e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.page-header h2[data-v-d15d8a2e]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.order-summary[data-v-d15d8a2e]{color:#7a8a9a;font-size:11px}.kpi-row[data-v-d15d8a2e]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.kpi-c[data-v-d15d8a2e]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:80px;padding:8px}.kpi-c .kv[data-v-d15d8a2e]{color:#1a2332;font-size:16px;font-weight:700}.kpi-c .kl[data-v-d15d8a2e]{color:#7a8a9a;margin-top:1px;font-size:10px}.process-flow[data-v-d15d8a2e]{gap:4px;margin-bottom:12px;padding:8px 0;display:flex;overflow-x:auto}.pstep[data-v-d15d8a2e]{cursor:pointer;background:#f5f7fa;border:1px solid #e0e4e8;border-radius:4px;flex-direction:column;align-items:center;min-width:68px;padding:6px;display:flex}.pstep.done[data-v-d15d8a2e]{background:#d4edda;border-color:#c3e6cb}.pstep.current[data-v-d15d8a2e]{background:#d4e4fc;border-color:#2384ff}.pstep.fail[data-v-d15d8a2e]{background:#f8d7da;border-color:#f5c6cb}.pstep-num[data-v-d15d8a2e]{color:#7a8a9a;background:#e0e4e8;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-bottom:4px;font-size:10px;font-weight:600;display:flex}.pstep.done .pstep-num[data-v-d15d8a2e]{color:#fff;background:#28a66a}.pstep.current .pstep-num[data-v-d15d8a2e]{color:#fff;background:#2384ff}.pstep.fail .pstep-num[data-v-d15d8a2e]{color:#fff;background:#e74b3c}.pstep-name[data-v-d15d8a2e]{color:#1a2332;text-align:center;font-size:10px;font-weight:500}.pstep-meta[data-v-d15d8a2e]{color:#8a9aaa;text-align:center;margin-top:2px;font-size:9px}.table-w[data-v-d15d8a2e]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:10px;overflow:auto}.dt[data-v-d15d8a2e]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-d15d8a2e]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:7px 10px;font-weight:600}.dt td[data-v-d15d8a2e]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:7px 10px}.row-cur[data-v-d15d8a2e]{background:#f0f7ff}.tag[data-v-d15d8a2e]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.ok[data-v-d15d8a2e]{color:#1a7a3a;background:#d4edda}.run[data-v-d15d8a2e]{color:#1a5bbf;background:#d4e4fc}.fail[data-v-d15d8a2e]{color:#a11a2a;background:#f8d7da}.wait[data-v-d15d8a2e]{color:#5a6a7a;background:#e8ecf1}.delay[data-v-d15d8a2e]{color:#e74b3c;margin-left:4px;font-size:10px}.btn-s[data-v-d15d8a2e]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.drawer-overlay[data-v-d15d8a2e]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-right[data-v-d15d8a2e]{background:#fff;flex-direction:column;width:520px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-hdr[data-v-d15d8a2e]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-hdr h3[data-v-d15d8a2e]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-close[data-v-d15d8a2e]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-body[data-v-d15d8a2e]{flex:1;padding:14px 18px;overflow-y:auto}.det[data-v-d15d8a2e]{padding:4px 0;font-size:12px;display:flex}.dl[data-v-d15d8a2e]{color:#7a8a9a;flex-shrink:0;width:80px}.sec-title-sm[data-v-d15d8a2e]{color:#5a6a7a;margin:10px 0 4px;font-size:12px;font-weight:600}.btn-p[data-v-d15d8a2e]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.page-view[data-v-83d1f6a6]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-83d1f6a6]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-83d1f6a6]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.page-header h2[data-v-83d1f6a6]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.kpi-row[data-v-83d1f6a6]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.kpi-c[data-v-83d1f6a6]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:80px;padding:8px}.kpi-c .kv[data-v-83d1f6a6]{color:#1a2332;font-size:16px;font-weight:700}.kpi-c .kl[data-v-83d1f6a6]{color:#7a8a9a;margin-top:1px;font-size:10px}.kpi-c.warn .kv[data-v-83d1f6a6]{color:#e74b3c}.filter-row[data-v-83d1f6a6]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.inp-s[data-v-83d1f6a6]{border:1px solid #d0d5dd;border-radius:3px;padding:5px 8px;font-size:12px}.chk[data-v-83d1f6a6]{color:#5a6a7a;align-items:center;gap:4px;font-size:12px;display:flex}.btn-s[data-v-83d1f6a6]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.table-w[data-v-83d1f6a6]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:10px;overflow:auto}.dt[data-v-83d1f6a6]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-83d1f6a6]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:7px 10px;font-weight:600}.dt td[data-v-83d1f6a6]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:7px 10px}.code[data-v-83d1f6a6]{color:#5a6a7a;font-family:monospace}.tag[data-v-83d1f6a6]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.eq-running[data-v-83d1f6a6]{color:#1a7a3a;background:#d4edda}.eq-stopped[data-v-83d1f6a6]{color:#5a6a7a;background:#e8ecf1}.eq-maintenance[data-v-83d1f6a6]{color:#856404;background:#fff3cd}.eq-alarm[data-v-83d1f6a6]{color:#a11a2a;background:#f8d7da}.pagi[data-v-83d1f6a6]{color:#8a9aaa;text-align:right;padding:8px 12px;font-size:11px}.bottom-grid[data-v-83d1f6a6]{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.info-panel[data-v-83d1f6a6]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:10px}.panel-title[data-v-83d1f6a6]{color:#5a6a7a;border-bottom:1px solid #eef1f5;margin-bottom:8px;padding-bottom:4px;font-size:12px;font-weight:600}.donut[data-v-83d1f6a6]{border-radius:10px;height:20px;display:flex;overflow:hidden}.donut-seg[data-v-83d1f6a6]{color:#fff;justify-content:center;align-items:center;font-size:9px;display:flex}.oee-row[data-v-83d1f6a6]{align-items:center;gap:6px;padding:3px 0;font-size:11px;display:flex}.oee-name[data-v-83d1f6a6]{text-overflow:ellipsis;white-space:nowrap;color:#1a2332;width:90px;overflow:hidden}.oee-bar[data-v-83d1f6a6]{background:#e0e4e8;border-radius:3px;flex:1;height:6px;overflow:hidden}.oee-fill[data-v-83d1f6a6]{background:#2384ff;border-radius:3px;height:100%}.oee-val[data-v-83d1f6a6]{text-align:right;color:#5a6a7a;width:30px}.pie-row[data-v-83d1f6a6]{align-items:center;gap:6px;padding:2px 0;font-size:10px;display:flex}.pie-lbl[data-v-83d1f6a6]{color:#5a6a7a;width:70px}.pie-bar[data-v-83d1f6a6]{background:#e0e4e8;border-radius:3px;flex:1;height:6px;overflow:hidden}.pie-fill[data-v-83d1f6a6]{background:#2384ff;border-radius:3px;height:100%}.drawer-overlay[data-v-83d1f6a6]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-right[data-v-83d1f6a6]{background:#fff;flex-direction:column;width:520px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-hdr[data-v-83d1f6a6]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-hdr h3[data-v-83d1f6a6]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-close[data-v-83d1f6a6]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-body[data-v-83d1f6a6]{flex:1;padding:14px 18px;overflow-y:auto}.det[data-v-83d1f6a6]{padding:4px 0;font-size:12px;display:flex}.dl[data-v-83d1f6a6]{color:#7a8a9a;flex-shrink:0;width:80px}.sec-title-sm[data-v-83d1f6a6]{color:#5a6a7a;margin:10px 0 4px;font-size:12px;font-weight:600}.btn-p[data-v-83d1f6a6]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.page-view[data-v-89a9cafb]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-89a9cafb]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-89a9cafb]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.page-header h2[data-v-89a9cafb]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.update-time[data-v-89a9cafb]{color:#8a9aaa;font-size:11px}.btn-s[data-v-89a9cafb]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.kpi-row[data-v-89a9cafb]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.kpi-c[data-v-89a9cafb]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:80px;padding:8px}.kpi-c .kv[data-v-89a9cafb]{color:#1a2332;font-size:16px;font-weight:700}.kpi-c .kl[data-v-89a9cafb]{color:#7a8a9a;margin-top:1px;font-size:10px}.kpi-c.warn .kv[data-v-89a9cafb]{color:#e74b3c}.filter-row[data-v-89a9cafb]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.inp-s[data-v-89a9cafb]{background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:5px 8px;font-size:12px}.table-w[data-v-89a9cafb]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:10px;overflow:auto}.dt[data-v-89a9cafb]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-89a9cafb]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:7px 10px;font-weight:600}.dt td[data-v-89a9cafb]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:7px 10px}.code[data-v-89a9cafb]{color:#2384ff;cursor:pointer;font-family:monospace}.row-fail[data-v-89a9cafb]{background:#fff5f5}.title-c[data-v-89a9cafb]{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.tag[data-v-89a9cafb]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.ok[data-v-89a9cafb]{color:#1a7a3a;background:#d4edda}.fail[data-v-89a9cafb]{color:#a11a2a;background:#f8d7da}.run[data-v-89a9cafb]{color:#1a5bbf;background:#d4e4fc}.wait[data-v-89a9cafb]{color:#5a6a7a;background:#e8ecf1}.lvl-严重[data-v-89a9cafb]{color:#a11a2a;background:#f8d7da}.lvl-重要[data-v-89a9cafb]{color:#856404;background:#fff3cd}.lvl-一般[data-v-89a9cafb],.ns-pending[data-v-89a9cafb]{color:#5a6a7a;background:#e8ecf1}.ns-rectifying[data-v-89a9cafb]{color:#1a5bbf;background:#d4e4fc}.ns-recheck[data-v-89a9cafb]{color:#856404;background:#fff3cd}.ns-closed[data-v-89a9cafb]{color:#1a7a3a;background:#d4edda}.pbar-s[data-v-89a9cafb]{vertical-align:middle;background:#e0e4e8;border-radius:3px;width:50px;height:5px;display:inline-block;overflow:hidden}.pfill-s[data-v-89a9cafb]{background:#2384ff;border-radius:3px;height:100%}.pct[data-v-89a9cafb]{color:#5a6a7a;margin-left:4px;font-size:10px}.bottom-charts[data-v-89a9cafb]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.chart-box[data-v-89a9cafb]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:10px}.chart-title[data-v-89a9cafb]{color:#5a6a7a;margin-bottom:6px;font-size:11px;font-weight:600}.ch-svg[data-v-89a9cafb]{width:100%;height:45px}.pie-row[data-v-89a9cafb]{align-items:center;gap:6px;padding:2px 0;font-size:10px;display:flex}.pie-lbl[data-v-89a9cafb]{color:#5a6a7a;width:70px}.pie-bar[data-v-89a9cafb]{background:#e0e4e8;border-radius:3px;flex:1;height:6px;overflow:hidden}.pie-fill[data-v-89a9cafb]{background:#2384ff;border-radius:3px;height:100%}.btn-warn[data-v-89a9cafb]{color:#856404;border-color:#f0b429}.btn-ok[data-v-89a9cafb]{color:#1a7a3a;border-color:#28a66a}.flow-steps[data-v-89a9cafb]{gap:4px;margin-bottom:12px;padding:4px 0;display:flex;overflow-x:auto}.fs-item[data-v-89a9cafb]{background:#f5f7fa;border:1px solid #e0e4e8;border-radius:4px;flex-direction:column;align-items:center;min-width:72px;padding:6px;font-size:10px;display:flex}.fs-item.done[data-v-89a9cafb]{background:#d4edda;border-color:#c3e6cb}.fs-item.active[data-v-89a9cafb]{background:#d4e4fc;border-color:#2384ff}.fs-num[data-v-89a9cafb]{color:#7a8a9a;background:#e0e4e8;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-bottom:3px;font-size:9px;font-weight:600;display:flex}.fs-item.done .fs-num[data-v-89a9cafb]{color:#fff;background:#28a66a}.fs-item.active .fs-num[data-v-89a9cafb]{color:#fff;background:#2384ff}.drawer-overlay[data-v-89a9cafb]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-right[data-v-89a9cafb]{background:#fff;flex-direction:column;width:520px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-hdr[data-v-89a9cafb]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-hdr h3[data-v-89a9cafb]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-close[data-v-89a9cafb]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-body[data-v-89a9cafb]{flex:1;padding:14px 18px;overflow-y:auto}.det[data-v-89a9cafb]{padding:4px 0;font-size:12px;display:flex}.dl[data-v-89a9cafb]{color:#7a8a9a;flex-shrink:0;width:80px}.sec-title-sm[data-v-89a9cafb]{color:#5a6a7a;border-bottom:1px solid #eef1f5;margin:10px 0 4px;padding-bottom:4px;font-size:12px;font-weight:600}.btn-p[data-v-89a9cafb]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.tl-list[data-v-89a9cafb]{border-left:2px solid #e0e4e8;margin:6px 0;padding-left:14px}.tl-node[data-v-89a9cafb]{gap:8px;margin-bottom:8px;display:flex;position:relative}.tl-marker[data-v-89a9cafb]{background:#d0d5dd;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;left:-17px}.tl-marker.active[data-v-89a9cafb]{background:#2384ff}.tl-marker.done[data-v-89a9cafb]{background:#28a66a}.tl-act[data-v-89a9cafb]{color:#1a2332;font-size:12px}.tl-meta[data-v-89a9cafb]{color:#8a9aaa;font-size:10px}.wh3d-container[data-v-6e97bdc7]{width:100%;height:100%}.page-view[data-v-413de81b]{flex:1;height:100%;padding:20px;overflow-y:auto}.debug-id[data-v-413de81b]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-413de81b]{margin-bottom:12px}.page-header h2[data-v-413de81b]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.kpi-row[data-v-413de81b]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.kpi-c[data-v-413de81b]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:80px;padding:8px}.kpi-c .kv[data-v-413de81b]{color:#1a2332;font-size:16px;font-weight:700}.kpi-c .kl[data-v-413de81b]{color:#7a8a9a;margin-top:1px;font-size:10px}.kpi-c.warn .kv[data-v-413de81b]{color:#e74b3c}.filter-row[data-v-413de81b]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.inp-s[data-v-413de81b]{background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:5px 8px;font-size:12px}.btn-s[data-v-413de81b]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.chart-row[data-v-413de81b]{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.chart-box[data-v-413de81b]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:10px}.chart-title[data-v-413de81b]{color:#5a6a7a;margin-bottom:6px;font-size:11px;font-weight:600}.ch-svg[data-v-413de81b]{width:100%;height:45px}.donut[data-v-413de81b]{border-radius:10px;height:20px;margin-top:6px;display:flex;overflow:hidden}.donut-seg[data-v-413de81b]{color:#fff;justify-content:center;align-items:center;font-size:9px;display:flex}.wh-row[data-v-413de81b]{align-items:center;gap:6px;padding:3px 0;font-size:11px;display:flex}.wh-name[data-v-413de81b]{color:#5a6a7a;width:70px}.wh-bar[data-v-413de81b]{background:#e0e4e8;border-radius:3px;flex:1;height:6px;overflow:hidden}.wh-fill[data-v-413de81b]{background:#2384ff;border-radius:3px;height:100%}.table-w[data-v-413de81b]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:10px;overflow:auto}.dt[data-v-413de81b]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-413de81b]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:7px 10px;font-weight:600}.dt td[data-v-413de81b]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:7px 10px}.code[data-v-413de81b]{color:#2384ff;cursor:pointer;font-family:monospace}.row-warn[data-v-413de81b]{background:#fffbe6}.tag[data-v-413de81b]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.ok-bg[data-v-413de81b]{color:#1a7a3a;background:#d4edda}.warn-bg[data-v-413de81b]{color:#856404;background:#fff3cd}.insp-bg[data-v-413de81b]{color:#1a5bbf;background:#d4e4fc}.frozen-bg[data-v-413de81b]{color:#a11a2a;background:#f8d7da}.exhaust-bg[data-v-413de81b]{color:#5a6a7a;background:#e8ecf1}.loc-layout[data-v-413de81b]{gap:12px;height:calc(100vh - 240px);display:flex}.loc-tree[data-v-413de81b]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex-shrink:0;width:200px;padding:8px;overflow-y:auto}.tree-node[data-v-413de81b]{font-size:12px}.tree-hdr[data-v-413de81b]{cursor:pointer;color:#1a2332;padding:6px 4px;font-weight:600}.tree-child[data-v-413de81b]{cursor:pointer;color:#5a6a7a;padding:5px 4px 5px 20px}.tree-child.active[data-v-413de81b]{color:#2384ff;background:#f0f7ff;font-weight:500}.loc-grid-wrap[data-v-413de81b]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:4px;padding:8px;display:grid;overflow-y:auto}.loc-cell[data-v-413de81b]{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:6px;font-size:10px}.loc-normal[data-v-413de81b]{color:#1a7a3a;background:#d4edda;border-color:#b8dfc6}.loc-idle[data-v-413de81b]{color:#8a9aaa;background:#f5f7fa;border-color:#ddd}.loc-warn[data-v-413de81b]{color:#856404;background:#fff3cd;border-color:#ffe082}.loc-inspect[data-v-413de81b]{color:#1a5bbf;background:#d4e4fc;border-color:#b0c4e8}.loc-frozen[data-v-413de81b]{color:#a11a2a;background:#f8d7da;border-color:#f0b0b8}.loc-reserved[data-v-413de81b]{color:#6a3a9a;background:#e8d4fc;border-color:#d0b0e8}.lc-id[data-v-413de81b]{font-weight:600}.lc-mat[data-v-413de81b]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lc-occ[data-v-413de81b]{opacity:.8;font-size:9px}.drawer-overlay[data-v-413de81b]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-right[data-v-413de81b]{background:#fff;flex-direction:column;width:520px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-hdr[data-v-413de81b]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-hdr h3[data-v-413de81b]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-close[data-v-413de81b]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-body[data-v-413de81b]{flex:1;padding:14px 18px;overflow-y:auto}.det[data-v-413de81b]{padding:4px 0;font-size:12px;display:flex}.dl[data-v-413de81b]{color:#7a8a9a;flex-shrink:0;width:80px}.btn-p[data-v-413de81b]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.view-btns[data-v-413de81b]{gap:4px;display:flex}.view-btns .btn-s.active[data-v-413de81b]{color:#fff;background:#2384ff;border-color:#2384ff}.kpi-c.active[data-v-413de81b]{box-shadow:0 0 0 2px #2384ff}.wh3d-layout[data-v-413de81b]{gap:10px;height:calc(100vh - 300px);min-height:400px;display:flex}.wh3d-layout .loc-tree[data-v-413de81b]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex-shrink:0;width:200px;padding:8px;font-size:12px;overflow-y:auto}.wh3d-layout .loc-detail[data-v-413de81b]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex-shrink:0;width:260px;padding:10px;font-size:12px;overflow-y:auto}.sum-title[data-v-413de81b]{color:#1a2332;border-bottom:1px solid #eef1f5;margin-bottom:8px;padding-bottom:4px;font-size:13px;font-weight:600}.color-legend[data-v-413de81b]{margin-top:16px}.leg-title[data-v-413de81b]{color:#5a6a7a;margin-bottom:4px;font-size:11px;font-weight:600}.leg-item[data-v-413de81b]{color:#5a6a7a;align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.leg-dot[data-v-413de81b]{border-radius:2px;flex-shrink:0;width:12px;height:12px}.leg-normal[data-v-413de81b]{background:#d4edda}.leg-idle[data-v-413de81b]{background:#f5f7fa;border:1px solid #ddd}.leg-warn[data-v-413de81b]{background:#fff3cd}.leg-frozen[data-v-413de81b]{background:#f8d7da}.leg-inspect[data-v-413de81b]{background:#d4e4fc}.bottom-grid[data-v-413de81b]{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.alert-panel[data-v-413de81b],.task-panel[data-v-413de81b]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:10px}.panel-title[data-v-413de81b]{color:#5a6a7a;border-bottom:1px solid #eef1f5;margin-bottom:6px;padding-bottom:4px;font-size:12px;font-weight:600}.alert-item[data-v-413de81b]{border-bottom:1px solid #f8f9fa;gap:6px;padding:3px 0;font-size:11px;display:flex}.alert-mat[data-v-413de81b]{color:#1a2332;flex:1}.alert-qty[data-v-413de81b]{color:#e74b3c}.task-item[data-v-413de81b]{border-bottom:1px solid #f8f9fa;gap:8px;padding:3px 0;font-size:11px;display:flex}.task-type[data-v-413de81b]{color:#2384ff;width:50px}.task-qty[data-v-413de81b]{color:#1a2332;width:40px}.task-status[data-v-413de81b]{color:#8a9aaa}.mon-scene[data-v-9256090f]{background:#eef1f5;border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden}.scene-error[data-v-9256090f]{color:#e74b3c;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.btn-s[data-v-9256090f]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.scene-toolbar[data-v-9256090f]{z-index:10;gap:4px;display:flex;position:absolute;top:8px;left:8px}.tool-btn[data-v-9256090f]{cursor:pointer;background:#ffffffe6;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.tool-btn[data-v-9256090f]:hover{background:#fff}.page-view[data-v-d57c38da]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-d57c38da]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-d57c38da]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.page-header h2[data-v-d57c38da]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.update-time[data-v-d57c38da]{color:#8a9aaa;font-size:11px}.btn-s[data-v-d57c38da]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.kpi-row[data-v-d57c38da]{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.kpi-c[data-v-d57c38da]{text-align:center;cursor:pointer;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:70px;padding:6px}.kpi-c .kv[data-v-d57c38da]{color:#1a2332;font-size:15px;font-weight:700}.kpi-c .kl[data-v-d57c38da]{color:#7a8a9a;margin-top:1px;font-size:9px}.kpi-c.warn .kv[data-v-d57c38da]{color:#e74b3c}.kpi-c.active[data-v-d57c38da]{box-shadow:0 0 0 2px #2384ff}.filter-row[data-v-d57c38da]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.inp-s[data-v-d57c38da]{background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 8px;font-size:12px}.chk[data-v-d57c38da]{color:#5a6a7a;align-items:center;gap:4px;font-size:12px;display:flex}.mon-layout[data-v-d57c38da]{gap:8px;height:440px;display:flex}.mon-tree[data-v-d57c38da]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex-shrink:0;width:195px;padding:6px;font-size:11px;overflow-y:auto}.tree-hdr[data-v-d57c38da]{cursor:pointer;color:#1a2332;padding:4px;font-size:11px;font-weight:600}.tree-child[data-v-d57c38da]{cursor:pointer;color:#5a6a7a;border-radius:3px;align-items:center;gap:3px;padding:3px 4px 3px 16px;font-size:11px;display:flex}.tree-child.active[data-v-d57c38da]{color:#2384ff;background:#f0f7ff}.tree-name[data-v-d57c38da]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-status[data-v-d57c38da]{color:#8a9aaa;font-size:9px}.dot[data-v-d57c38da]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.eq-running[data-v-d57c38da]{background:#28a66a}.eq-stopped[data-v-d57c38da]{background:#7d8794}.eq-maintenance[data-v-d57c38da]{background:#f0b429}.eq-alarm[data-v-d57c38da]{background:#e74b3c}.mon-scene-wrap[data-v-d57c38da]{background:#eef1f5;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:0;overflow:hidden}.mon-panel[data-v-d57c38da]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex-shrink:0;width:260px;padding:8px;font-size:11px;overflow-y:auto}.no-sel[data-v-d57c38da]{color:#8a9aaa;text-align:center;padding:30px 0;font-size:12px}.pan-hdr[data-v-d57c38da]{color:#1a2332;margin-bottom:6px;font-size:13px;font-weight:600}.det[data-v-d57c38da]{padding:3px 0;font-size:11px;display:flex}.dl[data-v-d57c38da]{color:#7a8a9a;flex-shrink:0;width:70px}.param-val[data-v-d57c38da]{color:#1a2332;font-weight:500}.param-val.over[data-v-d57c38da]{color:#e74b3c}.param-range[data-v-d57c38da]{color:#8a9aaa;margin-left:4px;font-size:9px}.overs[data-v-d57c38da]{color:#e74b3c}.tag[data-v-d57c38da]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.err[data-v-d57c38da]{color:#a11a2a;background:#f8d7da}.warn[data-v-d57c38da]{color:#856404;background:#fff3cd}.eq-running[data-v-d57c38da]{color:#1a7a3a;background:#d4edda}.eq-stopped[data-v-d57c38da]{color:#5a6a7a;background:#e8ecf1}.eq-maintenance[data-v-d57c38da]{color:#856404;background:#fff3cd}.eq-alarm[data-v-d57c38da]{color:#a11a2a;background:#f8d7da}.sec-title-sm[data-v-d57c38da]{color:#5a6a7a;border-bottom:1px solid #eef1f5;margin:6px 0 3px;padding-bottom:3px;font-size:11px;font-weight:600}.alarm-mini[data-v-d57c38da]{color:#1a2332;gap:6px;padding:3px 0;font-size:11px;display:flex}.no-alarm[data-v-d57c38da]{color:#28a66a;font-size:11px}.as-pending[data-v-d57c38da]{color:#5a6a7a;background:#e8ecf1}.as-rectifying[data-v-d57c38da]{color:#1a5bbf;background:#d4e4fc}.as-recheck[data-v-d57c38da]{color:#856404;background:#fff3cd}.as-closed[data-v-d57c38da]{color:#1a7a3a;background:#d4edda}.table-w[data-v-d57c38da]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:10px;overflow:auto}.dt[data-v-d57c38da]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-d57c38da]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:7px 10px;font-weight:600}.dt td[data-v-d57c38da]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:7px 10px}.code[data-v-d57c38da]{color:#2384ff;font-family:monospace}.title-c[data-v-d57c38da]{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.btn-primary[data-v-d57c38da]{color:#2384ff;border-color:#2384ff}.btn-warn[data-v-d57c38da]{color:#856404;border-color:#f0b429}.btn-ok[data-v-d57c38da]{color:#1a7a3a;border-color:#28a66a}.bottom-grid[data-v-d57c38da]{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px;display:grid}.chart-box[data-v-d57c38da]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:8px}.chart-title[data-v-d57c38da]{color:#5a6a7a;margin-bottom:4px;font-size:11px;font-weight:600}.ch-svg[data-v-d57c38da]{width:100%;height:40px}.oee-row[data-v-d57c38da]{cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:10px;display:flex}.oee-row[data-v-d57c38da]:hover{background:#f0f7ff}.oee-name[data-v-d57c38da]{text-overflow:ellipsis;white-space:nowrap;color:#1a2332;width:90px;overflow:hidden}.oee-bar[data-v-d57c38da]{background:#e0e4e8;border-radius:3px;flex:1;height:5px;overflow:hidden}.oee-fill[data-v-d57c38da]{background:#2384ff;border-radius:3px;height:100%}.pie-row[data-v-d57c38da]{align-items:center;gap:6px;padding:2px 0;font-size:10px;display:flex}.pie-lbl[data-v-d57c38da]{color:#5a6a7a;width:80px}.pie-bar[data-v-d57c38da]{background:#e0e4e8;border-radius:3px;flex:1;height:5px;overflow:hidden}.pie-fill[data-v-d57c38da]{background:#28a66a;border-radius:3px;height:100%}.btn-p[data-v-d57c38da]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.drawer-overlay[data-v-d57c38da]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-right[data-v-d57c38da]{background:#fff;flex-direction:column;width:520px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-hdr[data-v-d57c38da]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-hdr h3[data-v-d57c38da]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-close[data-v-d57c38da]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-body[data-v-d57c38da]{flex:1;padding:14px 18px;overflow-y:auto}.tl-list[data-v-d57c38da]{border-left:2px solid #e0e4e8;margin:6px 0;padding-left:14px}.tl-node[data-v-d57c38da]{gap:8px;margin-bottom:8px;display:flex;position:relative}.tl-marker[data-v-d57c38da]{background:#d0d5dd;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;left:-17px}.tl-marker.active[data-v-d57c38da]{background:#2384ff}.tl-marker.done[data-v-d57c38da]{background:#28a66a}.tl-act[data-v-d57c38da]{color:#1a2332;font-size:11px}.tl-meta[data-v-d57c38da]{color:#8a9aaa;font-size:10px}.page-view[data-v-3681b3bf]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-3681b3bf]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-3681b3bf]{margin-bottom:10px}.page-header h2[data-v-3681b3bf]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.btn-s[data-v-3681b3bf]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;margin-right:2px;padding:4px 10px;font-size:11px}.btn-blue[data-v-3681b3bf]{color:#2384ff;border-color:#2384ff}.btn-warn[data-v-3681b3bf]{color:#856404;border-color:#f0b429}.btn-ok[data-v-3681b3bf]{color:#1a7a3a;border-color:#28a66a}.kpi-row[data-v-3681b3bf]{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.kpi-c[data-v-3681b3bf]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:60px;padding:5px}.kpi-c .kv[data-v-3681b3bf]{color:#1a2332;font-size:14px;font-weight:700}.kpi-c .kl[data-v-3681b3bf]{color:#7a8a9a;margin-top:1px;font-size:9px}.kpi-c.warn .kv[data-v-3681b3bf]{color:#e74b3c}.filter-row[data-v-3681b3bf]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.inp-s[data-v-3681b3bf]{background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 8px;font-size:12px}.flt-badge[data-v-3681b3bf]{color:#1a5bbf;cursor:pointer;background:#d4e4fc;border-radius:3px;padding:2px 8px;font-size:11px}.table-w[data-v-3681b3bf]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:8px;overflow:auto}.dt[data-v-3681b3bf]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-3681b3bf]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:6px 8px;font-weight:600}.dt td[data-v-3681b3bf]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:6px 8px}.code[data-v-3681b3bf]{color:#2384ff;cursor:pointer;font-family:monospace}.title-c[data-v-3681b3bf]{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.tag[data-v-3681b3bf]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.st-待执行[data-v-3681b3bf]{color:#5a6a7a;background:#e8ecf1}.st-进行中[data-v-3681b3bf]{color:#1a5bbf;background:#d4e4fc}.st-待复核[data-v-3681b3bf]{color:#856404;background:#fff3cd}.st-已完成[data-v-3681b3bf]{color:#1a7a3a;background:#d4edda}.lv-紧急[data-v-3681b3bf]{color:#a11a2a;background:#f8d7da}.lv-重要[data-v-3681b3bf]{color:#856404;background:#fff3cd}.lv-一般[data-v-3681b3bf],.rs-PENDING[data-v-3681b3bf]{color:#5a6a7a;background:#e8ecf1}.rs-ACKED[data-v-3681b3bf]{color:#1a5bbf;background:#d4e4fc}.rs-IN_PROGRESS[data-v-3681b3bf]{color:#856404;background:#fff3cd}.rs-REVIEW[data-v-3681b3bf]{color:#1a5bbf;background:#d4e4fc}.rs-COMPLETED[data-v-3681b3bf]{color:#1a7a3a;background:#d4edda}.ms-待执行[data-v-3681b3bf]{color:#5a6a7a;background:#e8ecf1}.ms-进行中[data-v-3681b3bf]{color:#1a5bbf;background:#d4e4fc}.ms-已完成[data-v-3681b3bf]{color:#1a7a3a;background:#d4edda}.err[data-v-3681b3bf]{color:#a11a2a;background:#f8d7da}.ok[data-v-3681b3bf]{color:#1a7a3a;background:#d4edda}.warn[data-v-3681b3bf]{color:#856404;background:#fff3cd}.overs[data-v-3681b3bf]{color:#e74b3c;font-weight:600}.warn-t[data-v-3681b3bf]{color:#f0b429}.nrm[data-v-3681b3bf]{color:#5a6a7a}.pbar-s[data-v-3681b3bf]{vertical-align:middle;background:#e0e4e8;border-radius:3px;width:35px;height:5px;display:inline-block;overflow:hidden}.pfill-s[data-v-3681b3bf]{background:#2384ff;border-radius:3px;height:100%}.pct[data-v-3681b3bf]{color:#5a6a7a;margin-left:3px;font-size:10px}.chart-row[data-v-3681b3bf]{gap:10px;min-height:220px;margin-top:8px;display:flex}.chart-main[data-v-3681b3bf]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:68;min-width:0;padding:8px}.chart-side[data-v-3681b3bf]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:32;min-width:0;padding:8px}.drawer-o[data-v-3681b3bf]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-r[data-v-3681b3bf]{background:#fff;flex-direction:column;width:480px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-h[data-v-3681b3bf]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.drawer-h h3[data-v-3681b3bf]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-x[data-v-3681b3bf]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-b[data-v-3681b3bf]{flex:1;padding:12px 16px;overflow-y:auto}.det[data-v-3681b3bf]{padding:3px 0;font-size:11px;display:flex}.dl[data-v-3681b3bf]{color:#7a8a9a;flex-shrink:0;width:55px}.sec-sm[data-v-3681b3bf]{color:#5a6a7a;border-bottom:1px solid #eef1f5;margin:8px 0 4px;padding-bottom:3px;font-size:11px;font-weight:600}.ci-row[data-v-3681b3bf]{border-bottom:1px solid #f0f2f5;justify-content:space-between;padding:3px 0;font-size:11px;display:flex}.tl-list[data-v-3681b3bf]{border-left:2px solid #e0e4e8;margin:6px 0;padding-left:14px}.tl-node[data-v-3681b3bf]{gap:8px;margin-bottom:6px;display:flex;position:relative}.tl-m[data-v-3681b3bf]{background:#2384ff;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:-15px}.tl-i[data-v-3681b3bf]{color:#1a2332;font-size:11px}.btn-p[data-v-3681b3bf]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.page-view[data-v-55c89990]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-55c89990]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-55c89990]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.page-header h2[data-v-55c89990]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.hdr-actions[data-v-55c89990]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.btn-s[data-v-55c89990]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.btn-p[data-v-55c89990]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:5px 14px;font-size:12px}.inp-s[data-v-55c89990]{color:#1a2332;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 8px;font-size:11px}.kpi-row[data-v-55c89990]{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.kpi-c[data-v-55c89990]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:70px;padding:5px}.kpi-c .kv[data-v-55c89990]{color:#1a2332;font-size:14px;font-weight:700}.kpi-c .kl[data-v-55c89990]{color:#7a8a9a;margin-top:1px;font-size:9px}.kpi-c.warn .kv[data-v-55c89990]{color:#e74b3c}.chart-row[data-v-55c89990]{gap:8px;margin-bottom:8px;display:flex}.chart-box[data-v-55c89990]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;min-width:0;height:200px}.ch-t[data-v-55c89990]{color:#5a6a7a;margin-bottom:6px;font-size:11px;font-weight:600}.risk-item[data-v-55c89990]{cursor:pointer;border-bottom:1px solid #f0f2f5;justify-content:space-between;padding:4px 0;font-size:11px;display:flex}.risk-code[data-v-55c89990]{color:#1a2332;font-family:monospace}.overs[data-v-55c89990]{color:#e74b3c;font-weight:600}.tag[data-v-55c89990]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.ok[data-v-55c89990]{color:#1a7a3a;background:#d4edda}.err[data-v-55c89990]{color:#a11a2a;background:#f8d7da}.warn[data-v-55c89990]{color:#856404;background:#fff3cd}.table-w[data-v-55c89990]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;margin-bottom:8px;overflow:auto}.dt[data-v-55c89990]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-55c89990]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:6px 8px;font-weight:600}.dt td[data-v-55c89990]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:6px 8px}.code[data-v-55c89990]{color:#2384ff;cursor:pointer;font-family:monospace}.row-fail[data-v-55c89990]{background:#fff5f5}.prev-overlay[data-v-55c89990]{z-index:2000;background:#00000080;position:fixed;inset:0;overflow-y:auto}.prev-drawer[data-v-55c89990]{background:#fff;max-width:1100px;margin:20px auto;padding:40px;position:relative}.prev-hdr[data-v-55c89990]{text-align:center;border-bottom:2px solid #1a2332;margin-bottom:20px;padding-bottom:16px}.prev-title[data-v-55c89990]{color:#1a2332;font-size:20px;font-weight:700}.prev-sub[data-v-55c89990]{color:#5a6a7a;margin:4px 0;font-size:14px}.prev-name[data-v-55c89990]{color:#2384ff;margin-top:8px;font-size:16px;font-weight:600}.prev-meta[data-v-55c89990]{color:#7a8a9a;border-bottom:1px solid #eef1f5;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding-bottom:8px;font-size:11px;display:flex}.prev-sec[data-v-55c89990]{margin-bottom:16px}.prev-sec-t[data-v-55c89990]{color:#1a2332;border-bottom:1px solid #eef1f5;margin-bottom:6px;padding-bottom:4px;font-size:13px;font-weight:600}.prev-sum[data-v-55c89990]{color:#4a5a6a;font-size:12px;line-height:1.6}.prev-kpi-grid[data-v-55c89990]{flex-wrap:wrap;gap:8px;display:flex}.prev-kpi[data-v-55c89990]{text-align:center;background:#f5f7fa;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:80px;padding:8px}.prev-kv[data-v-55c89990]{color:#1a2332;font-size:16px;font-weight:700}.prev-kl[data-v-55c89990]{color:#7a8a9a;font-size:10px}.prev-footer[data-v-55c89990]{border-top:2px solid #1a2332;margin-top:20px;padding-top:16px}.pf-row[data-v-55c89990]{color:#1a2332;justify-content:space-between;font-size:12px;display:flex}.pf-date[data-v-55c89990]{text-align:right;color:#8a9aaa;margin-top:8px;font-size:11px}.prev-actions[data-v-55c89990]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media print{.prev-overlay[data-v-55c89990]{background:0 0;position:absolute}.prev-actions[data-v-55c89990],.debug-id[data-v-55c89990],.page-header[data-v-55c89990],.kpi-row[data-v-55c89990],.filter-row[data-v-55c89990]{display:none!important}.chart-box[data-v-55c89990]{break-inside:avoid}}.page-view[data-v-e5c321fb]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-e5c321fb]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-e5c321fb]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.page-header h2[data-v-e5c321fb]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.hdr-actions[data-v-e5c321fb]{gap:4px;display:flex}.btn-s[data-v-e5c321fb]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 10px;font-size:11px}.kpi-row[data-v-e5c321fb]{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.kpi-c[data-v-e5c321fb]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:70px;padding:5px}.kpi-c .kv[data-v-e5c321fb]{color:#1a2332;font-size:14px;font-weight:700}.kpi-c .kl[data-v-e5c321fb]{color:#7a8a9a;margin-top:1px;font-size:9px}.kpi-c.warn .kv[data-v-e5c321fb]{color:#e74b3c}.filter-row[data-v-e5c321fb]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.inp-s[data-v-e5c321fb]{color:#1a2332;background:#fff;border:1px solid #d0d5dd;border-radius:3px;padding:4px 8px;font-size:11px}.docs-layout[data-v-e5c321fb]{gap:8px;min-height:400px;display:flex}.doc-tree[data-v-e5c321fb]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex-shrink:0;width:200px;padding:6px;font-size:11px;overflow-y:auto}.tree-hdr[data-v-e5c321fb]{cursor:pointer;color:#1a2332;padding:4px;font-weight:600}.tree-ch[data-v-e5c321fb]{cursor:pointer;color:#5a6a7a;padding:3px 4px 3px 20px}.tree-ch.active[data-v-e5c321fb]{color:#2384ff;background:#f0f7ff}.doc-table[data-v-e5c321fb]{flex:1;min-width:0}.table-w[data-v-e5c321fb]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;overflow:auto}.dt[data-v-e5c321fb]{border-collapse:collapse;width:100%;font-size:11px}.dt th[data-v-e5c321fb]{text-align:left;color:#5a6a7a;white-space:nowrap;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:6px 8px;font-weight:600}.dt td[data-v-e5c321fb]{color:#1a2332;cursor:pointer;border-bottom:1px solid #f0f2f5;padding:6px 8px}.tag[data-v-e5c321fb]{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:10px}.ok[data-v-e5c321fb]{color:#1a7a3a;background:#d4edda}.err[data-v-e5c321fb]{color:#a11a2a;background:#f8d7da}.warn[data-v-e5c321fb]{color:#856404;background:#fff3cd}.wait[data-v-e5c321fb]{color:#5a6a7a;background:#e8ecf1}.drawer-o[data-v-e5c321fb]{z-index:1000;background:#0006;position:fixed;inset:0}.drawer-r[data-v-e5c321fb]{background:#fff;flex-direction:column;width:480px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000001a}.drawer-h[data-v-e5c321fb]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.drawer-h h3[data-v-e5c321fb]{color:#1a2332;margin:0;font-size:15px;font-weight:600}.btn-x[data-v-e5c321fb]{cursor:pointer;color:#8a9aaa;background:0 0;border:none;padding:4px 8px;font-size:16px}.drawer-b[data-v-e5c321fb]{flex:1;padding:12px 16px;font-size:11px;overflow-y:auto}.det[data-v-e5c321fb]{padding:3px 0;display:flex}.dl[data-v-e5c321fb]{color:#7a8a9a;flex-shrink:0;width:60px}.sec-sm[data-v-e5c321fb]{color:#5a6a7a;border-bottom:1px solid #eef1f5;margin:8px 0 4px;padding-bottom:3px;font-size:11px;font-weight:600}.tl-list[data-v-e5c321fb]{border-left:2px solid #e0e4e8;margin:6px 0;padding-left:14px}.tl-node[data-v-e5c321fb]{gap:8px;margin-bottom:6px;display:flex;position:relative}.tl-m[data-v-e5c321fb]{background:#2384ff;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:-15px}.tl-i[data-v-e5c321fb]{color:#1a2332;font-size:11px}.ver-item[data-v-e5c321fb]{border-bottom:1px solid #f0f2f5;padding:8px 0;font-size:11px}.ver-tag[data-v-e5c321fb]{color:#2384ff;margin-right:8px;font-weight:700}.ver-by[data-v-e5c321fb]{color:#5a6a7a;margin-right:8px}.ver-d[data-v-e5c321fb]{color:#8a9aaa}.ver-desc[data-v-e5c321fb]{color:#1a2332;margin-top:2px}.prev-overlay[data-v-e5c321fb]{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.prev-box[data-v-e5c321fb]{background:#fff;border-radius:6px;flex-direction:column;width:700px;max-height:85vh;display:flex}.prev-h[data-v-e5c321fb]{border-bottom:1px solid #e0e4e8;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.prev-body[data-v-e5c321fb]{flex:1;padding:20px;overflow-y:auto}.prev-placeholder[data-v-e5c321fb]{text-align:center;color:#8a9aaa;padding:40px}.prev-tools[data-v-e5c321fb]{justify-content:center;gap:6px;margin-top:16px;display:flex}.dialog[data-v-e5c321fb]{background:#fff;border-radius:6px;width:460px;margin:auto;padding:24px}.dialog h3[data-v-e5c321fb]{margin:0 0 14px}.btn[data-v-e5c321fb]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:6px 14px;font-size:12px}.dialog-actions[data-v-e5c321fb]{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.btn-p[data-v-e5c321fb]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:6px 14px;font-size:12px}.page-view[data-v-ca8f6eb8]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-ca8f6eb8]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header h2[data-v-ca8f6eb8]{color:#1a2332;margin:0 0 16px;font-size:18px;font-weight:600}.kpi-row[data-v-ca8f6eb8]{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.kpi-c[data-v-ca8f6eb8]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:4px;flex:1;min-width:100px;padding:12px}.kv[data-v-ca8f6eb8]{color:#1a2332;font-size:18px;font-weight:700}.kl[data-v-ca8f6eb8]{color:#7a8a9a;margin-top:2px;font-size:10px}.model-card[data-v-ca8f6eb8]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.mc-left[data-v-ca8f6eb8]{flex:1}.mc-name[data-v-ca8f6eb8]{color:#1a2332;font-size:16px;font-weight:600}.mc-code[data-v-ca8f6eb8]{color:#8a9aaa;margin:2px 0;font-family:monospace;font-size:11px}.mc-meta[data-v-ca8f6eb8]{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.tag[data-v-ca8f6eb8]{border-radius:3px;padding:2px 8px;font-size:11px}.pub[data-v-ca8f6eb8]{color:#1a7a3a;background:#d4edda}.hist[data-v-ca8f6eb8]{color:#5a6a7a;background:#e8ecf1}.mc-meta span[data-v-ca8f6eb8]:not(.tag){color:#7a8a9a;font-size:11px}.mc-info[data-v-ca8f6eb8]{color:#8a9aaa;margin-top:4px;font-size:11px}.mc-actions[data-v-ca8f6eb8]{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.btn-p[data-v-ca8f6eb8]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.btn[data-v-ca8f6eb8]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:8px 16px;font-size:13px}.btn-p[data-v-ca8f6eb8]:disabled{opacity:.5}.btn-s[data-v-ca8f6eb8]{color:#2384ff;cursor:pointer;background:#fff;border:1px solid #2384ff;border-radius:3px;padding:4px 10px;font-size:11px}.dialog-overlay[data-v-ca8f6eb8]{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-ca8f6eb8]{background:#fff;border-radius:6px;width:480px;max-height:80vh;padding:24px;overflow-y:auto}.dialog.wide[data-v-ca8f6eb8]{width:560px}.dialog h3[data-v-ca8f6eb8]{color:#1a2332;margin:0 0 14px;font-size:15px;font-weight:600}.sec-title[data-v-ca8f6eb8]{color:#5a6a7a;border-bottom:1px solid #eef1f5;margin:12px 0 6px;padding-bottom:4px;font-size:13px;font-weight:600}.det[data-v-ca8f6eb8]{padding:4px 0;font-size:12px;display:flex}.dl[data-v-ca8f6eb8]{color:#7a8a9a;flex-shrink:0;width:110px}.ok[data-v-ca8f6eb8]{color:#28a66a;font-weight:500}.ver-item[data-v-ca8f6eb8]{border-bottom:1px solid #f0f2f5;margin-bottom:14px;padding-bottom:12px}.ver-hdr[data-v-ca8f6eb8]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.ver-tag[data-v-ca8f6eb8]{color:#2384ff;font-size:13px;font-weight:700}.ver-date[data-v-ca8f6eb8]{color:#8a9aaa;font-size:11px}.ver-desc[data-v-ca8f6eb8]{color:#1a2332;margin:4px 0;font-size:12px}.ver-actions[data-v-ca8f6eb8]{margin-top:4px}.form-group[data-v-ca8f6eb8]{margin-bottom:12px}.form-group label[data-v-ca8f6eb8]{color:#4a5a6a;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.inp[data-v-ca8f6eb8]{box-sizing:border-box;border:1px solid #d0d5dd;border-radius:4px;width:100%;padding:8px;font-size:13px}textarea.inp[data-v-ca8f6eb8]{resize:vertical}.upload-zone[data-v-ca8f6eb8]{text-align:center;cursor:pointer;border:1px dashed #d0d5dd;border-radius:4px;padding:14px}.upload-zone p[data-v-ca8f6eb8]{color:#8a9aaa;margin:0;font-size:12px}.pbar[data-v-ca8f6eb8]{background:#e0e4e8;border-radius:3px;height:6px;margin:8px 0;position:relative;overflow:hidden}.pfill[data-v-ca8f6eb8]{background:#2384ff;height:100%;transition:width .15s}.pt[data-v-ca8f6eb8]{color:#7a8a9a;font-size:10px;position:absolute;top:-16px;right:0}.up-ok[data-v-ca8f6eb8]{color:#1a7a3a;background:#d4edda;border-radius:4px;margin:8px 0;padding:8px;font-size:12px}.up-warn[data-v-ca8f6eb8]{color:#a11a2a;background:#fef2f2;border-radius:4px;margin:8px 0;padding:8px;font-size:12px}.dialog-actions[data-v-ca8f6eb8]{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.page-view[data-v-46eced42]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-46eced42]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header[data-v-46eced42]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.page-header h2[data-v-46eced42]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.tabs[data-v-46eced42]{gap:4px;display:flex}.tab[data-v-46eced42]{cursor:pointer;color:#5a6a7a;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:6px 14px;font-size:12px}.tab.active[data-v-46eced42]{color:#fff;background:#2384ff;border-color:#2384ff}.btn-p[data-v-46eced42]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:8px 16px;font-size:13px;text-decoration:none}.card-list[data-v-46eced42]{gap:8px;display:grid}.card[data-v-46eced42]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:14px}.card-title[data-v-46eced42]{color:#1a2332;margin-bottom:2px;font-size:13px;font-weight:600}.card-meta[data-v-46eced42]{color:#7a8a9a;font-size:11px}.table-w[data-v-46eced42]{background:#fff;border:1px solid #e0e4e8;border-radius:4px;overflow:auto}.dt[data-v-46eced42]{border-collapse:collapse;width:100%;font-size:12px}.dt th[data-v-46eced42]{text-align:left;color:#5a6a7a;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:10px 14px;font-weight:600}.dt td[data-v-46eced42]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:10px 14px}.code[data-v-46eced42]{color:#5a6a7a;font-family:monospace}.tag[data-v-46eced42]{border-radius:3px;padding:2px 8px;font-size:11px}.ok[data-v-46eced42]{color:#1a7a3a;background:#d4edda}.warn[data-v-46eced42]{color:#856404;background:#fff3cd}.page-view[data-v-8d710026]{flex:1;padding:20px;overflow-y:auto}.debug-id[data-v-8d710026]{color:#ccc;z-index:9999;font-size:9px;position:fixed;bottom:4px;right:4px}.page-header h2[data-v-8d710026]{color:#1a2332;margin:0 0 16px;font-size:18px;font-weight:600}.step-bar[data-v-8d710026]{background:#f5f7fa;border-radius:6px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.step[data-v-8d710026]{color:#8a9aaa;background:#f5f7fa;border-right:1px solid #e0e4e8;flex:1;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}.step[data-v-8d710026]:last-child{border-right:none}.step.active[data-v-8d710026]{color:#1a5bbf;background:#d4e4fc;font-weight:600}.step.done[data-v-8d710026]{color:#1a7a3a;background:#d4edda}.step-num[data-v-8d710026]{color:#7a8a9a;background:#e0e4e8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:flex}.step.active .step-num[data-v-8d710026]{color:#fff;background:#2384ff}.step.done .step-num[data-v-8d710026]{color:#fff;background:#28a66a}.upload-card[data-v-8d710026]{background:#fff;border:1px solid #e0e4e8;border-radius:6px;max-width:720px;margin:0 auto;padding:24px}.step-0[data-v-8d710026]{gap:24px;display:flex}.s0-left[data-v-8d710026]{flex-shrink:0;width:280px}.s0-right[data-v-8d710026]{flex:1;min-width:0}.form-group[data-v-8d710026]{margin-bottom:14px}.form-group label[data-v-8d710026]{color:#4a5a6a;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.inp[data-v-8d710026]{box-sizing:border-box;border:1px solid #d0d5dd;border-radius:4px;width:100%;padding:8px 10px;font-size:13px}.btn[data-v-8d710026]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:6px 14px;font-size:12px}.drop-zone[data-v-8d710026]{text-align:center;cursor:pointer;border:2px dashed #d0d5dd;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:28px;display:flex}.drop-zone p[data-v-8d710026]{color:#8a9aaa;margin:8px 0 0;font-size:13px}.err-msg[data-v-8d710026]{color:#e74b3c;margin-top:6px;font-size:12px}.preview-summary[data-v-8d710026]{gap:16px;margin-bottom:12px;font-size:12px;display:flex}.err-c[data-v-8d710026]{color:#e74b3c}.warn-c[data-v-8d710026]{color:#f0b429}.preview-table[data-v-8d710026]{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:12px}.preview-table th[data-v-8d710026]{text-align:left;color:#5a6a7a;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:8px;font-weight:600}.preview-table td[data-v-8d710026]{border-bottom:1px solid #f0f2f5;padding:8px}.ok[data-v-8d710026]{color:#28a66a}.map-row[data-v-8d710026]{align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.map-src[data-v-8d710026]{width:100px;font-weight:500}.map-arr[data-v-8d710026]{color:#8a9aaa}.map-sel[data-v-8d710026]{border:1px solid #d0d5dd;border-radius:4px;flex:1;padding:5px;font-size:12px}.pbar[data-v-8d710026]{background:#e0e4e8;border-radius:4px;height:8px;margin:16px 0;position:relative;overflow:hidden}.pfill[data-v-8d710026]{background:#2384ff;border-radius:4px;height:100%;transition:width .15s}.pt[data-v-8d710026]{color:#5a6a7a;font-size:11px;position:absolute;top:-18px;right:0}.done-msg[data-v-8d710026]{color:#1a7a3a;background:#d4edda;border-radius:4px;margin:8px 0;padding:12px}.form-actions[data-v-8d710026]{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.btn-p[data-v-8d710026]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.btn-p[data-v-8d710026]:disabled{opacity:.5}.step-bar[data-v-4fa8c846]{background:#f5f7fa;border-radius:6px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.step[data-v-4fa8c846]{color:#8a9aaa;background:#f5f7fa;border-right:1px solid #e0e4e8;flex:1;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}.step[data-v-4fa8c846]:last-child{border-right:none}.step.active[data-v-4fa8c846]{color:#1a5bbf;background:#d4e4fc;font-weight:600}.step.done[data-v-4fa8c846]{color:#1a7a3a;background:#d4edda}.step-num[data-v-4fa8c846]{color:#7a8a9a;background:#e0e4e8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:flex}.step.active .step-num[data-v-4fa8c846]{color:#fff;background:#2384ff}.step.done .step-num[data-v-4fa8c846]{color:#fff;background:#28a66a}.step-label[data-v-4fa8c846]{white-space:nowrap}.page-view[data-v-204063a3]{flex:1;padding:20px;overflow-y:auto}.page-header h2[data-v-204063a3]{color:#1a2332;margin:0 0 16px;font-size:18px;font-weight:600}.summary-cards[data-v-204063a3]{gap:12px;margin-bottom:16px;display:flex}.sc[data-v-204063a3]{text-align:center;background:#fff;border:1px solid #e0e4e8;border-radius:6px;flex:1;padding:14px}.sc-v[data-v-204063a3]{color:#1a2332;font-size:22px;font-weight:700;display:block}.sc-l[data-v-204063a3]{color:#7a8a9a;font-size:11px}.ok-c[data-v-204063a3]{color:#28a66a!important}.err-c[data-v-204063a3]{color:#e74b3c!important}.table-w[data-v-204063a3]{background:#fff;border:1px solid #e0e4e8;border-radius:6px;overflow:auto}.dt[data-v-204063a3]{border-collapse:collapse;width:100%;font-size:12px}.dt th[data-v-204063a3]{text-align:left;color:#5a6a7a;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:10px 14px;font-weight:600}.dt td[data-v-204063a3]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:10px 14px}.raw[data-v-204063a3]{color:#7a8a9a;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:monospace;font-size:11px;overflow:hidden}.tag[data-v-204063a3]{border-radius:3px;padding:2px 8px;font-size:11px}.err-b[data-v-204063a3]{color:#a11a2a;background:#f8d7da}.ok-b[data-v-204063a3]{color:#1a7a3a;background:#d4edda}.form-actions[data-v-204063a3]{justify-content:space-between;margin-top:16px;display:flex}.btn[data-v-204063a3]{cursor:pointer;color:#1a2332;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:8px 16px;font-size:13px;text-decoration:none}.btn-p[data-v-204063a3]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.state-l[data-v-204063a3]{text-align:center;color:#8a9aaa;padding:48px}.page-view[data-v-cf89d0ba]{flex:1;padding:20px;overflow-y:auto}.page-header h2[data-v-cf89d0ba]{color:#1a2332;margin:0 0 16px;font-size:18px;font-weight:600}.mapping-card[data-v-cf89d0ba]{background:#fff;border:1px solid #e0e4e8;border-radius:6px;padding:20px}.template-bar[data-v-cf89d0ba]{align-items:center;gap:8px;margin-bottom:16px;display:flex}.inp-s[data-v-cf89d0ba]{border:1px solid #d0d5dd;border-radius:4px;padding:6px 10px;font-size:12px}.btn[data-v-cf89d0ba]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:6px 14px;font-size:12px}.mt[data-v-cf89d0ba]{border-collapse:collapse;width:100%;font-size:12px}.mt th[data-v-cf89d0ba]{text-align:left;color:#5a6a7a;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:8px 12px;font-weight:600}.mt td[data-v-cf89d0ba]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:8px 12px}.mt select[data-v-cf89d0ba]{width:100%}.sample[data-v-cf89d0ba]{color:#7a8a9a;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-family:monospace;font-size:11px;overflow:hidden}.req[data-v-cf89d0ba]{color:#e74b3c;font-weight:700}.missing[data-v-cf89d0ba]{background:#fff5f5}.form-actions[data-v-cf89d0ba]{justify-content:space-between;margin-top:16px;display:flex}.btn-p[data-v-cf89d0ba]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.btn-p[data-v-cf89d0ba]:disabled{opacity:.5}.tag[data-v-95b2e55c]{white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:500}.m-matched[data-v-95b2e55c]{color:#1a7a3a;background:#d4edda}.m-fuzzy[data-v-95b2e55c]{color:#856404;background:#fff3cd}.m-unmatched[data-v-95b2e55c]{color:#a11a2a;background:#f8d7da}.m-conflict[data-v-95b2e55c]{color:#e74b3c;background:#fef2f2}.m-ignored[data-v-95b2e55c]{color:#7a8a9a;background:#e8ecf1}.page-view[data-v-3278e307]{flex:1;padding:20px;overflow-y:auto}.page-header h2[data-v-3278e307]{color:#1a2332;margin:0 0 16px;font-size:18px;font-weight:600}.tab-bar[data-v-3278e307]{gap:4px;margin-bottom:12px;display:flex}.tab[data-v-3278e307]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:8px 16px;font-size:12px}.tab.active[data-v-3278e307]{color:#fff;background:#2384ff;border-color:#2384ff}.cnt[data-v-3278e307]{margin-left:4px;font-weight:600}.table-w[data-v-3278e307]{background:#fff;border:1px solid #e0e4e8;border-radius:6px;overflow:auto}.dt[data-v-3278e307]{border-collapse:collapse;width:100%;font-size:12px}.dt th[data-v-3278e307]{text-align:left;color:#5a6a7a;background:#f5f7fa;border-bottom:1px solid #e0e4e8;padding:10px 14px;font-weight:600}.dt td[data-v-3278e307]{color:#1a2332;border-bottom:1px solid #f0f2f5;padding:10px 14px}.btn-s[data-v-3278e307]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:4px 10px;font-size:11px}.btn-s.ok[data-v-3278e307]{color:#28a66a;border-color:#28a66a}.btn-s.warn[data-v-3278e307]{color:#856404;border-color:#f0b429}.form-actions[data-v-3278e307]{justify-content:space-between;margin-top:16px;display:flex}.btn[data-v-3278e307]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:8px 16px;font-size:13px}.btn-p[data-v-3278e307]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.btn-p[data-v-3278e307]:disabled{opacity:.5}.state-l[data-v-3278e307]{text-align:center;color:#8a9aaa;padding:48px}.page-view[data-v-47c27474]{flex:1;padding:20px;overflow-y:auto}.page-header[data-v-47c27474]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header h2[data-v-47c27474]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.project-grid[data-v-47c27474]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.project-card[data-v-47c27474]{cursor:pointer;background:#fff;border:1px solid #e0e4e8;border-radius:6px;padding:16px;transition:all .15s}.project-card[data-v-47c27474]:hover{box-shadow:0 2px 8px #0000000f}.project-card.active[data-v-47c27474]{border-color:#2384ff;box-shadow:0 0 0 1px #2384ff}.card-header[data-v-47c27474]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-code[data-v-47c27474]{color:#7a8a9a;font-family:monospace;font-size:11px}.current-badge[data-v-47c27474]{color:#1a5bbf;background:#d4e4fc;border-radius:3px;padding:1px 6px;font-size:10px}.card-title[data-v-47c27474]{color:#1a2332;margin-bottom:6px;font-size:14px;font-weight:600}.card-meta[data-v-47c27474]{color:#7a8a9a;gap:8px;font-size:12px;display:flex}.card-actions[data-v-47c27474]{gap:6px;margin-top:10px;display:flex}.btn-primary[data-v-47c27474]{color:#fff;cursor:pointer;background:#2384ff;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.btn-primary[data-v-47c27474]:hover{background:#1a6fd9}.btn-primary[data-v-47c27474]:disabled{opacity:.6}.btn[data-v-47c27474]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:8px 16px;font-size:13px}.btn-sm[data-v-47c27474]{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:4px;padding:4px 10px;font-size:11px}.btn-primary-sm[data-v-47c27474]{color:#fff;background:#2384ff;border-color:#2384ff}.btn-danger[data-v-47c27474]{color:#e74b3c;border-color:#e74b3c}.dialog-overlay[data-v-47c27474]{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-47c27474]{background:#fff;border-radius:8px;width:440px;max-height:80vh;padding:24px;overflow-y:auto}.dialog h3[data-v-47c27474]{margin:0 0 16px;font-size:16px}.form-group[data-v-47c27474]{margin-bottom:12px}.form-group label[data-v-47c27474]{color:#4a5a6a;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.form-group input[data-v-47c27474]{box-sizing:border-box;border:1px solid #d0d5dd;border-radius:4px;width:100%;padding:8px 10px;font-size:13px}.dialog-actions[data-v-47c27474]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.state-loading[data-v-47c27474],.state-error[data-v-47c27474],.state-empty[data-v-47c27474]{text-align:center;color:#8a9aaa;padding:48px;font-size:14px}.state-error[data-v-47c27474]{color:#e74b3c}*{box-sizing:border-box;margin:0;padding:0}html,body{color:#1a2332;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef1f5;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}#app{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c5cdd6;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a0aab6}
