.confirm-overlay[data-v-e658a194]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.confirm-box[data-v-e658a194]{width:min(400px,100%);background:#fff;border-radius:8px;box-shadow:0 12px 40px #0000002e;overflow:hidden;font-size:14px;color:#303133}.confirm-header[data-v-e658a194]{padding:16px 20px 8px;font-size:16px;font-weight:600;line-height:1.4}.confirm-body[data-v-e658a194]{padding:8px 20px 20px;line-height:1.6;color:#606266;white-space:pre-wrap;word-break:break-word}.confirm-footer[data-v-e658a194]{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 16px;background:#f5f7fa;border-top:1px solid #ebeef5}.btn-cancel[data-v-e658a194],.btn-ok[data-v-e658a194]{min-width:72px;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266}.btn-cancel[data-v-e658a194]:hover{color:#409eff;border-color:#c6e2ff;background:#ecf5ff}.btn-ok[data-v-e658a194]{background:#409eff;border-color:#409eff;color:#fff}.btn-ok[data-v-e658a194]:hover{background:#66b1ff;border-color:#66b1ff}.btn-ok.danger[data-v-e658a194]{background:#f56c6c;border-color:#f56c6c}.btn-ok.danger[data-v-e658a194]:hover{background:#f78989;border-color:#f78989}.login-container[data-v-b807033e]{display:flex;width:100vw;height:100vh;height:100dvh;background-color:#f5f7fa;overflow:hidden;font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif}.login-form-wrapper[data-v-b807033e]{flex:0 0 40%;min-width:420px;max-height:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:72px 56px 28px;overflow:hidden;z-index:2}.login-form[data-v-b807033e]{width:100%;max-width:400px;margin-top:12px}.brand-header[data-v-b807033e]{position:absolute;top:14px;left:10px;z-index:3}.logo[data-v-b807033e]{display:flex;align-items:center;gap:12px}.logo-img[data-v-b807033e]{width:48px;height:48px;margin-left:4px;object-fit:contain;flex-shrink:0;display:block}.company-name[data-v-b807033e]{font-size:28px;font-weight:700;color:#1a1a1a;letter-spacing:.04em;margin:0;line-height:1.2}.login-title h2[data-v-b807033e]{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 6px}.login-title p[data-v-b807033e]{font-size:15px;color:#1677ff;margin:0 0 22px}.login-form-content[data-v-b807033e]{display:block}.form-item[data-v-b807033e]{margin-bottom:14px}.field-label[data-v-b807033e]{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#1a1a1a;line-height:1.4}.input-wrap[data-v-b807033e]{display:flex;align-items:center;height:44px;padding:0 14px;background:#fff;border:1px solid #dcdfe6;border-radius:8px;transition:border-color .2s,box-shadow .2s}.input-wrap[data-v-b807033e]:hover{border-color:#c0c4cc}.input-wrap[data-v-b807033e]:focus-within{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.input-wrap input[data-v-b807033e]{flex:1;border:none;outline:none;font-size:15px;color:#1a1a1a;background:transparent;min-width:0}.input-wrap input[data-v-b807033e]::placeholder{color:#a8abb2}.pwd-eye[data-v-b807033e]{border:none;background:none;padding:4px;cursor:pointer;color:#a8abb2;display:flex}.pwd-eye[data-v-b807033e]:hover{color:#1677ff}.pwd-eye svg[data-v-b807033e]{width:18px;height:18px}.form-options[data-v-b807033e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.remember-label[data-v-b807033e]{display:flex;align-items:center;gap:8px;font-size:14px;color:#606266;cursor:pointer}.remember-label input[data-v-b807033e]{accent-color:#1677ff}.link-primary[data-v-b807033e]{color:#1677ff;text-decoration:none;font-size:14px}.link-primary[data-v-b807033e]:hover{color:#4096ff}.login-btn[data-v-b807033e]{width:100%;height:44px;background-color:#1677ff;border:none;border-radius:6px;font-size:16px;font-weight:500;color:#fff;cursor:pointer;transition:background .2s}.login-btn[data-v-b807033e]:hover:not(:disabled){background-color:#4096ff}.login-btn[data-v-b807033e]:disabled{opacity:.7;cursor:not-allowed}.error-msg[data-v-b807033e]{margin:12px 0 0;font-size:13px;color:#f56c6c;text-align:center}.register-tip[data-v-b807033e]{text-align:center;margin-top:12px;color:#666;font-size:14px}.feature-list[data-v-b807033e]{display:flex;justify-content:space-between;margin-top:28px;gap:8px}.feature-item[data-v-b807033e]{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:0}.feature-item-icon[data-v-b807033e]{display:flex;align-items:center;justify-content:center;height:28px}.feature-item-icon[data-v-b807033e] svg{width:24px;height:24px}.feature-item h4[data-v-b807033e]{font-size:14px;font-weight:500;color:#1a1a1a;margin:8px 0 4px}.feature-item p[data-v-b807033e]{font-size:12px;color:#666;margin:0;line-height:1.4}.product-showcase[data-v-b807033e]{flex:1;min-width:0;height:100%;background:#eef2f7 url(/login-showcase-bg.png) center center / cover no-repeat}@media (max-width: 1100px){.login-form-wrapper[data-v-b807033e]{padding:0 40px;flex:0 0 45%;min-width:360px}.brand-header[data-v-b807033e]{top:20px;left:12px}.logo-img[data-v-b807033e]{width:53px;height:53px}.feature-list[data-v-b807033e]{flex-wrap:wrap;gap:16px;justify-content:center}.feature-item[data-v-b807033e]{flex:0 0 45%}}@media (max-width: 900px){.login-container[data-v-b807033e]{flex-direction:column;overflow-y:auto}.login-form-wrapper[data-v-b807033e]{flex:none;width:100%;min-width:0;padding:120px 24px 32px}.brand-header[data-v-b807033e]{top:16px;left:10px}.login-form[data-v-b807033e]{margin-top:0}.product-showcase[data-v-b807033e]{flex:none;min-height:380px;height:42vh}}.register-wrap[data-v-9de92c31]{height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f7fa}.register-box[data-v-9de92c31]{width:360px;padding:30px;background:#fff;border-radius:8px;box-shadow:0 0 12px #00000015}.inp[data-v-9de92c31]{width:100%;padding:10px;margin:10px 0;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.submit-btn[data-v-9de92c31],.back-btn[data-v-9de92c31]{width:100%;padding:10px;margin-top:8px;border:none;border-radius:4px;cursor:pointer}.submit-btn[data-v-9de92c31]{background:#42b983;color:#fff}.back-btn[data-v-9de92c31]{background:#eee;color:#333}.error[data-v-9de92c31]{color:red;margin-top:10px;text-align:center}.success[data-v-9de92c31]{color:green;margin-top:10px;text-align:center}.feature-tree-panel[data-v-c759bae7]{display:flex;flex-direction:column;height:100%;background:#f5f7fa;min-width:0}.panel-head[data-v-c759bae7]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e4e7ed;background:#fff}.panel-title[data-v-c759bae7]{margin:0;font-size:14px;font-weight:600;color:#303133}.head-actions[data-v-c759bae7]{display:flex;gap:4px;flex-wrap:wrap}.mini-btn[data-v-c759bae7]{padding:3px 8px;font-size:11px;border:1px solid #dcdfe6;border-radius:4px;background:#fff;cursor:pointer;color:#606266}.mini-btn[data-v-c759bae7]:hover{border-color:#409eff;color:#409eff}.mini-btn.primary[data-v-c759bae7]{background:#409eff;color:#fff;border-color:#409eff}.tree-body[data-v-c759bae7]{flex:1;overflow-y:auto;padding:8px}.tree-group[data-v-c759bae7]{margin-bottom:12px}.group-label[data-v-c759bae7]{font-size:12px;font-weight:600;color:#909399;margin-bottom:6px;padding-left:4px}.group-empty[data-v-c759bae7]{font-size:12px;color:#c0c4cc;padding:4px 8px}.node-list[data-v-c759bae7]{list-style:none;margin:0;padding:0}.tree-node[data-v-c759bae7]{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:#303133}.tree-node[data-v-c759bae7]:hover{background:#ecf5ff}.tree-node.selected[data-v-c759bae7]{background:#d9ecff;border:1px solid #b3d8ff}.tree-node.disabled[data-v-c759bae7]{opacity:.45}.node-icon[data-v-c759bae7]{width:16px;text-align:center;color:#409eff}.node-name[data-v-c759bae7]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-ops[data-v-c759bae7]{display:flex;gap:2px}.op[data-v-c759bae7]{border:none;background:transparent;cursor:pointer;padding:0 4px;font-size:12px;color:#909399}.op.danger[data-v-c759bae7]:hover{color:#f56c6c}.panel-foot[data-v-c759bae7]{padding:10px 12px;border-top:1px solid #e4e7ed;background:#fff}.apply-btn[data-v-c759bae7]{width:100%;padding:8px;border:none;border-radius:4px;background:#67c23a;color:#fff;font-size:13px;cursor:pointer}.apply-btn[data-v-c759bae7]:disabled{opacity:.6;cursor:not-allowed}.param-modal-mask[data-v-c759bae7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:2000;display:flex;align-items:center;justify-content:center}.param-modal[data-v-c759bae7]{background:#fff;border-radius:8px;padding:16px 20px;width:min(360px,92vw);box-shadow:0 8px 24px #00000026}.param-modal h4[data-v-c759bae7]{margin:0 0 12px;font-size:15px}.field[data-v-c759bae7]{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px}.field.block[data-v-c759bae7]{flex-direction:column;align-items:stretch}.field span[data-v-c759bae7]{width:72px;flex-shrink:0;color:#606266}.field input[data-v-c759bae7],.field select[data-v-c759bae7],.field textarea[data-v-c759bae7]{flex:1;padding:6px 8px;border:1px solid #dcdfe6;border-radius:4px}.modal-actions[data-v-c759bae7]{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.display-style-toolbar[data-v-eb7bb33d]{position:relative;display:flex;align-items:center;margin-left:auto}.dst-toggle[data-v-eb7bb33d]{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;border:1px solid #c0c4cc;border-radius:6px;background:#fff;color:#303133;font-size:12px;cursor:pointer;white-space:nowrap}.dst-toggle[data-v-eb7bb33d]:hover{border-color:#409eff;color:#409eff;background:#ecf5ff}.display-style-toolbar.open .dst-toggle[data-v-eb7bb33d]{border-color:#409eff;background:#ecf5ff;color:#1d4ed8}.dst-ico[data-v-eb7bb33d]{font-size:13px;line-height:1;opacity:.9}.dst-title[data-v-eb7bb33d]{font-weight:600}.dst-current[data-v-eb7bb33d]{padding:1px 6px;border-radius:999px;background:#eef2f7;color:#606266;font-size:11px;font-weight:500}.display-style-toolbar.open .dst-current[data-v-eb7bb33d]{background:#dbeafe;color:#1d4ed8}.dst-chev[data-v-eb7bb33d]{font-size:10px;color:#909399}.dst-panel[data-v-eb7bb33d]{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:148px;padding:4px;background:#fff;border:1px solid #dcdfe6;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.dst-item[data-v-eb7bb33d]{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:#303133;font-size:12px;text-align:left;cursor:pointer}.dst-item[data-v-eb7bb33d]:hover{background:#f5f7fa}.dst-item.active[data-v-eb7bb33d]{background:#ecf5ff;color:#1d4ed8;font-weight:600}.dst-item-mark[data-v-eb7bb33d]{font-size:10px;color:#909399;width:12px}.dst-item.active .dst-item-mark[data-v-eb7bb33d]{color:#409eff}.datum-toolbar[data-v-4e8f3acb]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;background:#fffffff2;border-bottom:1px solid #e4e7ed;font-size:12px;position:relative;z-index:45}.toolbar-label[data-v-4e8f3acb]{font-size:14px;font-weight:600;color:#303133;margin-right:4px;line-height:1.35}.tb-select[data-v-4e8f3acb]{padding:4px 8px;border:1px solid #dcdfe6;border-radius:4px;font-size:12px}.tb-select.narrow[data-v-4e8f3acb]{min-width:56px}.tb-field[data-v-4e8f3acb]{display:flex;align-items:center;gap:4px;color:#606266}.tb-input[data-v-4e8f3acb]{width:64px;padding:4px 6px;border:1px solid #dcdfe6;border-radius:4px}.tb-btn[data-v-4e8f3acb]{padding:4px 10px;border:1px solid #dcdfe6;border-radius:4px;background:#fff;cursor:pointer;font-size:12px}.tb-btn.primary[data-v-4e8f3acb]{background:#409eff;color:#fff;border-color:#409eff}.tb-btn.danger[data-v-4e8f3acb]{color:#f56c6c;border-color:#fbc4c4}.tb-btn.danger[data-v-4e8f3acb]:hover{background:#fef0f0}.model-viewer[data-v-063851b9]{width:100%;height:100%;position:relative;background:#c5ccd4}.viewer-container[data-v-063851b9]{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;background:#c5ccd4;touch-action:none}.loading-overlay[data-v-063851b9]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#c5ccd4e0;z-index:10}.loading-spinner[data-v-063851b9]{width:40px;height:40px;border:4px solid #3b82f6;border-top-color:transparent;border-radius:50%;animation:spin-063851b9 1s linear infinite;margin-bottom:10px}@keyframes spin-063851b9{to{transform:rotate(360deg)}}.empty-state[data-v-063851b9]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#64748b;z-index:10;pointer-events:none}.empty-icon[data-v-063851b9]{font-size:48px;margin-bottom:10px;opacity:.45;font-weight:700;letter-spacing:.04em}.hint[data-v-063851b9]{margin-top:4px;font-size:12px;color:#64748b}.cad-viewer-workspace[data-v-0f6502b5]{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;overflow:hidden;background:var(--preview-bg, #c5ccd4)}.workspace-toolbar[data-v-0f6502b5]{flex-shrink:0;width:100%;z-index:40;border-bottom:1px solid #e4e7ed}.preview-body[data-v-0f6502b5]{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--preview-bg, #c5ccd4)}.tree-rail[data-v-0f6502b5]{position:absolute;left:0;top:0;bottom:0;z-index:30;width:220px;transition:width .28s ease;overflow:hidden;border-right:1px solid #dcdfe6;background:#f5f7fa;box-shadow:2px 0 8px #0000000f;pointer-events:auto}.tree-rail.collapsed[data-v-0f6502b5]{width:32px;background:#f5f7faf5}.tree-slide[data-v-0f6502b5]{width:220px;height:100%;transition:transform .28s ease,opacity .2s ease}.tree-rail.collapsed .tree-slide[data-v-0f6502b5]{transform:translate(-100%);opacity:0;pointer-events:none}.tree-toggle[data-v-0f6502b5]{position:absolute;right:0;top:50%;z-index:31;transform:translateY(-50%);width:28px;min-height:80px;padding:8px 4px;border:1px solid #c0c4cc;border-right:none;border-radius:6px 0 0 6px;background:#fff;box-shadow:-2px 0 8px #00000014;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#606266;font-size:12px}.tree-rail.collapsed .tree-toggle[data-v-0f6502b5]{border-radius:0 6px 6px 0;border-right:1px solid #c0c4cc;border-left:none;box-shadow:2px 0 8px #00000014}.tree-toggle[data-v-0f6502b5]:hover{color:#409eff;border-color:#b3d8ff;background:#ecf5ff}.toggle-icon[data-v-0f6502b5]{font-size:18px;font-weight:700;line-height:1}.toggle-label[data-v-0f6502b5]{writing-mode:vertical-rl;letter-spacing:1px;font-size:11px}.viewer-canvas-wrap[data-v-0f6502b5]{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0;background:var(--preview-bg, #c5ccd4)}.viewer-canvas-wrap[data-v-0f6502b5] .model-viewer,.viewer-canvas-wrap[data-v-0f6502b5] .viewer-container{width:100%;height:100%;background:var(--preview-bg, #c5ccd4)}.ai-chat[data-v-098dc8b5]{width:100%;height:100%;display:flex;flex-direction:column}.chat-header[data-v-098dc8b5]{background-color:#f8f9fa;padding:12px 16px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center}.chat-title[data-v-098dc8b5]{font-size:18px;font-weight:600;color:#2c3e50;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.chat-messages[data-v-098dc8b5]{flex:1;padding:12px;overflow-y:auto;min-height:0}.message[data-v-098dc8b5]{margin-bottom:12px}.user-message[data-v-098dc8b5]{text-align:right}.user-message .message-content[data-v-098dc8b5]{background-color:#42b983;color:#fff;margin-left:auto}.ai-message .message-content[data-v-098dc8b5]{background-color:#f5f5f5;border:1px solid #e5e5e5;margin-right:auto}.message-content[data-v-098dc8b5]{display:inline-block;padding:8px 12px;border-radius:8px;max-width:85%}.message-content p[data-v-098dc8b5]{margin:0 0 8px;font-size:14px;line-height:1.5}.message-content p[data-v-098dc8b5]:last-child{margin-bottom:0}.code-block[data-v-098dc8b5]{background-color:#1e1e1e;color:#ccc;padding:8px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.cae-result[data-v-098dc8b5]{background-color:#e8f4f8;border-radius:4px;padding:8px;margin-top:8px}.cae-item[data-v-098dc8b5]{display:flex;justify-content:space-between;padding:4px 0}.cae-label[data-v-098dc8b5]{font-weight:700;color:#333}.cae-value[data-v-098dc8b5]{color:#007bff;font-weight:700}.cae-report[data-v-098dc8b5]{display:block;text-align:center;margin-top:8px;padding:6px;background-color:#007bff;color:#fff;border-radius:4px;text-decoration:none;font-size:12px}.cae-report[data-v-098dc8b5]:hover{background-color:#0056b3}.plm-card[data-v-098dc8b5]{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;padding:12px;margin-top:8px}.plm-card h3[data-v-098dc8b5]{color:#495057;font-size:15px;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #eee}.plm-card h4[data-v-098dc8b5]{color:#6c757d;font-size:13px;margin:8px 0 4px}.plm-card ul[data-v-098dc8b5]{margin:0;padding-left:20px}.plm-card li[data-v-098dc8b5]{font-size:13px;line-height:1.6;color:#495057}.plm-action-card[data-v-098dc8b5]{margin-top:10px;display:flex;flex-direction:column;gap:10px}.plm-action-row[data-v-098dc8b5]{background:#f4f7fb;border:1px solid #d9e2ef;border-radius:8px;padding:10px}.plm-action-label[data-v-098dc8b5]{font-weight:600;margin-bottom:6px}.plm-action-args[data-v-098dc8b5]{font-size:11px;background:#fff;padding:8px;border-radius:4px;overflow:auto;max-height:120px}.plm-confirm-btn[data-v-098dc8b5]{margin-top:8px;background:#2c7be5;color:#fff;border:none;border-radius:6px;padding:6px 12px;cursor:pointer}.plm-confirm-btn[data-v-098dc8b5]:disabled{opacity:.6;cursor:not-allowed}.plm-action-result[data-v-098dc8b5]{margin-top:8px;font-size:12px;white-space:pre-wrap;color:#334}.chat-input[data-v-098dc8b5]{display:flex;gap:8px;padding:12px;border-top:1px solid #e5e5e5;align-items:flex-end}.attach-btn[data-v-098dc8b5]{width:40px;height:40px;border:1px solid #ddd;background-color:#fff;color:#666;border-radius:50%;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.attach-btn[data-v-098dc8b5]:hover{background-color:#f0f0f0;border-color:#42b983;color:#42b983}.input[data-v-098dc8b5]{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:24px;font-size:14px;min-height:40px;max-height:120px;resize:none;overflow-y:auto}.input[data-v-098dc8b5]:focus{outline:none;border-color:#42b983;box-shadow:0 0 0 2px #42b9831a}.btn[data-v-098dc8b5]{width:70px;height:40px;background-color:#42b983;color:#fff;border:none;border-radius:24px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s}.btn[data-v-098dc8b5]:hover{background-color:#3aa573}.new-chat-btn[data-v-098dc8b5]{margin:10px 12px;padding:6px 12px;background-color:#f0f0f0;color:#666;border:1px solid #ddd;border-radius:16px;cursor:pointer;font-size:12px;transition:all .2s}.new-chat-btn[data-v-098dc8b5]:hover{background-color:#e0e0e0;border-color:#42b983;color:#42b983}.chat-actions[data-v-098dc8b5]{display:flex;justify-content:flex-end;padding:0;margin:0}.bottom-buttons[data-v-098dc8b5]{display:flex;gap:10px;padding:10px 15px;border-top:1px solid #eee}.bottom-buttons .action-btn[data-v-098dc8b5]{flex:1;padding:10px 14px;border:none;border-radius:20px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.bottom-buttons .history-btn[data-v-098dc8b5]{background-color:#667eea;color:#fff}.bottom-buttons .history-btn[data-v-098dc8b5]:hover{background-color:#5a6fd6;transform:translateY(-1px)}.bottom-buttons .settings-btn[data-v-098dc8b5]{background-color:#f0f0f0;color:#666}.bottom-buttons .settings-btn[data-v-098dc8b5]:hover{background-color:#e0e0e0;transform:translateY(-1px)}.thinking-animation[data-v-098dc8b5]{display:flex;align-items:center;gap:8px;padding:10px 15px}.thinking-dots[data-v-098dc8b5]{display:flex;gap:4px}.thinking-dots .dot[data-v-098dc8b5]{width:8px;height:8px;background-color:#42b983;border-radius:50%;animation:dotBounce-098dc8b5 1.4s infinite ease-in-out}.thinking-dots .dot[data-v-098dc8b5]:nth-child(1){animation-delay:-.32s}.thinking-dots .dot[data-v-098dc8b5]:nth-child(2){animation-delay:-.16s}.thinking-dots .dot[data-v-098dc8b5]:nth-child(3){animation-delay:0s}@keyframes dotBounce-098dc8b5{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.thinking-text[data-v-098dc8b5]{color:#666;font-size:14px}.cad-hint[data-v-098dc8b5]{background-color:#e3f2fd;color:#1976d2;padding:8px 12px;border-radius:4px;font-size:13px;margin-top:8px;border-left:3px solid #1976d2}.modal-overlay[data-v-098dc8b5]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-098dc8b5]{background-color:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.modal-header[data-v-098dc8b5]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-098dc8b5]{margin:0;font-size:18px;color:#333}.close-btn[data-v-098dc8b5]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1}.close-btn[data-v-098dc8b5]:hover{color:#333}.modal-body[data-v-098dc8b5]{flex:1;overflow-y:auto;padding:16px}.modal-footer[data-v-098dc8b5]{padding:16px 20px;border-top:1px solid #eee;text-align:right}.cancel-btn[data-v-098dc8b5]{background-color:#f5f5f5;color:#666}.cancel-btn[data-v-098dc8b5]:hover{background-color:#eee}.empty-state[data-v-098dc8b5]{text-align:center;padding:40px;color:#999}.history-list[data-v-098dc8b5]{display:flex;flex-direction:column;gap:12px}.history-item[data-v-098dc8b5]{background-color:#f9f9f9;border-radius:8px;padding:12px;border:1px solid #eee}.history-item.pinned[data-v-098dc8b5]{border-color:#667eea;background-color:#f0f3ff}.history-header[data-v-098dc8b5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-name[data-v-098dc8b5]{display:flex;align-items:center;gap:6px}.pin-icon[data-v-098dc8b5]{font-size:14px}.session-name[data-v-098dc8b5]{font-weight:600;color:#333}.history-time[data-v-098dc8b5]{font-size:12px;color:#999}.history-content[data-v-098dc8b5]{margin-bottom:10px}.user-msg[data-v-098dc8b5]{font-size:13px;color:#333;margin:0 0 4px;padding:6px 10px;background-color:#42b983;color:#fff;border-radius:4px;display:inline-block}.ai-msg[data-v-098dc8b5]{font-size:13px;color:#666;margin:0;padding:6px 10px;background-color:#fff;border:1px solid #ddd;border-radius:4px;max-height:60px;overflow-y:auto}.history-actions[data-v-098dc8b5]{display:flex;gap:8px}.action-btn[data-v-098dc8b5]{padding:4px 10px;font-size:12px;border:none;border-radius:4px;cursor:pointer}.edit-btn[data-v-098dc8b5]{background-color:#fff;color:#667eea;border:1px solid #667eea}.edit-btn[data-v-098dc8b5]:hover{background-color:#f0f3ff}.pin-btn[data-v-098dc8b5]{background-color:#fff;color:#f5a623;border:1px solid #f5a623}.pin-btn[data-v-098dc8b5]:hover{background-color:#fffef5}.delete-btn[data-v-098dc8b5]{background-color:#fff;color:#e74c3c;border:1px solid #e74c3c}.delete-btn[data-v-098dc8b5]:hover{background-color:#fff5f5}.edit-input[data-v-098dc8b5]{padding:4px 8px;font-size:13px;border:1px solid #667eea;border-radius:4px;outline:none}.edit-input[data-v-098dc8b5]:focus{border-color:#5a6fd6}.code-editor[data-v-eb72b80f]{width:100%;height:100%;display:flex;flex-direction:column;background:#1e1e1e;border-radius:4px;overflow:hidden}.editor-header[data-v-eb72b80f]{display:flex;justify-content:flex-end;align-items:center;padding:12px 16px;background:#252526;border-bottom:1px solid #3c3c3c}.btn-group[data-v-eb72b80f]{display:flex;gap:8px}.btn[data-v-eb72b80f]{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary[data-v-eb72b80f]{background:#007acc;color:#fff}.btn-primary[data-v-eb72b80f]:hover{background:#0066b8}.btn-primary[data-v-eb72b80f]:active{background:#0055a0}.btn-secondary[data-v-eb72b80f]{background:#3c3c3c;color:#ccc}.btn-secondary[data-v-eb72b80f]:hover{background:#4a4a4a;color:#fff}.btn-secondary[data-v-eb72b80f]:active{background:#555}.btn-import[data-v-eb72b80f]{background:#3498db;color:#fff}.btn-import[data-v-eb72b80f]:hover{background:#2980b9}.btn-import[data-v-eb72b80f]:active{background:#2471a3}.btn-icon[data-v-eb72b80f]{font-size:12px}.file-input[data-v-eb72b80f]{display:none}.editor-container[data-v-eb72b80f]{flex:1;width:100%;min-height:0}.modal-overlay[data-v-b6b8e3d2]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:flex-start;align-items:center;z-index:1000;padding-left:20px;animation:fadeInOverlay-b6b8e3d2 .2s ease}@keyframes fadeInOverlay-b6b8e3d2{0%{opacity:0}to{opacity:1}}.modal-content[data-v-b6b8e3d2]{width:340px;max-width:340px;height:calc(100vh - 40px);max-height:100vh;background:#1e1e1e;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideIn-b6b8e3d2 .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn-b6b8e3d2{0%{opacity:0;transform:translate(-30px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.modal-overlay-closing[data-v-b6b8e3d2]{animation:fadeOutOverlay-b6b8e3d2 .3s ease forwards}@keyframes fadeOutOverlay-b6b8e3d2{0%{opacity:1}to{opacity:0}}.modal-content-closing[data-v-b6b8e3d2]{animation:slideOut-b6b8e3d2 .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideOut-b6b8e3d2{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-30px) scale(.95)}}.modal-header[data-v-b6b8e3d2]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#252526;border-bottom:1px solid #3c3c3c}.modal-header h3[data-v-b6b8e3d2]{margin:0;font-size:28px;font-weight:600;color:#ccc}.close-btn[data-v-b6b8e3d2]{width:28px;height:28px;background:#ffffff1a;border:none;color:#ccc;font-size:18px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn[data-v-b6b8e3d2]:hover{background:#fff3;color:#fff}.modal-body[data-v-b6b8e3d2]{flex:1;overflow:hidden;padding:8px}.run-message[data-v-b6b8e3d2]{padding:10px 16px;text-align:center;font-weight:500;font-size:13px;animation:fadeSlideIn-b6b8e3d2 .3s}.run-message.success[data-v-b6b8e3d2]{background:#00b894;color:#fff}.run-message.error[data-v-b6b8e3d2]{background:#e17055;color:#fff}@keyframes fadeSlideIn-b6b8e3d2{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-4ce8e2f1]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-4ce8e2f1]{width:500px;max-width:90vw;background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-4ce8e2f1]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#2c3e50;color:#fff}.modal-header h3[data-v-4ce8e2f1]{margin:0}.close-btn[data-v-4ce8e2f1]{width:30px;height:30px;background:#fff3;border:none;color:#fff;font-size:20px;cursor:pointer;border-radius:50%}.close-btn[data-v-4ce8e2f1]:hover{background:#ffffff4d}.modal-body[data-v-4ce8e2f1]{padding:20px;max-height:60vh;overflow-y:auto}.setting-section[data-v-4ce8e2f1]{margin-bottom:25px}.setting-section h4[data-v-4ce8e2f1]{margin:0 0 12px;color:#2c3e50;font-size:14px}.color-options[data-v-4ce8e2f1]{display:flex;gap:10px;flex-wrap:wrap}.color-btn[data-v-4ce8e2f1]{width:40px;height:40px;border:3px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.color-btn[data-v-4ce8e2f1]:hover{transform:scale(1.1)}.color-btn.active[data-v-4ce8e2f1]{border-color:#3498db;box-shadow:0 0 0 2px #3498db4d}.form-group[data-v-4ce8e2f1]{margin-bottom:15px}.form-group label[data-v-4ce8e2f1]{display:block;margin-bottom:5px;font-size:13px;color:#555}.form-control[data-v-4ce8e2f1]{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px;box-sizing:border-box}.form-control[data-v-4ce8e2f1]:focus{outline:none;border-color:#3498db}.path-input-group[data-v-4ce8e2f1]{display:flex;gap:10px}.path-input[data-v-4ce8e2f1]{flex:1}.browse-btn[data-v-4ce8e2f1]{padding:10px 15px;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer}.browse-btn[data-v-4ce8e2f1]:hover{background:#2980b9}.hint[data-v-4ce8e2f1]{margin:5px 0 0;font-size:12px;color:#999}.modal-footer[data-v-4ce8e2f1]{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;background:#f8f9fa;border-top:1px solid #ddd}.btn[data-v-4ce8e2f1]{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:14px}.btn-secondary[data-v-4ce8e2f1]{background:#6c757d;color:#fff}.btn-secondary[data-v-4ce8e2f1]:hover{background:#5a6268}.btn-primary[data-v-4ce8e2f1]{background:#3498db;color:#fff}.btn-primary[data-v-4ce8e2f1]:hover{background:#2980b9}.modal-overlay[data-v-9a1990b6]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;cursor:pointer;overflow:hidden}.modal-container[data-v-9a1990b6]{background:#fff;border-radius:12px;width:90%;max-width:1000px;height:90%;max-height:800px;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.modal-header[data-v-9a1990b6]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.modal-header h3[data-v-9a1990b6]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-9a1990b6]{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s;z-index:10000;position:relative}.close-btn[data-v-9a1990b6]:hover{background:#fff3}.modal-body[data-v-9a1990b6]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:25px}.upload-section h4[data-v-9a1990b6],.preview-section h4[data-v-9a1990b6],.result-section h4[data-v-9a1990b6]{margin:0 0 12px;font-size:16px;font-weight:600;color:#2c3e50}.upload-container[data-v-9a1990b6]{background:#f8f9fa;border:2px dashed #667eea;border-radius:8px;padding:20px;text-align:center;transition:all .3s}.upload-container[data-v-9a1990b6]:hover{border-color:#764ba2;background:#f0f1f7}.file-input[data-v-9a1990b6]{display:none}.upload-btn[data-v-9a1990b6]{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;border-radius:6px;cursor:pointer;transition:transform .2s;display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px}.upload-btn[data-v-9a1990b6]:hover{transform:translateY(-2px)}.upload-icon[data-v-9a1990b6]{font-size:24px}.upload-btn small[data-v-9a1990b6]{font-size:12px;opacity:.9}.file-info[data-v-9a1990b6]{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px;background:#fff;border:1px solid #e5e5e5;border-radius:6px}.file-name[data-v-9a1990b6]{font-size:14px;color:#333}.remove-btn[data-v-9a1990b6]{background:#e74c3c;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}.preview-container[data-v-9a1990b6]{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:20px;min-height:150px;display:flex;align-items:center;justify-content:center}.empty-preview[data-v-9a1990b6]{text-align:center;color:#666}.preview-icon[data-v-9a1990b6]{font-size:48px;display:block;margin-bottom:10px}.file-preview[data-v-9a1990b6]{width:100%;background:#fff;border:1px solid #e5e5e5;border-radius:6px;overflow:hidden}.preview-header[data-v-9a1990b6]{background:#f8f9fa;padding:12px 16px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center}.preview-title[data-v-9a1990b6]{font-weight:600;color:#333}.file-size[data-v-9a1990b6]{font-size:12px;color:#666}.preview-content[data-v-9a1990b6]{padding:20px;text-align:center}.file-type-icon[data-v-9a1990b6]{font-size:64px;margin-bottom:15px}.preview-text[data-v-9a1990b6]{color:#666;font-size:14px;line-height:1.5}.result-header[data-v-9a1990b6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.start-review-btn[data-v-9a1990b6]{background:linear-gradient(135deg,#1abc9c,#16a085);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:transform .2s}.start-review-btn[data-v-9a1990b6]:hover:not(:disabled){transform:translateY(-2px)}.start-review-btn[data-v-9a1990b6]:disabled{background:#95a5a6;cursor:not-allowed}.result-container[data-v-9a1990b6]{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:20px;min-height:200px}.empty-result[data-v-9a1990b6]{text-align:center;color:#666}.error-text[data-v-9a1990b6]{color:#c0392b;margin-top:8px}.result-icon[data-v-9a1990b6]{font-size:48px;display:block;margin-bottom:10px}.review-results[data-v-9a1990b6]{display:flex;flex-direction:column;gap:20px}.result-status[data-v-9a1990b6]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-radius:6px;border-left:4px solid #1abc9c}.result-status .status-icon[data-v-9a1990b6]{font-size:24px;margin-bottom:0}.result-status .status-text[data-v-9a1990b6]{font-size:18px;font-weight:600;color:#2c3e50}.result-details h5[data-v-9a1990b6]{margin:0 0 12px;font-size:14px;font-weight:600;color:#2c3e50}.review-comments[data-v-9a1990b6]{display:flex;flex-direction:column;gap:12px}.comment-item[data-v-9a1990b6]{display:flex;gap:12px;padding:12px;background:#fff;border-radius:6px;border-left:4px solid #1abc9c}.comment-type[data-v-9a1990b6]{font-size:20px;flex-shrink:0;margin-top:2px}.comment-content[data-v-9a1990b6]{flex:1}.comment-title[data-v-9a1990b6]{font-weight:600;color:#333;font-size:14px;margin-bottom:4px}.comment-text[data-v-9a1990b6]{color:#666;font-size:13px;line-height:1.5}.comment-item[data-v-9a1990b6]:nth-child(3){border-left-color:#f39c12}.result-stats[data-v-9a1990b6]{display:flex;gap:15px;justify-content:space-around;background:#fff;padding:16px;border-radius:6px}.stat-item[data-v-9a1990b6]{text-align:center}.stat-label[data-v-9a1990b6]{display:block;font-size:12px;color:#666;margin-bottom:4px}.stat-value[data-v-9a1990b6]{display:block;font-size:20px;font-weight:600;color:#2c3e50}.stat-value.success[data-v-9a1990b6]{color:#1abc9c}.stat-value.warning[data-v-9a1990b6]{color:#f39c12}.stat-value.error[data-v-9a1990b6]{color:#e74c3c}.download-section[data-v-9a1990b6]{display:flex;justify-content:flex-end;margin-top:10px}.download-btn[data-v-9a1990b6]{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:transform .2s}.download-btn[data-v-9a1990b6]:hover{transform:translateY(-2px)}.modal-body[data-v-9a1990b6]::-webkit-scrollbar{width:8px}.modal-body[data-v-9a1990b6]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-body[data-v-9a1990b6]::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.modal-body[data-v-9a1990b6]::-webkit-scrollbar-thumb:hover{background:#764ba2}.modal-overlay[data-v-c2dd722e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-container[data-v-c2dd722e]{background:#fff;border-radius:12px;width:92%;max-width:960px;height:90%;max-height:820px;display:flex;flex-direction:column;box-shadow:0 12px 40px #0000002e}.modal-header[data-v-c2dd722e]{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:linear-gradient(135deg,#5d6d7e,#34495e);color:#fff;border-radius:12px 12px 0 0}.modal-header h3[data-v-c2dd722e]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-c2dd722e]{background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1}.modal-body[data-v-c2dd722e]{flex:1;overflow-y:auto;padding:16px 20px 24px}.toolbar-row[data-v-c2dd722e]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.form-group[data-v-c2dd722e]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-c2dd722e]{font-size:12px;color:#666}.form-group select[data-v-c2dd722e],.form-group input[data-v-c2dd722e]{padding:8px 10px;border:1px solid #dcdfe6;border-radius:6px;min-width:120px}.primary-btn[data-v-c2dd722e]{padding:9px 18px;background:#34495e;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.primary-btn[data-v-c2dd722e]:hover:not(:disabled){background:#2c3e50}.primary-btn[data-v-c2dd722e]:disabled{opacity:.6;cursor:not-allowed}.secondary-btn[data-v-c2dd722e]{padding:9px 16px;background:#fff;border:1px solid #bdc3c7;border-radius:6px;cursor:pointer}.feature-summary[data-v-c2dd722e]{font-size:13px;color:#555;margin-bottom:10px;padding:8px 12px;background:#f8f9fa;border-radius:6px}.summary-label[data-v-c2dd722e]{font-weight:600;margin-right:8px}.status-hint[data-v-c2dd722e]{font-size:13px;margin-bottom:10px;padding:6px 10px;border-radius:4px}.status-hint.ok[data-v-c2dd722e]{background:#e8f8f0;color:#1e8449}.status-hint.warn[data-v-c2dd722e]{background:#fef9e7;color:#b7950b}.loading-box[data-v-c2dd722e]{text-align:center;padding:48px 20px;color:#666}.spinner[data-v-c2dd722e]{width:40px;height:40px;margin:0 auto 16px;border:3px solid #ecf0f1;border-top-color:#34495e;border-radius:50%;animation:spin-c2dd722e .8s linear infinite}@keyframes spin-c2dd722e{to{transform:rotate(360deg)}}.info-cards[data-v-c2dd722e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:16px}.info-card[data-v-c2dd722e]{background:#f4f6f8;padding:10px 12px;border-radius:8px}.info-card .label[data-v-c2dd722e]{display:block;font-size:11px;color:#888;margin-bottom:4px}.info-card .value[data-v-c2dd722e]{font-weight:600;font-size:14px}.section[data-v-c2dd722e]{margin-bottom:18px}.section h4[data-v-c2dd722e]{margin:0 0 8px;font-size:14px;color:#2c3e50}.route-chain[data-v-c2dd722e]{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.route-node[data-v-c2dd722e]{background:#ecf0f1;padding:4px 10px;border-radius:4px;font-size:13px}.route-arrow[data-v-c2dd722e]{color:#95a5a6;font-size:12px}.table-wrap[data-v-c2dd722e]{overflow-x:auto;border:1px solid #e5e8eb;border-radius:8px}.steps-table[data-v-c2dd722e]{width:100%;border-collapse:collapse;font-size:13px}.steps-table th[data-v-c2dd722e],.steps-table td[data-v-c2dd722e]{padding:8px 10px;border-bottom:1px solid #eee;text-align:left}.steps-table th[data-v-c2dd722e]{background:#34495e;color:#fff;font-weight:500}.params-cell[data-v-c2dd722e]{max-width:200px;word-break:break-word}.cost-row[data-v-c2dd722e]{display:flex;flex-wrap:wrap;gap:16px;font-size:14px}.cost-total[data-v-c2dd722e]{font-weight:700;color:#c0392b}.notes[data-v-c2dd722e]{font-size:13px;color:#555;line-height:1.5;margin:0 0 12px}.actions[data-v-c2dd722e]{display:flex;gap:10px;margin-bottom:8px}.disclaimer[data-v-c2dd722e]{font-size:12px;color:#999;margin:0}.empty-state[data-v-c2dd722e]{text-align:center;padding:60px 24px;color:#888}.empty-icon[data-v-c2dd722e]{font-size:48px;display:block;margin-bottom:12px}.empty-state .warn[data-v-c2dd722e]{color:#e67e22;margin-top:12px}.modal-overlay[data-v-4c4899e8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-container[data-v-4c4899e8]{background:#fff;border-radius:12px;width:94%;max-width:980px;height:90%;max-height:840px;display:flex;flex-direction:column;box-shadow:0 12px 40px #0000002e}.modal-header[data-v-4c4899e8]{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:linear-gradient(135deg,#16a085,#1abc9c);color:#fff;border-radius:12px 12px 0 0}.modal-header h3[data-v-4c4899e8]{margin:0;font-size:18px}.close-btn[data-v-4c4899e8]{background:none;border:none;color:#fff;font-size:26px;cursor:pointer}.tabs[data-v-4c4899e8]{display:flex;gap:4px;padding:10px 16px 0;border-bottom:1px solid #eee;background:#f8f9fa}.tab[data-v-4c4899e8]{padding:8px 14px;border:none;background:transparent;cursor:pointer;border-radius:6px 6px 0 0;font-size:13px;color:#666;position:relative}.tab.active[data-v-4c4899e8]{background:#fff;color:#16a085;font-weight:600;box-shadow:0 -1px #fff}.badge[data-v-4c4899e8]{background:#e74c3c;color:#fff;font-size:10px;padding:1px 5px;border-radius:8px;margin-left:4px}.modal-body[data-v-4c4899e8]{flex:1;overflow-y:auto;padding:16px 20px}.tab-panel[data-v-4c4899e8]{max-width:900px}.form-row[data-v-4c4899e8]{margin-bottom:12px}.form-row label[data-v-4c4899e8]{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-row input[data-v-4c4899e8]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;box-sizing:border-box}.dept-grid[data-v-4c4899e8]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.dept-check[data-v-4c4899e8]{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f4f6f8;border-radius:6px;cursor:pointer}.preview-box[data-v-4c4899e8]{background:#eefaf7;border:1px solid #d5f0ea;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:13px}.preview-box h4[data-v-4c4899e8]{margin:0 0 8px;font-size:13px;color:#16a085}.preview-box ul[data-v-4c4899e8]{margin:0;padding-left:18px}.remark[data-v-4c4899e8]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #ddd;border-radius:6px;margin-bottom:12px}.primary-btn[data-v-4c4899e8]{padding:10px 20px;background:#16a085;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.primary-btn[data-v-4c4899e8]:disabled{opacity:.6;cursor:not-allowed}.secondary-btn[data-v-4c4899e8]{padding:6px 12px;border:1px solid #bdc3c7;background:#fff;border-radius:4px;cursor:pointer;font-size:12px}.link-btn[data-v-4c4899e8]{background:none;border:none;color:#16a085;cursor:pointer;margin-bottom:10px}.hint[data-v-4c4899e8]{font-size:13px;margin:10px 0;padding:8px;border-radius:4px}.hint.ok[data-v-4c4899e8]{background:#e8f8f0;color:#1e8449}.hint.warn[data-v-4c4899e8]{background:#fef9e7;color:#b7950b}.disclaimer[data-v-4c4899e8]{font-size:12px;color:#999;margin-top:12px;line-height:1.5}.loading[data-v-4c4899e8],.empty[data-v-4c4899e8]{text-align:center;color:#888;padding:32px}.task-card[data-v-4c4899e8]{margin-bottom:14px}[data-v-4c4899e8] .task-inner{border:1px solid #e5e8eb;border-radius:8px;padding:12px 14px;background:#fafbfc}[data-v-4c4899e8] .task-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px}[data-v-4c4899e8] .meta{font-size:12px;color:#888}[data-v-4c4899e8] .agent-sum{font-size:12px;color:#16a085;margin:0 0 10px}[data-v-4c4899e8] .recipient-block{margin:8px 0;padding:8px;background:#fff;border-radius:6px}[data-v-4c4899e8] .rec-title{display:flex;justify-content:space-between;font-weight:600;font-size:13px}[data-v-4c4899e8] .status{font-size:11px;color:#e67e22}[data-v-4c4899e8] .status.signed{color:#27ae60}[data-v-4c4899e8] .rec-notes{font-size:12px;color:#666;margin:4px 0}[data-v-4c4899e8] .file-list{margin:4px 0 0;padding-left:18px;font-size:12px;color:#555}[data-v-4c4899e8] .task-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}[data-v-4c4899e8] .sign-row{display:flex;gap:8px;flex:1;min-width:200px}[data-v-4c4899e8] .sign-row input{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:4px}.project-header[data-v-3e065cdd]{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;background:linear-gradient(135deg,#1a2a3a,#2c3e50);color:#fff;border-radius:10px;margin-bottom:16px}.header-main h2[data-v-3e065cdd]{margin:0 0 8px;font-size:18px;font-weight:600}.meta[data-v-3e065cdd]{margin:0;font-size:12px;opacity:.85;display:flex;flex-wrap:wrap;gap:12px}.progress-ring-wrap[data-v-3e065cdd]{position:relative;width:100px;height:100px;flex-shrink:0}.progress-ring[data-v-3e065cdd]{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg[data-v-3e065cdd]{fill:none;stroke:#ffffff26;stroke-width:10}.ring-fg[data-v-3e065cdd]{fill:none;stroke:#1abc9c;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.progress-text[data-v-3e065cdd]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.pct[data-v-3e065cdd]{font-size:22px;font-weight:700}.lbl[data-v-3e065cdd]{font-size:11px;opacity:.8}.process-flow-section[data-v-dd06dc22]{margin-bottom:16px}.section-title[data-v-dd06dc22]{margin:0 0 12px;font-size:14px;font-weight:600;color:#2c3e50}.process-flow[data-v-dd06dc22]{display:flex;align-items:flex-start;padding:12px 8px;background:#f8f9fb;border-radius:10px;overflow-x:auto}.flow-item[data-v-dd06dc22]{flex:1;min-width:88px;text-align:center}.dot[data-v-dd06dc22]{width:32px;height:32px;border-radius:50%;margin:0 auto 6px;line-height:32px;font-size:13px;font-weight:600;color:#fff}.wait .dot[data-v-dd06dc22]{background:#bdc3c7}.doing .dot[data-v-dd06dc22]{background:#409eff;box-shadow:0 0 0 4px #409eff40}.success .dot[data-v-dd06dc22]{background:#00c48c}.error .dot[data-v-dd06dc22]{background:#f56c6c}.label[data-v-dd06dc22]{font-size:12px;font-weight:600;color:#333;margin-bottom:4px}.detail[data-v-dd06dc22]{font-size:10px;color:#888;line-height:1.3;padding:0 4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.connector[data-v-dd06dc22]{width:24px;height:3px;background:#ddd;margin-top:28px;flex-shrink:0;border-radius:2px}.connector.done[data-v-dd06dc22]{background:#00c48c}.connector.error[data-v-dd06dc22]{background:#f56c6c}.data-panels[data-v-d8251185]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}@media (max-width: 900px){.data-panels[data-v-d8251185]{grid-template-columns:1fr}}.panel[data-v-d8251185]{background:#fff;border:1px solid #e8ecf0;border-radius:10px;padding:12px 14px}.panel h4[data-v-d8251185]{margin:0 0 10px;font-size:13px;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:8px}.panel dl[data-v-d8251185]{margin:0;font-size:12px}.panel dt[data-v-d8251185]{color:#888;margin-top:6px}.panel dd[data-v-d8251185]{margin:2px 0 0;color:#333;font-weight:500}.stress[data-v-d8251185]{color:#e67e22}.empty-hint[data-v-d8251185]{font-size:12px;color:#999}.sign-rate[data-v-d8251185]{margin-bottom:10px}.rate-bar[data-v-d8251185]{height:8px;background:#ecf0f1;border-radius:4px;overflow:hidden;margin-bottom:6px}.rate-fill[data-v-d8251185]{height:100%;background:linear-gradient(90deg,#1abc9c,#16a085);transition:width .5s ease}.rate-text[data-v-d8251185]{font-size:12px;color:#555}.dept-list[data-v-d8251185]{list-style:none;margin:0;padding:0}.dept-list li[data-v-d8251185]{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;border-bottom:1px dashed #eee}.badge[data-v-d8251185]{font-size:10px;padding:2px 6px;border-radius:4px;background:#fef9e7;color:#b7950b}.badge.signed[data-v-d8251185]{background:#e8f8f0;color:#1e8449}.drawer-overlay[data-v-328e87d6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:10000}.drawer-panel[data-v-328e87d6]{position:fixed;top:0;right:0;width:min(520px,92vw);height:100vh;background:#f0f2f5;z-index:10001;display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000001f}.drawer-header[data-v-328e87d6]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#2c3e50;color:#fff;flex-shrink:0}.title-row[data-v-328e87d6]{display:flex;align-items:center;gap:10px}.title-row h2[data-v-328e87d6]{margin:0;font-size:17px;font-weight:600}.gauge-icon[data-v-328e87d6]{width:28px;height:28px;color:#1abc9c}.header-actions[data-v-328e87d6]{display:flex;gap:8px}.icon-btn[data-v-328e87d6]{width:36px;height:36px;border:none;border-radius:8px;background:#ffffff1f;color:#fff;font-size:18px;cursor:pointer}.icon-btn[data-v-328e87d6]:hover:not(:disabled){background:#ffffff38}.icon-btn.close[data-v-328e87d6]{font-size:22px;line-height:1}.drawer-body[data-v-328e87d6]{flex:1;overflow-y:auto;padding:16px}.loading-state[data-v-328e87d6],.error-state[data-v-328e87d6]{text-align:center;padding:48px 20px;color:#666}.spinner[data-v-328e87d6]{width:40px;height:40px;margin:0 auto 16px;border:3px solid #e0e0e0;border-top-color:#1abc9c;border-radius:50%;animation:spin-328e87d6 .8s linear infinite}@keyframes spin-328e87d6{to{transform:rotate(360deg)}}.retry-btn[data-v-328e87d6]{margin-top:12px;padding:8px 16px;background:#1abc9c;color:#fff;border:none;border-radius:6px;cursor:pointer}.admin-strip[data-v-328e87d6]{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;background:#fff3cd;border-radius:8px;font-size:12px;color:#856404;margin-bottom:16px}.insights-block[data-v-328e87d6]{background:#fff;border-radius:10px;padding:14px 16px;border:1px solid #e8ecf0}.insights-block h3[data-v-328e87d6]{margin:0 0 10px;font-size:14px;display:flex;align-items:center;gap:8px}.tag[data-v-328e87d6]{font-size:10px;font-weight:400;background:#e8f6f3;color:#16a085;padding:2px 8px;border-radius:10px}.insight-summary[data-v-328e87d6]{font-size:13px;line-height:1.6;color:#444;margin:0 0 12px}.insight-list h4[data-v-328e87d6]{margin:0 0 6px;font-size:12px;color:#666}.insight-list ul[data-v-328e87d6]{margin:0 0 12px;padding-left:18px;font-size:12px;line-height:1.5}.insight-list.risks ul[data-v-328e87d6]{color:#c0392b}.drawer-fade-enter-active[data-v-328e87d6],.drawer-fade-leave-active[data-v-328e87d6]{transition:opacity .25s}.drawer-fade-enter-from[data-v-328e87d6],.drawer-fade-leave-to[data-v-328e87d6]{opacity:0}.drawer-slide-enter-active[data-v-328e87d6],.drawer-slide-leave-active[data-v-328e87d6]{transition:transform .28s ease}.drawer-slide-enter-from[data-v-328e87d6],.drawer-slide-leave-to[data-v-328e87d6]{transform:translate(100%)}.cae-pick-canvas[data-v-3f05435b]{width:100%;height:100%;min-height:320px;border-radius:8px;overflow:hidden;cursor:default}.cae-pick-canvas.interactive[data-v-3f05435b]{cursor:crosshair}.modal-overlay[data-v-db5a940b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px}.modal-container[data-v-db5a940b]{width:min(1100px,96vw);max-height:92vh;background:#1a1a2e;border-radius:12px;border:1px solid #2d2d44;color:#e8e8f0;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-db5a940b]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #2d2d44}.modal-header h3[data-v-db5a940b]{margin:0;font-size:18px}.close-btn[data-v-db5a940b]{background:transparent;border:none;color:#aaa;font-size:24px;cursor:pointer}.step-bar[data-v-db5a940b]{display:flex;list-style:none;margin:0;padding:10px 16px;gap:8px;border-bottom:1px solid #2d2d44;flex-wrap:wrap}.step-bar li[data-v-db5a940b]{display:flex;align-items:center;gap:6px;font-size:13px;color:#888;padding:4px 10px;border-radius:6px}.step-bar li.active[data-v-db5a940b]{color:#4fc3f7;background:#4fc3f71f}.step-bar li.done[data-v-db5a940b]{color:#81c784}.step-bar .num[data-v-db5a940b]{width:20px;height:20px;border-radius:50%;background:#2d2d44;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.modal-body[data-v-db5a940b]{flex:1;overflow:auto;padding:16px 18px}.step-panel[data-v-db5a940b]{min-height:340px}.step-with-canvas[data-v-db5a940b]{display:grid;grid-template-columns:220px 1fr;gap:12px;min-height:380px}.canvas-wrap[data-v-db5a940b]{position:relative;min-height:360px;background:#12121f;border-radius:8px;border:1px solid #2d2d44;overflow:hidden}.canvas-box[data-v-db5a940b]{min-height:360px;height:100%}.canvas-placeholder[data-v-db5a940b]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:360px;color:#6b7289;font-size:14px;text-align:center;padding:24px}.preview-status[data-v-db5a940b]{font-size:13px;margin-top:10px;color:#9aa0b5}.preview-status.ok[data-v-db5a940b]{color:#81c784}.preview-status.loading[data-v-db5a940b]{display:flex;align-items:center;gap:8px;color:#4fc3f7}.spinner[data-v-db5a940b]{width:16px;height:16px;border:2px solid rgba(79,195,247,.25);border-top-color:#4fc3f7;border-radius:50%;animation:cae-spin-db5a940b .7s linear infinite}@keyframes cae-spin-db5a940b{to{transform:rotate(360deg)}}.spinner.large[data-v-db5a940b]{width:28px;height:28px;margin-bottom:12px}.hint[data-v-db5a940b]{color:#9aa0b5;font-size:13px;margin:0 0 10px}.file-input[data-v-db5a940b]{width:100%}.file-name[data-v-db5a940b]{margin-top:8px;font-size:13px;color:#4fc3f7}.map-note[data-v-db5a940b]{font-size:13px;margin:6px 0}.form-grid[data-v-db5a940b]{display:grid;grid-template-columns:80px 1fr;gap:10px 12px;max-width:420px;align-items:center}.form-grid select[data-v-db5a940b],.form-grid input[data-v-db5a940b]{padding:8px;border-radius:6px;border:1px solid #3d3d55;background:#12121f;color:#eee}.progress-wrap[data-v-db5a940b]{margin-bottom:12px}.progress-bar[data-v-db5a940b]{height:6px;background:linear-gradient(90deg,#4fc3f7,#81c784);border-radius:3px;transition:width .3s;margin-bottom:6px}.result-cards .metric[data-v-db5a940b]{display:flex;justify-content:space-between;margin:8px 0;font-size:14px}.result-cards .metric b[data-v-db5a940b]{color:#4fc3f7}.modal-footer[data-v-db5a940b]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid #2d2d44}.primary-btn[data-v-db5a940b],.secondary-btn[data-v-db5a940b]{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:14px}.primary-btn[data-v-db5a940b]{background:#4fc3f7;color:#0f0f1a}.primary-btn[data-v-db5a940b]:disabled{opacity:.5;cursor:not-allowed}.secondary-btn[data-v-db5a940b]{background:#2d2d44;color:#eee}.error-hint[data-v-db5a940b]{color:#ef5350;font-size:13px;margin-top:10px}.archive-hint[data-v-db5a940b]{color:#66bb6a;font-size:13px;margin-top:8px}.link-btn[data-v-db5a940b]{display:inline-block;margin-top:10px;color:#4fc3f7;font-size:13px}.main-layout[data-v-735eeace]{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden}.header[data-v-735eeace]{height:50px;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 20px;flex-shrink:0}.header h1[data-v-735eeace]{font-size:18px;margin:0}.header-actions[data-v-735eeace]{display:flex;gap:10px;align-items:center}.header-toolbar-btn[data-v-735eeace]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;line-height:1;cursor:pointer;box-sizing:border-box;border:1px solid transparent;transition:background .2s,border-color .2s,color .2s}.dashboard-header-btn[data-v-735eeace]{background:#1abc9c26;border-color:#1abc9c73;color:#ecf0f1}.dashboard-header-btn[data-v-735eeace]:hover{background:#1abc9c47;border-color:#1abc9c}.user-btn[data-v-735eeace]{background:#ffffff1a;border-color:#ffffff47;color:#ecf0f1}.user-btn[data-v-735eeace]:hover{background:#ffffff2e;border-color:#fff6;color:#fff}.user-btn.active[data-v-735eeace]{background:#ffffff38;border-color:#ffffff73;color:#fff}.dashboard-gauge-icon[data-v-735eeace]{width:22px;height:22px;flex-shrink:0;color:#1abc9c}.user-avatar[data-v-735eeace]{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.dropdown-arrow[data-v-735eeace]{font-size:10px;opacity:.85;transition:transform .2s ease}.user-btn.active .dropdown-arrow[data-v-735eeace]{transform:rotate(180deg)}@media (max-width: 720px){.dashboard-label[data-v-735eeace]{display:none}}.content[data-v-735eeace]{flex:1;display:flex;width:100%;min-height:0}.sidebar-panel[data-v-735eeace]{width:168px;flex-shrink:0;height:100%;min-height:0;background:#1e293b;display:flex;flex-direction:column;padding:10px 8px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;border-right:1px solid rgba(148,163,184,.18)}.side-nav[data-v-735eeace]{display:flex;flex-direction:column;gap:8px}.nav-group[data-v-735eeace]{background:#0f172a8c;border:1px solid rgba(148,163,184,.16);border-radius:10px;overflow:hidden}.nav-group-hd[data-v-735eeace]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 10px;border:none;background:transparent;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:none;cursor:pointer;text-align:left}.nav-group-hd[data-v-735eeace]:hover{color:#e2e8f0;background:#33415573}.nav-group.open .nav-group-hd[data-v-735eeace]{color:#cbd5e1}.nav-group-hd .chev[data-v-735eeace]{font-size:10px;opacity:.8}.nav-group-bd[data-v-735eeace]{display:flex;flex-direction:column;gap:2px;padding:0 6px 8px}.nav-item[data-v-735eeace]{width:100%;display:flex;align-items:center;gap:8px;padding:8px;border:none;border-radius:8px;background:transparent;color:#e2e8f0;font-size:12px;line-height:1.25;cursor:pointer;text-align:left;transition:background .15s,color .15s}.nav-item[data-v-735eeace]:hover:not(:disabled){background:#38bdf81f;color:#fff}.nav-item[data-v-735eeace]:disabled{opacity:.55;cursor:not-allowed}.nav-ico[data-v-735eeace]{width:1.25em;flex-shrink:0;text-align:center;font-size:14px;line-height:1;opacity:.95}.project-chip[data-v-735eeace]{margin:2px 8px 6px;padding:4px 6px;font-size:10px;color:#7dd3fc;line-height:1.35;word-break:break-all;background:#0ea5e91a;border-radius:6px}.viewer-panel[data-v-735eeace]{flex:1;height:100%;overflow:hidden;transition:background-color .3s;display:flex;flex-direction:column;min-width:0}.chat-panel[data-v-735eeace]{width:350px;height:100%;overflow:hidden}.header-actions[data-v-735eeace]{position:relative}.user-menu[data-v-735eeace]{position:relative;display:inline-block}.dropdown-menu[data-v-735eeace]{position:absolute;top:calc(100% + 4px);right:0;background:#f8f9fa;border-radius:8px;box-shadow:0 4px 16px #0000001f;width:100%;min-width:max-content;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid #e9ecef}.dropdown-menu.show[data-v-735eeace]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item[data-v-735eeace]{display:block;width:calc(100% - 8px);padding:10px 16px;background:#f1f3f4;border:none;text-align:left;cursor:pointer;font-size:14px;color:#495057;transition:all .2s ease;border-radius:6px;margin:2px 4px}.dropdown-item[data-v-735eeace]:hover{background:#e9ecef;color:#2c3e50}.dropdown-item[data-v-735eeace]:active,.dropdown-item.active[data-v-735eeace]{background:#d1d5db;color:#1f2937}.plm-page{max-width:1100px}.plm-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.plm-header h2{margin:0;font-size:20px;font-weight:650;color:#0f172a;letter-spacing:.01em}.plm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.plm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 16px;margin:0;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:560;line-height:1.2;letter-spacing:.01em;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap;vertical-align:middle}.plm-btn:disabled{opacity:.55;cursor:not-allowed}.plm-btn-primary{background:#0f766e;border-color:#0f766e;color:#fff;box-shadow:0 1px 2px #0f766e40}.plm-btn-primary:hover:not(:disabled){background:#0d9488;border-color:#0d9488}.plm-btn-secondary{background:#fff;border-color:#94a3b8;color:#334155}.plm-btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#64748b;color:#0f172a}.plm-btn-danger{background:#fff;border-color:#f87171;color:#b91c1c}.plm-btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#ef4444}.plm-btn-sm{min-height:30px;padding:4px 12px;font-size:12px}.plm-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.plm-panel{background:#fff;border:1px solid #64748b;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0f172a14}.plm-table-wrap{width:100%;overflow-x:auto}.plm-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px;color:#1e293b;line-height:1.45}.plm-table thead th{background:#cbd5e1;color:#0f172a;font-weight:650;text-align:left;padding:12px 14px;border-bottom:2px solid #475569;border-right:1px solid #94a3b8;white-space:nowrap}.plm-table thead th:last-child{border-right:none}.plm-table tbody td{padding:12px 14px;border-bottom:1px solid #94a3b8;border-right:1px solid #cbd5e1;vertical-align:middle}.plm-table tbody td:last-child{border-right:none}.plm-table tbody tr:nth-child(2n){background:#f1f5f9}.plm-table tbody tr:hover{background:#ccfbf1}.plm-table tbody tr:last-child td{border-bottom:none}.plm-table .plm-empty{text-align:center;color:#64748b;padding:28px 14px;background:#fff}.plm-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#334155}.plm-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:600;border:1px solid transparent;line-height:1.2}.plm-badge-progress,.plm-badge-pending{background:#ecfeff;border-color:#67e8f9;color:#0e7490}.plm-badge-done,.plm-badge-agree{background:#ecfdf5;border-color:#6ee7b7;color:#047857}.plm-badge-reject{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.plm-input{min-height:36px;padding:8px 12px;border:1px solid #94a3b8;border-radius:6px;font-size:13px;color:#0f172a;background:#fff;box-sizing:border-box;outline:none;min-width:220px}.plm-input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.plm-search-result{margin-top:12px;display:flex;flex-direction:column;gap:8px}.plm-search-item{background:#fff;border:1px solid #94a3b8;border-radius:8px;padding:12px 14px;font-size:13px;color:#334155}.plm-search-item:hover{border-color:#0d9488;background:#f0fdfa}.plm-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.plm-stat-card{background:#fff;border:1px solid #94a3b8;border-radius:8px;padding:20px 18px;text-align:left;box-shadow:0 1px 2px #0f172a0f}.plm-stat-card h3{margin:0 0 10px;font-size:13px;font-weight:600;color:#64748b}.plm-stat-card p{margin:0;font-size:28px;font-weight:700;color:#0f172a;line-height:1.1}@media (max-width: 960px){.plm-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}.plm-container[data-v-b8b0b4fa]{display:flex;height:100vh;background:#eef2f6}.plm-sidebar[data-v-b8b0b4fa]{width:220px;flex-shrink:0;background:#1e293b;color:#e2e8f0;padding:18px 0 12px;display:flex;flex-direction:column}.plm-sidebar h3[data-v-b8b0b4fa]{margin:0 16px 18px;font-size:15px;font-weight:650;color:#f8fafc;letter-spacing:.02em}.plm-nav[data-v-b8b0b4fa]{display:flex;flex-direction:column;gap:2px;padding:0 10px;flex:1;overflow-y:auto}.plm-nav-label[data-v-b8b0b4fa]{margin:12px 8px 6px;font-size:11px;font-weight:650;color:#94a3b8;letter-spacing:.06em;text-transform:uppercase}.plm-nav a[data-v-b8b0b4fa]{color:#cbd5e1;text-decoration:none;display:block;padding:9px 12px;border-radius:6px;font-size:13px;line-height:1.3}.plm-nav a[data-v-b8b0b4fa]:hover{background:#334155;color:#fff}.plm-nav a.router-link-active[data-v-b8b0b4fa]{background:#0f766e;color:#fff;font-weight:600}.plm-nav-footer[data-v-b8b0b4fa]{margin-top:auto;padding:14px 0 4px;border-top:1px solid #334155}.plm-nav-back[data-v-b8b0b4fa]{color:#94a3b8!important}.plm-nav-back[data-v-b8b0b4fa]:hover{color:#fff!important;background:#334155!important}.plm-content[data-v-b8b0b4fa]{flex:1;padding:24px 28px;overflow-y:auto}.cae-container[data-v-f270cb18]{height:100%;display:flex;flex-direction:column;background:#0f0f1a;color:#eee}.cae-header[data-v-f270cb18]{padding:15px 20px;background:linear-gradient(135deg,#667eea,#764ba2)}.header-row[data-v-f270cb18]{display:flex;align-items:center;justify-content:space-between;gap:12px}.wizard-open-btn[data-v-f270cb18]{padding:8px 16px;border:none;border-radius:8px;background:#fff3;color:#fff;cursor:pointer;font-size:14px;white-space:nowrap}.wizard-open-btn[data-v-f270cb18]:hover{background:#ffffff52}.cae-header h2[data-v-f270cb18]{margin:0 0 5px;font-size:20px}.cae-header .subtitle[data-v-f270cb18]{margin:0;font-size:12px;opacity:.8}.cae-content[data-v-f270cb18]{flex:1;display:flex;gap:15px;padding:15px;min-height:0}.params-panel[data-v-f270cb18]{width:220px;background:#1e1e2e;border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:15px}.panel-section h3[data-v-f270cb18]{font-size:13px;margin:0 0 8px;color:#8892b0}.file-input[data-v-f270cb18]{width:100%;padding:8px;background:#2d2d3d;border:1px solid #3d3d4d;border-radius:5px;color:#eee}.file-name[data-v-f270cb18]{font-size:11px;color:#8892b0;margin:5px 0 0;word-break:break-all}.material-select[data-v-f270cb18]{width:100%;padding:8px;background:#2d2d3d;border:1px solid #3d3d4d;border-radius:5px;color:#eee}.force-input[data-v-f270cb18]{display:flex;align-items:center;gap:8px}.force-input input[data-v-f270cb18]{flex:1;padding:8px;background:#2d2d3d;border:1px solid #3d3d4d;border-radius:5px;color:#eee}.force-input span[data-v-f270cb18]{color:#8892b0}.panel-section label[data-v-f270cb18]{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:13px;cursor:pointer}.preview-btn[data-v-f270cb18]{padding:10px;background:#3498db;border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:background .2s}.preview-btn[data-v-f270cb18]:hover:not(:disabled){background:#2980b9}.preview-btn[data-v-f270cb18]:disabled{opacity:.6;cursor:not-allowed}.run-btn[data-v-f270cb18]{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s}.run-btn[data-v-f270cb18]:hover:not(:disabled){transform:scale(1.02)}.run-btn[data-v-f270cb18]:disabled{opacity:.6;cursor:not-allowed}.demo-btn[data-v-f270cb18]{padding:10px;background:#3d3d4d;border:none;border-radius:8px;color:#eee;cursor:pointer}.demo-btn[data-v-f270cb18]:hover{background:#4d4d5d}.back-btn[data-v-f270cb18]{margin-top:auto;width:80px;height:45px;background:#4d4d5d;border:none;border-radius:8px;color:#eee;cursor:pointer;font-size:13px;transition:background .2s;align-self:flex-start}.back-btn[data-v-f270cb18]:hover{background:#5d5d6d}.result-panel[data-v-f270cb18]{flex:1;display:flex;flex-direction:column;gap:10px}.viz-container[data-v-f270cb18]{flex:1;background:#1a1a2e;border-radius:10px;overflow:hidden;min-height:0}.three-canvas[data-v-f270cb18]{width:100%;height:100%}.result-info[data-v-f270cb18]{display:flex;gap:15px}.result-item[data-v-f270cb18]{flex:1;background:#1e1e2e;padding:12px;border-radius:8px;display:flex;flex-direction:column;gap:5px}.result-item .label[data-v-f270cb18]{font-size:12px;color:#8892b0}.result-item .value[data-v-f270cb18]{font-size:18px;font-weight:700}.result-item .stress[data-v-f270cb18]{color:#e74c3c}.result-item .displacement[data-v-f270cb18]{color:#3498db}.result-item .safety[data-v-f270cb18]{color:#2ecc71}.report-link[data-v-f270cb18]{text-align:center}.download-btn[data-v-f270cb18]{display:inline-block;padding:10px 25px;background:#27ae60;color:#fff;text-decoration:none;border-radius:8px;transition:background .2s}.download-btn[data-v-f270cb18]:hover{background:#2ecc71}.rag-manage-container[data-v-ada6c39c]{padding:24px;background:#fff;min-height:calc(100vh - 60px)}.page-header[data-v-ada6c39c]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.page-title[data-v-ada6c39c]{font-size:22px;font-weight:700;margin-bottom:0;color:#333}.mode-tabs[data-v-ada6c39c]{display:flex;gap:8px}.mode-tab[data-v-ada6c39c]{padding:8px 14px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;color:#606266;cursor:pointer}.mode-tab.active[data-v-ada6c39c]{background:#409eff;border-color:#409eff;color:#fff}.mode-banner[data-v-ada6c39c]{margin-bottom:18px;padding:12px 14px;border-radius:6px;font-size:14px;line-height:1.6;background:#f5f7fa;color:#606266}.mode-banner.remote[data-v-ada6c39c]{background:#ecf5ff;border:1px solid #d9ecff}.warn-text[data-v-ada6c39c]{color:#e6a23c;margin-left:8px}.console-link[data-v-ada6c39c]{margin-left:12px;color:#409eff;text-decoration:none}.console-link[data-v-ada6c39c]:hover{text-decoration:underline}.doc-meta[data-v-ada6c39c]{font-size:12px;color:#909399;margin-left:10px}.search-row-wrap[data-v-ada6c39c]{margin-bottom:18px}.search-row-wrap .chat-input[data-v-ada6c39c]{margin-bottom:0}.kb-select-wrap[data-v-ada6c39c]{margin-bottom:20px;font-size:15px}.kb-select-wrap select[data-v-ada6c39c]{margin-left:10px;padding:6px 10px;min-width:180px;border:1px solid #ccc;border-radius:4px}.btn-group[data-v-ada6c39c]{margin-bottom:20px;display:flex;gap:12px;align-items:center}.btn[data-v-ada6c39c]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.upload-btn[data-v-ada6c39c]{background:#409eff;color:#fff;padding:8px 16px;border-radius:4px;cursor:pointer;display:inline-block}.refresh-btn[data-v-ada6c39c]{background:#67c23a;color:#fff}.all-refresh-btn[data-v-ada6c39c]{background:#e6a23c;color:#fff}.back-workbench-btn[data-v-ada6c39c]{background:#909399;color:#fff}.back-workbench-btn[data-v-ada6c39c]:hover{background:#a6a9ad}input[type=file][data-v-ada6c39c]{display:none}.msg-box[data-v-ada6c39c]{padding:10px 15px;border-radius:4px;margin-bottom:15px}.success[data-v-ada6c39c]{background:#f0f9ff;color:#67c23a;border:1px solid #e1f3d8}.error[data-v-ada6c39c]{background:#fef0f0;color:#f56c6c;border:1px solid #fbc4c4}.doc-list-wrap[data-v-ada6c39c]{margin-top:24px}.doc-section-title[data-v-ada6c39c]{margin:0 0 16px;padding:0 0 12px 12px;font-size:18px;font-weight:600;line-height:1.35;color:#303133;border-bottom:2px solid #409eff;border-left:4px solid #409eff;background:linear-gradient(90deg,rgba(64,158,255,.08) 0%,transparent 48%);border-radius:2px 0 0 2px}.doc-empty[data-v-ada6c39c]{color:#999;font-size:14px;padding:8px 0 16px}.doc-item[data-v-ada6c39c]{padding:8px 12px;border:1px solid #eee;border-radius:4px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.doc-row-main[data-v-ada6c39c]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1;min-width:0}.doc-actions[data-v-ada6c39c]{display:flex;gap:8px;flex-shrink:0}.action-btn[data-v-ada6c39c]{padding:4px 12px;font-size:13px;border:1px solid #dcdfe6;border-radius:4px;background:#fff;color:#606266;cursor:pointer}.action-btn[data-v-ada6c39c]:hover{color:#409eff;border-color:#c6e2ff;background:#ecf5ff}.action-btn.primary[data-v-ada6c39c]{background:#409eff;color:#fff;border-color:#409eff}.action-btn.primary[data-v-ada6c39c]:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}.action-btn.muted[data-v-ada6c39c]{color:#909399}.action-btn.muted[data-v-ada6c39c]:hover{color:#606266;background:#f4f4f5;border-color:#dcdfe6}.action-btn.danger[data-v-ada6c39c]:hover{color:#f56c6c;border-color:#fbc4c4;background:#fef0f0}.rename-input[data-v-ada6c39c]{min-width:180px;flex:1;max-width:420px;padding:6px 10px;border:1px solid #ccc;border-radius:4px}.name-label[data-v-ada6c39c],.move-label[data-v-ada6c39c]{font-size:13px;color:#666;white-space:nowrap}.kb-mini-select[data-v-ada6c39c]{padding:5px 10px;border-radius:4px;border:1px solid #ccc;min-width:130px}.name[data-v-ada6c39c]{color:#555;flex:1;min-width:120px;word-break:break-all}.chat-wrap[data-v-ada6c39c]{margin:20px 0;border:1px solid #eee;border-radius:4px;padding:15px}.chat-wrap--results[data-v-ada6c39c]{min-height:48px}.chat-input[data-v-ada6c39c]{display:flex;gap:10px;margin-bottom:15px;align-items:stretch}.search-input-shell[data-v-ada6c39c]{position:relative;width:calc((100% - 108px) / 3);min-width:140px;max-width:calc((100% - 108px) / 3)}.search-icon[data-v-ada6c39c]{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:15px;line-height:1;-webkit-user-select:none;user-select:none;opacity:.85}.search-input[data-v-ada6c39c]{width:100%;box-sizing:border-box;padding:8px 12px 8px 36px;border:1px solid #ccc;border-radius:4px;font-size:14px}.search-input[data-v-ada6c39c]:focus{outline:none;border-color:#409eff;box-shadow:0 0 0 1px #409eff33}.send-btn[data-v-ada6c39c]{background:#409eff;color:#fff;border:none;border-radius:4px;padding:0 18px;flex-shrink:0;min-width:88px;cursor:pointer}.chat-history[data-v-ada6c39c]{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.chat-item[data-v-ada6c39c]{padding:8px 12px;border-radius:4px;max-width:80%}.user[data-v-ada6c39c]{align-self:flex-start;background:#f5fafe;border:1px solid #e1f3d8}.chat-role[data-v-ada6c39c]{font-weight:700;margin-right:8px;color:#409eff}.chat-content[data-v-ada6c39c]{color:#333;line-height:1.5}.rag-card[data-v-ada6c39c]{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:15px;margin-top:10px}.card-header[data-v-ada6c39c]{font-size:16px;font-weight:700;color:#333;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:8px}.card-content[data-v-ada6c39c]{line-height:1.6;color:#555;margin-bottom:10px}.card-content h2[data-v-ada6c39c]{font-size:15px;margin:10px 0;color:#333}.card-content h3[data-v-ada6c39c]{font-size:14px;margin:8px 0;color:#444}.card-content p[data-v-ada6c39c]{margin:4px 0}.card-source[data-v-ada6c39c]{margin-top:10px;padding-top:10px;border-top:1px dashed #eee}.source-title[data-v-ada6c39c]{font-size:13px;font-weight:700;color:#666;margin-bottom:6px}.source-item[data-v-ada6c39c]{font-size:12px;color:#777;margin-bottom:4px}.user-settings-container[data-v-bce7efb4]{height:100%;display:flex;flex-direction:column;background:#f5f7fa;color:#333}.user-settings-header[data-v-bce7efb4]{padding:20px;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:15px}.back-btn[data-v-bce7efb4]{background:none;border:none;font-size:18px;cursor:pointer;color:#666}.user-settings-header h2[data-v-bce7efb4]{margin:0;font-size:20px;font-weight:600}.user-settings-content[data-v-bce7efb4]{flex:1;padding:20px;overflow-y:auto}.setting-section[data-v-bce7efb4]{background:#fff;border-radius:8px;padding:15px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.setting-section h3[data-v-bce7efb4]{margin:0 0 8px;font-size:14px;font-weight:600;color:#666}.hint[data-v-bce7efb4]{font-size:12px;color:#888;margin:0 0 12px;line-height:1.5}.input-container[data-v-bce7efb4]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dept-select[data-v-bce7efb4]{flex:1;min-width:200px;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px}.action-btn[data-v-bce7efb4]{padding:8px 16px;background:#16a085;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer}.action-btn[data-v-bce7efb4]:hover:not(:disabled){background:#138d75}.action-btn[data-v-bce7efb4]:disabled{opacity:.6;cursor:not-allowed}.save-msg[data-v-bce7efb4]{margin-top:10px;font-size:13px;color:#16a085}.current-label[data-v-bce7efb4]{margin-top:8px;font-size:13px;color:#555}.rag-section h3[data-v-bce7efb4]{margin:0}.section-title-row[data-v-bce7efb4]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.status-badge[data-v-bce7efb4]{font-size:12px;padding:2px 8px;border-radius:10px;font-weight:500}.status-ok[data-v-bce7efb4]{background:#e8f8f5;color:#16a085}.status-pending[data-v-bce7efb4]{background:#f0f0f0;color:#888}.form-grid[data-v-bce7efb4]{display:grid;grid-template-columns:140px 1fr;gap:12px 16px;align-items:center;margin-top:12px}.field-label[data-v-bce7efb4]{font-size:13px;color:#666}.field-input[data-v-bce7efb4]{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;box-sizing:border-box}.field-readonly[data-v-bce7efb4]{background:#f8f9fa;color:#666}.meta-line[data-v-bce7efb4]{margin:12px 0 0;font-size:12px;color:#888}.button-row[data-v-bce7efb4]{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.secondary-btn[data-v-bce7efb4]{background:#fff;color:#16a085;border:1px solid #16a085}.secondary-btn[data-v-bce7efb4]:hover:not(:disabled){background:#e8f8f5}.msg-error[data-v-bce7efb4]{color:#c0392b!important}.test-result[data-v-bce7efb4]{margin-top:14px;padding:12px;border-radius:6px;font-size:13px;line-height:1.5}.test-ok[data-v-bce7efb4]{background:#e8f8f5;border:1px solid #a3e4d7;color:#1e8449}.test-fail[data-v-bce7efb4]{background:#fdecea;border:1px solid #f5b7b1;color:#c0392b}.test-title[data-v-bce7efb4]{margin:0 0 4px;font-weight:600}.test-detail[data-v-bce7efb4]{margin:6px 0 0;font-size:12px;opacity:.9}@media (max-width: 640px){.form-grid[data-v-bce7efb4]{grid-template-columns:1fr}}.dept-workbench[data-v-85bc3627]{min-height:100vh;background:#f4f6f8;padding:24px;color:#222}.wb-header[data-v-85bc3627]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.wb-header h1[data-v-85bc3627]{margin:0 0 6px;font-size:24px}.sub[data-v-85bc3627]{margin:0;color:#666}.header-actions[data-v-85bc3627]{display:flex;gap:12px}.link[data-v-85bc3627]{color:#1a73e8;text-decoration:none}.tabs[data-v-85bc3627]{display:flex;gap:8px;margin-bottom:16px}.tabs button[data-v-85bc3627]{border:1px solid #ddd;background:#fff;padding:8px 14px;border-radius:8px;cursor:pointer}.tabs button.active[data-v-85bc3627]{background:#16a085;color:#fff;border-color:#16a085}.task-list[data-v-85bc3627]{display:flex;flex-direction:column;gap:12px}.task-card[data-v-85bc3627]{background:#fff;border-radius:10px;padding:14px 16px;border:1px solid #e6e8eb}.task-title[data-v-85bc3627]{font-weight:600}.meta[data-v-85bc3627]{color:#888;font-size:12px;margin:4px 0 8px}.rec[data-v-85bc3627]{margin:8px 0;padding:8px;background:#fafbfc;border-radius:6px}.st.pending[data-v-85bc3627]{color:#e67e22}.st.signed[data-v-85bc3627]{color:#27ae60}.actions[data-v-85bc3627]{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.actions input[data-v-85bc3627]{flex:1;min-width:160px;padding:6px 8px;border:1px solid #ddd;border-radius:6px}.btn[data-v-85bc3627]{border:none;border-radius:6px;padding:7px 12px;cursor:pointer}.btn.primary[data-v-85bc3627]{background:#16a085;color:#fff}.btn.secondary[data-v-85bc3627]{background:#eef2f5}.hint[data-v-85bc3627]{color:#c0392b}.empty[data-v-85bc3627]{color:#999;text-align:center;padding:40px}.project-center[data-v-bb7ada24]{min-height:100vh;padding:24px 32px 48px;background:linear-gradient(160deg,#0f172a,#1e293b 45%,#0f172a);color:#e2e8f0;font-family:Segoe UI,PingFang SC,sans-serif}.hdr[data-v-bb7ada24]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.hdr h1[data-v-bb7ada24]{margin:0;font-size:1.75rem;font-weight:650}.sub[data-v-bb7ada24]{margin:6px 0 0;color:#94a3b8;font-size:.9rem}.hdr-actions[data-v-bb7ada24]{display:flex;gap:12px}.link[data-v-bb7ada24]{color:#7dd3fc;text-decoration:none}.link[data-v-bb7ada24]:hover{text-decoration:underline}.create-card[data-v-bb7ada24],.list-card[data-v-bb7ada24],.detail-card[data-v-bb7ada24]{background:#0f172ab8;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:18px 20px;margin-bottom:18px}h2[data-v-bb7ada24]{margin:0 0 12px;font-size:1.1rem}h3[data-v-bb7ada24]{margin:16px 0 8px;font-size:1rem;color:#cbd5e1}.row[data-v-bb7ada24]{display:flex;flex-wrap:wrap;gap:10px}input[data-v-bb7ada24],select[data-v-bb7ada24]{flex:1;min-width:160px;padding:8px 10px;border-radius:8px;border:1px solid #475569;background:#0f172a;color:#e2e8f0}.btn[data-v-bb7ada24]{border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}.btn.primary[data-v-bb7ada24]{background:#0284c7;color:#fff}.btn.secondary[data-v-bb7ada24]{background:#334155;color:#e2e8f0}.btn.tiny[data-v-bb7ada24]{padding:4px 8px;font-size:.8rem;background:#1e293b;color:#7dd3fc;margin-right:6px}.btn[data-v-bb7ada24]:disabled{opacity:.5;cursor:not-allowed}.msg[data-v-bb7ada24]{color:#fbbf24;margin:10px 0 0}.list-head[data-v-bb7ada24]{display:flex;justify-content:space-between;align-items:center}.tbl[data-v-bb7ada24]{width:100%;border-collapse:collapse}.tbl th[data-v-bb7ada24],.tbl td[data-v-bb7ada24]{text-align:left;padding:10px 8px;border-bottom:1px solid #334155}.tbl th[data-v-bb7ada24]{color:#94a3b8;font-weight:600}.empty[data-v-bb7ada24]{color:#64748b;text-align:center}.current[data-v-bb7ada24]{margin-top:14px;color:#a5f3fc}.members[data-v-bb7ada24],.events[data-v-bb7ada24]{list-style:none;padding:0;margin:0}.members li[data-v-bb7ada24],.events li[data-v-bb7ada24]{padding:8px 0;border-bottom:1px solid #334155;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.events code[data-v-bb7ada24]{color:#67e8f9}.loading[data-v-bb7ada24]{color:#94a3b8}.biz-docs[data-v-1f25a68a]{min-height:100vh;padding:24px 32px 48px;background:linear-gradient(160deg,#0f172a,#1e293b 45%,#0f172a);color:#e2e8f0;font-family:Segoe UI,PingFang SC,sans-serif}.hdr[data-v-1f25a68a]{display:flex;justify-content:space-between;margin-bottom:20px}.hdr h1[data-v-1f25a68a]{margin:0;font-size:1.6rem}.sub[data-v-1f25a68a]{color:#94a3b8;margin:6px 0 0}.hdr-actions[data-v-1f25a68a]{display:flex;gap:12px}.link[data-v-1f25a68a]{color:#7dd3fc;text-decoration:none}.card[data-v-1f25a68a]{background:#0f172ab8;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:16px 18px;margin-bottom:16px}.grid2[data-v-1f25a68a]{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 960px){.grid2[data-v-1f25a68a]{grid-template-columns:1fr}}h2[data-v-1f25a68a]{margin:0 0 12px;font-size:1.05rem}.row[data-v-1f25a68a]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}input[data-v-1f25a68a],select[data-v-1f25a68a],textarea[data-v-1f25a68a]{width:100%;box-sizing:border-box;margin:4px 0 10px;padding:8px 10px;border-radius:8px;border:1px solid #475569;background:#0f172a;color:#e2e8f0}label[data-v-1f25a68a]{display:block;font-size:.85rem;color:#94a3b8}.btn[data-v-1f25a68a]{border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}.btn.primary[data-v-1f25a68a]{background:#0284c7;color:#fff}.btn.secondary[data-v-1f25a68a]{background:#334155;color:#e2e8f0}.btn[data-v-1f25a68a]:disabled{opacity:.5}.msg[data-v-1f25a68a]{color:#fbbf24;margin-top:10px}.fname[data-v-1f25a68a]{color:#94a3b8;font-size:.85rem}.preview[data-v-1f25a68a]{background:#020617;border-radius:8px;padding:10px;max-height:280px;overflow:auto;font-size:12px;white-space:pre-wrap}.muted[data-v-1f25a68a]{color:#94a3b8}.change-center[data-v-51c10dfe]{min-height:100vh;padding:24px 32px 48px;background:linear-gradient(160deg,#0f172a,#1e293b 45%,#0f172a);color:#e2e8f0;font-family:Segoe UI,PingFang SC,sans-serif}.hdr[data-v-51c10dfe]{display:flex;justify-content:space-between;margin-bottom:20px;gap:16px}.hdr h1[data-v-51c10dfe]{margin:0}.sub[data-v-51c10dfe]{color:#94a3b8;margin:6px 0 0}.hdr-actions[data-v-51c10dfe]{display:flex;gap:12px;flex-wrap:wrap}.link[data-v-51c10dfe]{color:#7dd3fc;text-decoration:none}.card[data-v-51c10dfe]{background:#0f172ab8;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:16px 18px;margin-bottom:16px}.row[data-v-51c10dfe]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}input[data-v-51c10dfe],select[data-v-51c10dfe]{padding:8px 10px;border-radius:8px;border:1px solid #475569;background:#0f172a;color:#e2e8f0}.grow[data-v-51c10dfe]{flex:1;min-width:180px}.btn[data-v-51c10dfe]{border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}.btn.primary[data-v-51c10dfe]{background:#0284c7;color:#fff}.btn.secondary[data-v-51c10dfe]{background:#334155;color:#e2e8f0}.btn.tiny[data-v-51c10dfe]{padding:4px 8px;font-size:.8rem;background:#1e293b;color:#7dd3fc}.btn[data-v-51c10dfe]:disabled{opacity:.5;cursor:not-allowed}.msg[data-v-51c10dfe]{color:#fbbf24;margin-top:8px}.hint[data-v-51c10dfe]{color:#64748b;font-size:.85rem;margin:8px 0 0}.tbl[data-v-51c10dfe]{width:100%;border-collapse:collapse}.tbl th[data-v-51c10dfe],.tbl td[data-v-51c10dfe]{padding:8px;border-bottom:1px solid #334155;text-align:left;vertical-align:top}.sum[data-v-51c10dfe]{max-width:360px;color:#cbd5e1;font-size:.9rem}.empty[data-v-51c10dfe]{color:#64748b}.badge[data-v-51c10dfe]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:#334155}.badge.open[data-v-51c10dfe]{background:#7c2d12}.badge.reviewing[data-v-51c10dfe]{background:#854d0e}.badge.closed[data-v-51c10dfe]{background:#14532d}.meta-line[data-v-51c10dfe]{color:#94a3b8;font-size:.9rem}.dims[data-v-51c10dfe]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 900px){.dims[data-v-51c10dfe]{grid-template-columns:1fr}}.dim[data-v-51c10dfe]{background:#020617;border-radius:8px;padding:10px}.dim h3[data-v-51c10dfe]{margin:0 0 8px;font-size:.95rem}.dim h3 small[data-v-51c10dfe]{color:#64748b;font-weight:500}.dim ul[data-v-51c10dfe]{list-style:none;padding:0;margin:0}.dim li[data-v-51c10dfe]{margin-bottom:8px}.detail[data-v-51c10dfe]{color:#94a3b8;font-size:.85rem}.high[data-v-51c10dfe]{color:#f87171}.medium[data-v-51c10dfe]{color:#fbbf24}.low[data-v-51c10dfe]{color:#4ade80}.notice[data-v-51c10dfe]{background:#020617;padding:10px;border-radius:8px;white-space:pre-wrap;font-size:12px}.acks[data-v-51c10dfe]{list-style:none;padding:0;margin:10px 0 0}.acks li[data-v-51c10dfe]{padding:6px 0;border-bottom:1px solid #334155;color:#cbd5e1}.exec-ledgers[data-v-459ccea9]{min-height:100vh;padding:24px 32px 48px;background:linear-gradient(160deg,#0f172a,#1e293b 45%,#0f172a);color:#e2e8f0;font-family:Segoe UI,PingFang SC,sans-serif}.hdr[data-v-459ccea9]{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.hdr h1[data-v-459ccea9]{margin:0}.sub[data-v-459ccea9]{color:#94a3b8;margin:6px 0 0}.hdr-actions[data-v-459ccea9]{display:flex;gap:12px;flex-wrap:wrap}.link[data-v-459ccea9]{color:#7dd3fc;text-decoration:none;cursor:pointer}.card[data-v-459ccea9]{background:#0f172ab8;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:16px 18px;margin-bottom:16px}.row[data-v-459ccea9],.create-row[data-v-459ccea9],.tools[data-v-459ccea9]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.tabs[data-v-459ccea9]{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.tab[data-v-459ccea9]{border:1px solid #475569;background:#0f172a;color:#cbd5e1;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}.tab.active[data-v-459ccea9]{background:#0284c7;border-color:#0284c7;color:#fff}input[data-v-459ccea9],select[data-v-459ccea9]{padding:8px 10px;border-radius:8px;border:1px solid #475569;background:#0f172a;color:#e2e8f0}.narrow[data-v-459ccea9]{width:88px}.grow[data-v-459ccea9]{flex:1;min-width:160px}.btn[data-v-459ccea9]{border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}.btn.primary[data-v-459ccea9]{background:#0284c7;color:#fff}.btn.secondary[data-v-459ccea9]{background:#334155;color:#e2e8f0}.btn.tiny[data-v-459ccea9]{padding:4px 8px;font-size:.8rem;background:#1e293b;color:#7dd3fc;margin:2px}.btn[data-v-459ccea9]:disabled{opacity:.5}.file-btn[data-v-459ccea9]{display:inline-flex;align-items:center;padding:8px 14px;border-radius:8px;background:#334155;cursor:pointer;font-weight:600}.file-btn input[data-v-459ccea9]{display:none}.msg[data-v-459ccea9]{color:#fbbf24}.err[data-v-459ccea9]{color:#f87171}.empty[data-v-459ccea9]{color:#64748b;padding:12px 0}.tbl[data-v-459ccea9]{width:100%;border-collapse:collapse}.tbl th[data-v-459ccea9],.tbl td[data-v-459ccea9]{padding:8px;border-bottom:1px solid #334155;text-align:left;vertical-align:top;font-size:.9rem}.ops[data-v-459ccea9]{white-space:nowrap}.project-board[data-v-65769d87]{min-height:100vh;padding:24px 32px 48px;background:linear-gradient(160deg,#0f172a,#1e293b 45%,#0f172a);color:#e2e8f0;font-family:Segoe UI,PingFang SC,sans-serif}.hdr[data-v-65769d87]{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.hdr h1[data-v-65769d87]{margin:0}.sub[data-v-65769d87]{color:#94a3b8;margin:6px 0 0}.hdr-actions[data-v-65769d87]{display:flex;gap:12px;flex-wrap:wrap}.link[data-v-65769d87]{color:#7dd3fc;text-decoration:none}.card[data-v-65769d87]{background:#0f172ab8;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:16px 18px;margin-bottom:16px}.row[data-v-65769d87]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.grid2[data-v-65769d87]{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 960px){.grid2[data-v-65769d87]{grid-template-columns:1fr}}input[data-v-65769d87],select[data-v-65769d87]{padding:8px 10px;border-radius:8px;border:1px solid #475569;background:#0f172a;color:#e2e8f0}.btn[data-v-65769d87]{border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}.btn.primary[data-v-65769d87]{background:#0284c7;color:#fff}.btn.secondary[data-v-65769d87]{background:#334155;color:#e2e8f0}.btn[data-v-65769d87]:disabled{opacity:.5}.msg[data-v-65769d87]{color:#fbbf24;margin-top:8px}.muted[data-v-65769d87]{color:#94a3b8;font-size:.9rem}.empty[data-v-65769d87]{color:#64748b}.summary[data-v-65769d87]{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.stats[data-v-65769d87]{display:flex;gap:14px;flex-wrap:wrap}.stat[data-v-65769d87]{background:#020617;border-radius:8px;padding:10px 14px;min-width:88px;text-align:center}.stat b[data-v-65769d87]{display:block;font-size:1.2rem}.stat span[data-v-65769d87]{color:#94a3b8;font-size:.8rem}.badge[data-v-65769d87]{font-size:.75rem;padding:2px 8px;border-radius:999px;background:#334155;margin-left:8px}.badge.active[data-v-65769d87]{background:#14532d}.badge.closed[data-v-65769d87]{background:#7c2d12}.baseline[data-v-65769d87]{color:#cbd5e1}.gantt-row[data-v-65769d87]{display:grid;grid-template-columns:minmax(180px,1.2fr) 2fr 110px;gap:10px;align-items:center;margin-bottom:10px}.gantt-label b[data-v-65769d87]{margin-right:6px}.gantt-track[data-v-65769d87]{position:relative;height:22px;background:#020617;border-radius:6px;overflow:hidden}.gantt-bar[data-v-65769d87]{position:absolute;top:3px;height:16px;border-radius:4px;background:#0284c7}.gantt-bar.doing[data-v-65769d87]{background:#ca8a04}.gantt-bar.done[data-v-65769d87]{background:#16a34a}.gantt-bar.delayed[data-v-65769d87]{background:#dc2626}.tiny-sel[data-v-65769d87]{font-size:.85rem}.risks[data-v-65769d87],.stages[data-v-65769d87]{list-style:none;padding:0;margin:0}.risks li[data-v-65769d87],.stages li[data-v-65769d87]{padding:8px 0;border-bottom:1px solid #334155}.risks .high b[data-v-65769d87]{color:#f87171}.risks .medium b[data-v-65769d87]{color:#fbbf24}.risks .low b[data-v-65769d87]{color:#4ade80}.dot[data-v-65769d87]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#64748b}.dot.success[data-v-65769d87]{background:#22c55e}.dot.doing[data-v-65769d87]{background:#eab308}.dot.error[data-v-65769d87]{background:#ef4444}.tbl[data-v-65769d87]{width:100%;border-collapse:collapse}.tbl th[data-v-65769d87],.tbl td[data-v-65769d87]{padding:8px;border-bottom:1px solid #334155;text-align:left}h2 small[data-v-65769d87]{color:#64748b;font-weight:500;margin-left:8px}h3[data-v-65769d87]{margin:14px 0 6px;font-size:.95rem}*{margin:0;padding:0;box-sizing:border-box;font-family:Microsoft YaHei,sans-serif}html,body,#app{height:100vh;width:100vw;overflow:hidden}body.login-page,body.login-page #app{overflow:hidden;height:100%;min-height:100vh;min-height:100dvh}body.login-page .login-container{display:flex;width:100vw;height:100vh;height:100dvh;min-height:0;overflow:hidden;background-color:#f5f7fa}body.login-page .login-form-wrapper{flex:0 0 40%;min-width:320px;max-height:100%;overflow:hidden;padding:72px 40px 24px;box-sizing:border-box}body.login-page .login-form{max-width:400px}body.login-page .logo-img{width:56px;height:56px;object-fit:contain;display:block}body.login-page .company-name{font-size:28px;font-weight:700;color:#1a1a1a;letter-spacing:.04em}body.login-page .field-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#1a1a1a}body.login-page .input-wrap{display:flex;align-items:center;height:44px;padding:0 14px;margin-bottom:0;background:#fff;border:1px solid #dcdfe6;border-radius:8px}body.login-page .product-showcase{flex:1;min-height:40vh;background:#eef2f7 url(/login-showcase-bg.png) center center / cover no-repeat}body.login-page .login-btn{width:100%;height:48px;background:#1677ff;border:none;border-radius:6px;color:#fff;font-size:16px;cursor:pointer}body.login-page .input-wrap{display:flex;align-items:center;height:48px;padding:0 12px;margin-bottom:16px;background:#fff;border:1px solid #dcdfe6;border-radius:6px}body.login-page .input-wrap input{flex:1;border:none;outline:none;font-size:16px;background:transparent}.layout{display:flex;height:100%;width:100%}.code-editor{width:100%;height:100%;background-color:#1e1e1e;color:#fff;border-right:1px solid #333;overflow:hidden;display:flex;flex-direction:column}.model-viewer{width:100%;height:100%;background-color:#222;border-right:1px solid #333;position:relative}.ai-chat{width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff}.btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;background-color:#42b983;color:#fff;font-size:14px;transition:background-color .2s}.btn:hover{background-color:#359469}.btn-secondary{background-color:#606670}.btn-secondary:hover{background-color:#4a4f56}.editor-header{padding:8px 12px;background-color:#2d2d2d;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333}.chat-header{padding:12px;background-color:#f5f5f5;border-bottom:1px solid #e5e5e5;font-weight:700;font-size:16px}.chat-messages{flex:1;padding:12px;overflow-y:auto}.chat-input{padding:12px;border-top:1px solid #e5e5e5;display:flex;gap:8px}.message{margin-bottom:12px;max-width:80%}.message.user{text-align:right}.message.bot{text-align:left}.message-content{display:inline-block;padding:8px 12px;border-radius:8px;font-size:14px;line-height:1.5}.user .message-content{background-color:#42b983;color:#fff}.bot .message-content{background-color:#f1f1f1;color:#333}.code-block{background-color:#1e1e1e;color:#fff;padding:8px;border-radius:4px;font-size:12px;overflow-x:auto;margin:4px 0}.viewer-tip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#aaa;font-size:14px;text-align:center}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#aaa;font-size:14px}.input{flex:1;padding:8px 12px;border:1px solid #e5e5e5;border-radius:4px;font-size:14px;outline:none}.input:focus{border-color:#42b983}
