:root{--bg: #f4f6f8;--panel: #ffffff;--border: #e2e6ea;--text: #1f2933;--muted: #6b7785;--primary: #2563eb;--primary-d: #1d4ed8;--header: #1f2937;--accent: #0ea5e9;--tab-rail: #ffffff;--tab-rule: #c3d3e8;--tab-rule-l1: #a9bdd8;--tab-divider: #9fb6d6;--tab-active-bg: #d6e5f8;--tab-active-bg-l1: #c2d9f6;--tab-active-fg: #16253a;--tab-blur-bg: #e7ecf3;--tab-merged-active-bg: #eaf1ff;--tab-blur-fg: #3d4a5c;--tab-idle-fg: #52627a;--tab-hover-bg: #ecf3fc;--tab-hover-fg: #2b3a4f;--tab-icon: #6a798f;--tab-icon-active: #2f3e54;--tab-icon-hover: #1e2b3d;--tab-icon-hover-bg: rgba(22, 37, 58, .08);--tab-sep: #b6c6dc;--tab-asep: #ccd9ea}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg)}button{cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text);padding:6px 12px;border-radius:6px;font-size:13px}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover{background:var(--primary-d)}input,select,textarea{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:13px;width:100%}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border:1px solid var(--border);padding:6px 8px;text-align:left}th{background:#f0f3f6}.muted{color:var(--muted)}.panel-pad{padding:12px;height:100%;overflow:auto}.toolbar{display:flex;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.col-rsz{position:absolute;top:0;right:0;bottom:0;width:7px;cursor:col-resize;z-index:2;touch-action:none}.col-rsz:after{content:"";position:absolute;left:50%;transform:translate(-50%);top:4px;bottom:4px;width:1px;background:transparent;transition:background .12s}.col-rsz:hover:after,.col-rsz.on:after{background:var(--primary);width:2px}.pdm-process-ghost{position:fixed;top:0;left:0;z-index:3000;pointer-events:none;padding:3px 10px;border:1px solid var(--primary);border-radius:4px;background:#eff4fff5;color:#1d4ed8;font-size:12px;white-space:nowrap;box-shadow:0 2px 8px #0f172a2e}.pdm-pack-ghost{position:fixed;top:0;left:0;z-index:3000;pointer-events:none;display:flex;align-items:center;gap:6px;max-width:280px;padding:3px 10px;border:1px solid #d97706;border-radius:4px;background:#fffbf0f7;color:#92400e;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px #0f172a2e}.dv-resize-container .dv-groupview.dv-groupview-floating{background:#fff;border-top-left-radius:0;border-top-right-radius:0;overflow:hidden}.dv-resize-container .dv-groupview.dv-groupview-floating>.dv-content-container{background:#fff}.dv-floating-overlay-host{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;height:auto!important;z-index:9000!important}.dockview-theme-light .dv-tabs-and-actions-container{--dv-tabs-and-actions-container-height: 33px;font-size:12px;background:var(--tab-rail);border-bottom:1px solid var(--tab-rule)}.dockview-theme-light .dv-tabs-and-actions-container .dv-scrollable{flex-grow:1}.dockview-theme-light .dv-tabs-and-actions-container .dv-void-container{flex-grow:0}.dockview-theme-light .dv-tabs-container>.dv-tab{position:relative;flex:1 1 0;min-width:0;justify-content:flex-start;--dv-activegroup-visiblepanel-tab-background-color: var(--tab-active-bg);--dv-activegroup-visiblepanel-tab-color: var(--tab-active-fg);--dv-activegroup-hiddenpanel-tab-background-color: transparent;--dv-activegroup-hiddenpanel-tab-color: var(--tab-idle-fg);--dv-inactivegroup-visiblepanel-tab-background-color: var(--tab-blur-bg);--dv-inactivegroup-visiblepanel-tab-color: var(--tab-blur-fg);--dv-inactivegroup-hiddenpanel-tab-background-color: transparent;--dv-inactivegroup-hiddenpanel-tab-color: var(--tab-idle-fg)}.dockview-theme-light .dv-tabs-container>.dv-tab:not(.dv-active-tab):hover{--dv-activegroup-hiddenpanel-tab-background-color: var(--tab-hover-bg);--dv-activegroup-hiddenpanel-tab-color: var(--tab-hover-fg);--dv-inactivegroup-hiddenpanel-tab-background-color: var(--tab-hover-bg);--dv-inactivegroup-hiddenpanel-tab-color: var(--tab-hover-fg)}.dockview-theme-light .dv-tabs-and-actions-container .dv-tabs-container>.dv-tab:not(:first-child):not(.dv-active-tab):not(.dv-active-tab+*):not(:hover):before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--tab-divider);pointer-events:none}.dockview-theme-light .dv-tab:focus-within:after,.dockview-theme-light .dv-tab:focus:after{content:none;outline:none!important}.wb-host>.dockview-theme-light .dv-tabs-and-actions-container{--dv-tabs-and-actions-container-height: 45px;font-size:13px;border-bottom-color:var(--tab-rule-l1)}.wb-host>.dockview-theme-light .dv-tabs-container>.dv-tab{flex:0 1 auto;padding:0 16px 0 14px;--dv-activegroup-visiblepanel-tab-background-color: var(--tab-active-bg-l1)}.wb-host>.dockview-theme-light .dv-tabs-container>.dv-tab.dv-active-tab{box-shadow:none}.dockview-theme-light .dockview-theme-light .dockview-theme-light .dv-tabs-and-actions-container{--dv-tabs-and-actions-container-height: 33px;font-size:12px;border-bottom-color:var(--tab-rule)}.dockview-theme-light .dockview-theme-light .dockview-theme-light .dv-tabs-container>.dv-tab{flex:1 1 0;padding:0 8px 0 10px;--dv-activegroup-visiblepanel-tab-background-color: var(--tab-active-bg)}.dockview-theme-light .dockview-theme-light .dockview-theme-light .dv-tabs-and-actions-container:not(.dv-single-tab) .dv-tabs-container>.dv-tab{--dv-activegroup-visiblepanel-tab-background-color: var(--tab-merged-active-bg);--dv-inactivegroup-visiblepanel-tab-background-color: var(--tab-merged-active-bg)}.dockview-theme-light .dockview-theme-light .dockview-theme-light .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container>.dv-tab{padding:0}.dockview-theme-light .dockview-theme-light .dockview-theme-light .dv-tabs-and-actions-container:not(.dv-single-tab) .dv-tabs-container>.dv-tab{flex:0 1 auto}.dockview-theme-light .dockview-theme-light .dockview-theme-light .dv-groupview.dv-active-group>.dv-tabs-and-actions-container:not(.dv-single-tab){background:var(--tab-active-bg)}.dockview-theme-light .dockview-theme-light .dockview-theme-light .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container:not(.dv-single-tab){background:var(--tab-blur-bg)}.dv-resize-container .dv-groupview.dv-groupview-floating>.dv-tabs-and-actions-container{background:var(--tab-rail);border-bottom:1px solid var(--tab-rule-l1)}.dockview-theme-light.dockview-theme-light{--dv-icon-hover-background-color: var(--tab-icon-hover-bg);--dv-tabs-container-scrollbar-color: var(--tab-divider);--dv-tab-divider-color: var(--tab-rule)}.dv-context-menu.dv-context-menu{background:var(--tab-rail);color:var(--text);border:1px solid var(--tab-rule-l1)}.dv-context-menu.dv-context-menu .dv-context-menu-item:hover{background:var(--tab-hover-bg);color:var(--tab-hover-fg)}.dv-context-menu.dv-context-menu .dv-context-menu-separator{background:var(--tab-rule)}.dv-tabs-overflow-container.dv-tabs-overflow-container{background:var(--tab-rail);--dv-activegroup-visiblepanel-tab-background-color: var(--tab-active-bg);--dv-activegroup-visiblepanel-tab-color: var(--tab-active-fg);--dv-activegroup-hiddenpanel-tab-background-color: transparent;--dv-activegroup-hiddenpanel-tab-color: var(--tab-idle-fg)}.dv-tabs-overflow-container.dv-tabs-overflow-container .dv-tab:not(.dv-active-tab):hover{background-color:var(--tab-hover-bg);color:var(--tab-hover-fg)}.pk-panel{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff;font-size:12.5px}.pk-msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;max-width:calc(100% - 48px);padding:7px 18px;border-radius:14px;font-size:12.5px;line-height:1.5;text-align:center;word-break:break-all;box-shadow:0 4px 16px #0f172a29;pointer-events:none}.pk-msg.ok{border:1px solid #bbf7d0;background:#f0fdf4;color:#15803d}.pk-msg.error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.pk-toast-enter-active,.pk-toast-leave-active{transition:opacity .18s ease,transform .18s ease}.pk-toast-enter-from,.pk-toast-leave-to{opacity:0;transform:translate(-50%,-50%) scale(.9)}.pk-toolbar{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:4px 6px;border-bottom:1px solid var(--border);background:var(--panel)}.pk-tb{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:#55637a;cursor:pointer}.pk-tb:hover{background:#eef2f7;color:#1e2b3d}.pk-tb:disabled{opacity:.4;cursor:default;background:transparent}.pk-tb.on{background:#e0ebfb;border-color:#b9d2f5;color:var(--primary)}.pk-tb-sep{width:1px;height:16px;margin:0 3px;background:var(--border)}.pk-tb-text{margin-left:auto;padding-right:4px;color:var(--muted);font-size:11.5px}.pk-tb-label{padding-left:2px;color:#374151;font-size:12.5px;font-weight:600}.pk-tb-scope{color:var(--muted);font-size:11.5px}.pk-foot-hint{flex-shrink:0;padding:5px 10px 6px;border-top:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:11.5px;line-height:1.55}.pk-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--muted);font-size:12px;text-align:center;line-height:1.7}.pk-rows{flex:1;min-height:0;overflow:auto;padding:4px 0 12px}.pk-row{position:relative;display:flex;align-items:center;height:26px;padding-right:8px;cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap}.pk-row:hover{background:#f5f7fa}.pk-row.on{background:#2563eb14;box-shadow:inset 0 0 0 1px var(--primary)}.pk-row.dragging{opacity:.45}.pk-row.drop-before:before,.pk-row.drop-after:before{content:"";position:absolute;left:4px;right:4px;height:2px;background:#d97706;z-index:3}.pk-row.drop-before:before{top:-1px}.pk-row.drop-after:before{bottom:-1px}.pk-row.drop-inside{background:#d977061a;box-shadow:inset 0 0 0 2px #d97706}.pk-rows.drop-root{background:#d977060d;box-shadow:inset 0 0 0 2px #d9770673}.pk-guide{position:relative;flex-shrink:0;width:16px;height:100%}.pk-guide.line:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:#dcdfe6}.pk-branch{position:relative;flex-shrink:0;width:16px;height:100%}.pk-branch:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:#dcdfe6}.pk-branch.half:before{bottom:auto;height:50%}.pk-branch:after{content:"";position:absolute;left:8px;right:0;top:50%;height:1px;background:#dcdfe6}.pk-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:3px;cursor:pointer}.pk-toggle.ph{cursor:default}.pk-icon{flex-shrink:0;display:inline-flex;align-items:center;width:16px;height:16px;margin-right:4px}.pk-label{flex-shrink:0;max-width:220px;overflow:hidden;text-overflow:ellipsis}.pk-label.ct{font-weight:500;color:#92400e}.pk-sub{margin-left:8px;color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis}.pk-fields{flex:1;min-width:0;min-height:0;overflow:auto;padding:10px 12px 16px;container-type:inline-size;container-name:pk-fields}.pk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 14px}@container pk-fields (max-width: 1080px){.pk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container pk-fields (max-width: 840px){.pk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container pk-fields (max-width: 540px){.pk-grid{grid-template-columns:1fr}}.pk-frow{display:flex;align-items:center;gap:6px;min-width:0}.pk-frow.multi{align-items:flex-start;grid-column:1 / -1}.pk-flabel{flex-shrink:0;width:78px;text-align:right;font-size:12.5px;color:#4b5563}.pk-frow input,.pk-frow select,.pk-frow textarea{flex:1;min-width:0;height:28px;padding:0 8px;border:1px solid #d5dbe3;border-radius:3px;font-size:12.5px;background:#f7f8fa;box-sizing:border-box}.pk-frow textarea{height:auto;min-height:54px;padding:5px 8px;resize:vertical;line-height:1.6}.pk-frow input:focus,.pk-frow select:focus,.pk-frow textarea:focus{outline:none;background:#fff;border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1f}.pk-frow input[readonly],.pk-frow input.ro{background:#eef1f5;color:var(--muted)}.pk-cell{position:relative;flex:1;min-width:0;display:flex;align-items:center}.pk-cell.unit input{padding-right:34px}.pk-suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;color:#98a1ad;pointer-events:none}.pk-tablewrap{flex:1;min-height:0;overflow:auto}.pk-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}.pk-table th{position:sticky;top:0;z-index:1;background:#f0f3f6;border:1px solid var(--border);padding:5px 8px;font-weight:500;text-align:left;white-space:nowrap}.pk-table td{border:1px solid var(--border);padding:4px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pk-table td.num,.pk-table th.num{text-align:right}.pk-table tbody tr{cursor:pointer}.pk-table tbody tr:hover{background:#f5f7fa}.pk-table tbody tr.on{background:#2563eb14;box-shadow:inset 0 0 0 1px var(--primary)}.pk-table tfoot td{background:#f7f9fb;border:1px solid var(--border);padding:4px 8px;font-weight:500}.pk-tree-cell{display:flex;align-items:center;min-width:0}.pk-tree-cell .pk-label{flex:1;min-width:0;max-width:none;white-space:nowrap}.pk-tindent{flex-shrink:0;height:1px}.pk-img-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px;gap:6px}.pk-img-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:4px;background:#fafbfc;overflow:hidden}.pk-img-stage img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}.pk-img-tip{color:var(--muted);font-size:11.5px;text-align:center;line-height:1.7;padding:8px}.pk-img-thumbs{flex-shrink:0;display:flex;flex-wrap:wrap;gap:4px}.pk-img-thumb{width:34px;height:34px;border:1px solid var(--border);border-radius:3px;background:#fff;overflow:hidden;cursor:pointer;padding:0}.pk-img-thumb.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.pk-img-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pk-img-btns{flex-shrink:0;display:flex;gap:6px}.pk-img-btn{flex:1;padding:4px 0;border:1px solid var(--border);border-radius:4px;background:#fff;font-size:12px;cursor:pointer}.pk-img-btn:hover{background:#f5f7fa}.pk-img-btn:disabled{opacity:.45;cursor:default;background:#fff}.pk-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0f172ad1;display:flex;align-items:center;justify-content:center;cursor:grab}.pk-preview-img{max-width:92vw;max-height:92vh;object-fit:contain;pointer-events:none;will-change:transform}.pk-preview-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);color:#fffc;font-size:12px}.pk-diagram{flex:1;min-height:0;overflow:auto;padding:8px;background:#fcfcfd}.pk-dcanvas{position:relative}.pk-dbox{position:absolute;box-sizing:border-box;overflow:hidden;border:1.1px solid #d97706;border-radius:5px;cursor:pointer;-webkit-user-select:none;user-select:none}.pk-dbox:not(.ct){border-color:#2563eb}.pk-dbox:hover{filter:brightness(.97)}.pk-dbox.on{box-shadow:inset 0 0 0 2px #b45309}.pk-dbox.on:not(.ct){box-shadow:inset 0 0 0 2px #1d4ed8}.pk-dhead{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:4px 7px 0}.pk-dname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;color:#78350f}.pk-dqty{flex-shrink:0;font-size:11px;font-weight:700;color:#b45309}.pk-ddims{padding:1px 7px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;color:#92400e;border-bottom:1px dashed rgba(217,119,6,.3)}.pk-dleaf{display:flex;gap:6px;padding:6px;height:100%}.pk-dimg{flex-shrink:0;width:32px;height:32px;border-radius:2px;object-fit:cover;background:#fff}.pk-dimg.ph{display:inline-block;background:#dbe6f7}.pk-dtext{display:flex;flex-direction:column;min-width:0;text-align:left}.pk-dcode{font-size:10px;line-height:13px;color:#64748b;word-break:break-all}.pk-dname2{font-size:11px;line-height:14px;font-weight:600;color:#1e40af;word-break:break-all}.pk-dspec{font-size:10px;line-height:13px;color:#3b6fd4;word-break:break-all}.pk-dqty2{font-size:11px;line-height:14px;font-weight:700;color:#2563eb}.fd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a61;animation:fd-fade-in .16s ease-out}.fd-overlay.closing{pointer-events:none;animation:fd-fade-out .13s ease-in forwards}.fd-overlay.closing .fd-dialog{animation:fd-pop-out .13s ease-in forwards}.fd-dialog{min-width:300px;max-width:min(420px,calc(100vw - 64px));padding:18px 20px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--border);box-shadow:0 18px 50px #0f172a4d;animation:fd-pop-in .18s cubic-bezier(.2,.9,.3,1.15)}.fd-title{margin-bottom:8px;font-size:13.5px;font-weight:700;color:var(--text)}.fd-text{font-size:12.5px;line-height:1.7;color:var(--text);white-space:pre-wrap;word-break:break-word}.fd-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.fd-btn{min-width:72px;padding:5px 14px;border-radius:6px;font-size:12.5px}.fd-btn.fd-ok{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:600}.fd-btn.fd-ok:hover{background:var(--primary-d);border-color:var(--primary-d)}.fd-btn.fd-ok.danger{border-color:#dc2626;background:#dc2626}.fd-btn.fd-ok.danger:hover{border-color:#b91c1c;background:#b91c1c}.fd-btn:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}@keyframes fd-fade-in{0%{opacity:0}}@keyframes fd-fade-out{to{opacity:0}}@keyframes fd-pop-in{0%{opacity:0;transform:translateY(10px) scale(.96)}}@keyframes fd-pop-out{to{opacity:0;transform:translateY(6px) scale(.97)}}.bm-body,.pk-tablewrap,.cp-body,.mm-body,.rt-body,.pp-grid,.pp-form-scroll,.pt-body,.ps-tree-rows,.ps-table-view,.si-body,.mp-body,.mf-body,.pa-img-scroll,.pa-doc-scroll{scrollbar-gutter:stable}.stm-menu{position:fixed;z-index:10000;min-width:180px;max-width:300px;padding:4px;background:#fff;border:1px solid var(--border, #d5dbe3);border-radius:6px;box-shadow:0 6px 24px #0f172a29;font-size:12.5px;color:var(--text, #1f2937);-webkit-user-select:none;user-select:none}.stm-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;cursor:pointer;white-space:nowrap}.stm-item:hover{background:#f0f5ff;color:var(--primary, #2563eb)}.stm-item .stm-ico{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:#6b7787}.stm-item:hover .stm-ico{color:var(--primary, #2563eb)}.stm-item.active{color:var(--primary, #2563eb);font-weight:500}.stm-item.active .stm-ico{color:var(--primary, #2563eb)}.stm-item.disabled{opacity:.4;cursor:default}.stm-item.disabled:hover{background:transparent;color:var(--text, #1f2937)}.stm-item.disabled:hover .stm-ico{color:#6b7787}.stm-sep{height:1px;margin:4px 6px;background:#e5e9f0}.stm-hint{margin-left:auto;padding-left:10px;font-size:11.5px;color:#9aa4b2}.stm-item:hover .stm-hint,.stm-item.sub-open .stm-hint{color:var(--primary, #2563eb)}.stm-caret{display:inline-flex;align-items:center;flex-shrink:0;margin-left:2px;color:#9aa4b2}.stm-caret.alone{margin-left:auto}.stm-item:hover .stm-caret,.stm-item.sub-open .stm-caret{color:var(--primary, #2563eb)}.stm-item.sub-open{background:#f0f5ff;color:var(--primary, #2563eb)}.stm-item.sub-open .stm-ico{color:var(--primary, #2563eb)}.stm-sub{position:absolute;z-index:1;min-width:132px;max-width:260px;padding:4px;background:#fff;border:1px solid var(--border, #d5dbe3);border-radius:6px;box-shadow:0 6px 20px #0f172a2e}.tb-ico{display:inline-flex;align-items:center;justify-content:center}
