.tooltip-wrap[data-v-a2735b14]{position:relative;display:inline-flex;align-items:center}.tooltip-wrap.block[data-v-a2735b14]{display:block}.tip{position:fixed;background:#1f2329f2;color:#fff;font-size:14px;line-height:1.5;padding:6px 12px;border-radius:8px;white-space:nowrap;z-index:9999;pointer-events:none;box-shadow:0 6px 20px #0000002e;word-break:break-word}.pos-top{transform:translate(-50%) translateY(-100%)}.pos-top:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1f2329f2}.pos-left{transform:translate(-100%,-50%);white-space:normal;text-align:left}.pos-left:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#1f2329f2}.pos-right{transform:translateY(-50%);white-space:normal;text-align:left}.pos-right:after{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1f2329f2}.pos-bottom{transform:translate(-50%);white-space:nowrap}.pos-bottom:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#1f2329f2}.tip-enter-active{transition:opacity .18s ease,transform .2s cubic-bezier(.32,1.4,.64,1);transition-delay:0s}.tip-leave-active{transition:opacity .12s ease}.tip-enter-from,.tip-leave-to{opacity:0}.pos-top.tip-enter-from{transform:translate(-50%) translateY(calc(-100% + 5px)) scale(.94)}.pos-left.tip-enter-from{transform:translate(calc(-100% + 5px),-50%) scale(.94)}.pos-right.tip-enter-from{transform:translate(-5px,-50%) scale(.94)}.pos-bottom.tip-enter-from{transform:translate(-50%) translateY(-5px) scale(.94)}.avatar-group[data-v-f9482d5d]{display:inline-flex;align-items:center;padding:0;background:transparent;border:none;flex-shrink:0}.av-tip[data-v-f9482d5d]{margin-left:-10px}.av-tip[data-v-f9482d5d]:first-child{margin-left:0}.av[data-v-f9482d5d]{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;border:2px solid #fff;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:transform .28s cubic-bezier(.34,1.6,.64,1),box-shadow .2s;box-shadow:0 1px 3px #0000001f}.av-img[data-v-f9482d5d]{object-fit:cover;background:#f1f2f4}.av[data-v-f9482d5d]:hover{transform:translateY(-5px) scale(1.16);box-shadow:0 8px 18px #00000042;z-index:100!important}.av.on[data-v-f9482d5d]{outline:2px solid #1f2329;outline-offset:1px}.login-overlay[data-v-88ec2530]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.login-card[data-v-88ec2530]{position:relative;width:480px;max-width:100%;background:#fff;border:1px solid #ebeef2;border-radius:16px;padding:28px 28px 24px;box-shadow:0 24px 60px #0f172a2e}.login-head[data-v-88ec2530]{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.brand-wrap[data-v-88ec2530]{display:flex;align-items:center;gap:10px}.logo[data-v-88ec2530]{height:22px;width:auto;display:block}.brand[data-v-88ec2530]{font-weight:700;color:#1f2329;font-size:15px;letter-spacing:.2px}.icon-btn[data-v-88ec2530]{width:32px;height:32px;border:none;background:transparent;color:#8a9099;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.icon-btn[data-v-88ec2530]:hover{color:#1f2329;background:#f5f6f8}.title[data-v-88ec2530]{font-size:22px;font-weight:700;color:#1f2329;margin:0 0 4px}.sub[data-v-88ec2530]{font-size:13px;color:#646a73;margin:0 0 18px}.section[data-v-88ec2530]{margin-bottom:18px}.label[data-v-88ec2530]{font-size:12px;font-weight:600;color:#4e5969;margin-bottom:8px;letter-spacing:.2px}.roles[data-v-88ec2530]{display:flex;flex-wrap:wrap;gap:6px}.role[data-v-88ec2530]{border:1px solid #e0e3e8;background:#fff;color:#4e5969;border-radius:999px;padding:5px 14px;font-size:12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.role[data-v-88ec2530]:hover{background:#f5f6f8;color:#1f2329}.role.on[data-v-88ec2530]{background:#1f2329;border-color:#1f2329;color:#fff}.hint[data-v-88ec2530]{font-size:11px;color:#a8adb5;margin:6px 0 0}.users[data-v-88ec2530]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.user[data-v-88ec2530]{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #ebeef2;background:#fff;border-radius:10px;padding:8px 4px;cursor:pointer;transition:border-color .15s,background .15s}.user[data-v-88ec2530]:hover{background:#f7f8fa}.user.on[data-v-88ec2530]{border-color:#1f2329;background:#f7f8fa}.avatar[data-v-88ec2530]{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;object-fit:cover;background:#f1f2f4}.name[data-v-88ec2530]{font-size:11px;color:#1f2329}.actions[data-v-88ec2530]{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.btn[data-v-88ec2530]{height:36px;padding:0 20px;border-radius:999px;font-size:13px;cursor:pointer;border:1px solid transparent;font-weight:600}.btn.small[data-v-88ec2530]{height:34px;padding:0 16px}.btn.ghost[data-v-88ec2530]{background:#fff;border-color:#e0e3e8;color:#4e5969}.btn.ghost[data-v-88ec2530]:hover{border-color:#1f2329;color:#1f2329}.btn.primary[data-v-88ec2530]{background:#1f2329;color:#fff}.btn.primary[data-v-88ec2530]:hover{background:#525964}.config-add[data-v-88ec2530]{display:flex;gap:8px;margin-bottom:14px}.cfg-input[data-v-88ec2530]{flex:1;height:34px;border:1px solid #e0e3e8;border-radius:8px;padding:0 10px;font-size:13px;outline:none;color:#1f2329;background:#fff}.cfg-input[data-v-88ec2530]:focus{border-color:#1f2329}.config-list[data-v-88ec2530]{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.cfg-item[data-v-88ec2530]{display:flex;align-items:center;justify-content:space-between;border:1px solid #ebeef2;border-radius:8px;padding:8px 12px;background:#fafbfc}.cfg-name[data-v-88ec2530]{font-size:13px;color:#1f2329}.cfg-del[data-v-88ec2530]{border:none;background:#f1f2f4;border-radius:50%;width:20px;height:20px;font-size:14px;line-height:1;cursor:pointer;color:#4e5969}.cfg-del[data-v-88ec2530]:hover{background:#e6e8eb;color:#1f2329}.cfg-empty[data-v-88ec2530]{text-align:center;color:#a8adb5;font-size:13px;padding:24px 0}.overlay-enter-active[data-v-88ec2530],.overlay-leave-active[data-v-88ec2530]{transition:opacity .2s ease}.overlay-enter-from[data-v-88ec2530],.overlay-leave-to[data-v-88ec2530]{opacity:0}.fab[data-v-431a13c3]{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;border:none;background:#1f2329;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #0f172a47;z-index:200;transition:transform .2s cubic-bezier(.34,1.6,.64,1),background .15s}.fab[data-v-431a13c3]:hover{transform:translateY(-3px) scale(1.05);background:#2b6fff}.mask[data-v-431a13c3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:210;padding:24px}.dialog[data-v-431a13c3]{width:720px;max-width:100%;max-height:calc(100vh - 48px);background:#fff;border-radius:16px;box-shadow:0 24px 60px #0f172a38;display:flex;flex-direction:column;overflow:hidden}.head[data-v-431a13c3]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #eef0f3}.head h2[data-v-431a13c3]{margin:0;font-size:16px;font-weight:600;color:#1f2329}.x[data-v-431a13c3]{border:none;background:none;font-size:24px;line-height:1;color:#8a9099;cursor:pointer;padding:0 4px}.x[data-v-431a13c3]:hover{color:#1f2329}.body[data-v-431a13c3]{padding:8px 22px 22px;overflow-y:auto}.block[data-v-431a13c3]{margin-top:16px}.block h3[data-v-431a13c3]{margin:0 0 10px;font-size:14px;font-weight:600;color:#1f2329;display:flex;align-items:center;gap:8px}.tag[data-v-431a13c3]{font-size:11px;font-weight:500;color:#e8631a;background:#fff1e8;border-radius:999px;padding:2px 8px}.value-list[data-v-431a13c3]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.value-list li[data-v-431a13c3]{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;background:#f7f8fa;border-radius:8px;padding:8px 12px}.problem[data-v-431a13c3]{color:#e5484d;flex:1;min-width:0}.arrow[data-v-431a13c3]{color:#c5ccd6;flex-shrink:0}.solution[data-v-431a13c3]{color:#00a35a;font-weight:500;flex:1;min-width:0}.need-list[data-v-431a13c3]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.need-list li[data-v-431a13c3]{display:flex;align-items:center;gap:10px;background:#f7f8fa;border-radius:8px;padding:9px 12px}.need-no[data-v-431a13c3]{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;background:#2b6fff}.need-text[data-v-431a13c3]{font-size:13px;color:#1f2329}.perm-list[data-v-431a13c3]{margin:0;padding:0;list-style:none;display:flex;gap:10px}.perm-list li[data-v-431a13c3]{display:flex;align-items:center;gap:6px;font-size:13px;color:#1f2329;background:#e7f7ee;border-radius:8px;padding:9px 12px}.check[data-v-431a13c3]{color:#00a35a;font-weight:700}.flow-grid[data-v-431a13c3]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.flow-col[data-v-431a13c3]{border:1px solid #ebeef2;border-radius:10px;padding:12px;background:#fafbfc}.flow-title[data-v-431a13c3]{font-size:13px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.flow-title.old[data-v-431a13c3]{color:#e5484d}.flow-title.new[data-v-431a13c3]{color:#00a35a}.flow-note[data-v-431a13c3]{font-size:11px;font-weight:500;color:#8a9099}.steps[data-v-431a13c3]{display:flex;flex-direction:column}.step[data-v-431a13c3]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #eef0f3}.step-no[data-v-431a13c3]{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff}.old-step .step-no[data-v-431a13c3]{background:#e5484d}.new-step .step-no[data-v-431a13c3]{background:#00a35a}.step-text[data-v-431a13c3]{font-size:13px;color:#1f2329;line-height:1.4}.arrow[data-v-431a13c3]{text-align:center;color:#c5ccd6;font-size:14px;line-height:1;padding:4px 0}.flow-saving[data-v-431a13c3]{margin-top:12px;font-size:12px;font-weight:600;color:#00a35a;text-align:center}.fade-enter-active[data-v-431a13c3],.fade-leave-active[data-v-431a13c3]{transition:opacity .2s ease}.fade-enter-from[data-v-431a13c3],.fade-leave-to[data-v-431a13c3]{opacity:0}html,body{height:100%;margin:0;scrollbar-gutter:stable}#app{min-height:100%}.app[data-v-2ef79400]{min-height:100%;display:flex;flex-direction:column}.nav[data-v-2ef79400]{flex-shrink:0;height:56px;border-bottom:1px solid #ebeef2;background:#fff;position:fixed;top:0;left:0;right:0;z-index:50}.nav-inner[data-v-2ef79400]{box-sizing:border-box;max-width:1200px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:14px}.brand-wrap[data-v-2ef79400]{display:flex;align-items:center;gap:10px}.logo[data-v-2ef79400]{height:22px;width:auto;display:block}.brand[data-v-2ef79400]{font-weight:700;color:#1f2329;font-size:16px;letter-spacing:.2px}.nav-right[data-v-2ef79400]{display:flex;align-items:center;gap:10px}.main[data-v-2ef79400]{flex:1;min-height:0;padding-top:56px}.main-preview[data-v-2ef79400],.main-login[data-v-2ef79400]{overflow:hidden}.global-toast[data-v-2ef79400]{position:fixed;left:50%;top:68px;transform:translate(-50%);background:#1f2329eb;color:#fff;font-size:13px;padding:9px 18px;border-radius:999px;box-shadow:0 6px 20px #0003;z-index:300;white-space:nowrap}.fade-enter-active[data-v-2ef79400],.fade-leave-active[data-v-2ef79400]{transition:opacity .2s}.fade-enter-from[data-v-2ef79400],.fade-leave-to[data-v-2ef79400]{opacity:0}.preview[data-v-9c729ce4]{height:100%;background:#fff}.stage[data-v-9c729ce4]{display:block;width:100%;height:100%;border:0}.ptag[data-v-067d6a30]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap}.card[data-v-54837b22]{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid #e6e8eb;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .18s,border-color .18s;box-sizing:border-box}.card[data-v-54837b22]:hover{box-shadow:0 4px 14px #0f172a12;border-color:#d6dbe2}.head[data-v-54837b22]{display:flex;align-items:center;justify-content:space-between;gap:8px}.title[data-v-54837b22]{margin:0;font-size:14px;font-weight:600;color:#1f2329;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.designers[data-v-54837b22]{display:flex;flex-direction:row-reverse;gap:4px;flex-shrink:0}.avatar[data-v-54837b22]{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:600;border:1.5px solid #fff;cursor:default;box-shadow:0 1px 2px #00000014;background:#f1f2f4;object-fit:cover}.avatar-tip[data-v-54837b22]{margin-left:-6px}.designers .avatar-tip[data-v-54837b22]:last-child{margin-left:0}.actions[data-v-54837b22]{position:relative;display:inline-flex;align-items:center;flex-shrink:0;height:24px}.more-tip[data-v-54837b22]{position:absolute;top:50%;right:0;transform:translateY(-50%);opacity:0;pointer-events:none;z-index:1}.more-tip .more-btn[data-v-54837b22]{position:static;transform:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:#4e5969;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.more-tip .more-btn[data-v-54837b22]:hover{background:#f1f2f4;color:#1f2329}.designers[data-v-54837b22]{display:flex;flex-direction:row-reverse;gap:4px;flex-shrink:0;transition:opacity .15s}.card.can-manage:hover .designers[data-v-54837b22]{opacity:0;pointer-events:none}.card.can-manage:hover .more-tip[data-v-54837b22]{opacity:1;pointer-events:auto}.card.can-manage .actions.menu-open .designers[data-v-54837b22]{opacity:0;pointer-events:none}.card.can-manage .actions.menu-open .more-tip[data-v-54837b22]{opacity:1;pointer-events:auto}.card-menu[data-v-54837b22]{position:fixed;top:0;right:0;min-width:120px;background:#fff;border:1px solid #ebeef2;border-radius:10px;box-shadow:0 10px 30px #0f172a29;padding:6px;display:flex;flex-direction:column;gap:2px;z-index:90}.card-menu .mi[data-v-54837b22]{display:flex;align-items:center;width:100%;border:none;background:none;text-align:left;padding:8px 10px;border-radius:7px;font-size:13px;color:#1f2329;cursor:pointer;transition:background .15s,color .15s}.card-menu .mi[data-v-54837b22]:hover{background:#f5f6f8}.card-menu .mi.danger[data-v-54837b22]{color:#e5484d}.card-menu .mi.danger[data-v-54837b22]:hover{background:#fdecec}.remark[data-v-54837b22]{margin:0;font-size:13px;color:#8a9099;line-height:1.5;word-break:break-word}.remark.collapsed[data-v-54837b22]{display:-webkit-box;-webkit-line-clamp:var(--remark-clamp, 2);-webkit-box-orient:vertical;overflow:hidden}.foot[data-v-54837b22]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.time[data-v-54837b22]{font-size:11px;color:#8a9099;flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.sliding-tabs[data-v-1c986492]{position:relative;display:inline-flex;gap:2px;background:#f1f3f5;border-radius:999px;padding:4px;flex-shrink:0}.indicator[data-v-1c986492]{position:absolute;top:4px;left:0;height:calc(100% - 8px);background:#fff;border-radius:999px;box-shadow:0 1px 3px #0f172a1f,0 0 0 1px #0f172a0a;transition:transform .36s cubic-bezier(.34,1.4,.64,1),width .36s cubic-bezier(.34,1.4,.64,1);pointer-events:none}.tab[data-v-1c986492]{position:relative;z-index:1;border:none;background:transparent;padding:6px 16px;font-size:13px;color:#646a73;border-radius:999px;cursor:pointer;transition:color .2s ease;white-space:nowrap;font-weight:500}.tab[data-v-1c986492]:hover{color:#1f2329}.tab.active[data-v-1c986492]{color:#1f2329;font-weight:600}.filter-popover[data-v-d1496aea]{position:relative;display:inline-flex}.trigger[data-v-d1496aea]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:#4e5969;cursor:pointer;border-radius:8px;transition:color .15s,opacity .15s}.filter-popover.disabled .trigger[data-v-d1496aea]{color:#c0c4cc;cursor:not-allowed;pointer-events:none}.trigger[data-v-d1496aea]:hover,.trigger.on[data-v-d1496aea]{color:#1f2329}.badge[data-v-d1496aea]{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 5px;background:#1f2329;color:#fff;border-radius:999px;font-size:10px;line-height:16px;text-align:center;font-weight:600;box-sizing:border-box}.panel[data-v-d1496aea]{position:absolute;top:calc(100% + 8px);right:0;width:420px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #ebeef2;border-radius:14px;box-shadow:0 12px 40px #0f172a2e;padding:16px;z-index:80;display:flex;flex-direction:column;gap:14px}.panel-section[data-v-d1496aea]{display:flex;flex-direction:column;gap:8px}.panel-title[data-v-d1496aea]{font-size:12px;font-weight:600;color:#646a73;letter-spacing:.2px}.chips[data-v-d1496aea]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-d1496aea]{border:1px solid #e0e3e8;background:#fff;color:#4e5969;border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.chip[data-v-d1496aea]:hover{background:#f5f6f8;color:#1f2329}.chip.active[data-v-d1496aea]{background:#1f2329;border-color:#1f2329;color:#fff}.empty-tip[data-v-d1496aea]{color:#a3a8b3;font-size:12px}.panel-head[data-v-d1496aea]{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.panel-head-title[data-v-d1496aea]{font-size:14px;font-weight:700;color:#1f2329}.pin-btn[data-v-d1496aea]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid transparent;background:transparent;color:#8a9099;border-radius:8px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.pin-btn[data-v-d1496aea]:hover{background:#f1f2f4;color:#1f2329}.pin-btn.active[data-v-d1496aea]{background:#1f2329;color:#fff;border-color:#1f2329}.pin-btn.active svg[data-v-d1496aea]{fill:currentColor}.panel-footer[data-v-d1496aea]{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f2f5;padding-top:10px;margin-top:2px}.panel-footer-right[data-v-d1496aea]{display:inline-flex;align-items:center;gap:6px}.reset-btn[data-v-d1496aea]{border:none;background:none;color:#8a9099;font-size:13px;cursor:pointer;padding:4px 10px}.reset-btn[data-v-d1496aea]:disabled{color:#c0c4cc;cursor:not-allowed}.reset-btn[data-v-d1496aea]:hover:not(:disabled){color:#1f2329}.cancel-btn[data-v-d1496aea]{border:none;background:none;color:#646a73;font-size:13px;cursor:pointer;padding:6px 14px;border-radius:999px}.cancel-btn[data-v-d1496aea]:hover{color:#1f2329;background:#f5f6f8}.apply-btn[data-v-d1496aea]{border:none;background:#c0c4cc;color:#fff;font-size:13px;padding:6px 18px;border-radius:999px;cursor:not-allowed;transition:background .15s,color .15s}.apply-btn.dirty[data-v-d1496aea]{background:#1f2329;cursor:pointer}.apply-btn.dirty[data-v-d1496aea]:hover{background:#525964}.pop-enter-active[data-v-d1496aea],.pop-leave-active[data-v-d1496aea]{transition:opacity .2s cubic-bezier(.32,1.4,.64,1),transform .24s cubic-bezier(.32,1.4,.64,1)}.pop-enter-from[data-v-d1496aea],.pop-leave-to[data-v-d1496aea]{opacity:0;transform:translateY(-6px) scale(.96)}.search-select[data-v-64026000]{position:relative}.trigger[data-v-64026000]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px;border:1px solid #e0e3e8;border-radius:8px;background:#fff;font-size:13px;color:#1f2329;cursor:pointer;transition:border-color .15s}.trigger[data-v-64026000]:hover{border-color:#c5ccd6}.trigger-text[data-v-64026000]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trigger-text.empty[data-v-64026000]{color:#a8adb5}.caret[data-v-64026000]{flex-shrink:0;color:#8a9099;transition:transform .2s}.caret.open[data-v-64026000]{transform:rotate(180deg)}.panel[data-v-64026000]{position:absolute;top:calc(100% + 6px);left:0;min-width:150px;max-width:320px;background:#fff;border:1px solid #ebeef2;border-radius:10px;box-shadow:0 10px 30px #0f172a24;z-index:70;padding:8px;display:flex;flex-direction:column;gap:4px}.search-row[data-v-64026000]{display:flex;align-items:center;gap:6px;padding:4px 6px;border-bottom:1px solid #f0f2f5;margin-bottom:2px}.search-row svg[data-v-64026000]{color:#8a9099;flex-shrink:0}.search-row input[data-v-64026000]{flex:1;border:none;outline:none;font-size:13px;color:#1f2329;background:transparent;min-width:0}.options[data-v-64026000]{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.opt[data-v-64026000]{display:flex;align-items:center;gap:8px;padding:7px 8px;border:none;background:none;border-radius:7px;font-size:13px;color:#1f2329;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s}.opt[data-v-64026000]:hover{background:#f5f6f8}.opt.active[data-v-64026000]{font-weight:600}.opt.create[data-v-64026000]{color:#2b6fff;font-weight:600}.dot[data-v-64026000]{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#1f2329}.empty[data-v-64026000]{padding:10px;font-size:12px;color:#a8adb5;text-align:center}.avatar[data-v-21d644e2]{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;border:1.5px solid #fff;box-shadow:0 1px 2px #00000014;flex-shrink:0;line-height:1}.avatar-img[data-v-21d644e2]{object-fit:cover;background:#f1f2f4}.mask[data-v-679a1b89]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:70}.dialog[data-v-679a1b89]{width:580px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;padding:20px 22px 22px;box-shadow:0 20px 60px #00000040;z-index:71}.confirm-mask[data-v-679a1b89]{z-index:80}.confirm-dialog[data-v-679a1b89]{width:400px;padding:22px 22px 18px;z-index:81}.confirm-title[data-v-679a1b89]{font-size:16px;font-weight:600;color:#1f2329;margin-bottom:12px}.confirm-msg[data-v-679a1b89]{margin:0 0 18px;font-size:13px;color:#4e5969;line-height:1.6;word-break:break-word}.confirm-actions[data-v-679a1b89]{display:flex;justify-content:flex-end;gap:10px}.head[data-v-679a1b89]{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;color:#1f2329;margin-bottom:16px}.x[data-v-679a1b89]{border:none;background:none;font-size:22px;line-height:1;color:#8a9099;cursor:pointer}.file-svn-box[data-v-679a1b89]{background:#f7f8fa;border-radius:12px;padding:14px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px}.drop[data-v-679a1b89]{display:block;border:1.5px dashed #c5ccd6;border-radius:10px;padding:14px;text-align:center;cursor:pointer;color:#646a73;font-size:13px;position:relative;transition:border-color .15s,background .15s,opacity .15s;min-height:72px;background:#fff}.drop.disabled[data-v-679a1b89],.drop.disabled .file-input[data-v-679a1b89]{opacity:.45;cursor:not-allowed;pointer-events:none}.drop.over[data-v-679a1b89]{border-color:#1f2329;background:#f3f4f6}.drop.has[data-v-679a1b89]{border-style:solid;border-color:#1f2329}.file-input[data-v-679a1b89]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.drop-icon[data-v-679a1b89]{font-size:20px;margin-bottom:4px}.drop-sub[data-v-679a1b89]{margin-top:4px;font-size:11px;color:#8a9099}.drop-file[data-v-679a1b89]{display:flex;align-items:center;justify-content:center;gap:8px;color:#1f2329;font-weight:600}.file-name[data-v-679a1b89]{font-size:13px;word-break:break-all}.clear-file[data-v-679a1b89]{border:none;background:#f1f2f4;border-radius:50%;width:18px;height:18px;font-size:14px;line-height:1;cursor:pointer;color:#4e5969}.clear-file[data-v-679a1b89]:hover{background:#e6e8eb;color:#1f2329}.svn-cell[data-v-679a1b89]{display:flex;flex-direction:column;gap:6px}.svn-cell.disabled[data-v-679a1b89]{opacity:.45;pointer-events:none}.svn-label[data-v-679a1b89]{display:flex;align-items:center;gap:6px;font-size:12px;color:#646a73}.svn-input[data-v-679a1b89]{flex:1;height:42px;border:1px solid #e0e3e8;border-radius:8px;padding:8px 10px;font-size:13px;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff}.svn-input[data-v-679a1b89]:focus{border-color:#1f2329}.svn-cell .hint[data-v-679a1b89]{font-size:11px;color:#a8adb5}.grid[data-v-679a1b89]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}.field[data-v-679a1b89]{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#646a73}.field-wide[data-v-679a1b89]{grid-column:1 / -1;margin-top:12px}.field input[data-v-679a1b89],.field textarea[data-v-679a1b89]{height:34px;border:1px solid #e0e3e8;border-radius:8px;padding:0 10px;font-size:13px;outline:none;color:#1f2329;background:#fff}.field textarea[data-v-679a1b89]{height:auto;padding:8px 10px;resize:vertical;line-height:1.5;font-family:inherit}.field input[data-v-679a1b89]:focus,.field textarea[data-v-679a1b89]:focus{border-color:#1f2329}.field span.req[data-v-679a1b89]:after{content:" *";color:#e5484d;font-weight:600}.ym-row[data-v-679a1b89]{display:flex;gap:6px}.ym-select[data-v-679a1b89]{flex:1;min-width:0}.remark-input[data-v-679a1b89]{width:100%;box-sizing:border-box}.char-count[data-v-679a1b89]{text-align:right;font-size:11px;color:#a8adb5;margin-top:2px}.err[data-v-679a1b89]{margin-top:12px;color:#e54545;font-size:12px}.tip-warn[data-v-679a1b89]{font-size:11px;color:#e8631a;margin-top:2px}.foot[data-v-679a1b89]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.foot-actions[data-v-679a1b89]{display:flex;gap:10px}.login-status[data-v-679a1b89]{display:inline-flex;align-items:center;gap:7px;min-width:0}.ls-name[data-v-679a1b89]{font-size:12px;color:#1f2329;white-space:nowrap}.ls-logout[data-v-679a1b89]{border:none;background:none;color:#8a9099;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:6px;transition:color .15s,background .15s;white-space:nowrap}.ls-logout[data-v-679a1b89]:hover{color:#e54545;background:#fdecec}.btn[data-v-679a1b89]{height:36px;padding:0 20px;border-radius:999px;font-size:13px;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s}.btn.ghost[data-v-679a1b89]{background:#fff;border-color:#e0e3e8;color:#4e5969}.btn.ghost[data-v-679a1b89]:hover{border-color:#1f2329;color:#1f2329}.btn.primary[data-v-679a1b89]{background:#1f2329;color:#fff}.btn.primary[data-v-679a1b89]:hover:not(:disabled){background:#525964}.btn.primary[data-v-679a1b89]:disabled{opacity:.6;cursor:default}.gallery[data-v-ff848190]{box-sizing:border-box;max-width:1200px;margin:0 auto;padding:70px 24px 48px;--card-w: 200px}.toolbar[data-v-ff848190]{position:fixed;top:57px;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;box-sizing:border-box;max-width:1200px;margin:0 auto;padding:14px 24px}.toolbar-left[data-v-ff848190]{display:inline-flex;align-items:center;gap:12px;min-width:0}.toolbar-right[data-v-ff848190]{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.search-mini[data-v-ff848190]{display:inline-flex;align-items:center;height:32px;background:transparent;border:none;border-radius:8px;overflow:hidden;transition:width .22s ease;flex-shrink:0;width:32px}.search-mini.open[data-v-ff848190]{width:216px}.search-backdrop[data-v-ff848190]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:transparent}.icononly[data-v-ff848190]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:#4e5969;cursor:pointer;border-radius:8px;transition:color .15s;flex-shrink:0}.icononly[data-v-ff848190]:hover{color:#1f2329}.icononly.on[data-v-ff848190]{color:#1f2329;background:transparent}.icononly.disabled[data-v-ff848190]{color:#c0c4cc;cursor:not-allowed;pointer-events:none}.search-mini.disabled[data-v-ff848190]{pointer-events:none;opacity:.5}.icononly.clear[data-v-ff848190]{width:24px;height:24px;color:#8a9099}.icononly.clear[data-v-ff848190]:hover{color:#1f2329;background:transparent}.search-input[data-v-ff848190]{border:none;border-bottom:1px solid #d6dbe2;background:transparent;outline:none;font-size:13px;padding:4px 4px 4px 2px;color:#1f2329;width:160px;flex:1;min-width:0;transition:border-color .15s}.search-input[data-v-ff848190]:focus{border-bottom-color:#1f2329}.upload-btn[data-v-ff848190]{display:inline-flex;align-items:center;gap:6px;height:34px;margin-left:10px;padding:0 16px;border:none;border-radius:999px;background:#1f2329;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.upload-btn[data-v-ff848190]:hover{background:#525964}.upload-btn[data-v-ff848190]:active{transform:scale(.97)}.cards[data-v-ff848190]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}.cards[data-v-ff848190]>.card{width:auto}.cards .empty[data-v-ff848190]{grid-column:1 / -1}.grouped[data-v-ff848190]{display:flex;flex-direction:column;gap:14px}.pgroup[data-v-ff848190]{display:flex;flex-direction:column;gap:10px;background:#f7f8fa;border-radius:12px;padding:12px 14px 14px;position:relative;transition:background .15s}.pgroup[data-v-ff848190]:hover{background:#f1f3f6}.pgroup.active[data-v-ff848190]{background:#ebeef2}.pgroup-head[data-v-ff848190]{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;border:none;background:none;padding:2px 4px;border-radius:8px;cursor:pointer}.pgroup-head[data-v-ff848190]:hover{background:#1f23290a}.pgroup-bar[data-v-ff848190]{width:4px;height:18px;border-radius:2px;background:var(--accent, #1f2329);flex-shrink:0}.pgroup-title[data-v-ff848190]{font-size:15px;font-weight:700;color:#1f2329;line-height:1.2}.pgroup-count[data-v-ff848190]{font-size:11px;color:#646a73;background:#fff;border:1px solid #e0e3e8;border-radius:999px;padding:1px 8px}.pgroup-scroll[data-v-ff848190]{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.pgroup-scroll[data-v-ff848190]:hover{scrollbar-color:rgba(0,0,0,.18) transparent}.pgroup-scroll[data-v-ff848190]::-webkit-scrollbar{height:6px}.pgroup-scroll[data-v-ff848190]::-webkit-scrollbar-track{background:transparent}.pgroup-scroll[data-v-ff848190]::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.pgroup-scroll[data-v-ff848190]:hover::-webkit-scrollbar-thumb{background:#0000002e}.pgroup-track[data-v-ff848190]{display:flex;gap:10px;padding-bottom:4px}.pgroup-track[data-v-ff848190]>.card{flex:0 0 var(--card-w);min-width:var(--card-w)}.empty[data-v-ff848190]{color:#8a9099;font-size:14px;padding:40px 0;text-align:center;grid-column:1 / -1}.tbl[data-v-ff848190]{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid #ebeef2;border-radius:10px;overflow:hidden}.tbl th[data-v-ff848190],.tbl td[data-v-ff848190]{text-align:left;padding:11px 14px;border-bottom:1px solid #eef0f3}.tbl th[data-v-ff848190]{background:#f7f8fa;color:#646a73;font-weight:600}.tbl td.name[data-v-ff848190]{font-weight:600;color:#1f2329}.des-cell[data-v-ff848190]{display:inline-flex;align-items:center;gap:6px}.des-cell .avatar[data-v-ff848190],.des-cell .avatar[data-v-ff848190]:first-child{margin-left:0}.des-name[data-v-ff848190]{font-size:13px;color:#1f2329;white-space:nowrap}.tbl td.remark[data-v-ff848190]{color:#646a73;max-width:360px}.stats[data-v-ff848190]{display:flex;flex-direction:column;gap:18px}.stat-block[data-v-ff848190]{background:#fff;border:1px solid #ebeef2;border-radius:10px;padding:16px 18px}.stat-block h2[data-v-ff848190]{margin:0 0 12px;font-size:14px;color:#1f2329}.stat-cols[data-v-ff848190],.stat-grid[data-v-ff848190]{display:grid;grid-template-columns:1fr 1fr;gap:18px}.donut-wrap[data-v-ff848190]{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.donut-box[data-v-ff848190]{position:relative;width:120px;height:120px;flex-shrink:0}.donut[data-v-ff848190]{width:120px;height:120px;transform:rotate(0)}.donut circle[data-v-ff848190]{transition:stroke-dasharray .4s ease,stroke-dashoffset .4s ease}.donut-center[data-v-ff848190]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-total[data-v-ff848190]{font-size:24px;font-weight:700;color:#1f2329;line-height:1}.donut-sub[data-v-ff848190]{font-size:11px;color:#8a9099;margin-top:2px}.legend[data-v-ff848190]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;flex:1;min-width:140px}.legend li[data-v-ff848190]{display:flex;align-items:center;gap:8px;font-size:12px;color:#4e5969}.legend .dot[data-v-ff848190]{width:9px;height:9px;border-radius:3px;flex-shrink:0}.legend .lg-label[data-v-ff848190]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend .lg-num[data-v-ff848190]{color:#1f2329;font-variant-numeric:tabular-nums}.trend[data-v-ff848190]{width:100%;height:auto;display:block}.trend-x-label[data-v-ff848190]{font-size:10px;fill:#8a9099}.trend-caption[data-v-ff848190]{margin-top:4px;font-size:11px;color:#8a9099}.bar-row[data-v-ff848190]{display:flex;align-items:center;gap:10px;margin-bottom:9px}.bar-label[data-v-ff848190]{width:132px;flex-shrink:0;font-size:12px;color:#646a73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track[data-v-ff848190]{flex:1;height:14px;background:#f0f2f5;border-radius:7px;overflow:hidden}.bar-fill[data-v-ff848190]{height:100%;border-radius:7px}.bar-num[data-v-ff848190]{width:72px;flex-shrink:0;text-align:right;font-size:12px;color:#8a9099}.toast[data-v-ff848190]{position:fixed;left:50%;top:68px;transform:translate(-50%);background:#1f2329eb;color:#fff;font-size:13px;padding:9px 18px;border-radius:999px;box-shadow:0 6px 20px #0003;z-index:200}.fade-enter-active[data-v-ff848190],.fade-leave-active[data-v-ff848190]{transition:opacity .2s}.fade-enter-from[data-v-ff848190],.fade-leave-to[data-v-ff848190]{opacity:0}
