:root{color-scheme:light}html,body{height:100%}body{margin:0;background:#f0f2f5;color:#1f2329;font-family:PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}#app{min-height:100%}.app-dlg-mask[data-v-e33c1b90]{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000094;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:app-dlg-fade-in-e33c1b90 .18s ease-out}@keyframes app-dlg-fade-in-e33c1b90{0%{opacity:0}to{opacity:1}}.app-dlg-window[data-v-e33c1b90]{width:min(420px,100%);max-height:min(85vh,560px);display:flex;flex-direction:column;background:linear-gradient(165deg,#1c2128fa,#12161cfc);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 0 0 1px #00d4aa0f,0 24px 64px #0000008c,0 0 80px #00d4aa0a;overflow:hidden;animation:app-dlg-pop-e33c1b90 .22s cubic-bezier(.22,1,.36,1)}@keyframes app-dlg-pop-e33c1b90{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-dlg-window--alert[data-v-e33c1b90]{width:min(400px,100%)}.app-dlg-window--auth[data-v-e33c1b90]{width:min(460px,100%)}.app-dlg-head[data-v-e33c1b90]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.app-dlg-title[data-v-e33c1b90]{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em;color:#fffffff0}.app-dlg-close[data-v-e33c1b90]{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;margin:-6px -8px -6px 0;border:none;border-radius:10px;background:transparent;color:#ffffff73;font-size:22px;line-height:1;cursor:pointer;transition:color .15s,background .15s}.app-dlg-close[data-v-e33c1b90]:hover{color:#ffffffe6;background:#ffffff0f}.app-dlg-body[data-v-e33c1b90]{padding:18px 20px 20px;overflow-y:auto;flex:1;min-height:0}.app-dlg-msg[data-v-e33c1b90]{margin:0;font-size:14px;line-height:1.65;color:#ffffffc7;white-space:pre-wrap;word-break:break-word}.app-dlg-foot[data-v-e33c1b90]{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 18px 16px;border-top:1px solid rgba(255,255,255,.08);background:#0003;flex-shrink:0}.app-dlg-foot--single[data-v-e33c1b90]{justify-content:center}.app-dlg-btn[data-v-e33c1b90]{min-width:88px;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:650;cursor:pointer;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffe0;transition:background .15s,border-color .15s,transform .1s}.app-dlg-btn[data-v-e33c1b90]:hover{background:#ffffff1a;border-color:#fff3}.app-dlg-btn[data-v-e33c1b90]:active{transform:scale(.98)}.app-dlg-btn-primary[data-v-e33c1b90]{border-color:#00d4aa73;background:linear-gradient(180deg,#00d4aa38,#00b49124);color:#e8fff9;text-shadow:0 1px 2px rgba(0,0,0,.25)}.app-dlg-btn-primary[data-v-e33c1b90]:hover{border-color:#00d4aaa6;background:linear-gradient(180deg,#00d4aa52,#00b49138)}.app-dlg-btn-primary.is-danger[data-v-e33c1b90]{border-color:#f8514980;background:linear-gradient(180deg,#f8514947,#b428282e);color:#fff}.app-dlg-btn-primary.is-danger[data-v-e33c1b90]:hover{border-color:#f85149bf;background:linear-gradient(180deg,#f8514961,#b4282842)}.app-dlg-btn-primary.is-warning[data-v-e33c1b90]{border-color:#d299228c;background:linear-gradient(180deg,#d2992247,#a064142e);color:#fff8e8}.app-dlg-btn-primary.is-warning[data-v-e33c1b90]:hover{border-color:#d29922bf;background:linear-gradient(180deg,#d2992261,#a0641442)}.app-auth-form[data-v-e33c1b90]{display:grid;gap:10px;margin-top:14px}.app-auth-field[data-v-e33c1b90]{display:grid;gap:6px}.app-auth-field>span[data-v-e33c1b90]{font-size:12px;color:#ffffffb3}.app-auth-input[data-v-e33c1b90]{width:100%;border-radius:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#fffffff2;outline:none}.app-auth-input[data-v-e33c1b90]:focus{border-color:#00d4aa8c;box-shadow:0 0 0 3px #00d4aa29}.page-head[data-v-a6388ce8]{margin-bottom:12px;border-radius:8px;padding:14px 16px;border:1px solid #E5E6EB;background:#fff;box-shadow:0 1px 2px #1f23290a}.page-head-inner[data-v-a6388ce8]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.head-left[data-v-a6388ce8]{display:grid;gap:6px}.head-sub[data-v-a6388ce8]{margin:0;color:#646a73;font-size:13px;line-height:1.5}.head-tags[data-v-a6388ce8]{display:flex;gap:6px;flex-wrap:wrap}.chip[data-v-a6388ce8]{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;border:1px solid #E5E6EB;background:#f5f6f7;color:#646a73;font-size:12px;font-weight:500}.chip-warn[data-v-a6388ce8]{border-color:#f5d78e;background:#fff8e6;color:#9a6700}.chip-ok[data-v-a6388ce8]{border-color:#b7eb8f;background:#f6ffed;color:#389e0d}.head-title[data-v-a6388ce8]{margin:0;font-size:18px;font-weight:600;letter-spacing:0;color:#1f2329;line-height:1.35}.head-actions[data-v-a6388ce8]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.head-actions[data-v-a6388ce8] .btn--head{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;font-size:13px;line-height:1.2;white-space:nowrap;width:auto;height:auto;min-width:0;min-height:0;border-radius:6px}.head-actions[data-v-a6388ce8] .btn--head .btn-ico{width:14px;height:14px;flex-shrink:0}.mm-mask[data-v-a9b63483]{position:fixed;inset:0;z-index:1200;background:#0f172a73;display:flex;align-items:stretch;justify-content:center;padding:24px}.mm-panel[data-v-a9b63483]{width:min(1100px,100%);height:min(860px,100%);background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 24px 64px #0f172a38;display:flex;flex-direction:column;overflow:hidden}.mm-head[data-v-a9b63483]{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 18px;background:#fff;border-bottom:1px solid #e8eaed}.mm-head strong[data-v-a9b63483]{font-size:16px;color:#1f2329}.mm-sub[data-v-a9b63483]{display:block;margin-top:2px;font-size:12px;color:#8f959e}.mm-tools[data-v-a9b63483]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn[data-v-a9b63483]{height:32px;min-width:32px;padding:0 12px;border-radius:6px;border:1px solid #dee0e3;background:#fff;cursor:pointer;font-size:13px;color:#1f2329}.btn[data-v-a9b63483]:hover{border-color:#3370ff;color:#3370ff}.mm-viewport[data-v-a9b63483]{flex:1;overflow:hidden;cursor:grab;background:radial-gradient(circle at 1px 1px,#e2e8f0 1px,transparent 0) 0 0 / 18px 18px,#f1f5f9}.mm-viewport.dragging[data-v-a9b63483]{cursor:grabbing}.mm-canvas[data-v-a9b63483]{transform-origin:0 0;width:max-content;height:max-content;min-width:100%;min-height:100%}.mm-svg[data-v-a9b63483]{display:block;overflow:visible}.mm-link[data-v-a9b63483]{stroke:#94a3b8;stroke-width:1.5}.mm-link.person[data-v-a9b63483]{stroke:#cbd5e1;stroke-dasharray:4 3}.mm-node[data-v-a9b63483]{cursor:pointer}.mm-card[data-v-a9b63483]{fill:#fff;stroke:#cbd5e1;stroke-width:1.25;transition:stroke .12s ease,fill .12s ease}.mm-card.root[data-v-a9b63483]{fill:#eff6ff;stroke:#3370ff}.mm-card.person[data-v-a9b63483]{fill:#f8fafc;stroke:#e2e8f0}.mm-node:hover .mm-card[data-v-a9b63483]{stroke:#3370ff;fill:#f8fbff}.mm-node.person:hover .mm-card[data-v-a9b63483]{fill:#f1f5f9;stroke:#64748b}.mm-name[data-v-a9b63483]{font-size:13px;font-weight:600;fill:#1f2329;pointer-events:none}.mm-name.person[data-v-a9b63483]{font-size:12px;font-weight:600}.mm-role[data-v-a9b63483],.mm-count[data-v-a9b63483]{font-size:11px;fill:#64748b;pointer-events:none}.mm-toggle circle[data-v-a9b63483]{fill:#fff;stroke:#94a3b8;stroke-width:1.25}.mm-toggle text[data-v-a9b63483]{font-size:12px;fill:#475569;pointer-events:none}.mm-toggle:hover circle[data-v-a9b63483]{stroke:#3370ff}.mm-empty[data-v-a9b63483]{padding:80px 40px;text-align:center;color:#94a3b8;font-size:14px}.mm-hint[data-v-a9b63483]{margin:0;padding:8px 16px 12px;font-size:12px;color:#8f959e;background:#fff;border-top:1px solid #e8eaed}.fdz[data-v-a1f8599c]{--fdz-border: #d5dde8;--fdz-bg: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);--fdz-ink: #1e293b;--fdz-muted: #64748b;--fdz-accent: #2563eb;--fdz-accent-soft: #eff6ff;position:relative;display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:12px 14px;border:1px dashed var(--fdz-border);border-radius:12px;background:var(--fdz-bg);color:var(--fdz-ink);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;outline:none;-webkit-user-select:none;user-select:none}.fdz[data-v-a1f8599c]:hover:not(.disabled),.fdz[data-v-a1f8599c]:focus-visible:not(.disabled){border-color:#93c5fd;background:var(--fdz-accent-soft);box-shadow:0 0 0 3px #2563eb1a}.fdz.dragging[data-v-a1f8599c]{border-color:var(--fdz-accent);border-style:solid;background:#dbeafe;box-shadow:0 0 0 3px #2563eb29;transform:translateY(-1px)}.fdz.disabled[data-v-a1f8599c]{opacity:.58;cursor:not-allowed}.fdz.uploading[data-v-a1f8599c]{border-style:solid;border-color:#93c5fd}.fdz.compact[data-v-a1f8599c]{padding:9px 11px;border-radius:10px;gap:8px}.fdz.is-toolbar[data-v-a1f8599c]{width:auto;min-width:128px;max-width:220px;height:32px;padding:0 12px;border-radius:8px;border-style:solid;border-color:#dbe3ef;background:#fff;box-shadow:none;gap:8px;overflow:hidden}.fdz.is-toolbar[data-v-a1f8599c]:hover:not(.disabled),.fdz.is-toolbar[data-v-a1f8599c]:focus-visible:not(.disabled){border-color:#93c5fd;background:#f8fbff;box-shadow:0 0 0 3px #2563eb1a}.fdz.is-toolbar.dragging[data-v-a1f8599c]{border-radius:8px}.fdz.is-toolbar .fdz-icon[data-v-a1f8599c]{width:20px;height:20px;border-radius:6px;background:#eff6ff;color:var(--fdz-accent);flex-shrink:0}.fdz.is-toolbar .fdz-body[data-v-a1f8599c]{min-width:0;flex:1}.fdz.is-toolbar .fdz-label[data-v-a1f8599c]{font-size:12px;font-weight:650;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fdz.is-toolbar .fdz-hint[data-v-a1f8599c],.fdz.is-toolbar .fdz-name[data-v-a1f8599c]{display:none}.fdz.is-cell[data-v-a1f8599c]{width:56px;height:56px;min-width:56px;padding:6px 4px;flex-direction:column;justify-content:center;gap:2px;border-radius:10px;border-color:#e2e8f0;background:#f8fafc;box-shadow:none}.fdz.is-cell[data-v-a1f8599c]:hover:not(.disabled),.fdz.is-cell[data-v-a1f8599c]:focus-visible:not(.disabled){border-color:#93c5fd;background:#eff6ff;box-shadow:none}.fdz.is-cell.dragging[data-v-a1f8599c]{transform:none;border-style:solid}.fdz.is-cell .fdz-icon[data-v-a1f8599c]{width:22px;height:22px;border-radius:6px;background:transparent;color:#64748b}.fdz.is-cell:hover:not(.disabled) .fdz-icon[data-v-a1f8599c]{color:var(--fdz-accent);background:transparent}.fdz-cell-text[data-v-a1f8599c]{font-size:10px;font-weight:650;color:#64748b;line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdz.is-cell:hover:not(.disabled) .fdz-cell-text[data-v-a1f8599c]{color:var(--fdz-accent)}.fdz-input[data-v-a1f8599c]{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.fdz-icon[data-v-a1f8599c]{flex-shrink:0;width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#e8eef6;color:#475569}.fdz-icon svg[data-v-a1f8599c]{width:16px;height:16px;display:block}.fdz:hover:not(.disabled) .fdz-icon[data-v-a1f8599c],.fdz.dragging .fdz-icon[data-v-a1f8599c]{background:#dbeafe;color:var(--fdz-accent)}.fdz-spin[data-v-a1f8599c]{width:12px;height:12px;border:2px solid #bfdbfe;border-top-color:var(--fdz-accent);border-radius:50%;animation:fdz-spin-a1f8599c .7s linear infinite}@keyframes fdz-spin-a1f8599c{to{transform:rotate(360deg)}}.fdz-body[data-v-a1f8599c]{flex:1;min-width:0}.fdz-label[data-v-a1f8599c]{font-size:13px;font-weight:650;color:var(--fdz-ink);line-height:1.3}.fdz-hint[data-v-a1f8599c],.fdz-name[data-v-a1f8599c]{margin-top:2px;font-size:12px;color:var(--fdz-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fdz-name[data-v-a1f8599c]{color:var(--fdz-accent);font-weight:600}.fdz-clear[data-v-a1f8599c]{flex-shrink:0;width:26px;height:26px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:15px;line-height:1;cursor:pointer}.fdz-clear[data-v-a1f8599c]:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.org-layout[data-v-efdfa1dc]{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;min-height:520px}.org-tree[data-v-efdfa1dc]{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;overflow:auto;max-height:70vh}.tree-head[data-v-efdfa1dc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.tree-head-ops[data-v-efdfa1dc]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tree-item[data-v-efdfa1dc]{display:block;width:100%;text-align:left;border:none;background:transparent;padding:6px 8px;border-radius:8px;font-size:13px;color:#374151;cursor:pointer}.tree-item.active[data-v-efdfa1dc],.tree-item[data-v-efdfa1dc]:hover{background:#276ff514;color:#1d4ed8}.tree-item.flex[data-v-efdfa1dc]{flex:1;min-width:0}.tree-sep[data-v-efdfa1dc]{height:1px;background:#f3f4f6;margin:8px 0}.tree-row[data-v-efdfa1dc]{display:flex;align-items:center;gap:2px}.exp[data-v-efdfa1dc],.exp-ph[data-v-efdfa1dc]{width:18px;border:none;background:transparent;cursor:pointer;color:#9ca3af;flex:0 0 auto}.exp-ph[data-v-efdfa1dc]{display:inline-block}.tree-ops[data-v-efdfa1dc]{display:flex;gap:4px;opacity:.35}.tree-row:hover .tree-ops[data-v-efdfa1dc]{opacity:1}.link[data-v-efdfa1dc]{border:none;background:transparent;cursor:pointer;font-size:12px;color:#276ff5;padding:0 2px}.link.danger[data-v-efdfa1dc]{color:#b91c1c}.org-main[data-v-efdfa1dc]{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 10px 28px #0f172a0a}.main-head[data-v-efdfa1dc]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.main-head h2[data-v-efdfa1dc]{margin:0;font-size:16px}.head-actions[data-v-efdfa1dc]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.subcheck[data-v-efdfa1dc]{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;margin-top:6px}.input[data-v-efdfa1dc]{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:13px;background:#fff}.btn[data-v-efdfa1dc]{padding:7px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.btn.mini[data-v-efdfa1dc]{padding:4px 8px;font-size:12px}.btn.primary[data-v-efdfa1dc]{background:#276ff5;border-color:#276ff5;color:#fff;font-weight:650}.btn.danger[data-v-efdfa1dc]{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.table-wrap[data-v-efdfa1dc]{overflow:auto}.table[data-v-efdfa1dc]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-efdfa1dc],.table td[data-v-efdfa1dc]{padding:10px;border-bottom:1px solid #f3f4f6;text-align:left;white-space:nowrap}.table th[data-v-efdfa1dc]{color:#6b7280;background:#f9fafb}.strong[data-v-efdfa1dc]{font-weight:700}.muted[data-v-efdfa1dc]{color:#6b7280}.ops[data-v-efdfa1dc]{display:flex;gap:6px}.empty[data-v-efdfa1dc]{padding:40px;text-align:center;color:#9ca3af}.avatar[data-v-efdfa1dc]{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid #e5e7eb;background:#f3f4f6;display:block}.avatar.ph[data-v-efdfa1dc]{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#6b7280}.avatar-panel[data-v-efdfa1dc]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #f3f4f6}.avatar-big[data-v-efdfa1dc]{width:88px;height:88px;border-radius:50%;overflow:hidden;border:1px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;justify-content:center}.avatar-big img[data-v-efdfa1dc]{width:100%;height:100%;object-fit:cover}.avatar-big-ph[data-v-efdfa1dc]{font-size:13px;color:#9ca3af}.fdz-avatar[data-v-efdfa1dc]{width:180px}.hint[data-v-efdfa1dc]{font-size:12px}.mask[data-v-efdfa1dc]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:90;padding:16px}.modal[data-v-efdfa1dc]{width:440px;max-width:100%;background:#fff;border-radius:16px;padding:16px;border:1px solid #e5e7eb}.modal.wide[data-v-efdfa1dc]{width:640px;max-height:min(90vh,820px);overflow:auto}.modal-title[data-v-efdfa1dc]{font-weight:800;margin-bottom:12px}.field[data-v-efdfa1dc]{margin-bottom:10px;min-width:0}.label[data-v-efdfa1dc]{font-size:12px;color:#6b7280;margin-bottom:4px}.grid2[data-v-efdfa1dc]{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;align-items:start}.grid2 .input[data-v-efdfa1dc],.grid2 select.input[data-v-efdfa1dc]{width:100%;box-sizing:border-box}.field-manager[data-v-efdfa1dc]{margin-top:4px;padding-top:12px;border-top:1px solid #f3f4f6}.manager-picker[data-v-efdfa1dc]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px}.manager-search[data-v-efdfa1dc],.manager-select[data-v-efdfa1dc]{width:100%;box-sizing:border-box}.mgr-cell[data-v-efdfa1dc]{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.35}.mgr-line[data-v-efdfa1dc]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.mgr-lv[data-v-efdfa1dc]{display:inline-block;font-size:11px;font-weight:700;color:#0f766e;background:#ccfbf1;border-radius:4px;padding:0 5px;line-height:1.6;flex:0 0 auto}.mgr-lv.l2[data-v-efdfa1dc]{color:#9a3412;background:#ffedd5}.mgr-chain[data-v-efdfa1dc]{margin-top:10px;padding:12px;border-radius:12px;border:1px solid #e5e7eb;background:linear-gradient(180deg,#f8fafc,#fff)}.mgr-chain-title[data-v-efdfa1dc]{font-size:12px;font-weight:700;color:#64748b;margin-bottom:8px}.mgr-chain-row[data-v-efdfa1dc]{display:flex;align-items:flex-start;gap:10px}.mgr-chain-body[data-v-efdfa1dc]{min-width:0}.mgr-chain-arrow[data-v-efdfa1dc]{color:#94a3b8;padding:2px 0 2px 28px;font-size:12px;line-height:1}.modal-foot[data-v-efdfa1dc]{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}.modal-foot .muted[data-v-efdfa1dc]{margin-right:auto}.assign-list[data-v-efdfa1dc]{max-height:360px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px}.assign-row[data-v-efdfa1dc]{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #f3f4f6;font-size:13px;cursor:pointer}.assign-row[data-v-efdfa1dc]:last-child{border-bottom:none}.assign-row[data-v-efdfa1dc]:hover{background:#f9fafb}@media(max-width:900px){.org-layout[data-v-efdfa1dc],.grid2[data-v-efdfa1dc],.manager-picker[data-v-efdfa1dc]{grid-template-columns:1fr}}.ssc[data-v-181bd139]{width:100%}.ssc.disabled[data-v-181bd139]{opacity:.65}.ssc-hint[data-v-181bd139]{margin:0 0 6px;font-size:12px;line-height:1.45}.ssc-row[data-v-181bd139]{display:flex;align-items:flex-start;gap:8px}.ssc-wrap[data-v-181bd139]{position:relative;flex:1;min-width:0}.ssc-input[data-v-181bd139]{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font-size:13px;outline:none;background:#fff;color:#111827}.ssc-input[data-v-181bd139]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.ssc-input[data-v-181bd139]:disabled{background:#f3f4f6;cursor:not-allowed}.ssc-panel[data-v-181bd139]{position:fixed;margin:0;padding:6px;list-style:none;overflow-y:auto;box-sizing:border-box;background:#fff;border:1px solid #bfdbfe;border-radius:10px;box-shadow:0 10px 28px #0f172a24,0 2px 8px #2563eb14}.ssc-panel.compact[data-v-181bd139]{padding:4px;border-radius:8px;border-color:#cbd5e1;box-shadow:0 8px 20px #0f172a1f}.ssc-panel.compact .ssc-item[data-v-181bd139]{padding:7px 10px;border-radius:6px;gap:6px}.ssc-panel.compact .ssc-name[data-v-181bd139]{font-weight:600;font-size:13px}.ssc-item[data-v-181bd139]{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13px;color:#0f172a;background:#fff}.ssc-item[data-v-181bd139]:hover{background:#eff6ff}.ssc-item.active[data-v-181bd139]{background:#dbeafe;box-shadow:inset 0 0 0 1px #93c5fd;color:#1e3a8a}.ssc-item.empty[data-v-181bd139]{cursor:default;color:#64748b;justify-content:flex-start}.ssc-check[data-v-181bd139]{flex-shrink:0;width:14px;font-size:12px;font-weight:700;color:#2563eb;text-align:center}.ssc-text[data-v-181bd139]{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.ssc-name[data-v-181bd139]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.3}.ssc-sub[data-v-181bd139]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;color:#64748b;line-height:1.25}.ssc-id[data-v-181bd139]{flex-shrink:0;margin-left:auto;font-size:12px;color:#64748b;font-variant-numeric:tabular-nums}.ssc-clear[data-v-181bd139]{flex-shrink:0;margin-top:2px;padding:8px 10px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb;font-size:12px;cursor:pointer;color:#475569}.ssc-clear[data-v-181bd139]:hover{border-color:#cbd5e1;background:#f1f5f9}.ssc-meta[data-v-181bd139]{margin:6px 0 0;font-size:12px;line-height:1.45}.ssc.compact .ssc-row[data-v-181bd139]{align-items:center;gap:4px}.ssc.compact .ssc-input[data-v-181bd139]{padding:6px 8px;border-radius:8px;border-color:#e2e8f0;font-size:13px}.ssc.compact .ssc-input[data-v-181bd139]:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f626}.ssc.compact .ssc-clear[data-v-181bd139]{margin-top:0;padding:4px 8px;min-width:28px;border-radius:8px;font-size:14px;line-height:1;color:#94a3b8}.ssc.compact .ssc-meta[data-v-181bd139]{margin:4px 0 0;font-size:11px}.muted[data-v-181bd139]{color:#64748b}.page[data-v-9beb500f]{padding:24px;background:#f5f7fb;color:#111827}.error-banner[data-v-9beb500f]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid #fecaca;background:#fef2f2;box-shadow:0 8px 18px #f8717126;margin-bottom:14px}.error-dot[data-v-9beb500f]{width:10px;height:10px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 6px #ef444429}.error-text[data-v-9beb500f]{flex:1;color:#b91c1c;font-size:13px}.error-link[data-v-9beb500f]{color:#2563eb;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}.error-link[data-v-9beb500f]:hover{text-decoration:underline}.page-header[data-v-9beb500f]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.title h1[data-v-9beb500f]{margin:0 0 6px;font-size:26px;letter-spacing:-.02em;color:#111827}.title p[data-v-9beb500f]{margin:0;color:#6b7280}.module-select[data-v-9beb500f]{display:flex;align-items:center;gap:8px}.label[data-v-9beb500f]{color:#6b7280;font-size:13px}.card[data-v-9beb500f]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;box-shadow:0 10px 25px #0f172a14}.mp-stats-hint[data-v-9beb500f]{font-size:13px;line-height:1.5;margin:0 0 14px}.mp-date-input[data-v-9beb500f]{padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:13px;min-width:140px}.card-head[data-v-9beb500f]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.card-head-personnel-top[data-v-9beb500f]{align-items:flex-start}.card-head-personnel-top .card-desc[data-v-9beb500f]{margin:6px 0 0;font-size:12px;max-width:52em;line-height:1.45}.card-desc[data-v-9beb500f]{margin:6px 0 0;font-size:12px;max-width:48em;line-height:1.45}.overtime-settings-panel[data-v-9beb500f]{margin-bottom:14px;padding:14px;border-radius:12px;border:1px solid #e0e7ff;background:#f8fafc}.overtime-settings-grid[data-v-9beb500f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;margin-bottom:10px}.field-inline .label[data-v-9beb500f]{display:block;margin-bottom:6px;font-size:13px;color:#475569}.field-inline .hint[data-v-9beb500f]{display:block;margin-top:4px;font-size:11px;line-height:1.35}.small-input[data-v-9beb500f]{width:100%;max-width:140px;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px}.overtime-formula[data-v-9beb500f]{margin:0 0 12px;font-size:12px;line-height:1.5}.overtime-summary-strip[data-v-9beb500f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.timeoff-balance-block[data-v-9beb500f]{margin:0 0 18px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.timeoff-balance-head[data-v-9beb500f]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:10px}.timeoff-balance-head h3[data-v-9beb500f]{margin:0;font-size:14px;font-weight:650;color:#0f172a}.timeoff-balance-wrap[data-v-9beb500f]{max-height:220px;overflow:auto;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.timeoff-manage-wrap[data-v-9beb500f]{border:1px solid #e5e7eb;border-radius:12px;overflow:auto;background:#fff}.timeoff-manage-card .table-zebra tbody tr:nth-child(2n) td[data-v-9beb500f]{background:#f8fafc}.timeoff-manage-card .table-zebra tbody tr:hover td[data-v-9beb500f]{background:#eff6ff}.timeoff-pager[data-v-9beb500f]{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.timeoff-adjust-drawer[data-v-9beb500f]{width:min(420px,94vw)}.adj-neg[data-v-9beb500f]{color:#c2410c;font-weight:650}.adj-pos[data-v-9beb500f]{color:#15803d;font-weight:650}.pending-warn[data-v-9beb500f]{color:#b45309}.mono[data-v-9beb500f]{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.detail-overtime-wrap[data-v-9beb500f]{margin-bottom:20px;max-height:min(420px,50vh)}.card-personnel .personnel-pager[data-v-9beb500f]{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.card-personnel .personnel-pager .pager[data-v-9beb500f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}h2[data-v-9beb500f]{margin:0;font-size:16px;color:#111827}.filters[data-v-9beb500f]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hours-person-ssc[data-v-9beb500f]{min-width:140px;width:min(200px,42vw);flex:0 1 auto}.pager[data-v-9beb500f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted[data-v-9beb500f]{color:#9ca3af;font-size:13px}.strong[data-v-9beb500f]{font-weight:650}.accent[data-v-9beb500f]{color:#2563eb;font-weight:650}.row-anomaly td[data-v-9beb500f]{background:#fff7ed}.badge-anomaly[data-v-9beb500f]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:650;color:#c2410c;background:#ffedd5;border:1px solid #fdba74}.kpi-tile--warn[data-v-9beb500f]{border-color:#fdba74;background:linear-gradient(135deg,#fff7ed,#fff 55%)}.kpi-tile--warn .kpi-value[data-v-9beb500f]{color:#c2410c}.empty[data-v-9beb500f]{padding:18px 4px;color:#9ca3af}.table-wrap[data-v-9beb500f]{overflow:auto}.table[data-v-9beb500f]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-9beb500f],.table td[data-v-9beb500f]{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap;vertical-align:middle}.table th[data-v-9beb500f]{color:#6b7280;font-weight:600;background-color:#f3f4f6}.table tbody tr[data-v-9beb500f]:nth-child(2n){background-color:#f9fafb}.table tbody tr[data-v-9beb500f]:hover{background-color:#e5f0ff}.avatar[data-v-9beb500f]{width:34px;height:34px;border-radius:999px;object-fit:cover;display:inline-block;border:1px solid #e5e7eb;background:#f9fafb}.avatar.ph[data-v-9beb500f]{display:inline-flex;align-items:center;justify-content:center;color:#9ca3af;font-size:12px}.table th[data-v-9beb500f]:first-child,.table td[data-v-9beb500f]:first-child{width:52px}.modal-mask[data-v-9beb500f]{position:fixed;inset:0;background:#0f172a52;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.drawer[data-v-9beb500f]{width:560px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 22px 60px #0f172a52;overflow:hidden;animation:modalIn-9beb500f .18s ease-out}.drawer-head[data-v-9beb500f]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.drawer-title[data-v-9beb500f]{color:#111827;font-weight:900;letter-spacing:-.02em}.drawer-sub[data-v-9beb500f]{margin-top:4px}.drawer-body[data-v-9beb500f]{flex:1;overflow:auto;display:grid;grid-template-columns:220px 1fr;gap:14px;padding:16px}.avatar-panel[data-v-9beb500f]{border:1px solid #e5e7eb;background:#f9fafb;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}.avatar-big[data-v-9beb500f]{width:100%;aspect-ratio:1 / 1;border-radius:18px;overflow:hidden;border:1px solid #e5e7eb;background:#f3f4f6;display:grid;place-items:center}.avatar-big img[data-v-9beb500f]{width:100%;height:100%;object-fit:cover;display:block}.avatar-big-ph[data-v-9beb500f]{color:#9ca3af;font-size:14px}.fdz-avatar[data-v-9beb500f]{width:200px}.form-panel[data-v-9beb500f]{display:grid;gap:12px}.section[data-v-9beb500f]{border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:14px}.section-title[data-v-9beb500f]{color:#111827;font-weight:700;margin-bottom:10px}.grid2[data-v-9beb500f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hint[data-v-9beb500f]{margin-top:6px}.drawer-foot[data-v-9beb500f]{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px 14px;border-top:1px solid #e5e7eb;background:#f9fafb}@media(max-width:640px){.drawer[data-v-9beb500f]{max-width:calc(100vw - 32px)}.drawer-body[data-v-9beb500f],.grid2[data-v-9beb500f]{grid-template-columns:1fr}}@keyframes modalIn-9beb500f{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.drawer[data-v-9beb500f]{animation:none}}.select[data-v-9beb500f]{background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:10px;padding:8px 10px;outline:none;font-size:14px}.select.small[data-v-9beb500f]{padding:6px 10px;font-size:13px}.btn[data-v-9beb500f]{background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:999px;padding:8px 12px;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background .15s ease,box-shadow .15s ease,transform .08s ease}.btn.small[data-v-9beb500f]{padding:4px 10px;font-size:12px;border-radius:8px}.btn.primary[data-v-9beb500f]{background:#2563eb;border-color:#2563eb;color:#fff}.btn.primary[data-v-9beb500f]:hover:not(:disabled){background:#1d4ed8;color:#fff}.btn.danger[data-v-9beb500f]{border-color:#fca5a5;color:#b91c1c}.btn.danger[data-v-9beb500f]:hover:not(:disabled){background:#fef2f2}.btn[data-v-9beb500f]:hover:not(:disabled){background:#f3f4f6}.btn[data-v-9beb500f]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.page[data-v-9beb500f]{padding:18px}.stats-checkin-body[data-v-9beb500f]{grid-template-columns:1fr}.stats-checkin-toprow[data-v-9beb500f]{flex-direction:column;align-items:stretch}.stats-checkin-toolbar[data-v-9beb500f]{width:100%;justify-content:flex-start}.stats-select--view[data-v-9beb500f]{flex:1 1 100px;width:auto}.stats-select--range[data-v-9beb500f]{flex:0 0 72px}.stats-select--person[data-v-9beb500f]{flex:1 1 100px;width:auto;max-width:none}.stats-select[data-v-9beb500f]{flex:1 1 100px;min-width:0}}.stats-checkin-card[data-v-9beb500f]{overflow:hidden;border:1px solid #e0e7ff;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 14px 40px #2563eb14,0 2px #fffc inset;padding:12px 14px}.stats-checkin-hero[data-v-9beb500f]{margin:-2px -2px 8px;padding:0 0 8px;border-bottom:1px solid #e5e7eb}.stats-checkin-toprow[data-v-9beb500f]{display:flex;align-items:center;justify-content:space-between;gap:8px 10px;flex-wrap:wrap}.stats-checkin-title[data-v-9beb500f]{margin:0;font-size:15px;font-weight:800;letter-spacing:-.02em;color:#0f172a;line-height:1.2}.stats-checkin-lead[data-v-9beb500f]{margin:6px 0 0;font-size:11px;line-height:1.35;color:#94a3b8}.stats-checkin-toolbar[data-v-9beb500f]{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0}.stats-select[data-v-9beb500f]{min-width:0;padding:4px 8px!important;font-size:12px!important;border-radius:8px;max-width:100%}.stats-select--view[data-v-9beb500f]{width:118px;flex:0 0 auto}.stats-select--range[data-v-9beb500f]{width:76px;flex:0 0 auto}.stats-select--person[data-v-9beb500f]{width:min(120px,28vw);flex:0 1 auto}.stats-refresh-btn[data-v-9beb500f]{border-radius:8px;padding:4px 10px!important;font-size:12px!important;font-weight:650;flex:0 0 auto;background:linear-gradient(180deg,#eff6ff,#dbeafe);border-color:#93c5fd;color:#1d4ed8}.stats-refresh-btn[data-v-9beb500f]:hover:not(:disabled){background:linear-gradient(180deg,#dbeafe,#bfdbfe)}.stats-range-bar[data-v-9beb500f]{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 8px;margin-bottom:10px;border-radius:8px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:11px}.stats-range-label[data-v-9beb500f]{color:#64748b;font-weight:600}.stats-range-value[data-v-9beb500f]{font-variant-numeric:tabular-nums;color:#0f172a;font-weight:650}.stats-checkin-loading[data-v-9beb500f]{display:flex;align-items:center;justify-content:center;gap:12px;padding:36px 12px;color:#64748b;font-size:14px}.stats-spinner[data-v-9beb500f]{width:22px;height:22px;border-radius:50%;border:2px solid #e2e8f0;border-top-color:#2563eb;animation:stats-spin-9beb500f .75s linear infinite}@keyframes stats-spin-9beb500f{to{transform:rotate(360deg)}}.stats-kpi-strip[data-v-9beb500f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.kpi-tile[data-v-9beb500f]{border-radius:12px;padding:12px 14px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 14px #0f172a0a}.kpi-tile--primary[data-v-9beb500f]{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff 55%);box-shadow:0 6px 18px #2563eb1a}.kpi-label[data-v-9beb500f]{display:block;font-size:12px;color:#64748b;font-weight:600;margin-bottom:4px}.kpi-value[data-v-9beb500f]{font-size:22px;font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums}.kpi-tile--primary .kpi-value[data-v-9beb500f]{color:#1d4ed8}.stats-checkin-body[data-v-9beb500f]{display:grid;grid-template-columns:minmax(220px,.92fr) minmax(0,1.28fr);gap:12px;align-items:start}.stats-checkin-body--current[data-v-9beb500f]{grid-template-columns:minmax(220px,.92fr) minmax(0,1.28fr)}.stats-chart-aside[data-v-9beb500f]{border-radius:10px;padding:10px 10px 8px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 14px #0f172a0a}.stats-panel-head[data-v-9beb500f]{margin-bottom:8px}.stats-panel-head h3[data-v-9beb500f]{margin:0 0 2px;font-size:13px;font-weight:800;color:#0f172a}.stats-panel-sub[data-v-9beb500f]{font-size:11px;line-height:1.35}.stats-empty[data-v-9beb500f]{padding:20px 8px!important;text-align:center;font-size:13px}.stats-svg-wrap[data-v-9beb500f]{width:100%;height:112px;margin-bottom:8px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc}.stats-svg-wrap--rank[data-v-9beb500f]{height:auto;min-height:0;max-width:100%;aspect-ratio:340 / 132;overflow:visible;margin-bottom:10px}.stats-svg[data-v-9beb500f]{width:100%;height:100%;display:block}.stats-svg--rank[data-v-9beb500f]{height:auto;max-height:none}.stats-chart-rect[data-v-9beb500f]{fill:#f8fafc}.stats-grid-line[data-v-9beb500f]{stroke:#e2e8f0;stroke-width:1}.stats-axis-x[data-v-9beb500f]{stroke:#cbd5e1;stroke-width:1.25}.stats-guide-v[data-v-9beb500f]{stroke:#e2e8f0;stroke-width:1;stroke-dasharray:4 5}.stats-axis-y[data-v-9beb500f]{font-size:11px;font-weight:700;fill:#64748b}.stats-point-val[data-v-9beb500f]{font-size:11px;font-weight:800;fill:#1d4ed8}.stats-point-val--cyan[data-v-9beb500f]{fill:#0e7490}.stats-axis-xlabel[data-v-9beb500f]{font-size:9px;font-weight:650;fill:#334155}.stats-rank-tick[data-v-9beb500f]{font-size:8px;font-weight:700;fill:#94a3b8}.stats-line-dot[data-v-9beb500f]{fill:#fff;stroke:#2563eb;stroke-width:1.8}.stats-line-dot--cyan[data-v-9beb500f]{stroke:#0891b2}.stats-hbar-list[data-v-9beb500f]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}.stats-hbar-row[data-v-9beb500f]{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(72px,2.2fr) 36px;gap:6px 8px;align-items:center;font-size:12px}.stats-hbar-rank[data-v-9beb500f]{font-size:10px;font-weight:800;color:#94a3b8;text-align:center;font-variant-numeric:tabular-nums}.stats-hbar-name[data-v-9beb500f]{color:#334155;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-hbar-track[data-v-9beb500f]{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.stats-hbar-fill[data-v-9beb500f]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#6366f1);min-width:4px;transition:width .35s ease}.stats-hbar-fill--cyan[data-v-9beb500f]{background:linear-gradient(90deg,#06b6d4,#2563eb)}.stats-hbar-num[data-v-9beb500f]{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;color:#1e293b}.stats-table-panel[data-v-9beb500f]{min-width:0;border-radius:10px;padding:10px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 14px #0f172a0a}.stats-table-wrap[data-v-9beb500f]{border-radius:8px;border:1px solid #e5e7eb;max-height:min(480px,58vh)}.stats-table[data-v-9beb500f]{font-size:12px}.stats-table th[data-v-9beb500f],.stats-table td[data-v-9beb500f]{padding:7px 8px}.stats-table th[data-v-9beb500f]{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:#475569;border-bottom:1px solid #e2e8f0;box-shadow:0 1px #e2e8f0}.stats-table td[data-v-9beb500f]{border-bottom:1px solid #f1f5f9}.stats-table tbody tr[data-v-9beb500f]:hover{background:linear-gradient(90deg,#eff6ff,#fff)}.stats-col-bar[data-v-9beb500f]{width:96px;text-align:left}.stats-td-name[data-v-9beb500f]{white-space:nowrap}.stats-td-project[data-v-9beb500f]{white-space:normal;max-width:220px;color:#334155;line-height:1.35}.stats-td-num[data-v-9beb500f]{font-variant-numeric:tabular-nums;white-space:nowrap}.stats-td-bar[data-v-9beb500f]{vertical-align:middle}.stats-row-bar-track[data-v-9beb500f]{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden;min-width:56px}.stats-row-bar-fill[data-v-9beb500f]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#93c5fd,#2563eb);min-width:4px;transition:width .35s ease}.stats-td-time[data-v-9beb500f]{white-space:nowrap;font-size:12px}.stats-td-addr[data-v-9beb500f]{white-space:normal;max-width:280px;line-height:1.35;font-size:12px}.stats-table--wide .stats-td-addr[data-v-9beb500f]{max-width:360px}@media(max-width:960px){.stats-kpi-strip[data-v-9beb500f],.stats-checkin-body[data-v-9beb500f],.stats-checkin-body--current[data-v-9beb500f]{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.stats-spinner[data-v-9beb500f]{animation:none;border-top-color:#94a3b8}.stats-hbar-fill[data-v-9beb500f],.stats-row-bar-fill[data-v-9beb500f]{transition:none}}.shell[data-v-9eb77cfa]{min-height:100vh;transition:background .35s ease;display:flex;--accent: #00d4aa;--accent-soft: rgba(0, 212, 170, .1);--accent-border: rgba(0, 212, 170, .22);--accent-hover: rgba(0, 212, 170, .08)}.shell.dark[data-v-9eb77cfa]{background:radial-gradient(1200px 700px at 20% 0%,rgba(0,212,170,.12),transparent 55%),radial-gradient(900px 600px at 80% 20%,rgba(88,166,255,.1),transparent 50%),#0c1117}.shell.light[data-v-9eb77cfa]{--accent: #276FF5;--accent-soft: rgba(39, 111, 245, .1);--accent-border: rgba(39, 111, 245, .22);--accent-hover: rgba(39, 111, 245, .08);background:#f0f2f5}.sidebar[data-v-9eb77cfa]{width:200px;flex:0 0 200px;min-height:100vh;position:sticky;top:0;align-self:flex-start;border-right:1px solid rgba(255,255,255,.08);transition:width .2s ease,flex-basis .2s ease;display:flex;flex-direction:column}.sidebar.collapsed[data-v-9eb77cfa]{width:56px;flex-basis:56px}.shell.light .sidebar[data-v-9eb77cfa]{border-right:1px solid #E5E6EB;background:#fff;box-shadow:1px 0 #1f232905}.shell.dark .sidebar[data-v-9eb77cfa]{background:#0c1117d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.logo[data-v-9eb77cfa]{display:flex;align-items:center;gap:10px;padding:12px 12px 10px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.logo-click[data-v-9eb77cfa]{cursor:pointer}.logo-click:hover .logo-text[data-v-9eb77cfa]{color:var(--accent)}.shell.light .logo[data-v-9eb77cfa]{border-bottom:1px solid #E5E6EB}.logo-text[data-v-9eb77cfa]{font-weight:700;letter-spacing:0;font-size:14px}.shell.dark .logo-text[data-v-9eb77cfa]{color:#ffffffeb}.shell.light .logo-text[data-v-9eb77cfa]{color:#1f2329}.brand-lottie[data-v-9eb77cfa]{width:28px;height:28px;flex-shrink:0}.brand-lottie[data-v-9eb77cfa] svg{width:100%;height:100%;display:block}.side-scroll[data-v-9eb77cfa]{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 8px 12px;display:flex;flex-direction:column;gap:2px}.side-item[data-v-9eb77cfa],.side-group-btn[data-v-9eb77cfa]{text-decoration:none;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:13px;font-weight:500;line-height:1.2;position:relative;transition:background .12s ease,color .12s ease,border-color .12s ease}.side-ico[data-v-9eb77cfa]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex:0 0 20px;font-size:15px;opacity:.88}.side-svg[data-v-9eb77cfa]{width:16px;height:16px;display:block}.shell.dark .side-item[data-v-9eb77cfa],.shell.dark .side-group-btn[data-v-9eb77cfa]{color:#ffffffb3}.shell.light .side-item[data-v-9eb77cfa],.shell.light .side-group-btn[data-v-9eb77cfa]{color:#646a73}.shell.dark .side-item[data-v-9eb77cfa]:hover,.shell.dark .side-group-btn[data-v-9eb77cfa]:hover{background:#ffffff0d;color:#ffffffeb}.shell.light .side-item[data-v-9eb77cfa]:hover,.shell.light .side-group-btn[data-v-9eb77cfa]:hover{background:#f5f6f7;color:#1f2329}.shell.light .side-item:hover .side-ico[data-v-9eb77cfa],.shell.light .side-group-btn:hover .side-ico[data-v-9eb77cfa]{opacity:1}.side-item.active[data-v-9eb77cfa]{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft);font-weight:600}.shell.light .side-item.active[data-v-9eb77cfa],.shell.light .side-group-btn.active[data-v-9eb77cfa]{color:#276ff5;border-color:transparent;background:#276ff51a;font-weight:600}.shell.light .side-item.active[data-v-9eb77cfa]:before,.shell.light .side-group-btn.active[data-v-9eb77cfa]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:#276ff5}.shell.light .side-item.active .side-ico[data-v-9eb77cfa],.shell.light .side-group-btn.active .side-ico[data-v-9eb77cfa]{opacity:1}.shell.light .side-group:has(.side-sub)>.side-group-btn[data-v-9eb77cfa]{color:#276ff5;background:#276ff514;font-weight:600}.shell.light .side-group:has(.side-sub)>.side-group-btn .side-ico[data-v-9eb77cfa]{opacity:1}.side-item--badge-wrap[data-v-9eb77cfa]{position:relative}.side-badge[data-v-9eb77cfa]{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f85149;color:#fff;font-size:11px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 1px #0003}.side-badge--secondary[data-v-9eb77cfa]{background:#facc15;color:#000}.side-sub-badge[data-v-9eb77cfa]{margin-left:auto;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#f85149;color:#fff;font-size:10px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.shell.light .side-badge[data-v-9eb77cfa]{box-shadow:0 0 0 1px #ffffff59}.shell.light .side-badge--secondary[data-v-9eb77cfa]{background:#f59e0b;color:#111827;box-shadow:0 0 0 1px #94a3b8b3}.sidebar.collapsed .side-item--badge-wrap .side-badge[data-v-9eb77cfa]{position:absolute;top:2px;right:2px;margin-left:0;min-width:16px;height:16px;font-size:10px;padding:0 4px}.side-text[data-v-9eb77cfa]{display:inline}.sidebar.collapsed .side-text[data-v-9eb77cfa],.sidebar.collapsed .chev[data-v-9eb77cfa],.sidebar.collapsed .side-sub[data-v-9eb77cfa]{display:none}.sidebar.collapsed .side-item[data-v-9eb77cfa],.sidebar.collapsed .side-group-btn[data-v-9eb77cfa]{justify-content:center;padding:8px 6px}.sidebar.collapsed .side-ico[data-v-9eb77cfa]{font-size:16px;width:20px;height:20px;flex-basis:20px}.sidebar.collapsed .side-svg[data-v-9eb77cfa]{width:18px;height:18px}.shell.light .sidebar.collapsed .side-item.active[data-v-9eb77cfa]:before,.shell.light .sidebar.collapsed .side-group-btn.active[data-v-9eb77cfa]:before{top:8px;bottom:8px}.side-footer[data-v-9eb77cfa]{flex-shrink:0;margin-top:auto;padding:8px;border-top:1px solid rgba(255,255,255,.08)}.shell.light .side-footer[data-v-9eb77cfa]{border-top:1px solid #E5E6EB}.collapse-btn[data-v-9eb77cfa]{width:100%;height:36px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffffc7}.shell.light .collapse-btn[data-v-9eb77cfa]{border-color:#e5e6eb;background:#fff;color:#646a73}.collapse-btn[data-v-9eb77cfa]:hover{border-color:var(--accent-border);color:var(--accent)}.collapse-svg[data-v-9eb77cfa]{width:18px;height:18px;display:block;opacity:.9;transition:transform .2s ease,opacity .2s ease}.collapse-svg.collapsed[data-v-9eb77cfa]{transform:rotate(180deg)}.side-sub[data-v-9eb77cfa]{margin-top:6px;margin-left:0;display:flex;flex-direction:column;gap:6px;width:100%}.side-sub-item[data-v-9eb77cfa]{text-decoration:none;display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding:6px 10px 6px 38px;border-radius:6px;font-size:12px;border:1px solid transparent;text-align:left}.side-sub-ico[data-v-9eb77cfa]{width:16px;height:16px;display:inline-grid;place-items:center;flex:0 0 auto;opacity:.88}.side-sub-svg[data-v-9eb77cfa]{width:14px;height:14px;display:block}.shell.dark .side-sub-item[data-v-9eb77cfa]{color:#ffffffad}.shell.light .side-sub-item[data-v-9eb77cfa]{color:#646a73}.side-sub-item[data-v-9eb77cfa]:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.shell.light .side-sub-item.router-link-active[data-v-9eb77cfa],.shell.light .side-sub-item.active[data-v-9eb77cfa]{color:#276ff5;background:#276ff514;font-weight:600}.side-soon[data-v-9eb77cfa]{margin-left:auto;font-size:10px;font-weight:650;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:1px 6px;line-height:1.4}.chev[data-v-9eb77cfa]{opacity:.7;font-size:12px;margin-left:auto}.content[data-v-9eb77cfa]{flex:1;min-width:0;display:flex;flex-direction:column}.topbar2[data-v-9eb77cfa]{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.shell.dark .topbar2[data-v-9eb77cfa]{background:#0c1117a6;border-bottom:1px solid rgba(255,255,255,.08)}.shell.light .topbar2[data-v-9eb77cfa]{background:#fff;border-bottom:1px solid #E5E6EB}.tabs[data-v-9eb77cfa]{display:flex;align-items:center;gap:6px;overflow:auto;flex:1 1 auto;min-width:0;padding:2px}.tab[data-v-9eb77cfa]{appearance:none;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:6px;white-space:nowrap;font-size:13px}.shell.dark .tab[data-v-9eb77cfa]{color:#ffffffb3}.shell.light .tab[data-v-9eb77cfa]{color:#646a73}.tab[data-v-9eb77cfa]:hover{border-color:var(--accent-border);background:var(--accent-hover);color:var(--accent)}.tab.active[data-v-9eb77cfa]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);font-weight:600}.tab-x[data-v-9eb77cfa]{opacity:.8;border:1px solid rgba(255,255,255,.15);width:18px;height:18px;border-radius:99px;display:flex;align-items:center;justify-content:center;line-height:1}.shell.light .tab-x[data-v-9eb77cfa]{border-color:#e5e6eb}.tab-x[data-v-9eb77cfa]:hover{opacity:1}.user2[data-v-9eb77cfa]{display:flex;align-items:center;gap:10px;flex:0 0 auto}.notif-wrap[data-v-9eb77cfa]{position:relative}.notif-btn[data-v-9eb77cfa]{position:relative;padding:6px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#ffffffbf;cursor:pointer}.shell.light .notif-btn[data-v-9eb77cfa]{border-color:#e5e6eb;background:#fff;color:#646a73}.notif-btn[data-v-9eb77cfa]:hover{border-color:var(--accent-border);color:var(--accent)}.notif-ico[data-v-9eb77cfa]{font-size:16px;line-height:1}.notif-badge[data-v-9eb77cfa]{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#f85149;color:#fff;font-size:11px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #0c111799}.shell.light .notif-badge[data-v-9eb77cfa]{box-shadow:0 0 0 2px #fffc}.notif-pop[data-v-9eb77cfa]{position:absolute;right:0;top:calc(100% + 8px);width:360px;max-height:420px;overflow:auto;border-radius:14px;border:1px solid rgba(148,163,184,.22);background:#0f172ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 50px #00000059;z-index:80}.shell.light .notif-pop[data-v-9eb77cfa]{background:#fffffffa;border-color:#cbd5e1;box-shadow:0 18px 50px #0f172a29}.notif-head[data-v-9eb77cfa]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.18)}.shell.light .notif-head[data-v-9eb77cfa]{border-bottom:1px solid #e2e8f0}.notif-title[data-v-9eb77cfa]{font-weight:900;font-size:13px;color:#f8fafce6;margin-right:auto}.shell.light .notif-title[data-v-9eb77cfa]{color:#0f172a}.notif-all[data-v-9eb77cfa]{text-decoration:none;font-size:12px;font-weight:800;color:var(--accent);padding:6px 8px;border-radius:10px;border:1px solid rgba(94,234,212,.22);background:var(--accent-soft);cursor:pointer;font-family:inherit}.shell.light .notif-all[data-v-9eb77cfa]{color:#1d4ed8;border-color:#1d4ed833;background:#1d4ed80f}.notif-all[data-v-9eb77cfa]:hover{border-color:#00d4aa59;color:var(--accent)}.shell.light .notif-all[data-v-9eb77cfa]:hover{border-color:#05966959;color:#059669}.notif-all[data-v-9eb77cfa]:disabled{opacity:.55;cursor:not-allowed}.notif-close[data-v-9eb77cfa]{border:none;background:transparent;cursor:pointer;font-size:18px;color:#94a3b8e6}.notif-empty[data-v-9eb77cfa]{padding:14px 12px;color:#94a3b8e6;font-size:12px}.shell.light .notif-empty[data-v-9eb77cfa]{color:#64748b}.notif-item[data-v-9eb77cfa]{width:100%;text-align:left;border:none;background:transparent;cursor:pointer;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.12)}.shell.light .notif-item[data-v-9eb77cfa]{border-bottom:1px solid #eef2f7}.notif-item[data-v-9eb77cfa]:hover{background:#38bdf81a}.shell.light .notif-item[data-v-9eb77cfa]:hover{background:#2563eb0f}.notif-item.unread .notif-item-title[data-v-9eb77cfa]{color:#5eead4}.shell.light .notif-item.unread .notif-item-title[data-v-9eb77cfa]{color:#1d4ed8}.notif-item-title[data-v-9eb77cfa]{font-weight:800;font-size:12px;color:#f8fafce0}.shell.light .notif-item-title[data-v-9eb77cfa]{color:#0f172a}.notif-item-body[data-v-9eb77cfa]{margin-top:4px;font-size:12px;color:#cbd5e1eb}.shell.light .notif-item-body[data-v-9eb77cfa]{color:#475569}.notif-item-time[data-v-9eb77cfa]{margin-top:6px;font-size:11px;color:#94a3b8e6}.shell.light .notif-item-time[data-v-9eb77cfa]{color:#94a3b8}.notif-reimb-sum[data-v-9eb77cfa]{margin-top:6px;display:flex;flex-direction:column;gap:3px}.notif-reimb-body[data-v-9eb77cfa]{margin-top:2px;font-size:12px;line-height:1.45;white-space:pre-line;color:#cbd5e1eb}.shell.light .notif-reimb-body[data-v-9eb77cfa]{color:#475569}.notif-kv[data-v-9eb77cfa]{display:flex;align-items:baseline;gap:8px;font-size:12px;line-height:1.35}.notif-kv .nk[data-v-9eb77cfa]{flex:0 0 auto;min-width:44px;font-size:11px;font-weight:800;color:#94a3b8f2}.shell.light .notif-kv .nk[data-v-9eb77cfa]{color:#64748b}.notif-kv .nv[data-v-9eb77cfa]{flex:1 1 auto;min-width:0;color:#e2e8f0eb;word-break:break-word}.shell.light .notif-kv .nv[data-v-9eb77cfa]{color:#0f172a}.notif-mono[data-v-9eb77cfa]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-variant-numeric:tabular-nums}.user-meta[data-v-9eb77cfa]{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2}.user-position[data-v-9eb77cfa]{font-size:12px;opacity:.85}.shell.dark .user-position[data-v-9eb77cfa]{color:#ffffff80}.shell.light .user-position[data-v-9eb77cfa]{color:#64748b}.theme-btn2-trail[data-v-9eb77cfa]{margin-left:2px}.theme-btn2[data-v-9eb77cfa]{padding:6px 10px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:16px;line-height:1}.shell.dark .theme-btn2[data-v-9eb77cfa]{border-color:#ffffff26}.shell.dark .theme-btn2[data-v-9eb77cfa]:hover{background:#ffffff0f}.shell.light .theme-btn2[data-v-9eb77cfa]{border-color:#cbd5e1}.shell.light .theme-btn2[data-v-9eb77cfa]:hover{background:#0000000a}.shell.dark .user-name[data-v-9eb77cfa]{color:#ffffffa6}.shell.light .user-name[data-v-9eb77cfa]{color:#64748b}.user-name[data-v-9eb77cfa]{font-size:13px}.user-profile-link[data-v-9eb77cfa]{text-decoration:none;display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:8px;padding:4px 6px;margin:-4px -6px;transition:color .15s,background .15s}.shell.dark .user-profile-link[data-v-9eb77cfa]:hover{color:var(--accent);background:#00d4aa14}.shell.light .user-profile-link[data-v-9eb77cfa]:hover{color:#059669;background:#05966914}.logout[data-v-9eb77cfa]{text-decoration:none;font-size:13px;padding:8px 10px;border-radius:12px;transition:border-color .2s,color .2s,background .2s}.shell.dark .logout[data-v-9eb77cfa]{color:#ffffffb8;border:1px solid rgba(255,255,255,.12);background:#ffffff0d}.shell.light .logout[data-v-9eb77cfa]{color:#646a73;border:1px solid #E5E6EB;background:#fff}.logout[data-v-9eb77cfa]:hover{border-color:var(--accent-border);color:var(--accent)}.main[data-v-9eb77cfa]{width:100%;margin:0 auto;padding:18px;transition:background .35s ease}.shell.light .main[data-v-9eb77cfa]{background:#f0f2f5}.error-banner[data-v-9eb77cfa]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(248,81,73,.35);background:#f851491a;box-shadow:0 12px 28px #00000040;margin-bottom:14px}.error-dot2[data-v-9eb77cfa]{width:10px;height:10px;border-radius:99px;background:#f85149;box-shadow:0 0 0 6px #f851491f}.error-text[data-v-9eb77cfa]{flex:1;font-size:13px}.shell.dark .error-text[data-v-9eb77cfa]{color:#ffffffe0}.shell.light .error-text[data-v-9eb77cfa]{color:#b91c1c}.error-link[data-v-9eb77cfa]{color:var(--accent);text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.error-link[data-v-9eb77cfa]:hover{text-decoration:underline}.shell[data-v-9eb77cfa] input[type=checkbox]{cursor:pointer;width:16px;height:16px;flex-shrink:0}.shell.dark[data-v-9eb77cfa] input[type=checkbox]{accent-color:transparent;appearance:none;-webkit-appearance:none;border:2px solid rgba(255,255,255,.6);border-radius:4px;background:#fff3}.shell.dark[data-v-9eb77cfa] input[type=checkbox]:checked{background:#22c55e;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e66;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' stroke='%23ffffff' stroke-width='0.8' d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px 12px}.shell.light[data-v-9eb77cfa] input[type=checkbox]{accent-color:transparent;appearance:none;-webkit-appearance:none;border:2px solid #cbd5e1;border-radius:4px;background:#f1f4f8}.shell.light[data-v-9eb77cfa] input[type=checkbox]:checked{background:#276ff5;border-color:#276ff5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px 12px}.shell.light[data-v-9eb77cfa] .page h1,.shell.light[data-v-9eb77cfa] .title h1{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .page p,.shell.light[data-v-9eb77cfa] .title p,.shell.light[data-v-9eb77cfa] .head p{color:#64748b!important}.shell.light[data-v-9eb77cfa] .stat,.shell.light[data-v-9eb77cfa] .stat-card{background:#fff!important;border:1px solid #E5E6EB!important;box-shadow:0 1px 2px #1f23290a!important}.shell.light[data-v-9eb77cfa] .stat .k,.shell.light[data-v-9eb77cfa] .stat-card .k{color:#64748b!important}.shell.light[data-v-9eb77cfa] .stat .v,.shell.light[data-v-9eb77cfa] .stat-card .v{color:#276ff5!important}.shell.light[data-v-9eb77cfa] .extra-k{color:#64748b!important}.shell.light[data-v-9eb77cfa] .extra-v{color:#276ff5!important}.shell.light[data-v-9eb77cfa] .card{background:#fff!important;border:1px solid #E5E6EB!important;box-shadow:0 1px 2px #1f23290a!important;border-radius:8px!important}.shell.light[data-v-9eb77cfa] .card-head h2,.shell.light[data-v-9eb77cfa] .card h2,.shell.light[data-v-9eb77cfa] h2{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .muted,.shell.light[data-v-9eb77cfa] .empty{color:#64748b!important}.shell.light[data-v-9eb77cfa] .table-wrap{background:#fff!important;border:1px solid #E5E6EB!important;box-shadow:none!important;border-radius:8px!important}.shell.light[data-v-9eb77cfa] .table th{color:#64748b!important}.shell.light[data-v-9eb77cfa] .table td,.shell.light[data-v-9eb77cfa] .strong{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .table .btn-sm{background:#e2e8f0!important;border:1px solid #cbd5e1!important;color:#334155!important;text-align:center!important}.shell.light[data-v-9eb77cfa] .table .btn-sm:hover{background:#cbd5e1!important}.shell.light[data-v-9eb77cfa] .table .btn-sm.success{color:#059669!important;border-color:#10b981!important}.shell.light[data-v-9eb77cfa] .table .btn-sm.success:hover{background:#10b9811a!important}.shell.light[data-v-9eb77cfa] .table .btn-sm.warning{color:#d97706!important;border-color:#f59e0b!important}.shell.light[data-v-9eb77cfa] .table .btn-sm.warning:hover{background:#f59e0b1a!important}.shell.light[data-v-9eb77cfa] .table .btn-sm.danger{color:#dc2626!important;border-color:#ef4444!important}.shell.light[data-v-9eb77cfa] .table .btn-sm.danger:hover{background:#ef444414!important}.shell.light[data-v-9eb77cfa] .table .result-badge{color:#334155!important}.shell.light[data-v-9eb77cfa] .table .result-badge.result-none{color:#64748b!important}.shell.light[data-v-9eb77cfa] .table .result-badge.result-ok{background:#22c55e1f!important;color:#059669!important}.shell.light[data-v-9eb77cfa] .table .result-badge.result-fail{background:#f871711f!important;color:#dc2626!important}.shell.light[data-v-9eb77cfa] .table .result-badge.result-disabled{color:#94a3b8!important}.shell.light[data-v-9eb77cfa] .row{background:#e8ecf2!important;border:1px solid #cbd5e1!important}.shell.light[data-v-9eb77cfa] .title{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .label{color:#64748b!important}.shell.light[data-v-9eb77cfa] .input,.shell.light[data-v-9eb77cfa] input.input,.shell.light[data-v-9eb77cfa] .select,.shell.light[data-v-9eb77cfa] select.select{background:#fff!important;border:1px solid #D0D3D6!important;color:#1f2329!important;border-radius:6px!important}.shell.light[data-v-9eb77cfa] .input:focus,.shell.light[data-v-9eb77cfa] input.input:focus,.shell.light[data-v-9eb77cfa] .select:focus,.shell.light[data-v-9eb77cfa] select.select:focus{border-color:#276ff5!important;box-shadow:0 0 0 2px #276ff526!important;outline:none!important}.shell.light[data-v-9eb77cfa] .btn{background:#fff!important;border:1px solid #D0D3D6!important;color:#1f2329!important;border-radius:6px!important}.shell.light[data-v-9eb77cfa] .btn:hover{border-color:#276ff5!important;color:#276ff5!important}.shell.light[data-v-9eb77cfa] .btn.primary{background:#276ff5!important;border-color:#276ff5!important;color:#fff!important;box-shadow:0 1px 2px #276ff540!important}.shell.light[data-v-9eb77cfa] .btn.primary:hover{background:#1f5fe0!important;border-color:#1f5fe0!important;color:#fff!important}.shell.light[data-v-9eb77cfa] .pill,.shell.light[data-v-9eb77cfa] .accent{color:#276ff5!important}.shell.light[data-v-9eb77cfa] .banner{background:#f8514914!important;border:1px solid rgba(248,81,73,.25)!important;color:#b91c1c!important}.shell.light[data-v-9eb77cfa] .modal-mask{background:#00000059}.shell.light[data-v-9eb77cfa] .modal,.shell.light[data-v-9eb77cfa] .drawer{background:#fff!important;border:1px solid #E5E6EB!important;box-shadow:0 12px 40px #1f23291f!important;border-radius:8px!important}.shell.light[data-v-9eb77cfa] .modal-head,.shell.light[data-v-9eb77cfa] .drawer-head{border-bottom:1px solid #cbd5e1!important}.shell.light[data-v-9eb77cfa] .modal-title,.shell.light[data-v-9eb77cfa] .drawer-title{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .drawer-sub{color:#64748b!important}.shell.light[data-v-9eb77cfa] .modal-body,.shell.light[data-v-9eb77cfa] .drawer-body{background:#fff!important}.shell.light[data-v-9eb77cfa] .modal-foot,.shell.light[data-v-9eb77cfa] .drawer-foot{border-top:1px solid #E5E6EB!important;background:#fafbfc!important}.shell.light[data-v-9eb77cfa] .modal .icon,.shell.light[data-v-9eb77cfa] .drawer .icon,.shell.light[data-v-9eb77cfa] .modal .label,.shell.light[data-v-9eb77cfa] .drawer .label,.shell.light[data-v-9eb77cfa] .section-title{color:#64748b!important}.shell.light[data-v-9eb77cfa] .detail-modal .modal-body,.shell.light[data-v-9eb77cfa] .detail-modal .detail-grid,.shell.light[data-v-9eb77cfa] .detail-modal .detail-row .value,.shell.light[data-v-9eb77cfa] .detail-modal .detail-row span.value,.shell.light[data-v-9eb77cfa] .detail-modal .detail-row .value.address{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .detail-modal .detail-row .value.link{color:#0284c7!important}.shell.light[data-v-9eb77cfa] .detail-modal .modal-head h3{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .detail-modal .modal-close{color:#64748b!important}.shell.light[data-v-9eb77cfa] .detail-modal .modal-close:hover{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .modal .input,.shell.light[data-v-9eb77cfa] .drawer .input,.shell.light[data-v-9eb77cfa] .modal input:not([type=checkbox]),.shell.light[data-v-9eb77cfa] .drawer input:not([type=checkbox]),.shell.light[data-v-9eb77cfa] .modal textarea,.shell.light[data-v-9eb77cfa] .drawer textarea{background:#e8ecf2!important;border:1px solid #cbd5e1!important;color:#0f172a!important}.shell.light[data-v-9eb77cfa] .modal input[type=checkbox]:checked,.shell.light[data-v-9eb77cfa] .drawer input[type=checkbox]:checked{background:#276ff5!important;border-color:#276ff5!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:12px 12px!important}.shell.light[data-v-9eb77cfa] .modal-banner{background:#f851491a!important;border:1px solid rgba(248,81,73,.3)!important;color:#b91c1c!important}.shell.light[data-v-9eb77cfa] .avatar-panel,.shell.light[data-v-9eb77cfa] .section,.shell.light[data-v-9eb77cfa] .form-panel .section{background:#e8ecf2!important;border:1px solid #cbd5e1!important}.shell.light[data-v-9eb77cfa] .avatar-big-ph,.shell.light[data-v-9eb77cfa] .hint,.shell.light[data-v-9eb77cfa] .muted{color:#64748b!important}.shell.light[data-v-9eb77cfa] .upload-btn{border-color:#276ff559!important;background:#276ff514!important;color:#276ff5!important}.shell.light[data-v-9eb77cfa] .modal .btn,.shell.light[data-v-9eb77cfa] .drawer .btn{background:#fff!important;border:1px solid #D0D3D6!important;color:#1f2329!important}.shell.light[data-v-9eb77cfa] .modal .btn.primary,.shell.light[data-v-9eb77cfa] .drawer .btn.primary{background:#276ff5!important;border-color:#276ff5!important;color:#fff!important}.shell.light[data-v-9eb77cfa] .modal .btn.danger,.shell.light[data-v-9eb77cfa] .drawer .btn.danger{border-color:#f8514966!important;background:#f8514914!important;color:#dc2626!important}.shell.light[data-v-9eb77cfa] .modal select,.shell.light[data-v-9eb77cfa] .drawer select{background:#e8ecf2!important;border:1px solid #cbd5e1!important;color:#0f172a!important}.shell.light[data-v-9eb77cfa] .pagination{background:#e8ecf2!important;border:1px solid #cbd5e1!important;border-top:none!important}.shell.light[data-v-9eb77cfa] .pagination-info,.shell.light[data-v-9eb77cfa] .pagination-page{color:#64748b!important}.shell.light[data-v-9eb77cfa] .pagination .btn{background:#f1f4f8!important;border:1px solid #cbd5e1!important;color:#334155!important}.shell.light[data-v-9eb77cfa] .pagination .btn:hover:not(:disabled){background:var(--accent-hover)!important;border-color:#00d4aa4d!important;color:#059669!important}.shell.light[data-v-9eb77cfa] .page-size-select{background:#f1f4f8!important;border:1px solid #cbd5e1!important;color:#334155!important}.shell.light[data-v-9eb77cfa] .col-check input[type=checkbox]{accent-color:var(--accent)!important}.shell.dark[data-v-9eb77cfa] .sync-all-list{background:#00000059!important;border:1px solid rgba(255,255,255,.2)!important;color:#fffffff2!important}.shell.dark[data-v-9eb77cfa] .sync-all-item{color:#fffffff2!important}.shell.dark[data-v-9eb77cfa] .sync-all-item .user-id{color:#ffffffa6!important}.shell.dark[data-v-9eb77cfa] .sync-all-empty{color:#fff9!important}.shell.light[data-v-9eb77cfa] .modal .form-row label{color:#334155!important}.shell.light[data-v-9eb77cfa] .modal .form-hint{color:#64748b!important}.shell.light[data-v-9eb77cfa] .sync-all-list{display:block!important;min-height:80px!important;background:#e2e8f0!important;border:1px solid #cbd5e1!important;color:#0f172a!important}.shell.light[data-v-9eb77cfa] .sync-all-item{color:#0f172a!important}.shell.light[data-v-9eb77cfa] .sync-all-item .user-id,.shell.light[data-v-9eb77cfa] .sync-all-empty{color:#64748b!important}.page[data-v-0a5340d1]{--dash-teal: #0d9488;--dash-teal-2: #14b8a6;--dash-ink: #0f172a;--dash-muted: #64748b;--dash-line: #e2e8f0;padding:8px 0 32px;background:radial-gradient(900px 420px at 8% -10%,rgba(20,184,166,.16),transparent 55%),radial-gradient(700px 360px at 92% 0%,rgba(56,189,248,.1),transparent 50%),linear-gradient(180deg,#f0fdfa,#f8fafc 42%,#f1f5f9);min-height:calc(100vh - 120px);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Noto Sans SC,Segoe UI,sans-serif}.dash-top[data-v-0a5340d1]{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:0 0 12px}.dash-bar[data-v-0a5340d1]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:#ffffffeb;border:1px solid var(--dash-line);border-radius:14px;box-shadow:0 8px 20px #0f172a0a}.flow-bar[data-v-0a5340d1]{flex:1 1 280px;min-width:240px}.stats-bar[data-v-0a5340d1]{flex:1.2 1 360px;min-width:280px;justify-content:flex-start;gap:8px}.dash-bar-left[data-v-0a5340d1]{display:inline-flex;align-items:center;gap:8px;min-width:0}.dash-bar-title[data-v-0a5340d1]{font-size:13px;font-weight:800;color:var(--dash-ink);white-space:nowrap}.dash-pill[data-v-0a5340d1]{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.dash-pill.ok[data-v-0a5340d1]{color:#0f766e;background:#ccfbf1}.dash-pill.warn[data-v-0a5340d1]{color:#c2410c;background:#ffedd5}.dash-pill.muted[data-v-0a5340d1]{color:#64748b;background:#f1f5f9}.stat-chip[data-v-0a5340d1]{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;min-width:0}.stat-ico[data-v-0a5340d1]{width:18px;height:18px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#0f766e;background:#ccfbf1;align-self:center}.stat-ico.money[data-v-0a5340d1]{color:#0369a1;background:#e0f2fe}.k[data-v-0a5340d1]{color:var(--dash-muted);font-size:12px;font-weight:650}.v[data-v-0a5340d1]{font-size:15px;font-weight:800;color:var(--dash-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.card-icon--approval[data-v-0a5340d1]{width:8px;height:8px;border-radius:99px;background:var(--dash-teal-2);box-shadow:0 0 0 3px #14b8a62e;flex-shrink:0}.flow-todo-all[data-v-0a5340d1]{border:1px solid rgba(13,148,136,.28);background:#f0fdfa;color:#0f766e;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.flow-todo-all[data-v-0a5340d1]:hover{background:#ccfbf1}.flow-todo-list[data-v-0a5340d1]{display:flex;flex-direction:column;gap:6px}.flow-todo-list.wrap[data-v-0a5340d1]{margin:-4px 0 12px;padding:8px;background:#ffffffeb;border:1px solid var(--dash-line);border-radius:14px}.flow-todo-item[data-v-0a5340d1]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--dash-line);border-radius:10px;background:#f8fafc;cursor:pointer;text-align:left;appearance:none;-webkit-appearance:none}.flow-todo-item[data-v-0a5340d1]:hover{border-color:#0d948873;background:#f0fdfa}.flow-todo-title[data-v-0a5340d1]{font-size:13px;font-weight:700;color:var(--dash-ink)}.flow-todo-sub[data-v-0a5340d1]{margin-top:2px;font-size:12px;color:var(--dash-muted)}.flow-todo-meta[data-v-0a5340d1]{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.flow-todo-tag[data-v-0a5340d1]{font-size:11px;font-weight:700;color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px;padding:1px 7px}.flow-todo-time[data-v-0a5340d1]{white-space:nowrap}.card-head h2[data-v-0a5340d1]{margin:0}.head-count[data-v-0a5340d1]{margin-left:auto}.project-overview[data-v-0a5340d1]{margin-top:0}.status-filters[data-v-0a5340d1]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}.pf-btn[data-v-0a5340d1]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--dash-line);background:#fff;color:var(--dash-ink);font-size:12px;font-weight:700;cursor:pointer}.pf-btn[data-v-0a5340d1]:hover:not(:disabled){background:#f8fafc}.pf-btn.active[data-v-0a5340d1]{color:#fff;border-color:transparent}.pf-btn.pf-accept.active[data-v-0a5340d1]{background:#059669}.pf-btn.pf-doing.active[data-v-0a5340d1]{background:var(--dash-teal)}.pf-btn.pf-todo.active[data-v-0a5340d1]{background:#64748b}.pf-btn.active[data-v-0a5340d1]:not(.pf-accept):not(.pf-doing):not(.pf-todo){background:#0f172a}.pf-n[data-v-0a5340d1]{display:inline-flex;min-width:18px;height:18px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:#0f172a0f;color:inherit}.pf-btn.active .pf-n[data-v-0a5340d1]{background:#ffffff38}.project-grid[data-v-0a5340d1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.project-card[data-v-0a5340d1]{border:1px solid var(--dash-line);border-radius:16px;background:#fff;padding:14px 14px 12px;box-shadow:0 8px 22px #0f172a0d}.project-top[data-v-0a5340d1]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.title-wrap[data-v-0a5340d1]{min-width:0;flex:1}.project-name[data-v-0a5340d1]{font-weight:800;color:var(--dash-ink);font-size:16px;line-height:1.35}.project-no[data-v-0a5340d1]{margin-top:4px;font-size:12px;font-weight:700;color:#2563eb}.project-status[data-v-0a5340d1]{font-size:11px;font-weight:700;white-space:nowrap;padding:3px 10px;border-radius:999px;border:1px solid transparent}.st-accept[data-v-0a5340d1]{color:#c2410c;background:#ffedd5;border-color:#fdba74}.st-doing[data-v-0a5340d1]{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.st-todo[data-v-0a5340d1]{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.customer[data-v-0a5340d1]{margin-top:6px;font-size:12px;line-height:1.4}.extra[data-v-0a5340d1]{margin-top:12px;display:flex;flex-wrap:wrap;gap:12px 20px}.extra-item[data-v-0a5340d1]{display:inline-flex;align-items:baseline;gap:6px;font-size:13px}.extra-k[data-v-0a5340d1]{color:#94a3b8;font-size:12px}.extra-v[data-v-0a5340d1]{color:#2563eb;font-weight:700;font-variant-numeric:tabular-nums}.meta[data-v-0a5340d1]{margin-top:12px;display:flex;align-items:center;gap:10px}.meta .pct[data-v-0a5340d1]{min-width:36px;text-align:right}.bar[data-v-0a5340d1]{flex:1;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;border:1px solid #d1d5db}.bar-in[data-v-0a5340d1]{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#22c55e)}.tone-accept .bar-in[data-v-0a5340d1]{background:linear-gradient(90deg,#34d399,#059669)}.tone-todo .bar-in[data-v-0a5340d1]{background:linear-gradient(90deg,#94a3b8,#64748b)}.node-list[data-v-0a5340d1]{margin-top:12px;display:grid;gap:6px;padding-top:12px;border-top:1px solid #f1f5f9}.node[data-v-0a5340d1]{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:8px;align-items:center;min-height:28px}.node-dot[data-v-0a5340d1]{width:8px;height:8px;border-radius:999px;border:2px solid #cbd5e1;background:#fff;flex-shrink:0}.node-dot--todo[data-v-0a5340d1]{border-color:#cbd5e1;background:#fff}.node-dot--doing[data-v-0a5340d1]{border-color:#0d9488;background:#ccfbf1}.node-dot--done[data-v-0a5340d1]{border-color:#10b981;background:#d1fae5}.node-title[data-v-0a5340d1]{font-weight:650;color:var(--dash-ink);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-pct[data-v-0a5340d1]{font-size:12px;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.node-upd[data-v-0a5340d1]{font-size:11px;white-space:nowrap;color:#94a3b8}.node-more[data-v-0a5340d1]{padding-top:2px;font-size:12px}.node-empty[data-v-0a5340d1]{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px dashed #e2e8f0;line-height:1.45;font-size:12px;color:#94a3b8;text-align:center}.actions[data-v-0a5340d1]{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.btn[data-v-0a5340d1]{padding:6px 10px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;text-decoration:none;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.btn[data-v-0a5340d1]:hover{background:#f0fdfa;border-color:#0d948859}.btn.danger[data-v-0a5340d1]{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.card-head[data-v-0a5340d1]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}h2[data-v-0a5340d1]{margin:0;font-size:15px;font-weight:800;color:var(--dash-ink);display:flex;align-items:center;gap:8px}.card-icon[data-v-0a5340d1]{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.card-icon--progress[data-v-0a5340d1]{background:var(--dash-teal-2);box-shadow:0 0 0 3px #14b8a629}.muted[data-v-0a5340d1]{color:#94a3b8;font-size:12px}.small[data-v-0a5340d1]{font-size:12px}.empty[data-v-0a5340d1]{padding:12px 4px;color:#94a3b8}.empty.soft[data-v-0a5340d1]{text-align:center;padding:22px 12px;color:#94a3b8;border:1px dashed #cbd5e1;border-radius:14px;background:#ffffffb3}.page-loading[data-v-0a5340d1]{text-align:center;padding:24px 12px;color:#94a3b8}.accent[data-v-0a5340d1]{color:var(--dash-teal);font-weight:700}@media(max-width:720px){.project-grid[data-v-0a5340d1]{grid-template-columns:1fr}.dash-top[data-v-0a5340d1]{flex-direction:column}}.roadmap-page[data-v-72bfa0f0]{padding:20px 0 40px;background:#f4f6f8;min-height:calc(100vh - 80px)}.top[data-v-72bfa0f0]{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.top h1[data-v-72bfa0f0]{margin:0;font-size:22px;font-weight:700;color:#0f172a}.top-actions[data-v-72bfa0f0]{display:flex;gap:8px;flex-wrap:wrap}.layout[data-v-72bfa0f0]{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}@media(max-width:960px){.layout[data-v-72bfa0f0]{grid-template-columns:1fr}}.side[data-v-72bfa0f0]{background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 8px 24px #0f172a0a;overflow:hidden}.side-head[data-v-72bfa0f0]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:none;background:#fff;font-weight:600;cursor:pointer}.side-body[data-v-72bfa0f0]{padding:0 16px 16px}.field[data-v-72bfa0f0]{margin-bottom:14px}.field .label[data-v-72bfa0f0]{font-size:12px;color:#94a3b8;margin-bottom:4px}.field .label .count[data-v-72bfa0f0]{display:inline-block;margin-left:4px;min-width:18px;padding:0 6px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:600}.field .val[data-v-72bfa0f0]{font-size:14px;color:#0f172a}.field .val.muted[data-v-72bfa0f0]{color:#94a3b8}.field .val.strong[data-v-72bfa0f0]{font-size:20px;font-weight:700;color:#0d9488}.member-list[data-v-72bfa0f0]{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.member-list li[data-v-72bfa0f0]{display:flex;align-items:center;gap:10px}.m-avatar[data-v-72bfa0f0]{width:28px;height:28px;border-radius:50%;background:#ccfbf1;color:#0f766e;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.m-meta[data-v-72bfa0f0]{display:flex;flex-direction:column;min-width:0}.m-name[data-v-72bfa0f0]{font-size:13px;color:#0f172a;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-pos[data-v-72bfa0f0]{font-size:11px;color:#94a3b8}.bar[data-v-72bfa0f0]{margin-top:8px;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.bar i[data-v-72bfa0f0]{display:block;height:100%;background:linear-gradient(90deg,#0d9488,#14b8a6)}.main[data-v-72bfa0f0]{background:#fff;border-radius:18px;border:1px solid #e5e7eb;padding:20px 16px 28px;min-height:420px;box-shadow:0 12px 32px #0f172a0d;overflow-x:auto}.months[data-v-72bfa0f0]{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;text-align:center;color:#64748b;font-size:13px;margin-bottom:8px}.timeline[data-v-72bfa0f0]{position:relative;height:380px;margin:24px 12px 8px}.axis[data-v-72bfa0f0]{position:absolute;left:0;right:0;top:50%;height:4px;background:#14b8a6;border-radius:999px;transform:translateY(-50%)}.node-wrap[data-v-72bfa0f0]{position:absolute;top:0;bottom:0;width:0;transform:translate(-50%)}.node[data-v-72bfa0f0]{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;background:#14b8a6;border:3px solid #ccfbf1;transform:translate(-50%,-50%);z-index:2}.node.risk[data-v-72bfa0f0]{background:#94a3b8;border-color:#e2e8f0}.node.delay[data-v-72bfa0f0]{background:#a78bfa;border-color:#ede9fe}.node.done[data-v-72bfa0f0]{background:#0d9488}.stem[data-v-72bfa0f0]{position:absolute;left:50%;width:0;border-left:2px dashed #5eead4;transform:translate(-50%)}.stem.above[data-v-72bfa0f0]{bottom:50%;height:48px}.stem.below[data-v-72bfa0f0]{top:50%;height:48px}.stage-card[data-v-72bfa0f0]{position:absolute;left:50%;width:200px;padding:12px 12px 10px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 8px 20px #0f172a14;text-align:left;cursor:pointer;transform:translate(-50%)}.stage-card.above[data-v-72bfa0f0]{bottom:calc(50% + 56px)}.stage-card.below[data-v-72bfa0f0]{top:calc(50% + 56px)}.stage-card[data-v-72bfa0f0]:hover{border-color:#99f6e4}.ms-tag[data-v-72bfa0f0]{position:absolute;top:-10px;right:10px;font-size:11px;background:#fde68a;color:#92400e;padding:2px 8px;border-radius:6px}.card-top[data-v-72bfa0f0]{display:flex;gap:10px;align-items:center}.avatar[data-v-72bfa0f0]{width:36px;height:36px;border-radius:50%;background:#ccfbf1;color:#0f766e;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;flex-shrink:0}.avatar img[data-v-72bfa0f0]{width:100%;height:100%;object-fit:cover}.t1[data-v-72bfa0f0]{font-size:13px;font-weight:700;color:#0f172a}.t2[data-v-72bfa0f0]{font-size:11px;color:#94a3b8;margin-top:2px}.card-bar[data-v-72bfa0f0]{position:relative;margin:10px 0 8px;height:6px;background:#e2e8f0;border-radius:999px;overflow:visible}.card-bar i[data-v-72bfa0f0]{display:block;height:100%;background:#14b8a6;border-radius:999px}.card-bar .star[data-v-72bfa0f0]{position:absolute;right:-2px;top:-8px;color:#f59e0b;font-size:12px}.card-foot[data-v-72bfa0f0]{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:#64748b}.card-foot .st[data-v-72bfa0f0]{color:#0d9488;font-weight:600}.stage-card.risk .card-foot .st[data-v-72bfa0f0],.stage-card.risk .t1[data-v-72bfa0f0]{color:#64748b}.stage-card.delay .card-foot .st[data-v-72bfa0f0]{color:#7c3aed}.legend[data-v-72bfa0f0]{display:flex;justify-content:center;gap:18px;margin-top:18px;font-size:12px;color:#64748b}.legend .dot[data-v-72bfa0f0]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.legend .dot.doing[data-v-72bfa0f0]{background:#14b8a6}.legend .dot.risk[data-v-72bfa0f0]{background:#cbd5e1}.legend .dot.delay[data-v-72bfa0f0]{background:#c4b5fd}.legend .ms[data-v-72bfa0f0]{display:inline-block;width:18px;height:10px;border-radius:3px;background:#fde68a;margin-right:6px;vertical-align:middle}.empty[data-v-72bfa0f0],.empty-inline[data-v-72bfa0f0]{text-align:center;color:#94a3b8;padding:48px 16px}.btn[data-v-72bfa0f0]{padding:8px 14px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-72bfa0f0]{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none}.btn.danger[data-v-72bfa0f0]{color:#b91c1c;border-color:#fecaca}.export-preview[data-v-72bfa0f0]{width:min(480px,100%);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px #0f172a33}.export-preview-body[data-v-72bfa0f0]{padding:16px}.export-preview-body .muted[data-v-72bfa0f0]{color:#64748b;font-size:13px;margin:0 0 14px}.export-actions[data-v-72bfa0f0]{display:flex;gap:8px}.modal-mask[data-v-72bfa0f0]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}.export-preview-mask[data-v-72bfa0f0]{z-index:90}.modal[data-v-72bfa0f0]{width:min(520px,100%);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px #0f172a33}.modal-head[data-v-72bfa0f0]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #f1f5f9}.modal-body[data-v-72bfa0f0]{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.f[data-v-72bfa0f0]{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#64748b}.f.span2[data-v-72bfa0f0]{grid-column:span 2}.f.check[data-v-72bfa0f0]{flex-direction:row;align-items:center;gap:8px;grid-column:span 2;color:#0f172a}.input[data-v-72bfa0f0]{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a}.modal-foot[data-v-72bfa0f0]{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #f1f5f9;align-items:center}.spacer[data-v-72bfa0f0]{flex:1}.icon[data-v-72bfa0f0]{border:none;background:none;font-size:22px;cursor:pointer;color:#94a3b8}.print-only[data-v-72bfa0f0]{display:none}@media print{.top-actions[data-v-72bfa0f0],.modal-mask[data-v-72bfa0f0],.no-print[data-v-72bfa0f0]{display:none!important}.print-only[data-v-72bfa0f0]{display:block!important;padding:14px 16px;font-weight:600}.roadmap-page[data-v-72bfa0f0]{background:#fff;padding:0;min-height:0}}@media print{body.roadmap-printing *{visibility:hidden!important}body.roadmap-printing .roadmap-export-root,body.roadmap-printing .roadmap-export-root *{visibility:visible!important}body.roadmap-printing .roadmap-export-root{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;z-index:99999!important}body.roadmap-printing .shell .sidebar,body.roadmap-printing .shell .topbar2,body.roadmap-printing .shell .tabs,body.roadmap-printing .shell header,body.roadmap-printing .modal-mask{display:none!important}}.page[data-v-babf65c5]{position:relative;padding:18px 0 24px;min-height:calc(100dvh - 44px);overflow:hidden;background:radial-gradient(1200px 700px at 12% 18%,rgba(14,165,233,.16),transparent 56%),radial-gradient(900px 520px at 85% 12%,rgba(99,102,241,.14),transparent 52%),radial-gradient(900px 520px at 75% 88%,rgba(59,130,246,.12),transparent 52%),linear-gradient(180deg,#020617fa,#0f172afa 52%,#020617fa)}.stats-bg-deco[data-v-babf65c5]{position:absolute;inset:0;pointer-events:none;z-index:0}.stats-bg-stars[data-v-babf65c5]{position:absolute;inset:-40px;background:radial-gradient(1px 1px at 12% 18%,rgba(226,232,240,.65) 99%,transparent 100%),radial-gradient(1px 1px at 32% 48%,rgba(226,232,240,.45) 99%,transparent 100%),radial-gradient(1px 1px at 62% 24%,rgba(226,232,240,.55) 99%,transparent 100%),radial-gradient(1px 1px at 78% 36%,rgba(226,232,240,.45) 99%,transparent 100%),radial-gradient(1px 1px at 88% 72%,rgba(226,232,240,.55) 99%,transparent 100%);opacity:.22;filter:blur(.2px)}.stats-bg-horizon[data-v-babf65c5]{position:absolute;left:-10%;right:-10%;bottom:-35%;height:70%;background:radial-gradient(ellipse at center,#38bdf82e,#02061700 62%);filter:blur(6px);opacity:.8}.stats-bg-aurora[data-v-babf65c5]{position:absolute;inset:-20% -30%;background:conic-gradient(from 180deg at 50% 50%,#22d3ee24,#3b82f61f,#6366f11f,#22d3ee24);filter:blur(22px);opacity:.25}.stats-bg-orb[data-v-babf65c5]{position:absolute;width:220px;height:220px;border-radius:999px;filter:blur(22px);opacity:.65}.stats-bg-orb--a[data-v-babf65c5]{left:-70px;top:-80px;background:radial-gradient(circle,#0ea5e959,#0ea5e900)}.stats-bg-orb--b[data-v-babf65c5]{right:-80px;top:-60px;background:radial-gradient(circle,#6366f152,#6366f100)}.stats-bg-orb--c[data-v-babf65c5]{left:18%;bottom:-110px;background:radial-gradient(circle,#38bdf842,#38bdf800)}.stats-bg-orb--d[data-v-babf65c5]{right:12%;bottom:-120px;background:radial-gradient(circle,#3b82f63d,#3b82f600)}.head[data-v-babf65c5]{position:relative;overflow:hidden;margin-bottom:14px;border-radius:18px;padding:18px;border:1px solid rgba(148,163,184,.22);background:#0f172ac7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 40px #00000061,inset 0 1px #ffffff0f}.head-bg[data-v-babf65c5]{position:absolute;border-radius:999px;filter:blur(12px);pointer-events:none}.head-bg-1[data-v-babf65c5]{width:220px;height:220px;right:-70px;top:-90px;background:radial-gradient(circle,#0ea5e94d,#0ea5e900)}.head-bg-2[data-v-babf65c5]{width:180px;height:180px;right:120px;top:-70px;background:radial-gradient(circle,#6366f142,#6366f100)}.head-title[data-v-babf65c5]{position:relative;font-size:22px;font-weight:900;color:#f8fafcf5;letter-spacing:-.01em}.head-sub[data-v-babf65c5]{margin-top:6px;color:#94a3b8e6;font-size:13px}.range-tip[data-v-babf65c5]{margin-top:8px;color:#cbd5e1eb;font-size:12px;font-weight:700}.filters[data-v-babf65c5]{position:relative;margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sep[data-v-babf65c5]{color:#6b7280;font-size:12px}.input[data-v-babf65c5]{height:32px;padding:0 10px;border:1px solid rgba(71,85,105,.75);border-radius:8px;background:#02061759;color:#e2e8f0f2;font-size:13px}.btn[data-v-babf65c5]{height:32px;border:1px solid rgba(56,189,248,.55);border-radius:8px;background:#2563eb;color:#fff;padding:0 12px;font-size:13px;cursor:pointer}.btn[data-v-babf65c5]:hover{filter:brightness(1.05)}.cards[data-v-babf65c5]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.card[data-v-babf65c5]{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#0f172ac7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:12px;transition:transform .16s ease,box-shadow .16s ease;animation:cardIn-babf65c5 .35s ease both}.card[data-v-babf65c5]:hover{transform:translateY(-1px);box-shadow:0 12px 28px #00000047}.card-shine[data-v-babf65c5]{position:absolute;right:-20px;top:-36px;width:90px;height:90px;border-radius:999px;background:radial-gradient(circle,#e2e8f038,#fff0)}.k[data-v-babf65c5]{color:#94a3b8e6;font-size:12px;display:flex;align-items:center;gap:6px}.mini-dot[data-v-babf65c5]{width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.75}.v[data-v-babf65c5]{margin-top:6px;color:#f8fafcf5;font-size:19px;font-weight:900}.tone-blue[data-v-babf65c5]{color:#2563eb}.tone-cyan[data-v-babf65c5]{color:#0891b2}.tone-violet[data-v-babf65c5]{color:#7c3aed}.tone-amber[data-v-babf65c5]{color:#d97706}.tone-emerald[data-v-babf65c5]{color:#059669}.tone-teal[data-v-babf65c5]{color:#0f766e}.tone-indigo[data-v-babf65c5]{color:#4f46e5}.chart-grid[data-v-babf65c5]{margin-top:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.analysis-grid[data-v-babf65c5]{margin-top:14px;display:grid;grid-template-columns:1.05fr 1.45fr;gap:12px;align-items:stretch}.left-stack[data-v-babf65c5],.right-stack[data-v-babf65c5]{display:grid;gap:12px;align-content:start;min-height:100%}.personnel-dynamics-panel[data-v-babf65c5]{display:flex;flex-direction:column}.finance-row[data-v-babf65c5]{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch}.board-table-panel h3[data-v-babf65c5]{margin-bottom:8px}.board-table[data-v-babf65c5]{width:100%;table-layout:fixed;border-collapse:collapse;border-radius:10px;overflow:hidden;font-size:12px}.board-table thead tr[data-v-babf65c5]{background:linear-gradient(180deg,#5b88e5,#4b74c9)}.board-table th[data-v-babf65c5]{color:#fff;font-weight:700;padding:8px;text-align:left}.board-table td[data-v-babf65c5]{padding:7px 8px;color:#e2e8f0eb;border-bottom:1px solid rgba(71,85,105,.55)}.board-table th[data-v-babf65c5]:first-child,.board-table td[data-v-babf65c5]:first-child{width:52px;text-align:center}.board-table th[data-v-babf65c5]:nth-child(3),.board-table td[data-v-babf65c5]:nth-child(3),.board-table th[data-v-babf65c5]:nth-child(4),.board-table td[data-v-babf65c5]:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.board-table tbody tr[data-v-babf65c5]:nth-child(odd){background:#1e293b5c}.board-table tbody tr[data-v-babf65c5]:nth-child(2n){background:#0f172a33}.board-table tbody tr:last-child td[data-v-babf65c5]{border-bottom:none}.panel[data-v-babf65c5]{margin-top:0;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#0f172ac7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:14px;box-shadow:0 12px 34px #00000047,inset 0 1px #ffffff0f;display:flex;flex-direction:column}h3[data-v-babf65c5]{margin:0 0 10px;min-height:22px;display:flex;align-items:center;font-size:15px;color:#f8fafcf5}.panel-chart[data-v-babf65c5]{position:relative}.panel-chart-compact[data-v-babf65c5]{padding:14px;min-height:188px;height:100%}.panel-chart[data-v-babf65c5]:after{content:"";position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:999px;background:radial-gradient(circle,#94a3b81f,#94a3b800)}.panel-chart-compact .pie-wrap[data-v-babf65c5]{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}.panel-chart-compact .pie[data-v-babf65c5]{width:132px;height:132px;filter:drop-shadow(0 6px 12px rgba(59,130,246,.16))}.panel-chart-compact .legend[data-v-babf65c5]{display:grid;gap:8px}.panel-chart-compact .legend-row[data-v-babf65c5]{display:grid;grid-template-columns:14px 1fr;gap:8px;align-items:center}.dot[data-v-babf65c5]{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px #94a3b81f}.panel-chart-compact .name[data-v-babf65c5]{color:#cbd5e1eb;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-chart-compact .num[data-v-babf65c5]{color:#e2e8f0f5;font-size:13px;font-weight:800}.pie-text[data-v-babf65c5]{fill:#fff;font-size:7px;font-weight:700;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#0003;stroke-width:.5}.dyn-sub[data-v-babf65c5]{margin:4px 0 10px}.dyn-marquee[data-v-babf65c5]{--dyn-visible: 10;--dyn-row-h: 54px;--dyn-gap: 8px;overflow:hidden;border-radius:12px;border:1px solid rgba(71,85,105,.45);background:#0206172e;height:calc(var(--dyn-visible) * (var(--dyn-row-h) + var(--dyn-gap)) + 20px)}.dyn-list[data-v-babf65c5]{list-style:none;margin:0;padding:10px;display:grid;gap:var(--dyn-gap)}.dyn-list--marquee[data-v-babf65c5]{animation:dyn-marquee-babf65c5 22s linear infinite;will-change:transform}.dyn-marquee:hover .dyn-list--marquee[data-v-babf65c5]{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.dyn-list--marquee[data-v-babf65c5]{animation:none!important;transform:none!important}}@keyframes dyn-marquee-babf65c5{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.dyn-item[data-v-babf65c5]{display:grid;grid-template-columns:72px 1fr 126px;gap:10px;align-items:center;min-height:var(--dyn-row-h);padding:10px;border-radius:12px;background:#1e293b57;border:1px solid rgba(71,85,105,.38);box-shadow:inset 0 1px #ffffff0a}.dyn-item.active[data-v-babf65c5]{border-color:#38bdf88c;box-shadow:0 0 0 1px #38bdf82e,inset 0 1px #ffffff0f}.dyn-name[data-v-babf65c5]{font-size:12px;font-weight:900;color:#f8fafcf5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dyn-mid[data-v-babf65c5]{min-width:0}.dyn-time[data-v-babf65c5]{font-size:11px;color:#94a3b8e6;text-align:right;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dyn-time-pill[data-v-babf65c5]{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#0f172a59;border:1px solid rgba(71,85,105,.45);box-shadow:inset 0 1px #ffffff0a;color:#e2e8f0e6}.dyn-pill[data-v-babf65c5]{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 8px 3px 6px;border-radius:999px;border:1px solid rgba(56,189,248,.28);background:linear-gradient(180deg,#0284c738,#0f172a0d);box-shadow:inset 0 0 0 1px #0ea5e914;color:#e0f2fef2;font-size:11px;line-height:1.2}.dyn-pill-dot[data-v-babf65c5]{width:6px;height:6px;border-radius:999px;background:#38bdf8f2;box-shadow:0 0 0 3px #38bdf81f;flex:0 0 auto}.dyn-pill-tag[data-v-babf65c5]{font-size:10px;font-weight:900;letter-spacing:.06em;color:#bae6fdf2;flex:0 0 auto}.dyn-pill-name[data-v-babf65c5]{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.dyn-pill-days[data-v-babf65c5]{flex:0 0 auto;padding:1px 6px;border-radius:999px;background:#0f172a59;border:1px solid rgba(125,211,252,.22);color:#e0f2feeb;font-size:10px;font-weight:900;letter-spacing:.03em}.muted[data-v-babf65c5]{color:#94a3b8e6;font-size:12px}.bar-list[data-v-babf65c5]{display:grid;gap:10px}.bar-row[data-v-babf65c5]{display:grid;gap:6px}.bar-head[data-v-babf65c5]{display:flex;justify-content:space-between;gap:8px}.bar-track[data-v-babf65c5]{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.bar-fill[data-v-babf65c5]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#2563eb);box-shadow:0 0 8px #2563eb33;transition:width .45s ease}.panel-line[data-v-babf65c5]{margin-top:0}.finance-panel[data-v-babf65c5],.panel-line-half[data-v-babf65c5]{height:100%}.panel-line-half .line-wrap[data-v-babf65c5]{flex:1}.panel-line-half .line-svg[data-v-babf65c5]{height:100%;min-height:220px}.line-wrap[data-v-babf65c5]{display:grid;gap:8px}.line-svg[data-v-babf65c5]{width:100%;height:190px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#f8fafc}.axis[data-v-babf65c5]{stroke:#94a3b8;stroke-width:.4}.grid[data-v-babf65c5]{stroke:#cbd5e1;stroke-width:.3;stroke-dasharray:1.2 1}.trend-line[data-v-babf65c5]{fill:none;stroke:#2563eb;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round}.trend-dot[data-v-babf65c5]{fill:#2563eb}.line-labels[data-v-babf65c5]{display:flex;justify-content:space-between;color:#64748b;font-size:12px}.empty[data-v-babf65c5]{color:#9ca3af;padding:8px 0}.skeleton-page[data-v-babf65c5]{display:grid;gap:0}.skeleton-card[data-v-babf65c5],.skeleton-panel[data-v-babf65c5]{overflow:hidden}.sk-line[data-v-babf65c5],.sk-block[data-v-babf65c5]{border-radius:8px;background:linear-gradient(90deg,#e5e7eb 25%,#f1f5f9 37%,#e5e7eb 63%);background-size:400% 100%;animation:shimmer-babf65c5 1.2s ease infinite}.sk-line[data-v-babf65c5]{height:12px;margin-bottom:10px}.sk-line-sm[data-v-babf65c5]{width:38%}.sk-line-md[data-v-babf65c5]{width:26%}.sk-line-lg[data-v-babf65c5]{width:68%;height:24px}.sk-block[data-v-babf65c5]{width:100%;height:136px}.sk-block-sm[data-v-babf65c5]{height:96px}.card[data-v-babf65c5]:nth-child(1){animation-delay:.02s}.card[data-v-babf65c5]:nth-child(2){animation-delay:.06s}.card[data-v-babf65c5]:nth-child(3){animation-delay:.1s}.card[data-v-babf65c5]:nth-child(4){animation-delay:.14s}.card[data-v-babf65c5]:nth-child(5){animation-delay:.18s}.card[data-v-babf65c5]:nth-child(6){animation-delay:.22s}.card[data-v-babf65c5]:nth-child(7){animation-delay:.26s}@keyframes cardIn-babf65c5{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer-babf65c5{0%{background-position:100% 0}to{background-position:0 0}}@media(max-width:1100px){.cards[data-v-babf65c5]{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-grid[data-v-babf65c5],.finance-row[data-v-babf65c5]{grid-template-columns:1fr}}@media(max-width:760px){.cards[data-v-babf65c5],.chart-grid[data-v-babf65c5]{grid-template-columns:1fr}}.page-map-stage[data-v-7e91954b]{padding:6px 8px 8px;min-height:calc(100dvh - 44px);display:flex;flex-direction:column;box-sizing:border-box}.mono[data-v-7e91954b]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.dashboard[data-v-7e91954b]{flex:1;display:flex;gap:0;align-items:stretch;flex-wrap:nowrap;min-height:0}.map-column[data-v-7e91954b]{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.map-wrap[data-v-7e91954b]{position:relative;flex:1;display:flex;flex-direction:column;min-height:calc(100dvh - 58px);border-radius:16px;overflow:hidden;border:1px solid rgba(56,189,248,.32);background:#030712;box-shadow:0 0 0 1px #0f172aa6,0 20px 56px #0000006b,inset 0 1px #ffffff14;animation:pm-frame-glow-7e91954b 7s ease-in-out infinite alternate}.map-wrap--tiles-on .map-bg-deco[data-v-7e91954b]{opacity:.28}@keyframes pm-frame-glow-7e91954b{0%{box-shadow:0 0 0 1px #0f172aa6,0 20px 56px #0000006b,0 0 32px #38bdf824,inset 0 1px #ffffff14}to{box-shadow:0 0 0 1px #0f172aa6,0 24px 64px #0000007a,0 0 48px #818cf833,inset 0 1px #ffffff1a}}.map-bg-deco[data-v-7e91954b]{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;overflow:hidden;box-shadow:inset 0 0 min(120px,18vw) #020617b8;background:radial-gradient(ellipse 125% 85% at 50% 108%,rgba(6,78,95,.55),transparent 52%),radial-gradient(ellipse 100% 75% at 10% 8%,rgba(56,189,248,.32),transparent 56%),radial-gradient(ellipse 80% 70% at 96% 92%,rgba(139,92,246,.26),transparent 58%),radial-gradient(ellipse 55% 48% at 78% 18%,rgba(251,191,36,.07),transparent 55%),radial-gradient(ellipse 50% 42% at 28% 62%,rgba(34,211,238,.1),transparent 62%),radial-gradient(ellipse 45% 38% at 52% 48%,rgba(14,165,233,.12),transparent 68%),linear-gradient(176deg,#010409,#051018 28%,#0a1f38 52%,#071426 78%,#020508)}.map-bg-stars[data-v-7e91954b]{position:absolute;inset:0;z-index:1;opacity:.55;background-image:radial-gradient(circle at 6% 14%,rgba(248,250,252,.9) .55px,transparent 1.6px),radial-gradient(circle at 18% 9%,rgba(226,232,240,.55) .45px,transparent 1.4px),radial-gradient(circle at 31% 22%,rgba(255,255,255,.45) .5px,transparent 1.5px),radial-gradient(circle at 44% 11%,rgba(241,245,249,.5) .45px,transparent 1.3px),radial-gradient(circle at 58% 18%,rgba(226,232,240,.4) .5px,transparent 1.4px),radial-gradient(circle at 71% 8%,rgba(255,255,255,.55) .5px,transparent 1.5px),radial-gradient(circle at 86% 16%,rgba(248,250,252,.45) .45px,transparent 1.3px),radial-gradient(circle at 93% 28%,rgba(226,232,240,.35) .45px,transparent 1.2px),radial-gradient(circle at 12% 38%,rgba(255,255,255,.35) .45px,transparent 1.3px),radial-gradient(circle at 27% 44%,rgba(241,245,249,.4) .5px,transparent 1.4px),radial-gradient(circle at 52% 36%,rgba(226,232,240,.3) .45px,transparent 1.2px),radial-gradient(circle at 68% 42%,rgba(248,250,252,.38) .45px,transparent 1.3px),radial-gradient(circle at 81% 34%,rgba(255,255,255,.42) .5px,transparent 1.4px),radial-gradient(circle at 15% 58%,rgba(226,232,240,.28) .45px,transparent 1.2px),radial-gradient(circle at 38% 66%,rgba(248,250,252,.32) .45px,transparent 1.2px),radial-gradient(circle at 62% 58%,rgba(255,255,255,.3) .45px,transparent 1.2px),radial-gradient(circle at 88% 52%,rgba(241,245,249,.35) .45px,transparent 1.2px),radial-gradient(circle at 8% 72%,rgba(226,232,240,.22) .45px,transparent 1.1px),radial-gradient(circle at 48% 78%,rgba(248,250,252,.26) .45px,transparent 1.1px),radial-gradient(circle at 72% 70%,rgba(255,255,255,.24) .45px,transparent 1.1px);background-size:100% 100%;-webkit-mask-image:radial-gradient(ellipse 92% 82% at 50% 42%,#000 5%,rgba(0,0,0,.45) 55%,transparent 88%);mask-image:radial-gradient(ellipse 92% 82% at 50% 42%,#000 5%,rgba(0,0,0,.45) 55%,transparent 88%);animation:pm-stars-twinkle-7e91954b 7s ease-in-out infinite alternate}@keyframes pm-stars-twinkle-7e91954b{0%{opacity:.38}to{opacity:.62}}.map-bg-horizon[data-v-7e91954b]{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(4,40,58,.62) 0%,rgba(8,47,73,.22) 28%,rgba(15,23,42,.06) 52%,transparent 76%);opacity:.95}.map-bg-aurora[data-v-7e91954b]{position:absolute;left:-25%;top:12%;width:150%;height:52%;z-index:4;opacity:.85;background:linear-gradient(108deg,transparent 0%,rgba(45,212,191,.06) 18%,rgba(56,189,248,.1) 42%,rgba(129,140,248,.09) 62%,rgba(52,211,153,.05) 82%,transparent 100%);filter:blur(36px);mix-blend-mode:screen;animation:pm-aurora-shift-7e91954b 28s ease-in-out infinite}@keyframes pm-aurora-shift-7e91954b{0%,to{transform:translate3d(-2%,0,0) rotate(-1deg);opacity:.75}50%{transform:translate3d(4%,3%,0) rotate(1.5deg);opacity:.95}}.map-bg-deco[data-v-7e91954b]:before{content:"";position:absolute;inset:0;z-index:3;opacity:.48;background-image:linear-gradient(rgba(56,189,248,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.06) 1px,transparent 1px),linear-gradient(rgba(148,163,184,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);background-size:40px 40px,40px 40px,160px 160px,160px 160px;background-position:0 0,0 0,0 0,0 0;-webkit-mask-image:radial-gradient(ellipse 88% 78% at 50% 46%,#000 10%,transparent 80%);mask-image:radial-gradient(ellipse 88% 78% at 50% 46%,#000 10%,transparent 80%);animation:pm-grid-drift-7e91954b 48s linear infinite}@keyframes pm-grid-drift-7e91954b{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:40px 40px,-40px 40px,80px 24px,-56px 32px}}.map-bg-deco[data-v-7e91954b]:after{content:"";position:absolute;width:220%;height:220%;left:-60%;top:-60%;z-index:6;background:linear-gradient(122deg,transparent 0%,transparent 38%,rgba(255,255,255,.028) 46%,rgba(186,230,253,.1) 50%,rgba(255,255,255,.032) 54%,transparent 62%);mix-blend-mode:overlay;animation:pm-deco-shimmer-7e91954b 22s ease-in-out infinite}@keyframes pm-deco-shimmer-7e91954b{0%,to{transform:translate3d(-6%,0,0) rotate(11deg)}50%{transform:translate3d(10%,5%,0) rotate(11deg)}}.map-bg-orb[data-v-7e91954b]{position:absolute;z-index:5;border-radius:50%;filter:blur(56px);opacity:.55;mix-blend-mode:screen}.map-bg-orb--a[data-v-7e91954b]{width:min(48%,420px);height:min(42%,380px);left:-6%;top:8%;background:radial-gradient(circle at 40% 40%,rgba(56,189,248,.95),transparent 72%);animation:pm-orb-a-7e91954b 24s ease-in-out infinite}.map-bg-orb--b[data-v-7e91954b]{width:min(40%,360px);height:min(38%,340px);right:-4%;bottom:6%;background:radial-gradient(circle at 50% 50%,rgba(167,139,250,.9),transparent 70%);animation:pm-orb-b-7e91954b 28s ease-in-out infinite}.map-bg-orb--c[data-v-7e91954b]{width:min(32%,280px);height:min(30%,260px);left:38%;top:42%;background:radial-gradient(circle,rgba(34,211,238,.55),transparent 68%);animation:pm-orb-c-7e91954b 20s ease-in-out infinite}@keyframes pm-orb-a-7e91954b{0%,to{transform:translate(0) scale(1);opacity:.5}50%{transform:translate(6%,10%) scale(1.12);opacity:.65}}@keyframes pm-orb-b-7e91954b{0%,to{transform:translate(0) scale(1.05);opacity:.45}50%{transform:translate(-8%,-6%) scale(1);opacity:.62}}@keyframes pm-orb-c-7e91954b{0%,to{transform:translate(0) scale(1);opacity:.35}50%{transform:translate(-4%,6%) scale(1.2);opacity:.55}}.map-bg-orb--d[data-v-7e91954b]{width:min(58%,540px);height:min(32%,260px);left:20%;bottom:-14%;background:radial-gradient(ellipse 80% 100% at 50% 0%,rgba(244,114,182,.28),transparent 72%);filter:blur(52px);mix-blend-mode:screen;opacity:.48;animation:pm-orb-d-7e91954b 30s ease-in-out infinite}@keyframes pm-orb-d-7e91954b{0%,to{transform:translate(0) scale(1);opacity:.4}50%{transform:translate(5%,-4%) scale(1.08);opacity:.58}}@media(prefers-reduced-motion:reduce){.map-bg-stars[data-v-7e91954b],.map-bg-aurora[data-v-7e91954b],.map-bg-deco[data-v-7e91954b]:before,.map-bg-deco[data-v-7e91954b]:after,.map-bg-orb[data-v-7e91954b]{animation:none!important}.map-bg-stars[data-v-7e91954b]{opacity:.48}}.map-roster[data-v-7e91954b]{position:absolute;top:12px;left:12px;z-index:50;width:min(300px,calc(100% - 160px));max-height:min(52vh,420px);display:flex;flex-direction:column;border-radius:14px;background:#0f172ad1;border:1px solid rgba(148,163,184,.32);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 40px #00000061,inset 0 1px #ffffff0f;overflow:hidden;animation:map-roster-in-7e91954b .5s cubic-bezier(.22,1,.36,1) both}.map-roster-stats[data-v-7e91954b]{border-top:1px solid rgba(51,65,85,.65);padding:10px 10px 12px;flex-shrink:0}.map-roster-stats-row[data-v-7e91954b]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.map-roster-stats-dot[data-v-7e91954b]{width:6px;height:6px;border-radius:999px;background:#38bdf8eb;box-shadow:0 0 0 4px #38bdf81a;flex:0 0 auto}.map-roster-stats-title[data-v-7e91954b]{font-size:11px;font-weight:900;letter-spacing:.06em;color:#f8fafceb}.map-roster-stats-date[data-v-7e91954b]{margin-left:auto;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:#3b82f63d;color:#e0f2feeb;border:1px solid rgba(125,211,252,.22)}.map-roster-stats-grid[data-v-7e91954b]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-roster-stat[data-v-7e91954b]{border-radius:12px;padding:10px;background:#1e293b6b;border:1px solid rgba(71,85,105,.45);box-shadow:inset 0 1px #ffffff0a}.map-roster-stat-label[data-v-7e91954b]{font-size:10px;font-weight:700;color:#94a3b8eb;letter-spacing:.04em}.map-roster-stat-val[data-v-7e91954b]{margin-top:6px;font-size:18px;font-weight:900;color:#f8fafcf5;letter-spacing:.02em}@keyframes map-roster-in-7e91954b{0%{opacity:0;transform:translate3d(-10px,-6px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}.map-roster-head[data-v-7e91954b]{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-bottom:1px solid rgba(51,65,85,.65);flex-shrink:0}.map-roster-dot[data-v-7e91954b]{width:7px;height:7px;border-radius:50%;background:linear-gradient(145deg,#34d399,#22d3ee);box-shadow:0 0 10px #34d399a6;animation:map-roster-pulse-7e91954b 2.2s ease-in-out infinite}@keyframes map-roster-pulse-7e91954b{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.92)}}.map-roster-title[data-v-7e91954b]{font-size:12px;font-weight:700;letter-spacing:.06em;color:#f8fafcf2}.map-roster-count[data-v-7e91954b]{margin-left:auto;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:#3b82f659;color:#e0f2fe;border:1px solid rgba(125,211,252,.35)}.map-roster-list[data-v-7e91954b]{list-style:none;margin:0;padding:6px 6px 8px}.map-roster-marquee[data-v-7e91954b]{overflow:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.55) transparent}.map-roster-list--marquee[data-v-7e91954b]{animation:map-roster-marquee-7e91954b var(--roster-scroll-duration, 24s) linear infinite;will-change:transform}.map-roster-marquee:hover .map-roster-list--marquee[data-v-7e91954b]{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.map-roster-list--marquee[data-v-7e91954b]{animation:none!important;transform:none!important}}@keyframes map-roster-marquee-7e91954b{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.map-roster-list[data-v-7e91954b]::-webkit-scrollbar{width:5px}.map-roster-list[data-v-7e91954b]::-webkit-scrollbar-thumb{background:#64748b73;border-radius:99px}.map-roster-item[data-v-7e91954b]{border-radius:10px;margin-bottom:4px;animation:map-roster-row-7e91954b .42s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(min(var(--roster-i),14)*35ms)}@keyframes map-roster-row-7e91954b{0%{opacity:0;transform:translate3d(-8px,0,0)}to{opacity:1;transform:translateZ(0)}}.map-roster-item[data-v-7e91954b]:last-child{margin-bottom:0}.map-roster-item.active[data-v-7e91954b]{box-shadow:0 0 0 1px #38bdf873}.map-roster-hit[data-v-7e91954b]{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px;margin:0;border:none;border-radius:10px;background:#1e293b59;color:inherit;cursor:pointer;text-align:left;transition:background .18s,box-shadow .18s,transform .18s}.map-roster-hit[data-v-7e91954b]:hover{background:#3341558c;box-shadow:inset 0 0 0 1px #94a3b833}.map-roster-item.active .map-roster-hit[data-v-7e91954b]{background:#1e3a8a73;box-shadow:inset 0 0 0 1px #60a5fa59}.map-roster-idx[data-v-7e91954b]{flex-shrink:0;width:18px;text-align:center;font-size:10px;font-weight:800;color:#94a3b8d9;padding-top:10px;font-variant-numeric:tabular-nums}.map-roster-avatar[data-v-7e91954b]{position:relative;flex-shrink:0;width:34px;height:34px;border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px #0f172ae6,0 0 0 3px #38bdf859}.map-roster-avatar-fallback[data-v-7e91954b]{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-size:11px;font-weight:800;color:#f8fafc;background:linear-gradient(145deg,#6366f1,#2563eb)}.map-roster-avatar-img[data-v-7e91954b]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.map-roster-avatar-img.is-hidden[data-v-7e91954b]{display:none}.map-roster-body[data-v-7e91954b]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.map-roster-name[data-v-7e91954b]{font-size:12px;font-weight:700;color:#f1f5f9;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-roster-proj[data-v-7e91954b]{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 8px 3px 6px;border-radius:999px;border:1px solid rgba(56,189,248,.28);background:linear-gradient(180deg,#0284c738,#0f172a0d);box-shadow:inset 0 0 0 1px #0ea5e914;color:#e0f2fef2;font-size:11px;line-height:1.2}.map-roster-proj-dot[data-v-7e91954b]{width:6px;height:6px;border-radius:999px;background:#38bdf8f2;box-shadow:0 0 0 3px #38bdf81f;flex:0 0 auto}.map-roster-proj-tag[data-v-7e91954b]{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#bae6fdf2;flex:0 0 auto}.map-roster-proj-name[data-v-7e91954b]{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.map-roster-place[data-v-7e91954b]{font-size:11px;line-height:1.35;color:#cbd5e1e0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-roster-time[data-v-7e91954b]{font-size:10px;color:#94a3b8e6;font-variant-numeric:tabular-nums}.map-roster-go[data-v-7e91954b]{flex-shrink:0;align-self:center;font-size:10px;font-weight:700;letter-spacing:.06em;color:#7dd3fcd9;padding:4px 2px}.map-float-dock[data-v-7e91954b]{position:absolute;top:12px;right:12px;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#0f172ac7;border:1px solid rgba(148,163,184,.28);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 36px #00000059}.dock-date[data-v-7e91954b]{display:inline-flex;align-items:center;gap:6px}.dock-date-lab[data-v-7e91954b]{font-size:11px;font-weight:600;color:#94a3b8f2;letter-spacing:.04em}.dock-date-inp[data-v-7e91954b]{border-radius:8px;border:1px solid rgba(100,116,139,.45);padding:5px 8px;font-size:12px;background:#1e293be6;color:#f1f5f9}.dock-btn[data-v-7e91954b]{border-radius:8px;border:1px solid rgba(100,116,139,.4);background:#1e293bd9;color:#e2e8f0;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.dock-btn[data-v-7e91954b]:hover:not(:disabled){background:#334155f2;border-color:#94a3b880}.dock-btn[data-v-7e91954b]:disabled{opacity:.5;cursor:not-allowed}.dock-btn-primary[data-v-7e91954b]{background:linear-gradient(135deg,#2563eb,#6366f1);border-color:transparent;color:#fff}.dock-btn-primary[data-v-7e91954b]:hover:not(:disabled){filter:brightness(1.06)}.dock-btn-gear[data-v-7e91954b]{border-color:#38bdf859;color:#bae6fd}.dock-btn-gear[data-v-7e91954b]:hover:not(:disabled){border-color:#7dd3fc8c;color:#e0f2fe}.layer-settings-backdrop[data-v-7e91954b]{position:absolute;inset:0;z-index:42;background:#02061780;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:ls-backdrop-in-7e91954b .22s ease both}@keyframes ls-backdrop-in-7e91954b{0%{opacity:0}to{opacity:1}}.layer-settings-sheet[data-v-7e91954b]{position:absolute;top:56px;right:12px;z-index:48;width:min(308px,calc(100% - 24px));max-height:min(74vh,540px);display:flex;flex-direction:column;border-radius:14px;background:#0f172af2;border:1px solid rgba(100,116,139,.45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 50px #00000073,inset 0 1px #ffffff0f;overflow:hidden;animation:ls-sheet-in-7e91954b .32s cubic-bezier(.22,1,.36,1) both}@keyframes ls-sheet-in-7e91954b{0%{opacity:0;transform:translate3d(8px,-6px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}.layer-settings-sheet-head[data-v-7e91954b]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(51,65,85,.75);flex-shrink:0}.layer-settings-title[data-v-7e91954b]{font-size:13px;font-weight:800;letter-spacing:.04em;color:#f8fafc}.layer-settings-close[data-v-7e91954b]{width:32px;height:32px;padding:0;border:none;border-radius:8px;background:#1e293ba6;color:#94a3b8;font-size:22px;line-height:1;cursor:pointer;transition:background .15s,color .15s}.layer-settings-close[data-v-7e91954b]:hover{background:#334155e6;color:#f1f5f9}.ls-body[data-v-7e91954b]{padding:12px 12px 14px;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}.ls-mode-grid[data-v-7e91954b]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.ls-mode-btn[data-v-7e91954b]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px;border-radius:10px;border:1px solid rgba(71,85,105,.65);background:#1e293b8c;color:#cbd5e1;cursor:pointer;font-size:12px;transition:border-color .15s,background .15s,box-shadow .15s}.ls-mode-btn[data-v-7e91954b]:hover:not(:disabled){border-color:#94a3b873;background:#334155a6}.ls-mode-btn.on[data-v-7e91954b]{border-color:#38bdf8a6;background:linear-gradient(180deg,#1e3a8a8c,#0f172a66);box-shadow:0 0 0 1px #3b82f640}.ls-mode-btn[data-v-7e91954b]:disabled{opacity:.5;cursor:not-allowed}.ls-mode-label[data-v-7e91954b]{font-weight:700;font-size:13px;color:#f1f5f9}.ls-mode-hint[data-v-7e91954b]{font-size:10px;color:#94a3b8;line-height:1.3}.ls-section[data-v-7e91954b]{margin-bottom:14px}.ls-row[data-v-7e91954b]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#94a3b8;margin-bottom:6px}.ls-val[data-v-7e91954b]{font-size:12px;color:#e0f2fe;font-weight:600}.ls-range[data-v-7e91954b]{width:100%;accent-color:#38bdf8}.ls-toggle[data-v-7e91954b]{display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}.ls-toggle input[data-v-7e91954b]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.ls-toggle-track[data-v-7e91954b]{width:44px;height:24px;border-radius:999px;background:#334155d9;border:1px solid rgba(71,85,105,.65);position:relative;transition:background .18s ease,border-color .18s ease}.ls-toggle-track[data-v-7e91954b]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#f8fafceb;box-shadow:0 8px 16px #00000040;transition:transform .18s ease}.ls-toggle input:checked+.ls-toggle-track[data-v-7e91954b]{background:#2563ebbf;border-color:#38bdf8a6}.ls-toggle input:checked+.ls-toggle-track[data-v-7e91954b]:after{transform:translate(20px)}.ls-hint[data-v-7e91954b]{margin:0;font-size:11px;line-height:1.45;color:#64748b}.ls-subhint[data-v-7e91954b]{margin:8px 0 0;font-size:11px;line-height:1.45;color:#94a3b8}.map-canvas[data-v-7e91954b]{position:relative;z-index:2;flex:1;width:100%;min-height:calc(100dvh - 58px);height:calc(100dvh - 58px);background:transparent!important}.map-attribution[data-v-7e91954b]{position:absolute;left:10px;bottom:8px;z-index:5;max-width:calc(100% - 100px);font-size:10px;letter-spacing:.04em;color:#e2e8f085;text-shadow:0 1px 3px rgba(0,0,0,.65);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.45}.map-loading[data-v-7e91954b]{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:13px;color:#e2e8f0;background:#030712c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-empty-tip[data-v-7e91954b]{position:absolute;left:12px;bottom:42px;z-index:38;max-width:min(520px,calc(100% - 24px));padding:10px 12px;border-radius:12px;border:1px solid rgba(226,232,240,.9);background:#ffffffeb;box-shadow:0 14px 36px #0f172a1f;color:#475569;font-size:13px;line-height:1.5;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-wrap .leaflet-container,.map-wrap .leaflet-pane{background:transparent!important}.shell.dark{border-color:#38bdf861}.shell.dark{color:#e2e8f0;background:#0f172ae0}.pm-bubble-person-marker{background:transparent!important;border:none!important}.pm-bubble-person{position:relative;width:var(--pm-bub, 60px);height:var(--pm-bubh, 82px);display:block;line-height:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.pm-bubble-person .pm-bub-agv{position:absolute;inset:0 auto auto 0;width:var(--pm-bub, 60px);height:var(--pm-bub, 60px);display:block;object-fit:contain;pointer-events:none;opacity:.92}.pm-bubble-person .pm-bub-av{position:absolute;left:50%;top:calc(var(--pm-bub, 60px) * .18);transform:translate(-50%);width:var(--pm-bub-av, 30px);height:var(--pm-bub-av, 30px);border-radius:999px;padding:2px;background:#fffffff2;border:1px solid rgba(226,232,240,.95);box-shadow:0 2px 10px #0f172a29;pointer-events:none}.pm-bubble-person .pm-bub-av-img,.pm-bubble-person .pm-bub-av-fb{width:100%;height:100%;border-radius:999px}.pm-bubble-person .pm-bub-av-img{display:block;object-fit:cover;background:#e2e8f0;pointer-events:none}.pm-bubble-person .pm-bub-av-fb{display:flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;font-weight:800;font-size:calc(12px * (var(--pm-bub-av, 30) / 30));letter-spacing:.02em;pointer-events:none}.pm-bubble-person .pm-bub-name{position:absolute;left:50%;top:calc(var(--pm-bub, 60px) + 3px);transform:translate(-50%);max-width:var(--pm-bub-lw, 96px);font-size:var(--pm-bub-lfs, 11px);font-weight:700;color:#0f172a;text-align:center;line-height:1.2;padding:var(--pm-bub-pv, 2px) var(--pm-bub-ph, 6px);border-radius:999px;background:#ffffffeb;border:1px solid rgba(226,232,240,.95);box-shadow:0 2px 10px #0f172a1f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.person-map-avatar-marker{background:transparent!important;border:none!important}.person-map-pin{display:flex;flex-direction:column;align-items:center;pointer-events:auto}.person-map-ring{width:calc(48px * var(--pm-pin, 1));height:calc(48px * var(--pm-pin, 1));border-radius:50%;padding:calc(2px * var(--pm-pin, 1));background:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 3px #0f172a33}.person-map-avatar-shell{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#e2e8f0;display:flex;align-items:center;justify-content:center}.person-map-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.person-map-avatar-fallback{font-size:calc(14px * var(--pm-pin, 1));font-weight:700;color:#475569;letter-spacing:.02em}.person-map-pin-tip{width:0;height:0;margin-top:calc(-1px * var(--pm-pin, 1));border-left:calc(6px * var(--pm-pin, 1)) solid transparent;border-right:calc(6px * var(--pm-pin, 1)) solid transparent;border-top:calc(7px * var(--pm-pin, 1)) solid #64748b}.person-map-pin-label{margin-top:calc(2px * var(--pm-pin, 1));max-width:calc(88px * var(--pm-pin, 1));font-size:calc(11px * var(--pm-pin, 1));font-weight:600;color:#334155;text-align:center;line-height:1.2;padding:calc(1px * var(--pm-pin, 1)) calc(4px * var(--pm-pin, 1));border-radius:calc(4px * var(--pm-pin, 1));background:#ffffffeb;border:1px solid #e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell.dark .person-map-pin-label{color:#e2e8f0;background:#1e293beb;border-color:#475569}.person-map-popup-wrap .leaflet-popup-content-wrapper{border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0f172a1f}.person-map-popup-wrap .leaflet-popup-content{margin:12px 14px;min-width:200px}.pm-pop-name{font-weight:800;font-size:15px;margin-bottom:8px;color:#0f172a}.pm-pop-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#64748b;margin-bottom:4px}.pm-pop-row b{color:#0f172a;font-weight:600}.pm-pop-addr{margin-top:8px;font-size:12px;line-height:1.45;color:#475569}.pm-tooltip{border:none!important;background:transparent!important;box-shadow:none!important}.pm-tooltip .leaflet-tooltip-content{margin:0!important}.pm-tip{padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 6px 20px #0f172a1a;max-width:260px}.pm-tip-title{font-size:12px;font-weight:600;color:#0f172a;line-height:1.35;margin-bottom:4px}.pm-tip-coord{font-size:11px;color:#64748b}.pm-cluster-wrap{background:transparent!important;border:none!important}.pm-cluster{width:calc(44px * var(--pcs, 1));height:calc(44px * var(--pcs, 1));border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#3b82f6f2,#6366eaeb);border:calc(3px * var(--pcs, 1)) solid #fff;box-shadow:0 calc(4px * var(--pcs, 1)) calc(14px * var(--pcs, 1)) #0f172a33;color:#fff;font-weight:800;font-size:calc(14px * var(--pcs, 1))}.leaflet-container .leaflet-control-zoom{border:1px solid #e2e8f0!important;border-radius:8px!important;overflow:hidden;box-shadow:0 2px 10px #0f172a14}.leaflet-container .leaflet-control-zoom a{width:32px!important;height:32px!important;line-height:32px!important;font-size:16px!important;color:#334155!important;background:#fff!important}.leaflet-container .leaflet-control-zoom a:hover{background:#f1f5f9!important}@media(max-width:900px){.map-roster[data-v-7e91954b]{width:min(280px,calc(100% - 20px));max-height:min(36vh,300px)}.map-float-dock[data-v-7e91954b]{right:10px;left:10px;justify-content:flex-end}.layer-settings-sheet[data-v-7e91954b]{right:10px;left:10px;width:auto;max-width:none;top:52px}.map-wrap[data-v-7e91954b]{min-height:calc(100dvh - 88px)}.map-canvas[data-v-7e91954b]{min-height:calc(100dvh - 88px);height:calc(100dvh - 88px)}}.page[data-v-54d6d5f4]{--dash-teal: #0d9488;--dash-teal-2: #14b8a6;--dash-ink: #0f172a;--dash-muted: #64748b;--dash-line: #e2e8f0;padding:8px 0 32px;background:radial-gradient(900px 420px at 8% -10%,rgba(20,184,166,.16),transparent 55%),radial-gradient(700px 360px at 92% 0%,rgba(56,189,248,.1),transparent 50%),linear-gradient(180deg,#f0fdfa,#f8fafc 42%,#f1f5f9);min-height:calc(100vh - 120px);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Noto Sans SC,Segoe UI,sans-serif}.status-filters[data-v-54d6d5f4]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.pf-btn[data-v-54d6d5f4]{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--dash-line);background:#fff;color:var(--dash-ink);font-size:13px;font-weight:700;cursor:pointer}.pf-btn[data-v-54d6d5f4]:hover:not(:disabled){background:#f8fafc}.pf-btn[data-v-54d6d5f4]:disabled{opacity:.55;cursor:not-allowed}.pf-btn.active[data-v-54d6d5f4]{color:#fff;border-color:transparent}.pf-btn.pf-accept.active[data-v-54d6d5f4]{background:#059669}.pf-btn.pf-doing.active[data-v-54d6d5f4]{background:var(--dash-teal)}.pf-btn.pf-todo.active[data-v-54d6d5f4]{background:#64748b}.pf-btn.active[data-v-54d6d5f4]:not(.pf-accept):not(.pf-doing):not(.pf-todo){background:#0f172a}.pf-n[data-v-54d6d5f4]{display:inline-flex;min-width:18px;height:18px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:#0f172a0f;color:inherit}.pf-btn.active .pf-n[data-v-54d6d5f4]{background:#ffffff38}.toolbar[data-v-54d6d5f4]{margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;background:#ffffffeb;border:1px solid var(--dash-line);border-radius:16px;box-shadow:0 10px 28px #0f172a0d}.toolbar-left[data-v-54d6d5f4]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-label[data-v-54d6d5f4]{font-size:12px;color:#64748b;font-weight:650;white-space:nowrap}.toolbar-meta[data-v-54d6d5f4]{font-size:12px;color:#64748b;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0}.toolbar-right[data-v-54d6d5f4]{display:flex;gap:8px}.toolbar-group[data-v-54d6d5f4]{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #e2e8f0}.search-group[data-v-54d6d5f4]{border-radius:14px}.toolbar-select[data-v-54d6d5f4]{border:none;outline:none;background:transparent;font-size:13px;color:#0f172a;font-weight:650;padding:2px 22px 2px 6px;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.toolbar-select.is-small[data-v-54d6d5f4]{min-width:66px}.toolbar-meta-strong[data-v-54d6d5f4]{color:#0f172a;font-weight:800}.toolbar-meta-dot[data-v-54d6d5f4]{color:#cbd5e1}.pager[data-v-54d6d5f4]{display:inline-flex;border:1px solid #e2e8f0;border-radius:999px;overflow:hidden;background:#fff}.pager-btn[data-v-54d6d5f4]{padding:8px 12px;border:none;background:transparent;font-size:13px;font-weight:700;cursor:pointer}.pager-btn+.pager-btn[data-v-54d6d5f4]{border-left:1px solid #e2e8f0}.pager-btn[data-v-54d6d5f4]:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.empty[data-v-54d6d5f4]{padding:16px 4px;color:#94a3b8;text-align:center}.empty.soft[data-v-54d6d5f4]{padding:36px 12px;border:1px dashed #cbd5e1;border-radius:16px;background:#ffffffb3}.project-grid[data-v-54d6d5f4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.project-card[data-v-54d6d5f4]{border:1px solid var(--dash-line);border-radius:16px;background:#fff;padding:14px 14px 12px;box-shadow:0 8px 22px #0f172a0d}.project-top[data-v-54d6d5f4]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.title-wrap[data-v-54d6d5f4]{min-width:0;flex:1}.project-name[data-v-54d6d5f4]{font-weight:800;color:var(--dash-ink);font-size:16px;line-height:1.35}.project-no[data-v-54d6d5f4]{margin-top:4px;font-size:12px;font-weight:700;color:#2563eb}.project-status[data-v-54d6d5f4]{font-size:11px;font-weight:700;white-space:nowrap;padding:3px 10px;border-radius:999px;border:1px solid transparent}.st-accept[data-v-54d6d5f4]{color:#c2410c;background:#ffedd5;border-color:#fdba74}.st-doing[data-v-54d6d5f4]{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.st-todo[data-v-54d6d5f4]{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.customer[data-v-54d6d5f4]{margin-top:6px;font-size:12px;line-height:1.4}.extra[data-v-54d6d5f4]{margin-top:12px;display:flex;flex-wrap:wrap;gap:12px 20px}.extra-item[data-v-54d6d5f4]{display:inline-flex;align-items:baseline;gap:6px;font-size:13px}.extra-k[data-v-54d6d5f4]{color:#94a3b8;font-size:12px}.extra-v[data-v-54d6d5f4]{color:#2563eb;font-weight:700;font-variant-numeric:tabular-nums}.meta[data-v-54d6d5f4]{margin-top:12px;display:flex;align-items:center;gap:10px}.meta .pct[data-v-54d6d5f4]{min-width:36px;text-align:right}.bar[data-v-54d6d5f4]{flex:1;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;border:1px solid #d1d5db}.bar-in[data-v-54d6d5f4]{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#22c55e)}.tone-accept .bar-in[data-v-54d6d5f4]{background:linear-gradient(90deg,#34d399,#059669)}.tone-todo .bar-in[data-v-54d6d5f4]{background:linear-gradient(90deg,#94a3b8,#64748b)}.muted[data-v-54d6d5f4]{color:#94a3b8;font-size:12px}.actions[data-v-54d6d5f4]{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.btn[data-v-54d6d5f4]{padding:6px 10px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;text-decoration:none;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.btn[data-v-54d6d5f4]:hover{background:#f0fdfa;border-color:#0d948859}.btn.primary[data-v-54d6d5f4]{background:linear-gradient(135deg,#14b8a6,#0d9488);border-color:transparent;color:#fff;border-radius:999px;padding:8px 14px;font-weight:750}.btn.danger[data-v-54d6d5f4]{background:#fee2e2;border-color:#fecaca;color:#b91c1c}@media(max-width:720px){.project-grid[data-v-54d6d5f4]{grid-template-columns:1fr}}.modal-mask[data-v-54d6d5f4]{position:fixed;inset:0;background:#0f172a52;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-54d6d5f4]{width:560px;max-width:100%;max-height:90vh;overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 22px 60px #0f172a59}.modal-head[data-v-54d6d5f4]{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-54d6d5f4]{color:#111827;font-weight:850}.icon[data-v-54d6d5f4]{background:transparent;border:none;color:#9ca3af;font-size:20px;cursor:pointer}.modal-body[data-v-54d6d5f4]{padding:14px;display:grid;gap:10px}.field .label[data-v-54d6d5f4]{color:#4b5563;font-size:12px;margin-bottom:6px}.input[data-v-54d6d5f4]{width:100%;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:10px;padding:10px 12px;outline:none}.input[data-v-54d6d5f4]:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}.modal-foot[data-v-54d6d5f4]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb;background:#f9fafb}.geofence-panel[data-v-2249b1f9]{display:flex;flex-direction:column;gap:12px}.panel-tip[data-v-2249b1f9]{margin:0;font-size:13px;line-height:1.5}.keywords-block[data-v-2249b1f9]{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.keywords-label[data-v-2249b1f9]{font-size:13px;font-weight:600;color:#334155}.keywords-hint[data-v-2249b1f9]{margin:0;font-size:12px;line-height:1.45}.keywords-input[data-v-2249b1f9]{width:100%;box-sizing:border-box}.parse-toggle[data-v-2249b1f9]{font-weight:600;color:#0f172a}.search-row[data-v-2249b1f9]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.search-input[data-v-2249b1f9]{flex:1;min-width:220px}.overseas-toggle[data-v-2249b1f9]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#334155;white-space:nowrap;-webkit-user-select:none;user-select:none}.overseas-toggle input[data-v-2249b1f9]{margin:0}.manual-row[data-v-2249b1f9]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px dashed #cbd5e1}.manual-label[data-v-2249b1f9]{font-size:13px;color:#475569;font-weight:600}.coord-input[data-v-2249b1f9]{width:140px}.result-list[data-v-2249b1f9]{margin:0;padding:0;list-style:none;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.result-item[data-v-2249b1f9]{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-bottom:1px solid #f1f5f9;background:#fff;cursor:pointer;font-size:13px;color:#0f172a}.result-item[data-v-2249b1f9]:hover{background:#f8fafc}.result-list li:last-child .result-item[data-v-2249b1f9]{border-bottom:none}.location-card[data-v-2249b1f9]{padding:12px 14px;border-radius:10px;background:#f0f9ff;border:1px solid #bae6fd}.location-head[data-v-2249b1f9]{font-size:12px;color:#0369a1;font-weight:600;margin-bottom:4px}.location-name[data-v-2249b1f9]{font-size:14px;color:#0f172a;word-break:break-all}.location-coord[data-v-2249b1f9]{margin-top:4px;font-size:12px}.location-empty[data-v-2249b1f9]{padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px dashed #cbd5e1;font-size:13px}.radius-row[data-v-2249b1f9]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.radius-label[data-v-2249b1f9]{font-size:13px;color:#334155;min-width:160px}.radius-range[data-v-2249b1f9]{flex:1;min-width:140px}.radius-num[data-v-2249b1f9]{width:90px}.radius-unit[data-v-2249b1f9]{font-size:13px}.map-preview[data-v-2249b1f9]{height:280px;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden;background:#f1f5f9;position:relative}.map-empty[data-v-2249b1f9]{display:flex;align-items:center;justify-content:center}.map-placeholder[data-v-2249b1f9]{font-size:13px}.actions[data-v-2249b1f9]{display:flex;gap:10px;flex-wrap:wrap}.input[data-v-2249b1f9]{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px}.btn[data-v-2249b1f9]{padding:8px 14px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer}.btn.primary[data-v-2249b1f9]{background:#2563eb;color:#fff;border-color:#2563eb}.btn.danger[data-v-2249b1f9]{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.btn[data-v-2249b1f9]:disabled{opacity:.55;cursor:not-allowed}.muted[data-v-2249b1f9]{color:#64748b}.bill-attach[data-v-4b864af9]{display:inline-flex;align-items:center;gap:8px;max-width:min(220px,100%);padding:6px 12px 6px 6px;border-radius:999px;text-decoration:none;border:1px solid rgba(139,92,246,.32);background:linear-gradient(135deg,#6366f124,#8b5cf614);box-shadow:0 1px #ffffff0f inset;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.bill-attach[data-v-4b864af9]:hover{border-color:#00d4aa73;box-shadow:0 0 0 1px #00d4aa1f,0 8px 20px #0003;transform:translateY(-1px)}.bill-attach--pdf[data-v-4b864af9]{border-color:#f8717159;background:linear-gradient(135deg,#f871711f,#b91c1c14)}.bill-attach--zip[data-v-4b864af9]{border-color:#eab30861;background:linear-gradient(135deg,#eab30824,#a1620714)}.bill-attach--file[data-v-4b864af9]{border-color:#818cf859}.bill-attach--image[data-v-4b864af9]{border-color:#2dd4bf59;background:linear-gradient(135deg,#2dd4bf1f,#0d948814);padding-left:5px}.bill-attach__preview[data-v-4b864af9]{flex-shrink:0;display:block;border-radius:10px;overflow:hidden;line-height:0;box-shadow:0 2px 8px #00000040}.bill-attach__thumb[data-v-4b864af9]{width:34px;height:34px;object-fit:cover;display:block;vertical-align:top}.bill-attach__icon[data-v-4b864af9]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.bill-attach__svg[data-v-4b864af9]{width:32px;height:32px;display:block}.bill-attach__text[data-v-4b864af9]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.bill-attach__label[data-v-4b864af9]{font-size:12px;font-weight:750;letter-spacing:.02em;color:#e0e7fff2;line-height:1.2}.bill-attach__hint[data-v-4b864af9]{font-size:10px;font-weight:500;color:#a5b4fcbf;line-height:1.2}.bill-attach--empty[data-v-4b864af9]{color:#ffffff59}.shell.light .bill-attach{border-color:#c7d2fe;background:linear-gradient(135deg,#eef2ff,#f5f3ff);box-shadow:0 1px 2px #0f172a0f}.shell.light .bill-attach:hover{border-color:#2dd4bf;box-shadow:0 4px 14px #0f172a14}.shell.light .bill-attach__label{color:#1e293b}.shell.light .bill-attach__hint{color:#64748b}.shell.light .bill-attach--pdf{border-color:#fecaca;background:linear-gradient(135deg,#fff1f2,#fef2f2)}.shell.light .bill-attach--zip{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fefce8)}.shell.light .bill-attach--image{border-color:#99f6e4;background:linear-gradient(135deg,#ecfdf5,#f0fdfa)}.shell.light .bill-attach--empty{color:#94a3b8}.flow-guide[data-v-f72f0205]{margin:0 0 12px;padding:12px 14px;border:1px solid #d6e4ff;border-left:3px solid #3370ff;border-radius:8px;background:linear-gradient(180deg,#f5f8ff,#fff 70%)}.flow-guide.compact[data-v-f72f0205]{margin:0 0 10px;padding:8px 10px}.fg-head[data-v-f72f0205]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.compact .fg-head[data-v-f72f0205]{margin-bottom:0}.compact.steps-on .fg-head[data-v-f72f0205]{margin-bottom:6px}.compact .fg-steps[data-v-f72f0205]{display:none}.compact.steps-on .fg-steps[data-v-f72f0205]{display:flex;margin-top:8px}.fg-title-wrap[data-v-f72f0205]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.fg-badge[data-v-f72f0205]{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:3px;background:#3370ff;color:#fff;font-size:10px;font-weight:700}.fg-title[data-v-f72f0205]{font-size:13px;font-weight:700;color:#1f2329}.compact .fg-title[data-v-f72f0205]{font-size:12px}.fg-role[data-v-f72f0205]{font-size:11px;color:#646a73;background:#fff;border:1px solid #e5e6eb;padding:1px 7px;border-radius:999px}.fg-now-chip[data-v-f72f0205]{font-size:11px;color:#1d4ed8;background:#e8f0ff;border-radius:999px;padding:1px 8px;font-weight:600}.fg-actions[data-v-f72f0205]{display:flex;gap:6px;flex-shrink:0}.fg-toggle[data-v-f72f0205]{border:1px solid #c2d4ff;background:#fff;color:#3370ff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;cursor:pointer;white-space:nowrap;height:26px}.fg-toggle.ghost[data-v-f72f0205]{border-color:#e5e6eb;color:#646a73}.fg-toggle[data-v-f72f0205]:hover{border-color:#3370ff;background:#f0f5ff;color:#3370ff}.fg-steps[data-v-f72f0205]{list-style:none;margin:0;padding:0 0 2px;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:thin}.compact .fg-steps[data-v-f72f0205]{gap:4px}.fg-step[data-v-f72f0205]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11px;color:#646a73;background:#fff;border:1px solid #e8eaed;flex-shrink:0}.compact .fg-step[data-v-f72f0205]{padding:2px 7px;font-size:10.5px}.fg-step .dot[data-v-f72f0205]{width:5px;height:5px;border-radius:50%;background:#c9cdd4}.fg-step.done[data-v-f72f0205]{color:#2f7d4a;background:#eefbf3;border-color:#c6f0d4}.fg-step.done .dot[data-v-f72f0205]{background:#34a853}.fg-step.current[data-v-f72f0205]{color:#1d4ed8;background:#eef3ff;border-color:#adc6ff;font-weight:650}.fg-step.current .dot[data-v-f72f0205]{background:#3370ff}.fg-step .you[data-v-f72f0205]{font-size:9px;color:#c2410c;background:#fff7ed;border-radius:3px;padding:0 3px}.fg-body[data-v-f72f0205]{margin-top:8px;border-top:1px solid #e8eefc;padding-top:8px;display:grid;gap:2px}.fg-now[data-v-f72f0205]{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:12px;color:#1f2329}.fg-now .who[data-v-f72f0205]{font-size:11px;color:#8f959e;font-weight:400}.fg-tip[data-v-f72f0205],.fg-next[data-v-f72f0205]{margin:0;font-size:12px;line-height:1.45;color:#4e5969}.fg-next[data-v-f72f0205]{color:#8f959e}.lc-flow[data-v-427d1ae4]{display:grid;gap:16px}.lc-toolbar[data-v-427d1ae4]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.hint[data-v-427d1ae4]{margin:0;font-size:13px;color:#646a73;line-height:1.5;max-width:640px}.actions[data-v-427d1ae4]{display:flex;gap:8px}.current-line[data-v-427d1ae4]{margin:0;font-size:13px}.badge[data-v-427d1ae4]{display:inline-flex;margin-left:8px;padding:1px 8px;border-radius:999px;background:#e8f0ff;color:#1d4ed8;font-size:12px}.phase-block[data-v-427d1ae4]{display:grid;gap:10px}.phase-head[data-v-427d1ae4]{display:flex;justify-content:space-between;align-items:baseline}.phase-head h3[data-v-427d1ae4]{margin:0;font-size:15px;font-weight:800;color:#111827}.flow-row[data-v-427d1ae4]{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;padding:14px;border:1px solid #e5e6eb;border-radius:10px;background:#f8fafc}.node-card[data-v-427d1ae4]{width:148px;min-height:110px;padding:10px;border-radius:10px;border:1px solid #e5e6eb;background:#fff;display:grid;gap:4px;align-content:start;box-shadow:0 1px 2px #0f172a0a}.node-card.editable[data-v-427d1ae4]{cursor:grab}.node-card.editable[data-v-427d1ae4]:active{cursor:grabbing}.node-card.st-done[data-v-427d1ae4]{border-color:#86efac;background:#f0fdf4}.node-card.st-doing[data-v-427d1ae4]{border-color:#93c5fd;background:#eff6ff;box-shadow:0 0 0 2px #3b82f626}.node-card.st-skipped[data-v-427d1ae4]{border-style:dashed;opacity:.75}.node-dot[data-v-427d1ae4]{width:10px;height:10px;border-radius:50%;background:#c9cdd4;margin-bottom:2px}.st-done .node-dot[data-v-427d1ae4]{background:#22c55e}.st-doing .node-dot[data-v-427d1ae4]{background:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.st-skipped .node-dot[data-v-427d1ae4]{background:#94a3b8}.node-title[data-v-427d1ae4]{font-size:13px;font-weight:700;color:#0f172a;line-height:1.35}.node-meta[data-v-427d1ae4]{font-size:12px;color:#64748b}.node-owner[data-v-427d1ae4]{font-size:12px;color:#334155}.node-link[data-v-427d1ae4]{margin-top:4px;border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:600;padding:0;text-align:left;cursor:pointer}.flow-arrow[data-v-427d1ae4]{align-self:center;color:#94a3b8;font-weight:700;padding:0 2px}.add-node[data-v-427d1ae4]{width:44px;min-height:110px;border-radius:10px;border:1px dashed #93c5fd;background:#fff;color:#2563eb;font-size:22px;font-weight:700;cursor:pointer}.add-node[data-v-427d1ae4]:hover{background:#eff6ff}.empty[data-v-427d1ae4]{padding:24px;text-align:center;color:#8f959e}.drawer-mask[data-v-427d1ae4]{position:fixed;inset:0;background:#0f172a59;z-index:80;display:flex;justify-content:flex-end}.drawer[data-v-427d1ae4]{width:min(400px,100vw);height:100%;background:#fff;padding:16px;box-shadow:-8px 0 24px #0f172a1f;display:grid;gap:12px;align-content:start;overflow:auto}.drawer-head[data-v-427d1ae4]{display:flex;justify-content:space-between;align-items:center}.drawer-head h3[data-v-427d1ae4]{margin:0;font-size:16px}.field[data-v-427d1ae4]{display:grid;gap:6px;font-size:12px;color:#64748b;font-weight:600}.input[data-v-427d1ae4]{height:36px;border:1px solid #e5e6eb;border-radius:6px;padding:0 10px;font-size:13px;color:#0f172a}.drawer-actions[data-v-427d1ae4]{display:flex;justify-content:space-between;gap:8px;margin-top:8px}.btn.danger[data-v-427d1ae4]{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.btn.primary[data-v-427d1ae4]{background:#3370ff;color:#fff;border-color:#3370ff}@media(max-width:720px){.node-card[data-v-427d1ae4]{width:132px}}.page[data-v-4f71ff52]{padding:24px 0;background:#f5f7fb;min-height:calc(100vh - 80px)}.head[data-v-4f71ff52]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}h1[data-v-4f71ff52]{margin:0 0 6px;font-size:26px;color:#111827}.muted[data-v-4f71ff52]{color:#6b7280;font-size:13px}.banner[data-v-4f71ff52]{margin:10px 0 14px;padding:10px 12px;border-radius:14px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;font-size:13px}.empty[data-v-4f71ff52]{padding:16px 4px;color:#6b7280;text-align:center}.scheme-list[data-v-4f71ff52]{margin-top:8px;display:flex;flex-direction:column;gap:12px}.scheme-current[data-v-4f71ff52]{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.scheme-hist[data-v-4f71ff52]{margin:0;padding-left:18px;color:#475569;font-size:13px}.scheme-hist li[data-v-4f71ff52]{display:flex;justify-content:space-between;gap:12px;margin:4px 0}.scheme-hist a[data-v-4f71ff52]{color:#2563eb;text-decoration:none}.hero[data-v-4f71ff52]{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;border-radius:18px;padding:16px 16px 14px;border:1px solid #e5e7eb;background:radial-gradient(900px 220px at 10% 0%,rgba(129,140,248,.18),transparent 60%),radial-gradient(900px 240px at 90% 30%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 18px 40px #94a3b873}.hero-left[data-v-4f71ff52]{flex:1;min-width:260px}.name[data-v-4f71ff52]{font-weight:900;letter-spacing:-.02em;color:#111827;font-size:18px}.project-no[data-v-4f71ff52]{margin-top:6px;font-size:13px;font-weight:650;color:#0369a1}.desc[data-v-4f71ff52]{margin-top:8px;color:#6b7280;font-size:13px;line-height:1.5}.contact-strip[data-v-4f71ff52]{margin-top:12px;display:grid;gap:8px;max-width:720px}.ci-row[data-v-4f71ff52]{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start;font-size:13px}.ck[data-v-4f71ff52]{color:#9ca3af;white-space:nowrap;padding-top:1px}.cv[data-v-4f71ff52]{color:#111827;white-space:pre-wrap;word-break:break-word;line-height:1.45}.meta[data-v-4f71ff52]{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.badge[data-v-4f71ff52]{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid #e5e7eb;color:#4b5563;background:#f9fafb}.badge.未实施[data-v-4f71ff52]{border-color:#10b98159;color:#059669;background:#10b98114}.badge.实施中[data-v-4f71ff52]{border-color:#e5e7eb;color:#374151;background:#f3f4f6}.badge.项目验收[data-v-4f71ff52]{border-color:#f59e0b66;color:#b45309;background:#f59e0b1a}.pill[data-v-4f71ff52]{padding:6px 10px;border-radius:14px;border:1px solid rgba(37,99,235,.22);background:#2563eb0f;color:#1d4ed8;font-weight:750;font-size:13px}.hero-right[data-v-4f71ff52]{width:260px;min-width:220px;display:flex;flex-direction:column;gap:8px;justify-content:center}.k[data-v-4f71ff52]{color:#6b7280;font-size:12px}.progress[data-v-4f71ff52]{height:10px;border-radius:999px;background:#e5e7eb;border:1px solid #e5e7eb;overflow:hidden}.fill[data-v-4f71ff52]{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb)}.v[data-v-4f71ff52]{color:#111827;font-weight:800}.hero-foot[data-v-4f71ff52]{flex:1 1 100%;margin-top:2px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:12px;line-height:1.5}.detail-tabs[data-v-4f71ff52]{margin-top:14px;display:flex;gap:6px;padding:4px;width:fit-content;background:#f3f4f6;border-radius:12px;border:1px solid #e5e7eb}.dtab[data-v-4f71ff52]{border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:650;padding:8px 16px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.dtab.active[data-v-4f71ff52]{background:#fff;color:#1d4ed8;box-shadow:0 1px 4px #0f172a14}.dtab-count[data-v-4f71ff52]{display:inline-flex;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:700;background:#e5e7eb;color:#374151}.dtab.active .dtab-count[data-v-4f71ff52]{background:#dbeafe;color:#1d4ed8}.lifecycle-card[data-v-4f71ff52]{margin-top:14px}.lc-hint[data-v-4f71ff52]{margin:0 0 14px;font-size:13px}.lc-head-meta[data-v-4f71ff52]{display:flex;align-items:center;gap:8px;flex:1;font-size:13px;color:#4b5563}.lc-phases[data-v-4f71ff52]{display:grid;gap:18px}.lc-phase-head[data-v-4f71ff52]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.lc-phase-title[data-v-4f71ff52]{font-size:15px;font-weight:800;color:#111827}.lc-nodes[data-v-4f71ff52]{list-style:none;margin:0;padding:0;display:grid;gap:0}.lc-node[data-v-4f71ff52]{position:relative;padding:0 0 14px}.lc-node[data-v-4f71ff52]:last-child{padding-bottom:0}.lc-node-main[data-v-4f71ff52]{display:flex;gap:12px}.lc-dot[data-v-4f71ff52]{width:12px;height:12px;border-radius:50%;margin-top:5px;flex:0 0 auto;background:#d1d5db;border:2px solid #fff;box-shadow:0 0 0 1px #d1d5db}.lc-node.st-doing .lc-dot[data-v-4f71ff52]{background:#276ff5;box-shadow:0 0 0 1px #276ff5}.lc-node.st-done .lc-dot[data-v-4f71ff52]{background:#10b981;box-shadow:0 0 0 1px #10b981}.lc-node.st-skipped .lc-dot[data-v-4f71ff52]{background:#9ca3af}.lc-node-body[data-v-4f71ff52]{flex:1;min-width:0}.lc-node-title[data-v-4f71ff52]{font-weight:700;color:#111827;font-size:14px}.lc-node-meta[data-v-4f71ff52]{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lc-select[data-v-4f71ff52],.lc-input[data-v-4f71ff52]{border:1px solid #d1d5db;border-radius:10px;padding:6px 10px;font-size:13px;background:#fff}.lc-select[data-v-4f71ff52]{min-width:100px}.lc-input[data-v-4f71ff52]{width:120px}.lc-remark[data-v-4f71ff52]{width:100%;max-width:480px;margin-top:8px}.lc-link[data-v-4f71ff52]{padding:6px 10px;font-size:12px}.small[data-v-4f71ff52]{font-size:12px}.grid[data-v-4f71ff52]{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card[data-v-4f71ff52]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 18px 40px #0f172a0f}.card-head[data-v-4f71ff52]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}h2[data-v-4f71ff52]{margin:0;font-size:16px;color:#111827}.table-wrap[data-v-4f71ff52]{overflow:auto}.table[data-v-4f71ff52]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-4f71ff52],.table td[data-v-4f71ff52]{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.table td.wrap-cell[data-v-4f71ff52]{white-space:pre-wrap;word-break:break-word;max-width:320px;line-height:1.45;vertical-align:top}.sup-pill[data-v-4f71ff52]{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:0 6px;vertical-align:middle}.bom-head-actions[data-v-4f71ff52]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bom-card-head[data-v-4f71ff52]{align-items:flex-start}.bom-sub[data-v-4f71ff52]{margin:4px 0 0}.chip.soft[data-v-4f71ff52]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569}.scheme-empty[data-v-4f71ff52]{margin-top:10px;padding:16px 14px;border-radius:12px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px dashed #cbd5e1}.scheme-empty-title[data-v-4f71ff52]{font-weight:700;color:#334155;margin-bottom:4px}.bom-table-wrap[data-v-4f71ff52]{margin-top:12px;border:1px solid #e2e8f0;border-radius:12px;overflow:auto;background:#fff}.bom-table[data-v-4f71ff52]{margin:0;min-width:1080px;table-layout:fixed;width:100%}.bom-table thead th[data-v-4f71ff52]{position:sticky;top:0;z-index:1;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap;color:#64748b;font-size:12px;font-weight:600}.bom-table td[data-v-4f71ff52],.bom-table th[data-v-4f71ff52]{vertical-align:middle;padding:10px 12px;border-bottom:1px solid #f1f5f9}.bom-table tbody tr:last-child td[data-v-4f71ff52]{border-bottom:none}.bom-table tbody tr:hover td[data-v-4f71ff52]{background:#fafbfc}.bom-table .c-check[data-v-4f71ff52]{width:40px}.bom-table .col-check[data-v-4f71ff52]{text-align:center;vertical-align:middle}.bom-check[data-v-4f71ff52]{width:16px;height:16px;cursor:pointer;accent-color:#276FF5}.bom-table .c-no[data-v-4f71ff52]{width:52px}.bom-table .c-name[data-v-4f71ff52],.bom-table .c-spec[data-v-4f71ff52]{width:18%}.bom-table .c-qty[data-v-4f71ff52]{width:64px}.bom-table .c-price[data-v-4f71ff52]{width:96px}.bom-table .c-code[data-v-4f71ff52]{width:118px}.bom-table .c-status[data-v-4f71ff52]{width:128px}.bom-table .c-supplier[data-v-4f71ff52]{width:240px}.bom-table .c-remark[data-v-4f71ff52]{width:12%}.bom-table .col-no[data-v-4f71ff52]{text-align:center;color:#94a3b8;font-variant-numeric:tabular-nums}.bom-table .num[data-v-4f71ff52]{text-align:right;font-variant-numeric:tabular-nums}.bom-table .price-cell[data-v-4f71ff52]{font-weight:650;color:#0f172a;white-space:nowrap}.bom-table .col-name[data-v-4f71ff52],.bom-table .col-spec[data-v-4f71ff52],.bom-table .col-remark[data-v-4f71ff52]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.bom-table .mat-stack[data-v-4f71ff52]{display:flex;align-items:center;gap:6px;min-width:0}.bom-table .code-cell[data-v-4f71ff52]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bom-table .mat-name[data-v-4f71ff52]{font-weight:650;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.bom-table .col-status[data-v-4f71ff52]{text-align:center}.push-status-cell[data-v-4f71ff52]{display:flex;flex-direction:column;align-items:center;gap:4px}.push-meta[data-v-4f71ff52]{line-height:1.35;max-width:120px;word-break:break-word;color:#64748b;font-weight:550}.supplier-cell[data-v-4f71ff52]{min-width:0;max-width:none;padding-top:8px;padding-bottom:8px}.bom-supplier-combo[data-v-4f71ff52]{width:100%;min-width:0}.bom-supplier-combo[data-v-4f71ff52] .ssc.compact .ssc-input{height:32px;font-size:12px;padding:0 10px;border-radius:8px}.bom-supplier-combo[data-v-4f71ff52] .ssc.compact .ssc-clear{height:28px;padding:0 8px;font-size:12px}.supplier-readonly[data-v-4f71ff52]{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px;font-weight:600}.bom-supplier-hint[data-v-4f71ff52]{margin:10px 12px 12px;font-size:12px;color:#94a3b8;line-height:1.45}.bom-supplier-hint a[data-v-4f71ff52]{color:#2563eb;font-weight:600;text-decoration:none}.bom-supplier-hint a[data-v-4f71ff52]:hover{text-decoration:underline}.push-pill[data-v-4f71ff52]{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;white-space:nowrap}.push-pill[data-kind=pushed][data-v-4f71ff52]{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.push-pill[data-kind=none][data-v-4f71ff52]{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.table td.time-cell[data-v-4f71ff52]{white-space:normal;min-width:158px;max-width:200px;line-height:1.45}.table th[data-v-4f71ff52]{color:#6b7280;font-weight:700;background:#f9fafb}.strong[data-v-4f71ff52]{font-weight:700;color:#111827}.accent[data-v-4f71ff52]{color:#2563eb;font-weight:800}.ops[data-v-4f71ff52]{display:flex;gap:8px;flex-wrap:wrap}.bar[data-v-4f71ff52]{display:inline-block;width:120px;height:8px;border-radius:999px;background:#e5e7eb;border:1px solid #e5e7eb;overflow:hidden;vertical-align:middle;margin-right:8px}.barfill[data-v-4f71ff52]{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb)}.badge2[data-v-4f71ff52]{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;color:#374151}.btn[data-v-4f71ff52]{padding:8px 12px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;text-decoration:none;font-size:13px;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn[data-v-4f71ff52]:hover{border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn.primary[data-v-4f71ff52]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:650}.btn.primary[data-v-4f71ff52]:hover{filter:brightness(1.03);color:#fff}.btn.danger[data-v-4f71ff52]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.danger[data-v-4f71ff52]:hover{border-color:#f87171;color:#991b1b}.modal-mask[data-v-4f71ff52]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-4f71ff52]{width:560px;max-width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 22px 60px #0f172a2e}.modal-head[data-v-4f71ff52]{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-4f71ff52]{color:#111827;font-weight:800}.icon[data-v-4f71ff52]{background:transparent;border:none;color:#6b7280;font-size:20px;cursor:pointer}.modal-body[data-v-4f71ff52]{padding:14px;display:grid;gap:10px}.field .label[data-v-4f71ff52]{color:#6b7280;font-size:12px;margin-bottom:6px}.form-hint[data-v-4f71ff52]{margin:0 0 8px;font-size:12px;line-height:1.45}.sub-label[data-v-4f71ff52]{font-size:11px;color:#64748b;margin-bottom:4px}.input[data-v-4f71ff52]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:14px;padding:10px 12px;outline:none}.input[data-v-4f71ff52]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.modal-foot[data-v-4f71ff52]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb}.bill-preview-wrap[data-v-4f71ff52]{margin-top:10px}.member-add-mode[data-v-4f71ff52]{display:flex;gap:16px;margin-top:6px}.member-add-mode label[data-v-4f71ff52]{color:#374151;cursor:pointer;font-size:14px}.custom-member-input[data-v-4f71ff52]{color:#111827!important;background:#fff!important;border-color:#d1d5db!important}.custom-member-input[data-v-4f71ff52]:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f633!important}@media(max-width:980px){.grid[data-v-4f71ff52]{grid-template-columns:1fr}}.head[data-v-ff830ade]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}h1[data-v-ff830ade]{margin:0 0 6px;font-size:26px;color:#ffffffeb}p[data-v-ff830ade]{margin:0;color:#ffffff8c}.filters[data-v-ff830ade]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-search-combo[data-v-ff830ade]{min-width:min(520px,86vw);flex:1}.project-search[data-v-ff830ade]{width:220px}.select[data-v-ff830ade]{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffe6;border-radius:14px;padding:10px 12px;outline:none}.pill[data-v-ff830ade]{padding:10px 12px;border-radius:14px;border:1px solid rgba(0,212,170,.22);background:#00d4aa14;color:#00d4aa;font-weight:800;font-size:13px}.stats-strip[data-v-ff830ade]{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 10px 24px #0f172a14}.stats-item[data-v-ff830ade]{min-width:108px}.stats-k[data-v-ff830ade]{font-size:12px;color:#6b7280;font-weight:700}.stats-v[data-v-ff830ade]{font-size:13px;color:#111827;font-weight:900}.banner[data-v-ff830ade]{margin:10px 0 14px;padding:10px 12px;border-radius:14px;border:1px solid rgba(248,81,73,.35);background:#f851491a;color:#ffffffdb;font-size:13px}.empty[data-v-ff830ade]{padding:16px 4px;color:#9ca3af;text-align:center}.table-wrap[data-v-ff830ade]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 24px #0f172a14;overflow:auto}.table[data-v-ff830ade]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-ff830ade],.table td[data-v-ff830ade]{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.table th[data-v-ff830ade]{color:#6b7280;font-weight:700;white-space:nowrap;background-color:#f3f4f6}.muted[data-v-ff830ade]{color:#9ca3af}.strong[data-v-ff830ade]{font-weight:800;color:#111827}.accent[data-v-ff830ade]{color:#2563eb;font-weight:850}.ops[data-v-ff830ade]{display:flex;gap:8px;white-space:nowrap}.btn[data-v-ff830ade]{padding:8px 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background .15s ease,box-shadow .15s ease,transform .08s ease}.btn[data-v-ff830ade]:hover{background:#f3f4f6}.btn.primary[data-v-ff830ade]{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent;color:#fff;font-weight:750;box-shadow:0 6px 14px #2563eb59}.btn.primary[data-v-ff830ade]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 8px 18px #2563eb73}.btn.danger[data-v-ff830ade]{border-color:#fecaca;background:#fee2e2;color:#b91c1c}.btn.danger[data-v-ff830ade]:hover{background:#fecaca}.modal-mask[data-v-ff830ade]{position:fixed;inset:0;background:#0f172a52;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-ff830ade]{width:520px;max-width:100%;max-height:90vh;overflow:visible;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 22px 60px #0f172a59}.modal-head[data-v-ff830ade]{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-ff830ade]{color:#111827;font-weight:850}.modal-banner[data-v-ff830ade]{margin:8px 12px 0;padding:8px 10px;border-radius:12px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:13px}.icon[data-v-ff830ade]{background:transparent;border:none;color:#9ca3af;font-size:20px;cursor:pointer}.modal-body[data-v-ff830ade]{padding:14px;display:grid;gap:10px;overflow-x:hidden;overflow-y:auto;max-height:min(70vh,560px)}.field .label[data-v-ff830ade]{color:#4b5563;font-size:12px;margin-bottom:6px}.upload-hint[data-v-ff830ade]{margin:0 0 6px;line-height:1.45}.input[data-v-ff830ade]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:10px;padding:10px 12px;outline:none}.input[data-v-ff830ade]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.preview-row[data-v-ff830ade]{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.small-hint[data-v-ff830ade]{font-size:12px}.modal-foot[data-v-ff830ade]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb;background:#f9fafb}.pagination[data-v-ff830ade]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid #e5e7eb;background:#f9fafb}.pagination-info[data-v-ff830ade]{color:#6b7280;font-size:13px}.page-size-select[data-v-ff830ade]{padding:6px 10px;font-size:13px}.small[data-v-ff830ade]{font-size:12px}.page[data-v-3d3f49c5]{padding:24px 0;background:#f5f7fb;color:#111827!important}.filters-row[data-v-3d3f49c5]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:12px 16px;background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a0f}.filters-row .select[data-v-3d3f49c5]{width:160px;min-width:140px;flex-shrink:0}.filters-row .search-input[data-v-3d3f49c5]{width:160px!important;min-width:130px;max-width:190px;flex-shrink:0}.filters-row .btn[data-v-3d3f49c5]{flex-shrink:0;white-space:nowrap}.select[data-v-3d3f49c5]{background:#fff;border-radius:999px;border:1px solid #d1d5db;padding:8px 14px;outline:none;color:#111827;font-size:13px;transition:all .18s ease}.select[data-v-3d3f49c5]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.input[data-v-3d3f49c5]{width:100%;background:#fff;border-radius:999px;border:1px solid #d1d5db;padding:8px 14px;outline:none;color:#111827;font-size:13px;transition:all .18s ease}.input[data-v-3d3f49c5]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.btn[data-v-3d3f49c5]{padding:8px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .18s ease}.btn[data-v-3d3f49c5]:disabled{opacity:.5;cursor:not-allowed}.btn[data-v-3d3f49c5]:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn.outline[data-v-3d3f49c5]{border-color:#60a5fa;color:#1d4ed8;background:#eff6ff}.btn.primary[data-v-3d3f49c5]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.primary[data-v-3d3f49c5]:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8}.btn.danger[data-v-3d3f49c5]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.danger[data-v-3d3f49c5]:hover:not(:disabled){border-color:#fca5a5;background:#fee2e2;color:#991b1b}.empty[data-v-3d3f49c5]{padding:24px 4px;color:#4b5563!important;font-size:14px;text-align:center}.table-wrap[data-v-3d3f49c5]{background:#fff;border-radius:18px 18px 0 0;border:1px solid #e5e7eb;box-shadow:0 18px 45px #0f172a0f;overflow-x:auto;overflow-y:visible;max-width:100%}.table[data-v-3d3f49c5]{width:100%;min-width:1100px;border-collapse:collapse;font-size:13px}.table th[data-v-3d3f49c5],.table td[data-v-3d3f49c5]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;max-width:220px;word-break:break-word;overflow-wrap:break-word;color:#111827!important}.table th[data-v-3d3f49c5]{background:#f3f4f6;color:#4b5563!important;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.col-check[data-v-3d3f49c5]{width:44px;min-width:44px;text-align:center;vertical-align:middle}.col-check input[type=checkbox][data-v-3d3f49c5]{accent-color:#2563eb;cursor:pointer;width:16px;height:16px}.col-ops[data-v-3d3f49c5]{min-width:140px;white-space:nowrap}.cell-project[data-v-3d3f49c5],.cell-name[data-v-3d3f49c5]{min-width:120px}.cell-date[data-v-3d3f49c5]{min-width:95px;white-space:nowrap}.cell-doc[data-v-3d3f49c5],.cell-code[data-v-3d3f49c5]{min-width:90px}.cell-spec[data-v-3d3f49c5]{min-width:100px}.cell-unit[data-v-3d3f49c5]{min-width:60px}.cell-num[data-v-3d3f49c5]{min-width:80px;text-align:right;white-space:nowrap}.ops[data-v-3d3f49c5]{display:flex;gap:8px;flex-wrap:wrap}.pagination[data-v-3d3f49c5]{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 18px 18px;flex-wrap:wrap}.pagination .btn[data-v-3d3f49c5]{background:#f9fafb;border-color:#e5e7eb}.pagination .btn[data-v-3d3f49c5]:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6}.page-size-select[data-v-3d3f49c5]{background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:6px 12px}.pagination-info[data-v-3d3f49c5],.pagination-page[data-v-3d3f49c5]{color:#6b7280;font-size:13px}.import-desc[data-v-3d3f49c5]{margin:10px 14px 0;color:#4b5563;font-size:12px;line-height:1.5}.import-backend-tip[data-v-3d3f49c5]{margin:10px 14px 0;padding:10px 12px;border-radius:12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:12px;line-height:1.55}.import-drop[data-v-3d3f49c5]{margin:14px}.import-preview[data-v-3d3f49c5]{margin:0 14px;overflow:auto;max-height:220px;border-radius:12px;border:1px solid #e5e7eb;background:#f9fafb}.preview-label[data-v-3d3f49c5]{font-size:12px;color:#6b7280;margin:8px 12px}.preview-table[data-v-3d3f49c5]{font-size:12px}.import-modal[data-v-3d3f49c5]{max-width:640px}.modal-mask[data-v-3d3f49c5]{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-3d3f49c5]{width:560px;max-width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 26px 70px #0f172a40}.modal-head[data-v-3d3f49c5]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-3d3f49c5]{color:#0f172a;font-weight:650;font-size:16px}.modal-banner[data-v-3d3f49c5]{margin:8px 14px 0;padding:8px 12px;border-radius:12px;border:1px solid #fee2e2;background:#fef2f2;color:#b91c1c;font-size:13px}.icon[data-v-3d3f49c5]{background:transparent;border:none;color:#6b7280;font-size:20px;cursor:pointer}.modal-body[data-v-3d3f49c5]{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:auto}.field[data-v-3d3f49c5]{grid-column:span 1}.field .label[data-v-3d3f49c5]{color:#6b7280;font-size:12px;margin-bottom:6px}.modal-foot[data-v-3d3f49c5]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb}@media(max-width:600px){.modal-body[data-v-3d3f49c5]{grid-template-columns:1fr}}.page[data-v-aa2c45eb]{padding:4px 2px 28px}.toolbar[data-v-aa2c45eb]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid #e8eaed;border-radius:8px;background:#fff;box-shadow:0 1px 2px #1f23290a}.filters[data-v-aa2c45eb]{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;min-width:0}.f-item[data-v-aa2c45eb]{display:grid;gap:4px;min-width:0}.f-lab[data-v-aa2c45eb]{font-size:11px;color:#8f959e;font-weight:600;line-height:1}.select[data-v-aa2c45eb]{min-width:140px;height:32px;padding:0 10px;border:1px solid #dee0e3;border-radius:6px;background:#fff;font-size:13px;color:#1f2329}.btn[data-v-aa2c45eb]{height:32px;padding:0 14px;border-radius:6px;border:1px solid #dee0e3;background:#fff;color:#1f2329;cursor:pointer;font-size:13px}.btn.primary[data-v-aa2c45eb]{background:#3370ff;border-color:#3370ff;color:#fff;font-weight:600}.btn.primary[data-v-aa2c45eb]:hover{background:#245bdb;border-color:#245bdb}.budget[data-v-aa2c45eb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:0 0 16px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px #0f172a0a}.budget.warn[data-v-aa2c45eb]{border-color:#fecaca;background:#fffbeb}.b-item .lab[data-v-aa2c45eb]{display:block;font-size:11px;color:#94a3b8;margin-bottom:4px}.b-item strong[data-v-aa2c45eb]{font-size:14px;color:#0f172a}.b-item strong.danger[data-v-aa2c45eb]{color:#b91c1c}.b-item .muted[data-v-aa2c45eb]{font-weight:500;font-size:12px;color:#94a3b8}.empty[data-v-aa2c45eb]{padding:48px 16px;text-align:center;color:#9ca3af}.table-wrap[data-v-aa2c45eb]{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px #0f172a0a}.table[data-v-aa2c45eb]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-aa2c45eb],.table td[data-v-aa2c45eb]{padding:12px 14px;border-bottom:1px solid #f1f5f9;text-align:left}.table th[data-v-aa2c45eb]{background:#f8fafc;color:#64748b;font-weight:600}.table .num[data-v-aa2c45eb]{text-align:right;font-variant-numeric:tabular-nums}.table tr.clickable[data-v-aa2c45eb]{cursor:pointer}.table tr.clickable:hover td[data-v-aa2c45eb]{background:#f8fafc}.mono[data-v-aa2c45eb]{font-variant-numeric:tabular-nums;font-weight:600;color:#0f172a}.muted[data-v-aa2c45eb]{color:#94a3b8}.badge[data-v-aa2c45eb]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#64748b}.badge.open[data-v-aa2c45eb]{background:#dbeafe;color:#1d4ed8}.badge.pending_approval[data-v-aa2c45eb]{background:#ffedd5;color:#c2410c}.badge.awaiting_contract[data-v-aa2c45eb]{background:#fef9c3;color:#a16207}.badge.completed[data-v-aa2c45eb]{background:#dcfce7;color:#15803d}.badge.cancelled[data-v-aa2c45eb]{background:#f1f5f9;color:#64748b}.badge.draft[data-v-aa2c45eb]{background:#fef3c7;color:#b45309}.page[data-v-053eeaae]{padding:4px 2px 28px}.card[data-v-053eeaae]{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px #0f172a0a;padding:16px;margin-bottom:14px}.meta-grid[data-v-053eeaae]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:12px}.lab[data-v-053eeaae]{display:block;font-size:11px;color:#94a3b8;margin-bottom:4px}.val[data-v-053eeaae]{font-size:14px;font-weight:700;color:#0f172a}.val.muted[data-v-053eeaae],.muted[data-v-053eeaae]{color:#94a3b8;font-weight:500}.field[data-v-053eeaae]{display:grid;gap:6px}.input[data-v-053eeaae]{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:13px;background:#fff}.input[data-v-053eeaae]:disabled{background:#f8fafc;color:#64748b}.lines-card[data-v-053eeaae]{padding:14px 14px 12px}.sec-head[data-v-053eeaae]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.sec-head h3[data-v-053eeaae]{margin:0;font-size:15px;color:#0f172a}.hint[data-v-053eeaae]{font-size:12px;color:#94a3b8}.btn[data-v-053eeaae]{padding:8px 14px;border-radius:10px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px}.btn[data-v-053eeaae]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-053eeaae]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600}.btn.danger[data-v-053eeaae]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.link[data-v-053eeaae]{border:none;background:none;color:#2563eb;cursor:pointer;font-weight:700;padding:0;font-size:14px}.empty[data-v-053eeaae]{padding:48px 16px;text-align:center;color:#9ca3af}.empty.sm[data-v-053eeaae]{padding:24px}.table-wrap[data-v-053eeaae]{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.table[data-v-053eeaae]{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.budget.warn[data-v-053eeaae]{border-color:#fecaca;background:#fffbeb}.warn-text[data-v-053eeaae],.val.danger[data-v-053eeaae]{color:#b91c1c}.val .thin[data-v-053eeaae]{font-weight:500;font-size:12px}.lines-table[data-v-053eeaae]{min-width:1080px}.lines-table .c-exp[data-v-053eeaae]{width:36px}.lines-table .c-code[data-v-053eeaae]{width:100px}.lines-table .c-name[data-v-053eeaae]{width:18%}.lines-table .c-spec[data-v-053eeaae]{width:16%}.lines-table .c-qty[data-v-053eeaae]{width:56px}.lines-table .c-qprice[data-v-053eeaae]{width:96px}.lines-table .c-price[data-v-053eeaae]{width:100px}.lines-table .c-amount[data-v-053eeaae]{width:110px}.lines-table .c-remark[data-v-053eeaae]{width:100px}.exp-cell[data-v-053eeaae]{text-align:center;padding-left:6px!important;padding-right:6px!important}.exp-btn[data-v-053eeaae]{border:none;background:#f1f5f9;width:26px;height:26px;border-radius:8px;cursor:pointer;color:#334155;font-size:12px}.exp-btn[data-v-053eeaae]:hover{background:#e2e8f0}.det-badge[data-v-053eeaae]{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:600;background:#eff6ff;color:#1d4ed8}.detail-row td.detail-wrap[data-v-053eeaae]{background:#f8fafc;padding:12px 14px 14px!important;border-bottom:1px solid #e2e8f0}.detail-head[data-v-053eeaae]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.detail-head strong[data-v-053eeaae]{font-size:13px;color:#0f172a}.detail-empty[data-v-053eeaae]{font-size:12px;color:#94a3b8;padding:6px 0 4px}.detail-table[data-v-053eeaae]{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.detail-table th[data-v-053eeaae],.detail-table td[data-v-053eeaae]{padding:8px 10px;border-bottom:1px solid #f1f5f9}.detail-table th[data-v-053eeaae]{background:#f1f5f9;color:#64748b;font-weight:600}.detail-table tfoot td[data-v-053eeaae]{background:#f8fafc;font-weight:700;border-bottom:none}.sum-amt[data-v-053eeaae]{color:#0f172a;font-weight:700}.chip-sub[data-v-053eeaae]{margin-left:6px;color:#64748b;font-weight:500}.compare-card .sq-block[data-v-053eeaae]{margin-top:14px}.table-wrap.sm[data-v-053eeaae]{margin-top:8px}.table th[data-v-053eeaae],.table td[data-v-053eeaae]{padding:10px 12px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:middle;box-sizing:border-box}.table th[data-v-053eeaae]{background:#f8fafc;color:#64748b;font-weight:600;white-space:nowrap}.table tbody tr:last-child td[data-v-053eeaae]{border-bottom:none}.table .num[data-v-053eeaae],.table th.num[data-v-053eeaae],.table td.num[data-v-053eeaae]{text-align:right;font-variant-numeric:tabular-nums}.money-cell[data-v-053eeaae]{text-align:right;padding-left:8px;padding-right:12px}.money-input[data-v-053eeaae]{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px;background:#fff}.money-input[data-v-053eeaae]:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1f}.remark-cell[data-v-053eeaae]{padding-right:12px}.remark-input[data-v-053eeaae]{display:block;width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff}.remark-input[data-v-053eeaae]:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1f}.lines-table .code[data-v-053eeaae]{white-space:nowrap;font-size:12px;color:#0f172a}.lines-table .name[data-v-053eeaae]{font-weight:600;color:#0f172a;word-break:break-word;line-height:1.4}.lines-table .spec[data-v-053eeaae]{word-break:break-word;line-height:1.4;font-size:12px}.lines-table .qty[data-v-053eeaae]{font-weight:600}.lines-table tfoot td[data-v-053eeaae]{background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:none;padding:12px;font-weight:700;color:#0f172a}.lines-table .foot-lab[data-v-053eeaae]{text-align:right;color:#64748b;font-weight:600}.mono[data-v-053eeaae]{font-variant-numeric:tabular-nums;font-weight:600}.badge[data-v-053eeaae]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#64748b}.badge.open[data-v-053eeaae]{background:#dbeafe;color:#1d4ed8}.badge.pending_approval[data-v-053eeaae]{background:#ffedd5;color:#c2410c}.badge.awaiting_contract[data-v-053eeaae]{background:#fef9c3;color:#a16207}.badge.completed[data-v-053eeaae]{background:#dcfce7;color:#15803d}.badge.cancelled[data-v-053eeaae]{background:#f1f5f9;color:#64748b}.contract-box[data-v-053eeaae]{margin-top:14px;padding-top:12px;border-top:1px solid #f1f5f9}.contract-pick[data-v-053eeaae]{display:flex;gap:8px;align-items:flex-start;margin-top:8px;flex-wrap:wrap}.contract-pick[data-v-053eeaae] .ssc-wrap{flex:1;min-width:220px}.btn.sm[data-v-053eeaae]{padding:4px 10px;font-size:12px}.attach-hint[data-v-053eeaae]{margin:0 0 10px;font-size:13px}.attach-upload-grid[data-v-053eeaae]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.attach-no-invoice[data-v-053eeaae]{margin-bottom:12px}.attach-list[data-v-053eeaae]{list-style:none;margin:0;padding:0}.attach-list li[data-v-053eeaae]{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.attach-kind[data-v-053eeaae]{flex:0 0 48px;color:#64748b;font-size:12px}.attach-name[data-v-053eeaae]{flex:1;text-align:left;word-break:break-all}.danger-link[data-v-053eeaae]{color:#dc2626}.proc-grid[data-v-053eeaae]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;margin-bottom:12px}.field.chk[data-v-053eeaae]{display:flex;align-items:center;gap:6px}.page[data-v-91b4cf19]{padding:24px 0;background:#f5f7fb}.profile-hint[data-v-91b4cf19]{margin:0 0 14px;font-size:13px;line-height:1.55;color:#4b5563}.link-profile[data-v-91b4cf19]{color:#2563eb;font-weight:600;text-decoration:none}.link-profile[data-v-91b4cf19]:hover{text-decoration:underline}.empty[data-v-91b4cf19]{padding:20px 4px;color:#6b7280}.users-toolbar[data-v-91b4cf19]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.users-page-size[data-v-91b4cf19]{display:inline-flex;align-items:center;gap:8px;font-size:13px}.page-size-select[data-v-91b4cf19]{width:auto;min-width:72px;padding:6px 10px;font-size:13px}.pager[data-v-91b4cf19]{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px}.table-wrap[data-v-91b4cf19]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f;overflow:auto}.table[data-v-91b4cf19]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-91b4cf19],.table td[data-v-91b4cf19]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.table th[data-v-91b4cf19]{color:#4b5563;font-weight:600;background:#f3f4f6;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.muted[data-v-91b4cf19]{color:#6b7280}.strong[data-v-91b4cf19]{font-weight:600;color:#111827}.ops[data-v-91b4cf19]{display:flex;gap:8px}.badge[data-v-91b4cf19]{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid #e5e7eb;color:#4b5563;background:#f9fafb}.badge.admin[data-v-91b4cf19],.badge.user[data-v-91b4cf19],.badge.employee[data-v-91b4cf19],.badge.pm[data-v-91b4cf19],.badge.sales[data-v-91b4cf19],.badge.planning[data-v-91b4cf19],.badge.procurement[data-v-91b4cf19]{border-color:#3b82f666;background:#dbeafee6;color:#1d4ed8}.badge.sales[data-v-91b4cf19]{border-color:#0d948873;background:#ccfbf1f2;color:#0f766e}.badge.planning[data-v-91b4cf19]{border-color:#0ea5e973;background:#e0f2fef2;color:#0369a1}.badge.procurement[data-v-91b4cf19]{border-color:#f9731673;background:#ffedd5f2;color:#c2410c}.badge.warn[data-v-91b4cf19]{border-color:#eab30866;color:#92400e;background:#fef3c7f2}.badge.ok[data-v-91b4cf19]{border-color:#22c55e66;color:#15803d;background:#dcfce7f2}.btn[data-v-91b4cf19]{padding:8px 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;text-decoration:none;font-size:13px;transition:all .18s ease}.btn[data-v-91b4cf19]:hover{border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn.primary[data-v-91b4cf19]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.danger[data-v-91b4cf19]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.danger[data-v-91b4cf19]:hover{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.btn.thin[data-v-91b4cf19]{padding:6px 10px;font-size:12px}.modal-mask[data-v-91b4cf19]{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-91b4cf19]{width:520px;max-width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 26px 70px #0f172a40}.modal.wide[data-v-91b4cf19]{width:560px}.hint[data-v-91b4cf19]{margin:0 0 10px;font-size:12px;line-height:1.55;color:#6b7280}.key-box[data-v-91b4cf19]{margin-top:12px;padding:12px;border-radius:14px;border:1px solid rgba(59,130,246,.4);background:#dbeafee6}.key-text[data-v-91b4cf19]{display:block;margin:8px 0;font-size:13px;word-break:break-all;color:#1d4ed8}.qr-img[data-v-91b4cf19]{width:220px;height:220px;border-radius:12px;border:1px solid #e5e7eb;background:#fff}.invite-block[data-v-91b4cf19]{margin-bottom:18px}.invite-title[data-v-91b4cf19]{font-size:13px;font-weight:700;color:#4b5563;margin-bottom:8px}.table-wrap.small[data-v-91b4cf19]{margin-top:0}.modal-head[data-v-91b4cf19]{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-91b4cf19]{color:#0f172a;font-weight:650}.icon[data-v-91b4cf19]{background:transparent;border:none;color:#6b7280;font-size:20px;cursor:pointer}.modal-body[data-v-91b4cf19]{padding:14px;display:grid;gap:10px}.field .label[data-v-91b4cf19]{color:#6b7280;font-size:12px;margin-bottom:6px}.input[data-v-91b4cf19]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:14px;padding:9px 12px;outline:none;font-size:13px;transition:all .18s ease}.input[data-v-91b4cf19]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.modal-foot[data-v-91b4cf19]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb}.users-audit-page.page[data-v-543fc4a7]{padding:14px 0 22px;background:#f5f7fb;min-height:100%}.lead-hint[data-v-543fc4a7]{margin:0 0 10px;font-size:12px;line-height:1.55;color:#4b5563;max-width:820px}.btn[data-v-543fc4a7]{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:13px;cursor:pointer;transition:all .18s ease}.btn[data-v-543fc4a7]:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn[data-v-543fc4a7]:disabled{opacity:.5;cursor:not-allowed}.btn-primary-head[data-v-543fc4a7]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn-primary-head[data-v-543fc4a7]:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8;color:#fff}.btn-ico[data-v-543fc4a7]{font-size:16px;line-height:1}.card[data-v-543fc4a7]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f}.filter-card[data-v-543fc4a7]{padding:10px 12px 12px;margin-bottom:12px}.filter-head[data-v-543fc4a7]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #e5e7eb}.filter-title[data-v-543fc4a7]{font-size:14px;font-weight:600;color:#111827}.chips[data-v-543fc4a7]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-543fc4a7]{height:28px;padding:0 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:12px;cursor:pointer;transition:all .15s ease}.chip[data-v-543fc4a7]:hover{border-color:#3b82f6;color:#1d4ed8}.chip-ghost[data-v-543fc4a7]{background:#f9fafb;color:#6b7280}.filter-grid[data-v-543fc4a7]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px 12px;align-items:end}@media(max-width:960px){.filter-grid[data-v-543fc4a7]{grid-template-columns:1fr 1fr}.field.wide[data-v-543fc4a7]{grid-column:1 / -1}}.field .lbl[data-v-543fc4a7]{display:block;font-size:11px;color:#6b7280;margin-bottom:5px}.inp[data-v-543fc4a7]{width:100%;height:34px;border-radius:999px;padding:0 12px;box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;outline:none;font-size:13px}.inp[data-v-543fc4a7]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.table-card[data-v-543fc4a7]{padding:0;overflow:hidden}.table-head[data-v-543fc4a7]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.table-title[data-v-543fc4a7]{margin:0;font-size:15px;font-weight:600;color:#111827}.loading-dot[data-v-543fc4a7]{font-size:12px;color:#2563eb;animation:pulse-543fc4a7 1.2s ease-in-out infinite}@keyframes pulse-543fc4a7{0%,to{opacity:.55}50%{opacity:1}}.table-scroll[data-v-543fc4a7]{overflow:auto;max-height:min(66vh,720px)}.tbl[data-v-543fc4a7]{width:100%;border-collapse:collapse;min-width:1040px}.tbl th[data-v-543fc4a7],.tbl td[data-v-543fc4a7]{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;vertical-align:top}.tbl th[data-v-543fc4a7]{position:sticky;top:0;z-index:1;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#4b5563;background:#f3f4f6}.col-time[data-v-543fc4a7]{width:158px}.col-user[data-v-543fc4a7]{width:140px}.col-method[data-v-543fc4a7]{width:88px}.col-code[data-v-543fc4a7]{width:80px}.col-ip[data-v-543fc4a7]{width:120px}.col-path[data-v-543fc4a7]{width:200px;max-width:220px}.col-sum[data-v-543fc4a7]{min-width:280px}.data-row[data-v-543fc4a7]{transition:background .12s ease}.data-row:hover td[data-v-543fc4a7]{background:#f8fafc}.data-row td[data-v-543fc4a7]:first-child{box-shadow:inset 3px 0 0 transparent;transition:box-shadow .12s ease}.data-row:hover td[data-v-543fc4a7]:first-child{box-shadow:inset 3px 0 #2563eb}.time-cell[data-v-543fc4a7]{font-size:12px;color:#374151;white-space:nowrap}.sum-cell-main[data-v-543fc4a7]{font-size:12px;line-height:1.5;color:#111827;font-weight:500;white-space:pre-wrap;word-break:break-word;max-width:480px}.user-pill[data-v-543fc4a7]{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;border-radius:10px;background:#f9fafb;border:1px solid #e5e7eb}.user-name[data-v-543fc4a7]{font-size:12px;font-weight:600;color:#111827}.user-id[data-v-543fc4a7]{font-size:11px;color:#6b7280}.method[data-v-543fc4a7]{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:26px;padding:0 8px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;border:1px solid transparent}.method-post[data-v-543fc4a7]{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.method-put[data-v-543fc4a7]{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.method-del[data-v-543fc4a7]{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.method-def[data-v-543fc4a7]{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.status[data-v-543fc4a7]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:26px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.status-2xx[data-v-543fc4a7]{color:#15803d;background:#dcfce7;border:1px solid #86efac}.status-3xx[data-v-543fc4a7]{color:#a16207;background:#fef9c3;border:1px solid #fde047}.status-4xx[data-v-543fc4a7]{color:#b45309;background:#ffedd5;border:1px solid #fdba74}.status-5xx[data-v-543fc4a7]{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.path-cell[data-v-543fc4a7]{font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2563eb}.ip-cell[data-v-543fc4a7]{font-size:12px;color:#6b7280}.mono[data-v-543fc4a7]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.muted[data-v-543fc4a7]{color:#6b7280;font-size:12px}.skeleton-wrap[data-v-543fc4a7]{padding:10px 0}.sk-row[data-v-543fc4a7]{display:flex;gap:10px;align-items:center;margin-bottom:10px}.sk[data-v-543fc4a7]{height:14px;border-radius:6px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:sh-543fc4a7 1.1s ease-in-out infinite}.sk-a[data-v-543fc4a7]{width:140px}.sk-b[data-v-543fc4a7]{flex:1;min-width:120px}.sk-c[data-v-543fc4a7]{width:100px}.sk-d[data-v-543fc4a7]{width:56px}.sk-e[data-v-543fc4a7]{flex:.6;min-width:80px}.sk-f[data-v-543fc4a7]{width:44px}.sk-g[data-v-543fc4a7]{width:100px}@keyframes sh-543fc4a7{0%{background-position:200% 0}to{background-position:-200% 0}}.empty[data-v-543fc4a7]{text-align:center;padding:48px 20px 40px}.empty-ico[data-v-543fc4a7]{font-size:40px;line-height:1;margin-bottom:12px;opacity:.35}.empty-title[data-v-543fc4a7]{font-size:16px;font-weight:600;margin-bottom:8px;color:#111827}.empty-sub[data-v-543fc4a7]{font-size:13px;color:#6b7280;max-width:400px;margin:0 auto;line-height:1.5}.pager[data-v-543fc4a7]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid #e5e7eb;background:#fafafa}.pager-btns[data-v-543fc4a7]{display:flex;gap:10px}.btn-pg[data-v-543fc4a7]{height:38px;padding:0 18px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:13px;cursor:pointer;transition:all .15s ease}.btn-pg[data-v-543fc4a7]:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn-pg-primary[data-v-543fc4a7]{border-color:#2563eb;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn-pg-primary[data-v-543fc4a7]:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8;color:#fff}.btn-pg[data-v-543fc4a7]:disabled{opacity:.45;cursor:not-allowed}.page[data-v-6fb56311]{padding:24px 0;background:#f5f7fb}.muted[data-v-6fb56311]{color:#6b7280;font-size:13px}.small[data-v-6fb56311]{font-size:12px}.empty[data-v-6fb56311]{padding:28px 4px;text-align:center;color:#6b7280;font-size:14px}.card[data-v-6fb56311]{background:#fff;border-radius:18px;border:1px solid #e5e7eb;padding:16px 16px 14px;margin-bottom:18px;box-shadow:0 18px 40px #0f172a0f}.filters-card[data-v-6fb56311]{padding:12px 14px;overflow:visible;position:relative;z-index:30}.filters[data-v-6fb56311]{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:nowrap;min-width:min-content}.filters-left[data-v-6fb56311]{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;flex:1 1 auto;min-width:0}.supplier-search-combo[data-v-6fb56311]{min-width:min(520px,80vw);flex:1}.filters-right[data-v-6fb56311]{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;flex-shrink:0}.filters-right .muted.small[data-v-6fb56311]{white-space:nowrap}.filters-input[data-v-6fb56311]{flex:1 1 200px;min-width:160px;max-width:480px;width:auto}.filters-select[data-v-6fb56311]{width:92px;flex-shrink:0}.table-wrap[data-v-6fb56311]{overflow-x:auto}.table[data-v-6fb56311]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-6fb56311],.table td[data-v-6fb56311]{padding:10px 12px;border-bottom:1px solid #e5e7eb;vertical-align:middle;text-align:left}.table th[data-v-6fb56311]{background:#f3f4f6;color:#4b5563;font-weight:600;font-size:12px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.table td[data-v-6fb56311]{font-size:13px;color:#111827}.strong[data-v-6fb56311]{font-weight:600;color:#111827}.cell-address[data-v-6fb56311]{max-width:280px;vertical-align:top}.address-box[data-v-6fb56311]{border:1px solid #e5e7eb;background:#f9fafb;border-radius:12px;padding:10px 10px 8px}.address-text[data-v-6fb56311]{margin:0;white-space:pre-wrap;word-break:break-word;color:#111827;font-size:12px;line-height:1.45;max-height:2.9em;overflow:hidden}.address-box.expanded .address-text[data-v-6fb56311]{max-height:none}.address-actions[data-v-6fb56311]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.cell-invoice[data-v-6fb56311]{max-width:320px;color:#6b7280}.invoice-box[data-v-6fb56311]{border:1px solid #e5e7eb;background:#f9fafb;border-radius:12px;padding:10px 10px 8px}.invoice-pre[data-v-6fb56311]{margin:0;white-space:pre-wrap;word-break:break-word;color:#111827;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.35;max-height:calc(1.35em * 3);overflow:hidden}.invoice-box.expanded .invoice-pre[data-v-6fb56311]{max-height:none}.invoice-actions[data-v-6fb56311]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn.sm[data-v-6fb56311]{padding:6px 8px;border-radius:10px;font-size:12px}.table-wrap.inner td.ops[data-v-6fb56311]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;white-space:nowrap}.th-ops-main[data-v-6fb56311]{text-align:center}td.ops-main[data-v-6fb56311]{text-align:center;vertical-align:middle}.ops-main .ops-cell[data-v-6fb56311]{display:inline-flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.btn[data-v-6fb56311]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;text-decoration:none;transition:all .18s ease}.btn[data-v-6fb56311]:hover{border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn.primary[data-v-6fb56311]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.primary[data-v-6fb56311]:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8;color:#fff}.btn.danger[data-v-6fb56311]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.danger[data-v-6fb56311]:hover{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.btn.ok[data-v-6fb56311]{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.btn.ok[data-v-6fb56311]:hover{border-color:#86efac;background:#dcfce7}.status-badge[data-v-6fb56311]{display:inline-block;font-size:12px;padding:2px 9px;border-radius:999px;font-weight:600}.status-badge.st-active[data-v-6fb56311]{background:#dcfce7;color:#15803d}.status-badge.st-pending[data-v-6fb56311]{background:#fef3c7;color:#92400e}.status-badge.st-rejected[data-v-6fb56311]{background:#fee2e2;color:#b91c1c}.src-tag[data-v-6fb56311]{margin-left:6px;font-size:11px;color:#6366f1}.reject-reason[data-v-6fb56311]{margin-top:4px;font-size:11px;color:#b91c1c;max-width:160px}.review-log[data-v-6fb56311]{display:flex;flex-direction:column;gap:12px}.review-log-item[data-v-6fb56311]{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#fafbfc}.review-log-head[data-v-6fb56311]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.review-log-comment[data-v-6fb56311]{margin-top:6px;color:#334155;font-size:13px;white-space:pre-wrap}.pay-toolbar[data-v-6fb56311]{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.table-wrap.inner[data-v-6fb56311]{border:1px solid #e5e7eb;border-radius:14px}.bar[data-v-6fb56311]{width:140px;height:9px;border-radius:999px;background:#e5e7eb;overflow:hidden}.bar-in[data-v-6fb56311]{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6)}.badge[data-v-6fb56311]{padding:3px 10px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;font-weight:500}.badge.paid[data-v-6fb56311]{border:1px solid rgba(22,163,74,.3);background:#16a34a14;color:#16a34a}.badge.partial[data-v-6fb56311]{border:1px solid rgba(234,179,8,.35);background:#facc151f;color:#92400e}.badge.unpaid[data-v-6fb56311]{border:1px solid rgba(248,113,113,.45);background:#fee2e2cc;color:#b91c1c}.row-selected[data-v-6fb56311]{background:#eff6ff}.ops[data-v-6fb56311]{white-space:nowrap;display:flex;gap:8px;flex-wrap:wrap}.select[data-v-6fb56311]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:13px;min-width:220px}.select.small[data-v-6fb56311]{min-width:220px}.modal-mask[data-v-6fb56311]{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-6fb56311]{width:520px;max-width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 26px 70px #0f172a40}.pay-modal[data-v-6fb56311]{width:980px}.modal-head[data-v-6fb56311]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-6fb56311]{color:#0f172a;font-weight:650;font-size:16px}.icon[data-v-6fb56311]{background:transparent;border:none;color:#6b7280;font-size:20px;cursor:pointer}.modal-body[data-v-6fb56311]{padding:14px;display:grid;gap:10px;overflow:auto}.field .label[data-v-6fb56311]{color:#6b7280;font-size:12px;margin-bottom:6px}.input[data-v-6fb56311]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px;transition:all .18s ease}.input[data-v-6fb56311]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.filters-left .input.filters-input[data-v-6fb56311]{width:auto}.filters-right .input.filters-select[data-v-6fb56311]{width:92px;min-width:92px}.textarea[data-v-6fb56311]{resize:vertical;min-height:80px}.modal-foot[data-v-6fb56311]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb}.page[data-v-dd23e45f]{padding:24px 0;background:#f5f7fb}.head[data-v-dd23e45f]{margin-bottom:20px}h1[data-v-dd23e45f]{margin:0 0 6px;font-size:26px;color:#111827}p[data-v-dd23e45f]{margin:0;color:#6b7280;font-size:13px}.section[data-v-dd23e45f]{background:#fff;border-radius:12px;margin-bottom:16px;overflow:hidden;border:1px solid #e5e7eb;box-shadow:0 8px 20px #0f172a0f}.section-header[data-v-dd23e45f]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f9fafb}.section-header[data-v-dd23e45f]:hover{background:#eef2ff}.section-header h2[data-v-dd23e45f]{margin:0;font-size:18px;color:#111827}.expand-icon[data-v-dd23e45f]{font-size:12px;color:#9ca3af}.section-body[data-v-dd23e45f]{padding:0 20px 20px;border-top:1px solid #e5e7eb}.section-body .desc[data-v-dd23e45f]{padding-top:14px}.desc[data-v-dd23e45f]{font-size:12px;color:#6b7280;margin-bottom:12px}.form-row[data-v-dd23e45f]{margin-bottom:10px}.form-row label[data-v-dd23e45f]{display:block;font-size:12px;color:#4b5563;margin-bottom:4px}.form-row input[data-v-dd23e45f]{width:100%;max-width:400px;padding:7px 11px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:12px}.form-row input[data-v-dd23e45f]::placeholder{color:#9ca3af}.form-row .select[data-v-dd23e45f]{padding:7px 11px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:12px;min-width:120px}.form-row .textarea[data-v-dd23e45f]{width:100%;max-width:560px;padding:8px 11px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:12px;font-family:monospace;resize:vertical}.form-row .textarea[data-v-dd23e45f]::placeholder{color:#9ca3af}.form-row.actions[data-v-dd23e45f]{margin-top:10px;display:flex;align-items:center;gap:8px}.save-msg[data-v-dd23e45f]{font-size:11px;color:#16a34a}.error-detail[data-v-dd23e45f]{margin-top:14px;padding:14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.error-detail h3[data-v-dd23e45f]{margin:0 0 10px;font-size:13px;color:#b91c1c}.error-detail p[data-v-dd23e45f]{margin:6px 0;font-size:12px;color:#6b7280}.error-detail pre[data-v-dd23e45f]{margin:6px 0;font-size:12px;color:#111827;white-space:pre-wrap;word-break:break-all;background:#f9fafb;border-radius:6px;padding:8px 10px}.btn[data-v-dd23e45f]{padding:6px 14px;border-radius:999px;font-size:12px;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background .15s ease,box-shadow .15s ease,transform .08s ease}.btn[data-v-dd23e45f]:hover:not(:disabled){background:#f3f4f6}.btn.primary[data-v-dd23e45f]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 6px 14px #2563eb59}.btn.primary[data-v-dd23e45f]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 8px 18px #2563eb73}.btn.primary[data-v-dd23e45f]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.message[data-v-dd23e45f]{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:12px}.message.success[data-v-dd23e45f]{background:#dcfce7;color:#166534}.message.error[data-v-dd23e45f]{background:#fee2e2;color:#b91c1c}.message.info[data-v-dd23e45f]{background:#e5e7eb;color:#374151}.result[data-v-dd23e45f]{margin-top:10px;padding:10px;background:#f9fafb;border-radius:8px;overflow-x:auto;border:1px solid #e5e7eb}.result h3[data-v-dd23e45f]{margin:0 0 6px;font-size:12px;color:#111827}.result pre[data-v-dd23e45f]{margin:0;font-size:12px;color:#111827;white-space:pre-wrap;word-break:break-all}.page[data-v-d03a14f6]{padding:24px 0;background:#f5f7fb}.loading-wrap[data-v-d03a14f6]{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#6b7280;font-size:14px}.spinner[data-v-d03a14f6]{width:24px;height:24px;border:2px solid rgba(148,163,184,.5);border-top-color:#2563eb;border-radius:50%;animation:spin-d03a14f6 .8s linear infinite}@keyframes spin-d03a14f6{to{transform:rotate(360deg)}}.empty-card[data-v-d03a14f6]{text-align:center;padding:36px 24px;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;color:#6b7280;box-shadow:0 10px 28px #0f172a0a}.empty-icon[data-v-d03a14f6]{font-size:40px;margin-bottom:8px;opacity:.7}.empty-card p[data-v-d03a14f6]{margin:0 0 4px;color:#111827;font-size:15px}.muted[data-v-d03a14f6]{color:#6b7280;font-size:13px}.card[data-v-d03a14f6]{background:#fff;border-radius:18px;border:1px solid #e5e7eb;padding:0;box-shadow:0 18px 40px #0f172a0f}.builtin-card[data-v-d03a14f6]{margin-bottom:20px;overflow:hidden}.backup-collapse-toggle[data-v-d03a14f6]{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border:none;border-bottom:1px solid #eef2f7;background:linear-gradient(135deg,#f8fafc,#eff6ff);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s ease}.backup-collapse-toggle[data-v-d03a14f6]:hover{background:linear-gradient(135deg,#f1f5f9,#e0f2fe)}.backup-chevron[data-v-d03a14f6]{flex-shrink:0;width:1.25rem;font-size:12px;color:#64748b}.backup-toggle-main[data-v-d03a14f6]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.backup-toggle-title[data-v-d03a14f6]{font-size:16px;font-weight:600;color:#0f172a}.backup-toggle-sub[data-v-d03a14f6]{font-size:12px}.backup-toggle-meta[data-v-d03a14f6]{flex-shrink:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.backup-toggle-cron[data-v-d03a14f6]{font-size:12px;background:#e2e8f0;padding:2px 8px;border-radius:6px}.badge.sm[data-v-d03a14f6]{font-size:11px;padding:2px 8px}.builtin-collapse-body[data-v-d03a14f6]{border-top:none}.builtin-table .col-name[data-v-d03a14f6]{min-width:280px;max-width:420px}.task-name-static[data-v-d03a14f6]{font-weight:600;color:#111827}.builtin-desc[data-v-d03a14f6]{margin:8px 0 0;font-size:12px;line-height:1.5;color:#64748b}.cron-sub[data-v-d03a14f6]{margin-top:4px;font-size:12px}.script-tag[data-v-d03a14f6]{font-size:12px;background:#f1f5f9;padding:2px 6px;border-radius:6px}.dir-tag[data-v-d03a14f6]{font-size:11px;word-break:break-all;background:#f1f5f9;padding:2px 6px;border-radius:6px}.col-dir .bad[data-v-d03a14f6]{color:#dc2626}.script-meta[data-v-d03a14f6]{margin-top:6px;font-size:12px;color:#64748b}.script-meta .ok[data-v-d03a14f6]{color:#059669}.script-meta .bad[data-v-d03a14f6]{color:#dc2626}.backup-settings[data-v-d03a14f6]{padding:16px 18px 20px;border-top:1px solid #eef2f7;background:#fafbfc}.backup-settings-title[data-v-d03a14f6]{margin:0 0 10px;font-size:14px;font-weight:600;color:#0f172a}.backup-hint[data-v-d03a14f6]{margin:0 0 12px;font-size:12px;line-height:1.55}.backup-hint code[data-v-d03a14f6]{font-size:11px;background:#e2e8f0;padding:1px 6px;border-radius:4px}.backup-warn[data-v-d03a14f6]{margin:0 0 12px;padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;color:#9a3412;font-size:13px}.backup-form-grid[data-v-d03a14f6]{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}.bf-row[data-v-d03a14f6]{flex:1 1 220px;min-width:180px}.bf-row-narrow[data-v-d03a14f6]{flex:0 0 140px;min-width:120px}.bf-row-wide[data-v-d03a14f6]{flex:1 1 100%}.bf-row label[data-v-d03a14f6]{display:block;font-size:12px;color:#475569;margin-bottom:6px}.bf-actions[data-v-d03a14f6]{flex:0 0 auto;align-self:flex-end}.backup-no-perm[data-v-d03a14f6]{margin:0;font-size:13px}.table-wrap[data-v-d03a14f6]{overflow-x:auto}.table[data-v-d03a14f6]{width:100%;border-collapse:collapse}.table thead tr[data-v-d03a14f6]{border-bottom:1px solid #e5e7eb}.table th[data-v-d03a14f6],.table td[data-v-d03a14f6]{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}.table th[data-v-d03a14f6]{background:#f3f4f6;color:#4b5563;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.table td[data-v-d03a14f6]{color:#111827;font-size:13px}.table tbody tr[data-v-d03a14f6]:hover{background:#f9fafb}.table tbody tr.row-disabled[data-v-d03a14f6]{opacity:.8}.table tbody tr.row-disabled .badge-off[data-v-d03a14f6]{background:#fee2e2;color:#b91c1c}.table code[data-v-d03a14f6]{font-size:11px;background:#eff6ff;padding:3px 6px;border-radius:999px;color:#1d4ed8;display:inline-block}.col-name[data-v-d03a14f6]{min-width:120px}.task-name[data-v-d03a14f6]{cursor:pointer;text-decoration:underline;text-underline-offset:2px;color:#111827}.task-name[data-v-d03a14f6]:hover{color:#2563eb}.col-type[data-v-d03a14f6]{width:110px;min-width:110px}.col-cron[data-v-d03a14f6]{width:120px;min-width:120px}.col-status[data-v-d03a14f6]{width:82px;min-width:82px;text-align:center}.table td.col-status[data-v-d03a14f6]{text-align:center}.col-time[data-v-d03a14f6]{width:140px;min-width:140px;white-space:nowrap;font-size:12px}.col-result[data-v-d03a14f6]{width:240px;min-width:240px}.col-created[data-v-d03a14f6]{width:140px;min-width:140px;white-space:nowrap;font-size:12px}.col-ops[data-v-d03a14f6]{width:1%;min-width:220px;white-space:nowrap;text-align:center}.table td.col-ops[data-v-d03a14f6]{text-align:center}.result-disabled[data-v-d03a14f6]{color:#9ca3af}.ops[data-v-d03a14f6]{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.badge[data-v-d03a14f6]{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500;display:inline-block}.badge-on[data-v-d03a14f6]{background:#22c55e1f;color:#15803d}.badge-off[data-v-d03a14f6]{background:#f871712e;color:#b91c1c}.result-badge[data-v-d03a14f6]{padding:3px 6px;border-radius:999px;font-size:11px;display:inline-block;white-space:normal;line-height:1.4}.result-none[data-v-d03a14f6]{color:#9ca3af}.result-ok[data-v-d03a14f6]{background:#22c55e1f;color:#15803d}.result-fail[data-v-d03a14f6]{background:#f871712e;color:#b91c1c}.btn[data-v-d03a14f6]{padding:10px 18px;border-radius:999px;font-size:13px;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#111827;transition:all .18s ease}.btn.primary[data-v-d03a14f6]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.primary[data-v-d03a14f6]:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8}.btn.warning[data-v-d03a14f6]{background:#fef3c7;color:#92400e;border-color:#fde68a}.btn.warning[data-v-d03a14f6]:hover{background:#fde68a}.btn-sm[data-v-d03a14f6]{padding:5px 10px;font-size:12px;background:#f9fafb;color:#111827;border:1px solid #d1d5db;border-radius:999px;cursor:pointer;text-align:center}.btn-sm[data-v-d03a14f6]:hover{background:#eff6ff;border-color:#3b82f6}.btn-sm.success[data-v-d03a14f6]{color:#15803d;border-color:#22c55e73;background:#dcfce7cc}.btn-sm.warning[data-v-d03a14f6]{color:#92400e;border-color:#eab30880;background:#fef3c7}.btn-sm.danger[data-v-d03a14f6]{color:#b91c1c;border-color:#f8717180;background:#fee2e2}.modal-mask[data-v-d03a14f6]{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-d03a14f6]{background:#fff;border-radius:18px;padding:22px 22px 18px;min-width:420px;max-width:90vw;border:1px solid #e5e7eb;box-shadow:0 26px 70px #0f172a40}.modal h3[data-v-d03a14f6]{margin:0 0 16px;color:#0f172a;font-size:18px}.confirm-modal .confirm-text[data-v-d03a14f6]{margin:0 0 24px;color:#4b5563;font-size:14px;line-height:1.5}.form-row[data-v-d03a14f6]{margin-bottom:14px}.form-row label[data-v-d03a14f6]{display:block;font-size:13px;color:#4b5563;margin-bottom:6px}.form-row input[data-v-d03a14f6],.form-row .select[data-v-d03a14f6]{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;font-size:13px;outline:none;transition:all .16s ease}.form-row input[data-v-d03a14f6]:focus,.form-row .select[data-v-d03a14f6]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.form-hint[data-v-d03a14f6]{display:block;font-size:12px;color:#6b7280;margin-top:4px}.sync-all-list[data-v-d03a14f6]{max-height:160px;overflow-y:auto;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;font-size:13px}.sync-all-item[data-v-d03a14f6]{padding:4px 0;color:#111827}.sync-all-item .user-id[data-v-d03a14f6]{color:#6b7280;font-size:12px}.sync-all-empty[data-v-d03a14f6]{color:#9ca3af;font-size:13px}.modal-actions[data-v-d03a14f6]{margin-top:18px;display:flex;gap:12px;justify-content:flex-end}.page[data-v-1afd5316]{padding:16px 0 24px;background:#f5f7fb}.page.embedded[data-v-1afd5316]{padding:0;background:transparent}.card[data-v-1afd5316]{background:#fff;border-radius:14px;padding:16px 20px;margin-bottom:20px;box-shadow:0 8px 20px #0f172a0f;border:1px solid #e5e7eb}.remind-head[data-v-1afd5316]{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;cursor:pointer;-webkit-user-select:none;user-select:none}.remind-card.is-collapsed .remind-head[data-v-1afd5316]{margin-bottom:0}.remind-card:not(.is-collapsed) .remind-head[data-v-1afd5316]{margin-bottom:12px}.remind-head-main[data-v-1afd5316]{display:flex;gap:10px;align-items:flex-start;min-width:0}.remind-chevron[data-v-1afd5316]{display:inline-flex;width:18px;margin-top:2px;color:#2563eb;font-size:14px;line-height:1.4;flex-shrink:0}.remind-head-aside[data-v-1afd5316]{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.remind-fold-btn[data-v-1afd5316]{white-space:nowrap;padding:6px 12px;font-size:13px}.remind-card[data-v-1afd5316]{border-color:#93c5fd;background:linear-gradient(180deg,#eff6ff,#fff 48px)}.remind-title[data-v-1afd5316]{margin:0 0 4px;font-size:16px}.remind-desc[data-v-1afd5316]{margin:0;max-width:640px;line-height:1.5}.remind-summary[data-v-1afd5316]{margin:0;font-size:13px;line-height:1.4}.remind-switch[data-v-1afd5316]{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#111827;cursor:pointer}.remind-grid[data-v-1afd5316]{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.field[data-v-1afd5316]{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}.label[data-v-1afd5316]{font-size:13px;color:#374151;font-weight:600}.label-row[data-v-1afd5316]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.input-time[data-v-1afd5316]{max-width:160px;padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.search-input[data-v-1afd5316]{max-width:220px;padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.remind-user-tools[data-v-1afd5316]{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.user-list[data-v-1afd5316]{margin-top:8px;max-height:320px;overflow:auto;border:1px solid #e5e7eb;border-radius:10px;padding:8px;background:#f9fafb}.dept-group+.dept-group[data-v-1afd5316]{margin-top:8px;padding-top:8px;border-top:1px dashed #e5e7eb}.dept-row[data-v-1afd5316]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px;background:#eef2ff;margin-bottom:4px;cursor:pointer}.dept-name[data-v-1afd5316]{color:#1e3a8a;font-weight:600}.dept-meta[data-v-1afd5316]{color:#6b7280;font-size:12px}.dept-toggle[data-v-1afd5316]{margin-left:auto;font-size:12px}.user-row[data-v-1afd5316]{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 28px;border-radius:8px;font-size:13px}.user-row[data-v-1afd5316]:hover{background:#eef2ff}.user-name[data-v-1afd5316]{color:#111827}.user-meta[data-v-1afd5316]{color:#9ca3af;margin-left:auto}.empty-users[data-v-1afd5316]{padding:12px;text-align:center}.remind-actions[data-v-1afd5316]{margin-top:12px}.filters[data-v-1afd5316]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sep[data-v-1afd5316]{color:#6b7280;font-size:13px}.input-date[data-v-1afd5316]{min-width:140px;padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.select[data-v-1afd5316]{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;min-width:140px}.btn.primary[data-v-1afd5316]{background:#2563eb;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer}.btn.link[data-v-1afd5316]{background:none;border:none;color:#2563eb;cursor:pointer;padding:0;font-size:14px}.btn.danger[data-v-1afd5316]{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;padding:8px 14px;border-radius:8px;cursor:pointer}.loading-wrap[data-v-1afd5316]{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px;color:#6b7280}.spinner[data-v-1afd5316]{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin-1afd5316 .8s linear infinite}@keyframes spin-1afd5316{to{transform:rotate(360deg)}}.empty-card[data-v-1afd5316]{text-align:center;padding:48px;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:12px}.empty-icon[data-v-1afd5316]{font-size:48px;margin-bottom:8px}.muted[data-v-1afd5316]{color:#9ca3af;font-size:13px}.table-card[data-v-1afd5316]{padding:0;overflow:hidden}.table-header[data-v-1afd5316]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.export-group[data-v-1afd5316]{display:flex;flex-wrap:wrap;gap:8px}.btn.outline[data-v-1afd5316]{background:#fff;color:#111827;border:1px solid #d1d5db;padding:8px 14px;border-radius:8px;cursor:pointer}.btn.outline[data-v-1afd5316]:hover:not(:disabled){background:#f3f4f6}.btn.outline[data-v-1afd5316]:disabled{opacity:.6;cursor:not-allowed}.table-wrap[data-v-1afd5316]{overflow:auto;max-height:60vh}.table[data-v-1afd5316]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-1afd5316],.table td[data-v-1afd5316]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}.table tr.stripe[data-v-1afd5316]{background:#fafafa}.col-check[data-v-1afd5316]{width:40px;text-align:center}.addr[data-v-1afd5316]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag.ok[data-v-1afd5316]{color:#047857;background:#d1fae5;padding:2px 8px;border-radius:6px;font-size:12px}.tag.bad[data-v-1afd5316]{color:#b91c1c;background:#fee2e2;padding:2px 8px;border-radius:6px;font-size:12px}.tag.punch[data-v-1afd5316]{padding:2px 8px;border-radius:6px;font-size:12px}.tag.punch-in[data-v-1afd5316]{color:#1d4ed8;background:#dbeafe}.tag.punch-out[data-v-1afd5316]{color:#7c3aed;background:#ede9fe}.pagination[data-v-1afd5316]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid #e5e7eb}.btn[data-v-1afd5316]{padding:6px 12px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer}.btn[data-v-1afd5316]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-1afd5316]{position:fixed;inset:0;background:#0f172a73;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}.detail-modal[data-v-1afd5316]{background:#fff;border-radius:14px;max-width:560px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 50px #0003}.modal-head[data-v-1afd5316]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-head h3[data-v-1afd5316]{margin:0;font-size:18px}.modal-close[data-v-1afd5316]{border:none;background:none;font-size:24px;cursor:pointer;line-height:1;color:#6b7280}.modal-body[data-v-1afd5316]{padding:16px 20px 24px}.detail-grid[data-v-1afd5316]{display:flex;flex-direction:column;gap:10px}.detail-row[data-v-1afd5316]{display:grid;grid-template-columns:100px 1fr;gap:8px;font-size:14px}.detail-row.full[data-v-1afd5316]{grid-template-columns:1fr}.detail-row .label[data-v-1afd5316]{color:#6b7280}.detail-row .value.address[data-v-1afd5316]{word-break:break-all}.photo-row .photo-wrap[data-v-1afd5316]{margin-top:8px}.checkin-photo[data-v-1afd5316]{max-width:100%;max-height:360px;border-radius:8px;border:1px solid #e5e7eb}.page[data-v-303f5e4a]{padding:16px 0 24px;background:#f5f7fb}.source-tabs[data-v-303f5e4a]{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.tab-btn[data-v-303f5e4a]{padding:8px 18px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:14px;cursor:pointer}.tab-btn.active[data-v-303f5e4a]{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 4px 12px #2563eb40}.head[data-v-303f5e4a]{margin-bottom:24px}h1[data-v-303f5e4a]{margin:0 0 6px;font-size:26px;color:#111827}p[data-v-303f5e4a]{margin:0;color:#6b7280;font-size:14px}.card[data-v-303f5e4a]{background:#fff;border-radius:14px;padding:16px 20px;margin-bottom:20px;box-shadow:0 8px 20px #0f172a0f;border:1px solid #e5e7eb}.filters-card[data-v-303f5e4a]{padding:16px 20px}.filters[data-v-303f5e4a]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.input[data-v-303f5e4a],.select[data-v-303f5e4a]{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;background-color:#fff;color:#111827;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.input[data-v-303f5e4a]:focus,.select[data-v-303f5e4a]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.input[data-v-303f5e4a]{min-width:200px}.select[data-v-303f5e4a]{min-width:130px}.banner[data-v-303f5e4a]{padding:12px 16px;background:#fef2f2;color:#b91c1c;border-radius:8px;margin-bottom:16px;border:1px solid #fecaca}.loading-wrap[data-v-303f5e4a]{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#6b7280;font-size:14px}.spinner[data-v-303f5e4a]{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin-303f5e4a .8s linear infinite}@keyframes spin-303f5e4a{to{transform:rotate(360deg)}}.empty-card[data-v-303f5e4a]{text-align:center;padding:48px 24px;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:12px}.empty-icon[data-v-303f5e4a]{font-size:48px;margin-bottom:12px;opacity:.6}.empty-card p[data-v-303f5e4a]{margin:0 0 6px;color:#374151;font-size:15px}.muted[data-v-303f5e4a]{color:#9ca3af;font-size:13px}.table-card[data-v-303f5e4a]{padding:0;overflow:hidden}.table-header[data-v-303f5e4a]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.btn.danger[data-v-303f5e4a]{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.btn.danger[data-v-303f5e4a]:hover:not(:disabled){background:#fecaca}.col-check[data-v-303f5e4a]{width:44px;text-align:center}.col-check input[type=checkbox][data-v-303f5e4a]{cursor:pointer;accent-color:#3b82f6}.table-wrap[data-v-303f5e4a]{overflow-x:auto;max-height:60vh;overflow-y:auto}.table[data-v-303f5e4a]{width:100%;border-collapse:collapse}.table th[data-v-303f5e4a],.table td[data-v-303f5e4a]{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.table th[data-v-303f5e4a]{color:#6b7280;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background-color:#f3f4f6}.table td[data-v-303f5e4a]{color:#111827;font-size:14px}.table tbody tr[data-v-303f5e4a]:hover{background:#f9fafb}.table tbody tr.stripe[data-v-303f5e4a]{background:#fefefe}.table tbody tr.stripe[data-v-303f5e4a]:hover{background:#f3f4f6}.table tbody tr.row-clickable[data-v-303f5e4a]{cursor:pointer}.col-name[data-v-303f5e4a]{min-width:80px}.col-type[data-v-303f5e4a]{min-width:90px}.col-time[data-v-303f5e4a]{min-width:150px}.col-date[data-v-303f5e4a]{min-width:100px}.col-result[data-v-303f5e4a]{min-width:90px}.col-address[data-v-303f5e4a]{min-width:180px;max-width:220px}.col-remark[data-v-303f5e4a]{min-width:120px;max-width:180px}.col-acc[data-v-303f5e4a]{min-width:70px}.table .col-address[data-v-303f5e4a]{white-space:normal;word-break:break-word;max-width:220px}.table .col-remark[data-v-303f5e4a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-cell[data-v-303f5e4a]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-303f5e4a]{font-weight:500;color:#111827}.user-id[data-v-303f5e4a]{font-size:12px;color:#9ca3af}.badge[data-v-303f5e4a]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500}.badge-dot[data-v-303f5e4a]{width:6px;height:6px;border-radius:50%}.badge-in[data-v-303f5e4a]{background:#dcfce7;color:#15803d}.badge-in .badge-dot[data-v-303f5e4a]{background:#16a34a}.badge-out[data-v-303f5e4a]{background:#dbeafe;color:#1d4ed8}.badge-out .badge-dot[data-v-303f5e4a]{background:#3b82f6}.result-tag[data-v-303f5e4a]{padding:2px 8px;border-radius:999px;font-size:12px}.result-tag.ok[data-v-303f5e4a]{background:#e0f2fe;color:#0369a1}.result-tag.warn[data-v-303f5e4a]{background:#fef3c7;color:#92400e}.btn[data-v-303f5e4a]{padding:8px 16px;border-radius:999px;font-size:14px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .08s ease;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#fff;color:#111827}.btn.primary[data-v-303f5e4a]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 6px 14px #2563eb59}.btn.primary[data-v-303f5e4a]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 8px 18px #2563eb73}.btn.outline[data-v-303f5e4a]{background:#fff;color:#111827;border-color:#d1d5db}.btn.outline[data-v-303f5e4a]:hover:not(:disabled){background:#f3f4f6}.btn[data-v-303f5e4a]:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 8px #0f172a3d}.btn[data-v-303f5e4a]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.modal-overlay[data-v-303f5e4a]{position:fixed;inset:0;background:#0f172a52;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-303f5e4a]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;min-width:420px;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 45px #0f172a38}.modal-head[data-v-303f5e4a]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-head h3[data-v-303f5e4a]{margin:0;font-size:18px;color:#111827}.modal-close[data-v-303f5e4a]{background:none;border:none;color:#6b7280;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.modal-close[data-v-303f5e4a]:hover{color:#1f2937}.modal-body[data-v-303f5e4a]{padding:20px;overflow-y:auto;background:#fff}.detail-grid[data-v-303f5e4a]{display:flex;flex-direction:column;gap:12px}.detail-row[data-v-303f5e4a]{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:start}.detail-row.full[data-v-303f5e4a]{grid-template-columns:90px 1fr}.detail-row .label[data-v-303f5e4a]{color:#6b7280;font-size:13px}.detail-row .value[data-v-303f5e4a]{color:#111827;font-size:14px}.detail-row .value.address[data-v-303f5e4a]{word-break:break-all;white-space:normal}.detail-row .value.link[data-v-303f5e4a]{color:#2563eb;text-decoration:none}.detail-row .value.link[data-v-303f5e4a]:hover{text-decoration:underline}.pagination[data-v-303f5e4a]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:13px;background:#f9fafb}.page-size-select[data-v-303f5e4a]{min-width:100px}.pagination-info[data-v-303f5e4a]{white-space:nowrap}.page[data-v-6dfb1caa]{padding:4px 2px 28px}.toolbar[data-v-6dfb1caa]{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 12px;padding:10px 12px;border:1px solid #e8eaed;border-radius:8px;background:#fff}.f-item[data-v-6dfb1caa]{display:grid;gap:4px}.f-lab[data-v-6dfb1caa]{font-size:11px;color:#8f959e;font-weight:600}.input[data-v-6dfb1caa]{height:32px;padding:0 10px;border:1px solid #dee0e3;border-radius:6px;font-size:13px}.btn[data-v-6dfb1caa]{height:32px;padding:0 14px;border-radius:6px;border:1px solid #dee0e3;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-6dfb1caa]{background:#3370ff;border-color:#3370ff;color:#fff;font-weight:600}.btn[data-v-6dfb1caa]:disabled{opacity:.55;cursor:not-allowed}.hint.warn[data-v-6dfb1caa]{font-size:12px;color:#c2410c;align-self:center;max-width:420px;line-height:1.4}.summary[data-v-6dfb1caa]{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 12px;padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e8eaed}.s-item .lab[data-v-6dfb1caa]{display:block;font-size:11px;color:#94a3b8}.s-item strong[data-v-6dfb1caa]{font-size:14px;color:#0f172a}.sec-title[data-v-6dfb1caa]{margin:20px 0 10px;font-size:14px;color:#1f2329}.empty[data-v-6dfb1caa]{padding:36px 16px;text-align:center;color:#9ca3af}.empty.small[data-v-6dfb1caa]{padding:16px}.table-wrap[data-v-6dfb1caa]{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.table[data-v-6dfb1caa]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-6dfb1caa],.table td[data-v-6dfb1caa]{padding:10px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.table th[data-v-6dfb1caa]{background:#f8fafc;color:#64748b;font-weight:600}.table .num[data-v-6dfb1caa]{text-align:right;font-variant-numeric:tabular-nums}.table .chk[data-v-6dfb1caa]{width:36px;text-align:center}.table tr.clickable[data-v-6dfb1caa]{cursor:pointer}.table tr.clickable:hover td[data-v-6dfb1caa]{background:#f8fafc}.table tr.muted-row td[data-v-6dfb1caa]{color:#94a3b8}.exp[data-v-6dfb1caa]{width:24px;color:#94a3b8}.detail-row td[data-v-6dfb1caa]{background:#fafbfc;padding:8px 12px 12px}.inner[data-v-6dfb1caa]{width:100%;border-collapse:collapse;font-size:12px}.inner th[data-v-6dfb1caa],.inner td[data-v-6dfb1caa]{padding:6px 8px;border-bottom:1px solid #eef2f7}.muted[data-v-6dfb1caa]{color:#94a3b8}.mono[data-v-6dfb1caa]{font-weight:600}.danger[data-v-6dfb1caa]{color:#b91c1c;font-weight:600}.badge[data-v-6dfb1caa]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#64748b}.badge.warn[data-v-6dfb1caa]{background:#ffedd5;color:#c2410c}.badge.pending_admin[data-v-6dfb1caa]{background:#dbeafe;color:#1d4ed8}.badge.confirmed[data-v-6dfb1caa]{background:#dcfce7;color:#15803d}.badge.rejected[data-v-6dfb1caa]{background:#fee2e2;color:#b91c1c}.page[data-v-8c843534]{padding:4px 2px 28px}.toolbar[data-v-8c843534]{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 12px;padding:10px 12px;border:1px solid #e8eaed;border-radius:8px;background:#fff}.f-item[data-v-8c843534]{display:grid;gap:4px}.f-item.grow[data-v-8c843534]{flex:1;min-width:180px}.f-lab[data-v-8c843534]{font-size:11px;color:#8f959e;font-weight:600}.select[data-v-8c843534],.input[data-v-8c843534]{height:32px;padding:0 10px;border:1px solid #dee0e3;border-radius:6px;font-size:13px;background:#fff}.input.sm[data-v-8c843534]{width:88px;height:28px}.btn[data-v-8c843534]{height:32px;padding:0 14px;border-radius:6px;border:1px solid #dee0e3;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-8c843534]{background:#3370ff;border-color:#3370ff;color:#fff;font-weight:600}.btn.outline[data-v-8c843534]{background:#fff;border-color:#c9cdd4;color:#1f2329}.btn.outline[data-v-8c843534]:hover:not(:disabled){border-color:#3370ff;color:#3370ff}.btn.danger[data-v-8c843534]{border-color:#dc2626;color:#fff;background:#dc2626}.btn.danger[data-v-8c843534]:hover:not(:disabled){background:#b91c1c}.btn[data-v-8c843534]:disabled{opacity:.55;cursor:not-allowed}.detail-head[data-v-8c843534]{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.detail-head .meta[data-v-8c843534]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1}.actions[data-v-8c843534]{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reject-reason-input[data-v-8c843534]{width:min(220px,40vw);height:32px}.table .chk[data-v-8c843534]{width:36px;text-align:center}.table tr.selected td[data-v-8c843534]{background:#eff6ff}.empty[data-v-8c843534]{padding:36px 16px;text-align:center;color:#9ca3af}.empty-hint[data-v-8c843534]{margin:8px 0 0;font-size:12px;color:#cbd5e1}.table-meta[data-v-8c843534]{padding:8px 12px 0;font-size:12px}.detail-filter[data-v-8c843534]{margin-bottom:12px}.filter-count[data-v-8c843534]{font-size:12px;padding-bottom:6px;align-self:flex-end}.input[type=month][data-v-8c843534]{min-width:150px}.table-wrap[data-v-8c843534]{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.table[data-v-8c843534]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-8c843534],.table td[data-v-8c843534]{padding:10px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.table th[data-v-8c843534]{background:#f8fafc;color:#64748b;font-weight:600}.table .num[data-v-8c843534]{text-align:right;font-variant-numeric:tabular-nums}.table tr.clickable[data-v-8c843534]{cursor:pointer}.table tr.clickable:hover td[data-v-8c843534]{background:#f8fafc}.exp[data-v-8c843534]{width:24px;color:#94a3b8}.detail-row td[data-v-8c843534]{background:#fafbfc;padding:8px 12px 12px}.inner[data-v-8c843534]{width:100%;border-collapse:collapse;font-size:12px}.inner th[data-v-8c843534],.inner td[data-v-8c843534]{padding:6px 8px;border-bottom:1px solid #eef2f7}.edit-bar[data-v-8c843534]{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:10px}.proj-line[data-v-8c843534]{margin-top:8px;font-size:12px}.hint[data-v-8c843534]{margin-top:12px;font-size:13px}.hint.warn[data-v-8c843534]{color:#c2410c}.hint.ok[data-v-8c843534]{color:#15803d}.muted[data-v-8c843534]{color:#94a3b8}.small[data-v-8c843534]{font-size:12px}.mono[data-v-8c843534]{font-weight:600}.danger[data-v-8c843534]{color:#b91c1c;font-weight:600}.badge[data-v-8c843534]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#64748b}.badge.warn[data-v-8c843534]{background:#ffedd5;color:#c2410c}.badge.pending_admin[data-v-8c843534]{background:#dbeafe;color:#1d4ed8}.badge.confirmed[data-v-8c843534]{background:#dcfce7;color:#15803d}.badge.rejected[data-v-8c843534]{background:#fee2e2;color:#b91c1c}.page[data-v-24ac3f2b]{display:flex;flex-direction:column;gap:1rem}.card[data-v-24ac3f2b]{background:var(--card-bg, #fff);border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000f}.filters[data-v-24ac3f2b]{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.fld[data-v-24ac3f2b]{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem}.fld select[data-v-24ac3f2b]{min-width:160px;padding:.4rem .5rem}.tbl[data-v-24ac3f2b]{width:100%;border-collapse:collapse;font-size:.875rem}.tbl th[data-v-24ac3f2b],.tbl td[data-v-24ac3f2b]{padding:.55rem .5rem;border-bottom:1px solid #eee;text-align:left}.tbl tr.click[data-v-24ac3f2b]{cursor:pointer}.tbl tr.click[data-v-24ac3f2b]:hover{background:#f8fafc}.empty[data-v-24ac3f2b]{padding:2rem;text-align:center;color:#64748b}.muted[data-v-24ac3f2b]{color:#64748b}.badge[data-v-24ac3f2b]{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.75rem;background:#e2e8f0}.badge.open[data-v-24ac3f2b]{background:#dbeafe;color:#1d4ed8}.badge.pending_approval[data-v-24ac3f2b]{background:#fef3c7;color:#b45309}.badge.awaiting_contract[data-v-24ac3f2b],.badge.awaiting_finance[data-v-24ac3f2b]{background:#ffedd5;color:#c2410c}.badge.completed[data-v-24ac3f2b]{background:#dcfce7;color:#15803d}.badge.cancelled[data-v-24ac3f2b]{background:#f1f5f9;color:#64748b}.attach-panel[data-v-54545959]{display:flex;flex-direction:column;gap:0}.hint[data-v-54545959]{margin:0 0 10px;font-size:13px;color:#64748b;line-height:1.45}.upload-grid[data-v-54545959]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.no-invoice[data-v-54545959]{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.chk[data-v-54545959]{display:flex;align-items:center;gap:6px;font-size:14px}.input[data-v-54545959]{padding:.45rem .5rem;border:1px solid #cbd5e1;border-radius:6px;font-size:14px}.attach-list[data-v-54545959]{list-style:none;margin:0;padding:0}.attach-list li[data-v-54545959]{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.kind[data-v-54545959]{flex:0 0 48px;color:#64748b;font-size:12px}.name[data-v-54545959]{flex:1;text-align:left;word-break:break-all;background:none;border:none;color:#2563eb;cursor:pointer;padding:0;font-size:13px}.link.danger[data-v-54545959]{color:#dc2626;background:none;border:none;cursor:pointer;font-size:13px}.muted.sm[data-v-54545959]{font-size:13px;color:#94a3b8}.page[data-v-7b47874c]{display:flex;flex-direction:column;gap:1rem}.card[data-v-7b47874c]{background:#fff;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000f}.sec-title[data-v-7b47874c]{margin:0 0 .75rem;font-size:1rem}.sec-head[data-v-7b47874c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.grid[data-v-7b47874c]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem}.span2[data-v-7b47874c]{grid-column:span 2}.fld[data-v-7b47874c]{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem}.fld input[data-v-7b47874c],.fld select[data-v-7b47874c]{padding:.45rem .5rem;border:1px solid #cbd5e1;border-radius:6px}.fld.chk[data-v-7b47874c]{flex-direction:row;align-items:center;padding-top:1.5rem}.tbl[data-v-7b47874c]{width:100%;border-collapse:collapse;font-size:.875rem}.tbl th[data-v-7b47874c],.tbl td[data-v-7b47874c]{padding:.45rem .35rem;border-bottom:1px solid #eee;text-align:left}.tbl input[data-v-7b47874c]{width:100%;padding:.35rem .4rem;border:1px solid #cbd5e1;border-radius:4px}.link[data-v-7b47874c]{background:none;border:none;color:#2563eb;cursor:pointer}.btn.sm[data-v-7b47874c]{font-size:.8125rem;padding:.25rem .6rem}.muted-box[data-v-7b47874c]{color:#64748b;font-size:.875rem}.muted-box p[data-v-7b47874c]{margin:0;line-height:1.5}.page[data-v-50dc6513]{display:flex;flex-direction:column;gap:1rem}.card[data-v-50dc6513]{background:#fff;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000f}.sec-title[data-v-50dc6513]{margin:0 0 .75rem;font-size:1rem}.meta[data-v-50dc6513]{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem 1rem;font-size:.875rem}.span2[data-v-50dc6513]{grid-column:span 2}.lab[data-v-50dc6513]{display:block;color:#64748b;font-size:.75rem;margin-bottom:.15rem}.val[data-v-50dc6513]{color:#1e293b}.tag-urgent[data-v-50dc6513]{display:inline-block;padding:2px 8px;background:#fef2f2;color:#b91c1c;border-radius:4px;font-size:12px}.tbl[data-v-50dc6513]{width:100%;border-collapse:collapse;font-size:.875rem}.tbl th[data-v-50dc6513],.tbl td[data-v-50dc6513]{padding:.45rem .35rem;border-bottom:1px solid #eee;text-align:left}.muted[data-v-50dc6513]{color:#94a3b8;font-size:.875rem}.page[data-v-48ce8e8f]{padding:24px 0;background:#f5f7fb}.head[data-v-48ce8e8f]{margin-bottom:14px;border-radius:18px;padding:16px 16px 14px;border:1px solid #e5e7eb;background:radial-gradient(900px 220px at 10% 0%,rgba(129,140,248,.18),transparent 60%),radial-gradient(900px 240px at 90% 30%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 18px 40px #94a3b873}.head-left[data-v-48ce8e8f]{display:grid;gap:8px}.head-title[data-v-48ce8e8f]{margin:0;font-size:22px;font-weight:900;letter-spacing:-.02em;color:#111827}.head-sub[data-v-48ce8e8f]{margin:0;color:#6b7280;font-size:13px}.head-tags[data-v-48ce8e8f]{display:flex;gap:8px;flex-wrap:wrap}.chip[data-v-48ce8e8f]{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;border:1px solid #e5e7eb;background:#f3f4f6;color:#374151;font-size:12px;font-weight:700}.chip-warn[data-v-48ce8e8f]{border-color:#facc15;background:#fef9c3;color:#854d0e}.chip-ok[data-v-48ce8e8f]{border-color:#4ade80;background:#dcfce7;color:#166534}.banner[data-v-48ce8e8f]{padding:12px 16px;background:#fef2f2;color:#b91c1c;border-radius:8px;margin-bottom:16px;border:1px solid #fecaca}.banner-info[data-v-48ce8e8f]{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.toolbar[data-v-48ce8e8f]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar-left[data-v-48ce8e8f]{display:flex;align-items:center;gap:12px}.toolbar-right[data-v-48ce8e8f]{display:flex;align-items:center;gap:12px;margin-left:auto}.filter-combo[data-v-48ce8e8f]{min-width:min(420px,78vw)}.card[data-v-48ce8e8f]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0f172a14}.table-card[data-v-48ce8e8f]{padding:0}.table-wrap[data-v-48ce8e8f]{overflow-x:auto}.table[data-v-48ce8e8f]{width:100%;border-collapse:collapse}.table th[data-v-48ce8e8f],.table td[data-v-48ce8e8f]{padding:12px 14px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}.table th[data-v-48ce8e8f]{color:#6b7280;font-weight:600;font-size:12px;background-color:#f3f4f6}.table td[data-v-48ce8e8f]{color:#111827;font-size:14px}.table tbody tr[data-v-48ce8e8f]:nth-child(2n){background-color:#f9fafb}.table tbody tr[data-v-48ce8e8f]:hover{background-color:#e5f0ff}.col-ops[data-v-48ce8e8f]{white-space:nowrap}.col-check[data-v-48ce8e8f]{width:44px}.col-check input[type=checkbox][data-v-48ce8e8f]{width:16px;height:16px;vertical-align:middle;accent-color:#2563eb}.accent[data-v-48ce8e8f]{color:#2563eb;font-weight:600}.muted[data-v-48ce8e8f]{color:#9ca3af;font-size:13px;line-height:1.4}.small[data-v-48ce8e8f]{font-size:12px}.badge[data-v-48ce8e8f]{padding:4px 10px;border-radius:999px;font-size:12px;line-height:1.4;display:inline-flex;align-items:center}.badge-pending[data-v-48ce8e8f]{background:#fef3c7;color:#92400e}.badge-approved[data-v-48ce8e8f]{background:#dcfce7;color:#166534}.badge-rejected[data-v-48ce8e8f]{background:#fee2e2;color:#b91c1c}.badge-withdrawn[data-v-48ce8e8f]{background:#e5e7eb;color:#4b5563}.badge-admin-deleted[data-v-48ce8e8f]{background:#e5e7eb;color:#6b7280}.btn-sm[data-v-48ce8e8f]{padding:5px 10px;font-size:12px;border-radius:999px;cursor:pointer;border:1px solid}.btn-sm.success[data-v-48ce8e8f]{background:#dcfce7;color:#166534;border-color:#16a34a}.btn-sm.danger[data-v-48ce8e8f]{background:#fee2e2;color:#b91c1c;border-color:#ef4444}.btn-sm.info[data-v-48ce8e8f]{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.btn-sm[data-v-48ce8e8f]:hover{opacity:.9}.hint[data-v-48ce8e8f]{font-size:12px;margin-left:8px}.link[data-v-48ce8e8f]{color:#2563eb;text-decoration:none}.link[data-v-48ce8e8f]:hover{text-decoration:underline}.empty[data-v-48ce8e8f]{padding:40px;text-align:center;color:#9ca3af}.select[data-v-48ce8e8f],.input[data-v-48ce8e8f]{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:14px}.select.small[data-v-48ce8e8f]{min-width:120px}.btn[data-v-48ce8e8f]{padding:10px 18px;border-radius:999px;font-size:14px;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background .15s ease,box-shadow .15s ease,transform .08s ease}.btn.primary[data-v-48ce8e8f]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 6px 14px #2563eb59}.btn.primary[data-v-48ce8e8f]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 8px 18px #2563eb73}.btn.danger[data-v-48ce8e8f]{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.btn.danger[data-v-48ce8e8f]:disabled{opacity:.55;cursor:not-allowed}.modal-mask[data-v-48ce8e8f]{position:fixed;inset:0;background:#0f172a52;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-48ce8e8f]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:420px;max-width:90vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 45px #0f172a52}.submit-modal[data-v-48ce8e8f]{width:min(960px,92vw)}.submit-modal-body[data-v-48ce8e8f]{overflow-y:auto;flex:1;min-height:0}.detail-modal[data-v-48ce8e8f]{min-width:860px}.modal-head[data-v-48ce8e8f]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-head h3[data-v-48ce8e8f]{margin:0;font-size:17px;color:#111827}.modal-close[data-v-48ce8e8f]{background:none;border:none;color:#9ca3af;font-size:22px;cursor:pointer}.modal-close[data-v-48ce8e8f]:hover{color:#111827}.modal-body[data-v-48ce8e8f]{padding:18px;overflow-y:auto;flex:1;min-height:0}.modal-foot[data-v-48ce8e8f]{display:flex;gap:12px;justify-content:flex-end;padding:14px 18px;border-top:1px solid #e5e7eb;background:#f9fafb}.form-row[data-v-48ce8e8f]{margin-bottom:14px}.form-row .label[data-v-48ce8e8f]{display:block;margin-bottom:6px;font-size:13px;color:#4b5563}.form-row .input[data-v-48ce8e8f],.form-row .select[data-v-48ce8e8f]{width:100%}.form-row textarea.input[data-v-48ce8e8f]{min-height:80px;resize:vertical}.row-head[data-v-48ce8e8f]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.details-form-row[data-v-48ce8e8f]{margin-bottom:14px}.details-hint[data-v-48ce8e8f]{margin:0 0 8px}.details-scroll[data-v-48ce8e8f]{max-height:min(42vh,340px);overflow-y:auto;overflow-x:hidden;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}.details[data-v-48ce8e8f]{display:flex;flex-direction:column;gap:10px}.detail-line[data-v-48ce8e8f]{display:grid;grid-template-columns:1.4fr 120px 140px 1fr 70px;gap:10px;align-items:center}@media(max-width:860px){.detail-line[data-v-48ce8e8f]{grid-template-columns:1fr 1fr}.detail-line .btn-sm.danger[data-v-48ce8e8f]{grid-column:1 / -1;justify-self:end}}.input.mini[data-v-48ce8e8f]{padding:10px}.total[data-v-48ce8e8f]{margin-top:10px}.review-meta[data-v-48ce8e8f]{margin-bottom:10px;padding:10px 12px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb;display:grid;gap:4px}.op-user[data-v-48ce8e8f]{margin-top:6px;white-space:nowrap}.detail-table-wrap[data-v-48ce8e8f]{border:1px solid #e5e7eb;border-radius:10px;overflow:auto}.detail-table[data-v-48ce8e8f]{width:100%;border-collapse:collapse;font-size:13px}.detail-table th[data-v-48ce8e8f],.detail-table td[data-v-48ce8e8f]{border-bottom:1px solid #e5e7eb;padding:10px 12px;text-align:left;vertical-align:middle}.detail-table th[data-v-48ce8e8f]{background:#f3f4f6;color:#6b7280;font-weight:600;font-size:12px}.mono[data-v-48ce8e8f]{font-variant-numeric:tabular-nums}.micro[data-v-48ce8e8f]{font-size:11px;margin-top:4px;line-height:1.35}.approval-timeline[data-v-48ce8e8f]{margin:14px 0 12px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.approval-timeline-title[data-v-48ce8e8f]{font-size:13px;font-weight:700;color:#374151;margin-bottom:10px}.approval-timeline-list[data-v-48ce8e8f]{list-style:none;margin:0;padding:0}.approval-timeline-item[data-v-48ce8e8f]{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f3f4f6}.approval-timeline-item[data-v-48ce8e8f]:last-child{border-bottom:none}.approval-timeline-body[data-v-48ce8e8f]{flex:1;min-width:0}.approval-timeline-head[data-v-48ce8e8f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tl-dot[data-v-48ce8e8f]{width:10px;height:10px;border-radius:99px;margin-top:5px;flex-shrink:0}.tl-dot-done[data-v-48ce8e8f]{background:#10b981}.tl-dot-current[data-v-48ce8e8f]{background:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.tl-dot-wait[data-v-48ce8e8f]{background:#d1d5db}.tl-dot-skip[data-v-48ce8e8f]{background:#e5e7eb}.tl-dot-rejected[data-v-48ce8e8f]{background:#ef4444}.pagination[data-v-48ce8e8f]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 16px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:13px}.page-size-select[data-v-48ce8e8f]{min-width:90px}.pagination-info[data-v-48ce8e8f]{white-space:nowrap}.page[data-v-bb4cf715]{padding:24px 0;background:#f5f7fb}.deep-link-card[data-v-bb4cf715]{margin-bottom:14px;padding:14px 16px;border:1px solid #c7d2fe;background:linear-gradient(120deg,#eef2fff2,#fff)}.deep-link-head[data-v-bb4cf715]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.deep-link-meta[data-v-bb4cf715]{line-height:1.6}.deep-link-reason[data-v-bb4cf715]{margin-top:8px;font-size:13px;color:#374151}.head[data-v-bb4cf715]{margin-bottom:14px;border-radius:18px;padding:16px 16px 14px;border:1px solid #e5e7eb;background:radial-gradient(900px 220px at 10% 0%,rgba(129,140,248,.18),transparent 60%),radial-gradient(900px 240px at 90% 30%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 18px 40px #94a3b873;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.head-title[data-v-bb4cf715]{font-size:20px;font-weight:900;color:#111827;letter-spacing:.2px}.head-sub[data-v-bb4cf715]{margin-top:6px;color:#6b7280;font-size:13px;line-height:1.5}.head-tags[data-v-bb4cf715]{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.chip[data-v-bb4cf715]{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid #e5e7eb;color:#374151;background:#f3f4f6}.chip-ok[data-v-bb4cf715]{border-color:#4ade80;background:#dcfce7;color:#166534}.chip-warn[data-v-bb4cf715]{border-color:#facc15;background:#fef9c3;color:#854d0e}.toolbar[data-v-bb4cf715]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 12px}.toolbar-left[data-v-bb4cf715]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-right[data-v-bb4cf715]{display:flex;align-items:center;gap:10px}.muted[data-v-bb4cf715]{color:#6b7280}.small[data-v-bb4cf715]{font-size:12px}.select[data-v-bb4cf715]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827}.select.small[data-v-bb4cf715]{padding:6px 10px;font-size:12px}.btn[data-v-bb4cf715]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .16s ease}.btn.primary[data-v-bb4cf715]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 8px 20px #2563eb40}.btn.danger[data-v-bb4cf715]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.ghost[data-v-bb4cf715]{background:#f9fafb}.btn[data-v-bb4cf715]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.banner[data-v-bb4cf715]{padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:10px;background:#eff6ff;color:#1d4ed8}.banner-info[data-v-bb4cf715]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.empty[data-v-bb4cf715]{padding:16px 6px;color:#6b7280}.card[data-v-bb4cf715]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #0f172a0f}.table-wrap[data-v-bb4cf715]{overflow-x:auto}.table[data-v-bb4cf715]{width:100%;border-collapse:collapse;font-size:13px}.col-check[data-v-bb4cf715]{width:40px;text-align:center;vertical-align:middle}.table th[data-v-bb4cf715],.table td[data-v-bb4cf715]{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}.table th[data-v-bb4cf715]{color:#4b5563;font-weight:600;font-size:12px;background:#f3f4f6}.strong[data-v-bb4cf715]{font-weight:600;color:#111827}.mono[data-v-bb4cf715]{font-variant-numeric:tabular-nums;font-weight:600;color:#111827}.desc[data-v-bb4cf715]{max-width:520px;color:#111827}.row-actions[data-v-bb4cf715]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge[data-v-bb4cf715]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;font-size:12px;color:#ffffffd1}.badge-ok[data-v-bb4cf715]{border-color:#22c55e59;background:#22c55e1f;color:#4ade80}.badge-warn[data-v-bb4cf715]{border-color:#fbbf2459;background:#fbbf241f;color:#fbbf24}.badge-muted[data-v-bb4cf715]{border-color:#94a3b88c;background:#94a3b840;color:#0f172a}.pagination[data-v-bb4cf715]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid rgba(255,255,255,.07)}.pagination-info[data-v-bb4cf715]{color:#ffffffa6;font-size:13px}.page-size-select[data-v-bb4cf715]{padding:6px 10px;font-size:13px}.modal-mask[data-v-bb4cf715]{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a73}.modal[data-v-bb4cf715]{width:min(720px,100%);border-radius:20px;border:1px solid #e5e7eb;background:radial-gradient(680px 220px at 0% 0%,rgba(129,140,248,.15),transparent 60%),radial-gradient(680px 260px at 100% 20%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 26px 80px #0f172a47;padding:20px 22px 16px}.modal-card[data-v-bb4cf715]{width:min(720px,100%);border-radius:20px;border:1px solid #e5e7eb;background:transparent;box-shadow:0 26px 80px #0f172a47;padding:20px 22px 16px;pointer-events:auto}.modal-title[data-v-bb4cf715]{font-weight:700;color:#111827;font-size:18px;margin-bottom:12px}.field[data-v-bb4cf715]{margin-top:10px}.label[data-v-bb4cf715]{color:#6b7280;font-size:12px;margin-bottom:6px}.input[data-v-bb4cf715],.textarea[data-v-bb4cf715]{width:100%;padding:10px 13px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:#111827;outline:none;font-size:13px}.grid2[data-v-bb4cf715]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions[data-v-bb4cf715]{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.shell.light{color:#0f172ab3;border-color:#0f172a1f;background:#ffffff8c}.shell.light{background:#22c55e24}.shell.light{background:#fbbf2429}.shell.light{background:#e2e8f0eb}::global(.shell.dark) .page[data-v-bb4cf715]{background:#020617}::global(.shell.dark) .card[data-v-bb4cf715]{background:#020617;border-color:#94a3b88c;box-shadow:0 18px 40px #000c}::global(.shell.dark) .table th[data-v-bb4cf715]{background:#020617;color:#f8fafcbf;border-bottom-color:#334155e6}::global(.shell.dark) .table td[data-v-bb4cf715]{border-bottom-color:#1e40af80;color:#f8fafceb}::global(.shell.dark) .strong[data-v-bb4cf715],::global(.shell.dark) .mono[data-v-bb4cf715]{color:#f8fafcf5}::global(.shell.dark) .desc[data-v-bb4cf715]{color:#e2e8f0eb}::global(.shell.dark) .muted[data-v-bb4cf715]{color:#94a3b8d9}::global(.shell.dark) .btn[data-v-bb4cf715],::global(.shell.dark) .select[data-v-bb4cf715]{background:#0f172af5;border-color:#94a3b8b3;color:#f8fafcf5}::global(.shell.dark) .btn.primary[data-v-bb4cf715]{background:linear-gradient(135deg,#38bdf8,#2563eb);border-color:#38bdf8}::global(.shell.dark) .btn.danger[data-v-bb4cf715]{background:#f8717140;border-color:#f87171b3;color:#fecaca}::global(.shell.dark) .badge[data-v-bb4cf715]{background:#0f172af5;border-color:#94a3b8b3;color:#f8fafcf2}::global(.shell.dark) .badge-ok[data-v-bb4cf715]{background:#16a34a4d;border-color:#22c55ed9;color:#bbf7d0}::global(.shell.dark) .badge-warn[data-v-bb4cf715]{background:#eab3084d;border-color:#facc15cc;color:#fef9c3}::global(.shell.dark) .pagination-info[data-v-bb4cf715]{color:#94a3b8e6}::global(.shell.dark) .modal-card[data-v-bb4cf715]{background:#0f172afa;border-color:#94a3b8cc}::global(.shell.dark) .input[data-v-bb4cf715],::global(.shell.dark) .textarea[data-v-bb4cf715]{background:#0f172af2;border-color:#94a3b8e6;color:#f8fafcf5}@media(max-width:720px){.grid2[data-v-bb4cf715]{grid-template-columns:1fr}.desc[data-v-bb4cf715]{max-width:320px}}.page[data-v-2e987f7d]{padding:24px 0;background:#f5f7fb}.head[data-v-2e987f7d]{margin-bottom:14px;border-radius:18px;padding:16px 16px 14px;border:1px solid #e5e7eb;background:radial-gradient(900px 220px at 10% 0%,rgba(129,140,248,.18),transparent 60%),radial-gradient(900px 240px at 90% 30%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 18px 40px #94a3b873;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.head-title[data-v-2e987f7d]{font-size:20px;font-weight:900;color:#111827;letter-spacing:.2px}.btn.linkish[data-v-2e987f7d]{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}.toolbar[data-v-2e987f7d]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 12px}.toolbar-left[data-v-2e987f7d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-right[data-v-2e987f7d]{display:flex;align-items:center;gap:10px}.muted[data-v-2e987f7d]{color:#6b7280}.small[data-v-2e987f7d]{font-size:12px}.select[data-v-2e987f7d]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827}.select.small[data-v-2e987f7d]{padding:6px 10px;font-size:12px}.btn[data-v-2e987f7d]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .16s ease}.btn.primary[data-v-2e987f7d]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 8px 20px #2563eb40}.btn.danger[data-v-2e987f7d]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.ghost[data-v-2e987f7d]{background:#f9fafb}.btn[data-v-2e987f7d]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.banner[data-v-2e987f7d]{padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:10px}.banner-info[data-v-2e987f7d]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.empty[data-v-2e987f7d]{padding:16px 6px;color:#6b7280}.card[data-v-2e987f7d]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #0f172a0f}.table-wrap[data-v-2e987f7d]{overflow-x:auto}.table[data-v-2e987f7d]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-2e987f7d],.table td[data-v-2e987f7d]{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}.table th[data-v-2e987f7d]{color:#4b5563;font-weight:600;font-size:12px;background:#f3f4f6}.strong[data-v-2e987f7d]{font-weight:600;color:#111827}.mono[data-v-2e987f7d]{font-variant-numeric:tabular-nums;font-weight:600;color:#111827}.desc[data-v-2e987f7d]{max-width:520px;color:#111827}.row-actions[data-v-2e987f7d]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge[data-v-2e987f7d]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;font-size:12px;color:#ffffffd1}.badge-ok[data-v-2e987f7d]{border-color:#22c55e59;background:#22c55e1f;color:#4ade80}.badge-warn[data-v-2e987f7d]{border-color:#fbbf2459;background:#fbbf241f;color:#fbbf24}.badge-muted[data-v-2e987f7d]{border-color:#94a3b88c;background:#94a3b840;color:#0f172a}.pagination[data-v-2e987f7d]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid rgba(255,255,255,.07)}.pagination-info[data-v-2e987f7d]{color:#ffffffa6;font-size:13px}.page-size-select[data-v-2e987f7d]{padding:6px 10px;font-size:13px}.modal-mask[data-v-2e987f7d]{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a73}.modal[data-v-2e987f7d]{width:min(720px,100%);border-radius:20px;border:1px solid #e5e7eb;background:radial-gradient(680px 220px at 0% 0%,rgba(129,140,248,.15),transparent 60%),radial-gradient(680px 260px at 100% 20%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 26px 80px #0f172a47;padding:20px 22px 16px}.modal-title[data-v-2e987f7d]{font-weight:700;color:#111827;font-size:18px;margin-bottom:12px}.field[data-v-2e987f7d]{margin-top:10px}.label[data-v-2e987f7d]{color:#6b7280;font-size:12px;margin-bottom:6px}.input[data-v-2e987f7d],.textarea[data-v-2e987f7d]{width:100%;padding:10px 13px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:#111827;outline:none;font-size:13px}.grid2[data-v-2e987f7d]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions[data-v-2e987f7d]{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}@media(max-width:720px){.grid2[data-v-2e987f7d]{grid-template-columns:1fr}.desc[data-v-2e987f7d]{max-width:320px}}.page[data-v-28938710]{padding:24px 0;background:#f5f7fb}.head[data-v-28938710]{margin-bottom:14px;border-radius:18px;padding:16px 16px 14px;border:1px solid #e5e7eb;background:radial-gradient(900px 220px at 10% 0%,rgba(129,140,248,.18),transparent 60%),radial-gradient(900px 240px at 90% 30%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 18px 40px #94a3b873;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.head-title[data-v-28938710]{font-size:20px;font-weight:900;color:#111827;letter-spacing:.2px}.btn.linkish[data-v-28938710]{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}.toolbar[data-v-28938710]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 12px}.toolbar-left[data-v-28938710]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-right[data-v-28938710]{display:flex;align-items:center;gap:10px}.muted[data-v-28938710]{color:#6b7280}.small[data-v-28938710]{font-size:12px}.select[data-v-28938710]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827}.select.small[data-v-28938710]{padding:6px 10px;font-size:12px}.btn[data-v-28938710]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .16s ease}.btn.primary[data-v-28938710]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 8px 20px #2563eb40}.btn.danger[data-v-28938710]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.ghost[data-v-28938710]{background:#f9fafb}.btn[data-v-28938710]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.banner[data-v-28938710]{padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:10px}.banner-info[data-v-28938710]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.banner-balance[data-v-28938710]{background:linear-gradient(120deg,#dcfce7e6,#fff);border-color:#86efac;color:#166534;font-size:14px}.banner-balance strong[data-v-28938710]{font-weight:700}.balance-hint[data-v-28938710]{margin-bottom:4px}.empty[data-v-28938710]{padding:16px 6px;color:#6b7280}.card[data-v-28938710]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #0f172a0f}.table-wrap[data-v-28938710]{overflow-x:auto}.table[data-v-28938710]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-28938710],.table td[data-v-28938710]{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}.table th[data-v-28938710]{color:#4b5563;font-weight:600;font-size:12px;background:#f3f4f6}.strong[data-v-28938710]{font-weight:600;color:#111827}.mono[data-v-28938710]{font-variant-numeric:tabular-nums;font-weight:600;color:#111827}.desc[data-v-28938710]{max-width:520px;color:#111827}.row-actions[data-v-28938710]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge[data-v-28938710]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;font-size:12px;color:#ffffffd1}.badge-ok[data-v-28938710]{border-color:#22c55e59;background:#22c55e1f;color:#4ade80}.badge-warn[data-v-28938710]{border-color:#fbbf2459;background:#fbbf241f;color:#fbbf24}.badge-muted[data-v-28938710]{border-color:#94a3b88c;background:#94a3b840;color:#0f172a}.pagination[data-v-28938710]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid rgba(255,255,255,.07)}.pagination-info[data-v-28938710]{color:#ffffffa6;font-size:13px}.page-size-select[data-v-28938710]{padding:6px 10px;font-size:13px}.modal-mask[data-v-28938710]{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a73}.modal[data-v-28938710]{width:min(720px,100%);border-radius:20px;border:1px solid #e5e7eb;background:radial-gradient(680px 220px at 0% 0%,rgba(129,140,248,.15),transparent 60%),radial-gradient(680px 260px at 100% 20%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 26px 80px #0f172a47;padding:20px 22px 16px}.modal-title[data-v-28938710]{font-weight:700;color:#111827;font-size:18px;margin-bottom:12px}.field[data-v-28938710]{margin-top:10px}.label[data-v-28938710]{color:#6b7280;font-size:12px;margin-bottom:6px}.input[data-v-28938710],.textarea[data-v-28938710]{width:100%;padding:10px 13px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:#111827;outline:none;font-size:13px}.grid2[data-v-28938710]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions[data-v-28938710]{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.shell.light{background:#ffffff8c;border-color:#0f172a1f;color:#0f172a}.shell.light{background:#fff9;border-color:#0f172a1f;color:#0f172a}.shell.light{background:#ffffff8c;border-color:#0f172a1a}.shell.light{color:#0f172a8c}.shell.light{border-bottom-color:#0f172a14}.shell.light{color:#0f172acc}.shell.light{background:#ffffffb3;border-color:#0f172a1f;color:#0f172ac7}.shell.light{color:#0f172a99}.shell.light{background:#ffffffbf;border-color:#0f172a1f;color:#0f172a}@media(max-width:720px){.grid2[data-v-28938710]{grid-template-columns:1fr}.desc[data-v-28938710]{max-width:320px}}.page[data-v-b4b5ddfc]{padding:24px 0;background:#f5f7fb}.head[data-v-b4b5ddfc]{margin-bottom:14px;border-radius:18px;padding:16px 16px 14px;border:1px solid #e5e7eb;background:radial-gradient(900px 220px at 10% 0%,rgba(34,211,238,.16),transparent 60%),radial-gradient(900px 240px at 90% 30%,rgba(56,189,248,.14),transparent 55%),#fff;box-shadow:0 18px 40px #94a3b859;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.head-title[data-v-b4b5ddfc]{font-size:20px;font-weight:900;color:#111827}.head-sub[data-v-b4b5ddfc]{margin-top:6px;font-size:13px;color:#64748b}.btn.linkish[data-v-b4b5ddfc]{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}.toolbar[data-v-b4b5ddfc]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 12px}.toolbar-left[data-v-b4b5ddfc],.toolbar-right[data-v-b4b5ddfc]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.muted[data-v-b4b5ddfc]{color:#6b7280}.small[data-v-b4b5ddfc]{font-size:12px}.select[data-v-b4b5ddfc]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827}.select.small[data-v-b4b5ddfc]{padding:6px 10px;font-size:12px}.btn[data-v-b4b5ddfc]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px}.btn.primary[data-v-b4b5ddfc]{background:linear-gradient(135deg,#0891b2,#06b6d4);border-color:#0891b2;color:#fff;font-weight:600}.btn.ghost[data-v-b4b5ddfc]{background:#f9fafb}.btn[data-v-b4b5ddfc]:disabled{opacity:.5;cursor:not-allowed}.banner[data-v-b4b5ddfc]{padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:10px}.banner-info[data-v-b4b5ddfc]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.empty[data-v-b4b5ddfc]{padding:16px 6px;color:#6b7280}.card[data-v-b4b5ddfc]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #0f172a0f}.table-wrap[data-v-b4b5ddfc]{overflow-x:auto}.table[data-v-b4b5ddfc]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-b4b5ddfc],.table td[data-v-b4b5ddfc]{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}.table th[data-v-b4b5ddfc]{color:#4b5563;font-weight:600;font-size:12px;background:#f3f4f6}.strong[data-v-b4b5ddfc]{font-weight:600;color:#111827}.mono[data-v-b4b5ddfc]{font-family:ui-monospace,monospace}.desc[data-v-b4b5ddfc]{max-width:280px;word-break:break-word}.row-actions[data-v-b4b5ddfc]{display:flex;flex-wrap:wrap;gap:6px}.badge[data-v-b4b5ddfc]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.badge-warn[data-v-b4b5ddfc]{background:#fef3c7;color:#92400e}.badge-ok[data-v-b4b5ddfc]{background:#dcfce7;color:#166534}.badge-muted[data-v-b4b5ddfc]{background:#f1f5f9;color:#64748b}.pagination[data-v-b4b5ddfc]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px}.modal-mask[data-v-b4b5ddfc]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal[data-v-b4b5ddfc]{width:min(480px,calc(100vw - 32px));background:#fff;border-radius:16px;padding:20px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-wide[data-v-b4b5ddfc]{width:min(560px,calc(100vw - 32px))}.modal-title[data-v-b4b5ddfc]{font-size:18px;font-weight:800;margin-bottom:14px}.field[data-v-b4b5ddfc]{margin-bottom:14px}.field .label[data-v-b4b5ddfc]{font-size:13px;color:#64748b;margin-bottom:6px}.grid2[data-v-b4b5ddfc]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input[data-v-b4b5ddfc],.textarea[data-v-b4b5ddfc],.select[data-v-b4b5ddfc]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;font-size:14px}.textarea[data-v-b4b5ddfc]{resize:vertical;min-height:88px}.modal-actions[data-v-b4b5ddfc]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.photo-row[data-v-b4b5ddfc]{display:flex;gap:12px;flex-wrap:wrap}.fdz-photo[data-v-b4b5ddfc]{width:220px;min-width:160px}.photo-preview-wrap[data-v-b4b5ddfc]{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.photo-preview[data-v-b4b5ddfc]{width:140px;height:140px;object-fit:cover;border-radius:14px;border:1px solid #e2e8f0}.photo-preview.large[data-v-b4b5ddfc]{width:min(100%,320px);height:auto;max-height:320px}.small-btn[data-v-b4b5ddfc]{padding:4px 10px;font-size:12px}.photo-tip[data-v-b4b5ddfc]{margin-top:8px}.detail-grid[data-v-b4b5ddfc]{display:grid;gap:10px;margin-bottom:14px}.detail-row[data-v-b4b5ddfc]{display:grid;grid-template-columns:88px 1fr;gap:10px;font-size:14px}.detail-k[data-v-b4b5ddfc]{color:#64748b}.photo-detail[data-v-b4b5ddfc]{margin-top:8px}.page[data-v-abe86a92]{padding:24px 0;background:#f5f7fb}.head[data-v-abe86a92]{margin-bottom:14px;border-radius:18px;padding:16px 16px 14px;border:1px solid #e5e7eb;background:radial-gradient(900px 220px at 10% 0%,rgba(129,140,248,.18),transparent 60%),radial-gradient(900px 240px at 90% 30%,rgba(56,189,248,.16),transparent 55%),#fff;box-shadow:0 18px 40px #94a3b873;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.head-title[data-v-abe86a92]{font-size:20px;font-weight:900;color:#111827;letter-spacing:.2px}.tabs[data-v-abe86a92]{display:flex;gap:8px;margin-bottom:12px}.tab[data-v-abe86a92]{padding:8px 16px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;font-size:13px}.tab.active[data-v-abe86a92]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600}.toolbar[data-v-abe86a92]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 12px}.toolbar-left[data-v-abe86a92]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.muted[data-v-abe86a92]{color:#6b7280}.small[data-v-abe86a92]{font-size:12px}.week-input[data-v-abe86a92]{width:150px}.select[data-v-abe86a92],.input[data-v-abe86a92]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;outline:none}.select.small[data-v-abe86a92],.input.small[data-v-abe86a92]{padding:6px 10px;font-size:12px}.btn[data-v-abe86a92]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .16s ease}.btn.small[data-v-abe86a92]{padding:6px 10px;font-size:12px}.btn.primary[data-v-abe86a92]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 8px 20px #2563eb40}.btn.danger[data-v-abe86a92]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.ghost[data-v-abe86a92]{background:#f9fafb}.btn[data-v-abe86a92]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.empty[data-v-abe86a92]{padding:16px 6px;color:#6b7280}.summary-card[data-v-abe86a92]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:0 10px 30px #0f172a0d}.summary-head[data-v-abe86a92]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}.summary-title[data-v-abe86a92]{font-weight:700;color:#111827;font-size:14px}.summary-stats[data-v-abe86a92]{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.stat[data-v-abe86a92]{text-align:center;padding:10px 6px;border-radius:12px;background:#f8fafc;border:1px solid #eef2f7}.stat-num[data-v-abe86a92]{font-size:22px;font-weight:800;color:#111827;font-variant-numeric:tabular-nums}.stat-num.ok[data-v-abe86a92]{color:#15803d}.stat-num.warn[data-v-abe86a92]{color:#b45309}.stat-num.danger[data-v-abe86a92]{color:#b91c1c}.stat-label[data-v-abe86a92]{font-size:12px;color:#6b7280;margin-top:4px}.missing-box[data-v-abe86a92]{margin-top:14px;padding-top:12px;border-top:1px dashed #e5e7eb}.missing-names[data-v-abe86a92]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.missing-tag[data-v-abe86a92]{font-size:12px;color:#b91c1c;font-weight:600}.name-chip[data-v-abe86a92]{font-size:12px;padding:3px 10px;border-radius:999px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}@media(max-width:720px){.summary-stats[data-v-abe86a92]{grid-template-columns:repeat(3,1fr)}}.card[data-v-abe86a92]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #0f172a0f}.table-wrap[data-v-abe86a92]{overflow-x:auto}.table[data-v-abe86a92]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-abe86a92],.table td[data-v-abe86a92]{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:top}.table th[data-v-abe86a92]{color:#4b5563;font-weight:600;font-size:12px;background:#f3f4f6;white-space:nowrap}.mono[data-v-abe86a92]{font-variant-numeric:tabular-nums;font-weight:600;color:#111827}.desc[data-v-abe86a92]{max-width:240px;color:#111827;white-space:pre-wrap}.row-actions[data-v-abe86a92]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.badge[data-v-abe86a92]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;font-size:12px;color:#374151;white-space:nowrap}.badge-ok[data-v-abe86a92]{border-color:#22c55e59;background:#22c55e1f;color:#15803d}.badge-warn[data-v-abe86a92]{border-color:#fbbf2459;background:#fbbf2429;color:#b45309}.badge-muted[data-v-abe86a92]{border-color:#e5e7eb;background:#f3f4f6;color:#6b7280}.pagination[data-v-abe86a92]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid #f1f5f9}.pagination-info[data-v-abe86a92]{color:#6b7280;font-size:13px}.modal-mask[data-v-abe86a92]{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a73}.modal[data-v-abe86a92]{width:min(720px,100%);max-height:88vh;overflow-y:auto;border-radius:20px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 26px 80px #0f172a47;padding:20px 22px 16px}.modal-title[data-v-abe86a92]{font-weight:700;color:#111827;font-size:18px;margin-bottom:12px}.field[data-v-abe86a92]{margin-top:10px}.label[data-v-abe86a92]{color:#6b7280;font-size:12px;margin-bottom:6px}.label-row[data-v-abe86a92]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.textarea[data-v-abe86a92]{width:100%;padding:10px 13px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:#111827;outline:none;font-size:13px;resize:vertical}.proj-row[data-v-abe86a92]{display:grid;grid-template-columns:180px 1fr auto;gap:8px;margin-bottom:8px;align-items:center}.search-input[data-v-abe86a92]{margin-bottom:12px;resize:none}.settings-grid[data-v-abe86a92]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-col[data-v-abe86a92]{display:flex;flex-direction:column}.user-list[data-v-abe86a92]{margin-top:8px;max-height:320px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:12px;padding:6px}.user-row[data-v-abe86a92]{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px}.user-row[data-v-abe86a92]:hover{background:#f3f4f6}.user-name[data-v-abe86a92]{color:#111827;font-weight:500}.user-meta[data-v-abe86a92]{margin-left:auto;color:#9ca3af;font-size:12px}@media(max-width:720px){.settings-grid[data-v-abe86a92]{grid-template-columns:1fr}}.modal-actions[data-v-abe86a92]{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}@media(max-width:720px){.proj-row[data-v-abe86a92]{grid-template-columns:1fr}.desc[data-v-abe86a92]{max-width:160px}}.pb-page[data-v-838cb473]{--pb-ink: #0f172a;--pb-muted: #64748b;--pb-line: #e2e8f0;--pb-soft: #f1f5f9;--pb-teal: #0f766e;--pb-teal-soft: #ccfbf1;--pb-blue: #1e5a8e;padding:12px 4px 28px;background:radial-gradient(900px 280px at 8% -10%,rgba(45,212,191,.14),transparent 55%),radial-gradient(800px 260px at 92% 0%,rgba(30,90,142,.1),transparent 50%),#f4f6f8;min-height:calc(100vh - 80px)}.pb-hero[data-v-838cb473]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;padding:12px 14px;border-radius:12px;border:1px solid rgba(226,232,240,.9);background:linear-gradient(135deg,#fffffff5,#f8fafceb),linear-gradient(120deg,#ecfeff 0%,transparent 40%);box-shadow:0 6px 16px #0f172a0a}.pb-kicker[data-v-838cb473]{margin:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--pb-blue);font-weight:700}.pb-title[data-v-838cb473]{margin:2px 0 0;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--pb-ink);line-height:1.2}.pb-sub[data-v-838cb473]{margin:4px 0 0;font-size:12px;color:var(--pb-muted)}.pb-hero-cta[data-v-838cb473]{flex-shrink:0;padding:6px 12px;font-size:12px}.pb-summary[data-v-838cb473]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.pb-sum-item[data-v-838cb473]{background:#fff;border:1px solid var(--pb-line);border-radius:10px;padding:8px 10px;box-shadow:0 4px 12px #0f172a08}.pb-sum-label[data-v-838cb473]{display:block;font-size:11px;color:var(--pb-muted);margin-bottom:2px}.pb-sum-value[data-v-838cb473]{font-size:16px;font-weight:800;color:var(--pb-ink);font-variant-numeric:tabular-nums}.pb-sum-money[data-v-838cb473]{color:var(--pb-teal)}.pb-sum-filter[data-v-838cb473]{font-size:13px;font-weight:650;color:var(--pb-ink);word-break:break-word}.pb-toolbar[data-v-838cb473]{margin-bottom:10px}.pb-filters[data-v-838cb473]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;background:#fff;border:1px solid var(--pb-line);border-radius:10px}.pb-sep[data-v-838cb473]{padding:0 2px}.muted[data-v-838cb473]{color:#6b7280}.small[data-v-838cb473]{font-size:12px}.filter-date[data-v-838cb473]{width:auto;padding:6px 10px;border-radius:999px;border:1px solid #d1d5db;font-size:12px;background:#fff}.select[data-v-838cb473]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827}.select.small[data-v-838cb473]{padding:6px 10px;font-size:12px}.btn[data-v-838cb473]{padding:5px 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:12px}.btn.primary[data-v-838cb473]{background:linear-gradient(135deg,#0e7490,#14b8a6);border-color:transparent;color:#fff;font-weight:650;box-shadow:0 4px 12px #0f766e33}.btn.ghost[data-v-838cb473]{background:#f8fafc}.btn.small-btn[data-v-838cb473]{padding:3px 8px;font-size:11px}.btn[data-v-838cb473]:disabled{opacity:.5;cursor:not-allowed}.danger-text[data-v-838cb473]{color:#b91c1c}.banner[data-v-838cb473]{padding:8px 10px;border-radius:8px;border:1px solid #e5e7eb;margin-bottom:10px;font-size:12px}.banner-info[data-v-838cb473]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.pb-empty[data-v-838cb473]{text-align:center;padding:36px 16px;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;color:var(--pb-muted)}.pb-empty-ico[data-v-838cb473]{width:40px;height:40px;margin:0 auto 8px;border-radius:10px;display:grid;place-items:center;background:var(--pb-teal-soft);color:var(--pb-teal);font-weight:800;font-size:14px}.pb-empty-title[data-v-838cb473]{margin:0;font-size:14px;font-weight:700;color:var(--pb-ink)}.pb-empty-sub[data-v-838cb473]{margin:6px 0 12px;font-size:12px}.pb-list[data-v-838cb473]{display:flex;flex-direction:column;gap:8px}.pb-card[data-v-838cb473]{display:flex;align-items:stretch;justify-content:space-between;gap:10px;padding:10px 12px 10px 14px;background:#fff;border:1px solid var(--pb-line);border-radius:10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;box-shadow:0 3px 10px #0f172a08;position:relative;overflow:hidden}.pb-card[data-v-838cb473]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#2db8a8,#1e5a8e)}.pb-card[data-v-838cb473]:hover{border-color:#99f6e4;box-shadow:0 6px 16px #0f766e14;transform:translateY(-1px)}.pb-card-main[data-v-838cb473]{flex:1;min-width:0}.pb-card-top[data-v-838cb473]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pb-card-project[data-v-838cb473]{margin:0;font-size:13px;font-weight:700;color:var(--pb-ink);line-height:1.3}.pb-card-amount[data-v-838cb473]{flex-shrink:0;font-size:14px;font-weight:800;color:var(--pb-teal);font-variant-numeric:tabular-nums}.pb-card-meta[data-v-838cb473]{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.pb-card-date[data-v-838cb473]{font-size:11px;color:var(--pb-muted);font-variant-numeric:tabular-nums}.pb-att-pill[data-v-838cb473]{font-size:10px;font-weight:650;padding:1px 6px;border-radius:999px;background:#e0f2fe;color:#075985}.pb-status-pill[data-v-838cb473]{font-size:10px;font-weight:650;padding:2px 8px;border-radius:999px;border:1px solid transparent;cursor:pointer;line-height:1.3}.pb-status-pill[data-v-838cb473]:disabled{cursor:default;opacity:.9}.pb-status-pill.is-open[data-v-838cb473]{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.pb-status-pill.is-done[data-v-838cb473]{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.pb-card-remark[data-v-838cb473]{margin:4px 0 0;font-size:12px;color:#475569;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.pb-card-actions[data-v-838cb473]{display:flex;flex-direction:column;justify-content:center;gap:4px;flex-shrink:0}.pb-pagination[data-v-838cb473]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:6px 2px 0}.modal-mask[data-v-838cb473]{position:fixed;inset:0;background:#0f172a7a;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal[data-v-838cb473]{width:min(440px,calc(100vw - 24px));background:#fff;border-radius:12px;padding:14px 16px;max-height:calc(100vh - 24px);overflow-y:auto;box-shadow:0 16px 40px #0f172a2e}.modal-wide[data-v-838cb473]{width:min(480px,calc(100vw - 24px))}.pb-modal-head[data-v-838cb473]{margin-bottom:10px}.modal-title[data-v-838cb473]{font-size:15px;font-weight:800;margin:0;color:var(--pb-ink)}.pb-modal-sub[data-v-838cb473]{margin:4px 0 0;font-size:12px;color:var(--pb-muted)}.field[data-v-838cb473]{margin-bottom:10px}.field .label[data-v-838cb473]{font-size:12px;color:#64748b;margin-bottom:4px;font-weight:600}.grid2[data-v-838cb473]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.input[data-v-838cb473],.textarea[data-v-838cb473]{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#f8fafc}.input[data-v-838cb473]:focus,.textarea[data-v-838cb473]:focus{outline:none;border-color:#5eead4;background:#fff;box-shadow:0 0 0 2px #2dd4bf2e}.pb-amount-wrap[data-v-838cb473]{display:flex;align-items:center;gap:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.pb-amount-prefix[data-v-838cb473]{padding:0 0 0 10px;color:var(--pb-teal);font-weight:800;font-size:13px}.pb-amount-input[data-v-838cb473]{border:none!important;background:transparent!important;box-shadow:none!important}.textarea[data-v-838cb473]{resize:vertical;min-height:64px}.modal-actions[data-v-838cb473]{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}.photo-row[data-v-838cb473]{display:flex;gap:8px;flex-wrap:wrap}.fdz-photo[data-v-838cb473]{width:180px;min-width:140px}.photo-tip[data-v-838cb473]{margin-top:4px;font-size:11px}.att-list[data-v-838cb473]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.att-item[data-v-838cb473]{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.att-thumb-btn[data-v-838cb473]{padding:0;border:none;background:transparent;cursor:pointer}.att-thumb[data-v-838cb473]{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0}.pending-list[data-v-838cb473]{margin-bottom:8px}.pending-row[data-v-838cb473]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.preview-mask[data-v-838cb473]{z-index:1100}.preview-box[data-v-838cb473]{position:relative;max-width:min(90vw,900px);max-height:90vh}.preview-close[data-v-838cb473]{position:absolute;top:-8px;right:-8px;z-index:1;width:36px;height:36px;border-radius:999px;font-size:20px}.preview-img[data-v-838cb473]{max-width:100%;max-height:85vh;border-radius:12px;display:block}@media(max-width:720px){.pb-summary[data-v-838cb473]{grid-template-columns:1fr 1fr}.pb-sum-wide[data-v-838cb473]{grid-column:1 / -1}.pb-card[data-v-838cb473]{flex-direction:column}.pb-card-actions[data-v-838cb473]{flex-direction:row}}@media(max-width:560px){.grid2[data-v-838cb473]{grid-template-columns:1fr}.pb-title[data-v-838cb473]{font-size:18px}}.page[data-v-35cfb186]{padding:16px 0 24px;background:#f5f7fb}.ac-layout[data-v-35cfb186]{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:stretch;min-height:560px}.ac-main[data-v-35cfb186]{background:#fff;border:1px solid #e5e7eb;display:flex;flex-direction:column;min-width:0}.ac-tabs-row[data-v-35cfb186]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid #eef2f7;min-height:48px}.ac-tabs[data-v-35cfb186]{display:flex;align-items:stretch;gap:4px;min-width:0;overflow-x:auto}.ac-tab[data-v-35cfb186]{position:relative;border:0;background:transparent;color:#64748b;padding:14px 16px 12px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.ac-tab.extra[data-v-35cfb186]{font-weight:500;color:#94a3b8}.ac-tab[data-v-35cfb186]:hover{color:#2563eb}.ac-tab.active[data-v-35cfb186]{color:#2563eb;font-weight:700}.ac-tab.active[data-v-35cfb186]:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:#2563eb;border-radius:2px 2px 0 0}.ac-tab-badge[data-v-35cfb186]{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center}.ac-tab-actions[data-v-35cfb186]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ac-launch[data-v-35cfb186]{border:0;background:transparent;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;padding:4px 6px}.ac-refresh[data-v-35cfb186]{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ac-refresh[data-v-35cfb186]:hover{background:#f1f5f9;color:#2563eb}.ac-refresh[data-v-35cfb186]:disabled{opacity:.45;cursor:not-allowed}.ac-table-wrap[data-v-35cfb186]{flex:1 1 auto;min-height:320px}.ac-table[data-v-35cfb186]{width:100%;border-collapse:collapse;font-size:13px}.ac-table th[data-v-35cfb186],.ac-table td[data-v-35cfb186]{padding:12px 16px;text-align:left;border-bottom:1px solid #eef2f7;vertical-align:middle}.ac-table th[data-v-35cfb186]{background:#f8fafc;color:#64748b;font-weight:600;font-size:13px}.ac-table .col-stay[data-v-35cfb186],.ac-table .col-arrive[data-v-35cfb186]{width:160px;white-space:nowrap;color:#475569}.ac-row[data-v-35cfb186]{cursor:pointer}.ac-row[data-v-35cfb186]:hover{background:#f8fafc}.matter-title[data-v-35cfb186]{color:#1e293b;font-weight:600;line-height:1.4}.matter-sub[data-v-35cfb186]{margin-top:2px;color:#94a3b8;font-size:12px}.ac-empty[data-v-35cfb186]{height:280px;text-align:center;color:#94a3b8;font-size:14px;vertical-align:middle}.ac-empty .spinner[data-v-35cfb186]{margin:0 auto 8px}.ac-pager[data-v-35cfb186]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid #eef2f7;color:#64748b;font-size:13px}.ac-page-btn[data-v-35cfb186]{width:28px;height:28px;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:4px;cursor:pointer}.ac-page-btn[data-v-35cfb186]:disabled{opacity:.4;cursor:not-allowed}.ac-page-num[data-v-35cfb186]{min-width:28px;height:28px;line-height:26px;text-align:center;border:1px solid #2563eb;color:#2563eb;border-radius:4px;font-weight:600;padding:0 8px;box-sizing:border-box}.ac-page-size[data-v-35cfb186]{height:28px;border:1px solid #e2e8f0;border-radius:4px;padding:0 6px;color:#475569;background:#fff}.ac-jump[data-v-35cfb186]{display:inline-flex;align-items:center;gap:6px}.ac-jump-input[data-v-35cfb186]{width:44px;height:28px;border:1px solid #e2e8f0;border-radius:4px;text-align:center}.ac-side[data-v-35cfb186]{display:flex;flex-direction:column;gap:12px}.ac-congrats[data-v-35cfb186],.ac-side-hint[data-v-35cfb186]{flex:1 1 auto;background:#fff;border:1px solid #e5e7eb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;min-height:280px}.ac-medal[data-v-35cfb186]{width:88px;height:88px;margin-bottom:16px}.ac-congrats-zh[data-v-35cfb186]{margin:0;font-size:16px;font-weight:700;color:#334155}.ac-congrats-en[data-v-35cfb186]{margin:8px 0 0;font-size:12px;color:#94a3b8;line-height:1.5}.ac-side-count[data-v-35cfb186]{margin:0 0 6px;font-size:36px;font-weight:800;color:#2563eb;line-height:1}.ac-side-hint p[data-v-35cfb186]{margin:0;color:#64748b}.ac-info[data-v-35cfb186]{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;background:#eff6ff;border:1px solid #dbeafe;color:#334155;font-size:12px;line-height:1.6}.ac-info-icon[data-v-35cfb186]{flex-shrink:0;width:16px;height:16px;margin-top:1px;border-radius:50%;background:#3b82f6;color:#fff;font-size:11px;font-weight:800;font-style:italic;display:inline-flex;align-items:center;justify-content:center}@media(max-width:960px){.ac-layout[data-v-35cfb186]{grid-template-columns:1fr}.ac-table .col-stay[data-v-35cfb186],.ac-table .col-arrive[data-v-35cfb186]{width:auto}}.filter-bar[data-v-35cfb186]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.filter-label[data-v-35cfb186]{font-size:12px;color:#64748b;margin-right:4px}.filter-chip[data-v-35cfb186]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#475569;font-size:13px;cursor:pointer}.filter-chip[data-v-35cfb186]:hover{border-color:#cbd5e1}.filter-chip.active[data-v-35cfb186]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:600}.chip-count[data-v-35cfb186]{min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:11px;font-weight:700;text-align:center}.filter-chip.active .chip-count[data-v-35cfb186]{background:#dbeafe;color:#1d4ed8}.biz-tag[data-v-35cfb186]{display:inline-block;padding:3px 10px;border-radius:8px;background:#f1f5f9;color:#334155;font-size:13px}.state-box[data-v-35cfb186]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 24px;color:#64748b}.empty-icon.soft[data-v-35cfb186]{width:56px;height:56px;border-radius:16px;background:#f1f5f9;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}.spinner[data-v-35cfb186]{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin-35cfb186 .8s linear infinite}@keyframes spin-35cfb186{to{transform:rotate(360deg)}}.table-wrap[data-v-35cfb186]{overflow-x:auto}.table[data-v-35cfb186]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-35cfb186],.table td[data-v-35cfb186]{padding:11px 14px;text-align:left;border-bottom:1px solid #eef2f7;vertical-align:middle}.table th[data-v-35cfb186]{background:#f8fafc;color:#64748b;font-weight:700;font-size:12px}.table tbody tr.stripe[data-v-35cfb186]{background:#fcfdff}.desc[data-v-35cfb186]{max-width:320px;word-break:break-word;color:#334155}.pagination[data-v-35cfb186]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 16px}.modal-mask[data-v-35cfb186]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal[data-v-35cfb186]{width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:16px;padding:22px;box-shadow:0 24px 60px #0f172a33}.modal.wide[data-v-35cfb186]{width:min(640px,calc(100vw - 32px))}.modal.detail-modal[data-v-35cfb186]{width:min(920px,calc(100vw - 32px));max-height:min(92vh,960px);display:flex;flex-direction:column;overflow:hidden;padding:0}.detail-modal-head[data-v-35cfb186]{flex-shrink:0;padding:20px 22px 12px;border-bottom:1px solid #eef2f7}.detail-modal-body[data-v-35cfb186]{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 22px}.detail-modal-foot[data-v-35cfb186]{flex-shrink:0;padding:12px 22px 18px;border-top:1px solid #eef2f7;background:#fafbfc}.detail-modal .modal-title[data-v-35cfb186]{margin-bottom:6px}.assign-jump-banner[data-v-35cfb186]{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px}.assign-jump-text strong[data-v-35cfb186]{display:block;font-size:14px;color:#065f46}.assign-jump-text p[data-v-35cfb186]{margin:4px 0 0;font-size:12px;color:#047857;line-height:1.45}.assign-jump-banner .btn.primary[data-v-35cfb186]{flex-shrink:0;white-space:nowrap}@media(max-width:640px){.assign-jump-banner[data-v-35cfb186]{flex-direction:column;align-items:stretch}}.modal-actions.inline-actions[data-v-35cfb186]{margin-top:10px}.modal-title[data-v-35cfb186]{font-size:18px;font-weight:800;margin-bottom:8px;color:#0f172a;display:flex;align-items:center;gap:10px}.modal-actions[data-v-35cfb186]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.field[data-v-35cfb186]{margin-top:12px}.field .label[data-v-35cfb186]{font-size:13px;color:#64748b;margin-bottom:6px}.req[data-v-35cfb186]{color:#ef4444}.input[data-v-35cfb186],.textarea[data-v-35cfb186]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;font-size:14px}.textarea[data-v-35cfb186]{resize:vertical}.def-list[data-v-35cfb186]{display:flex;flex-direction:column;gap:8px;margin-top:8px}.def-item[data-v-35cfb186]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;cursor:pointer}.def-item[data-v-35cfb186]:hover{border-color:#2563eb;background:#eff6ff}.def-name[data-v-35cfb186]{font-weight:600;color:#0f172a}.def-key[data-v-35cfb186]{font-family:ui-monospace,monospace;font-size:12px;color:#94a3b8}.detail-section[data-v-35cfb186]{margin-top:18px}.section-title[data-v-35cfb186]{font-size:13px;font-weight:700;color:#475569;margin-bottom:8px}.kv-list[data-v-35cfb186]{display:flex;flex-direction:column;gap:6px}.kv-grid[data-v-35cfb186]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.kv-grid--supplier[data-v-35cfb186]{grid-template-columns:repeat(2,minmax(0,1fr))}.kv[data-v-35cfb186]{display:flex;flex-direction:column;gap:4px;font-size:13px;padding:10px 12px;border:1px solid #eef2f7;border-radius:10px;background:#f8fafc;min-width:0}.kv-full[data-v-35cfb186]{grid-column:1 / -1}.kv-file-link[data-v-35cfb186]{display:inline-block;color:#2563eb;font-weight:600;text-decoration:none;margin-right:10px}.kv-file-link[data-v-35cfb186]:hover{text-decoration:underline}.makeup-photo-block[data-v-35cfb186]{margin-top:4px}.makeup-photo-link[data-v-35cfb186]{display:inline-block;max-width:100%}.makeup-photo-img[data-v-35cfb186]{display:block;max-width:min(420px,100%);max-height:360px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;object-fit:contain}.kv-multiline .kv-v[data-v-35cfb186]{min-height:2.5em}.detail-link-row[data-v-35cfb186]{margin:12px 0 0;font-size:13px}.detail-link-row a[data-v-35cfb186]{color:#2563eb;text-decoration:none;font-weight:600}.detail-link-row a[data-v-35cfb186]:hover{text-decoration:underline}.po-lines-wrap[data-v-35cfb186]{overflow:auto;border:1px solid #eef2f7;border-radius:10px;background:#fff}.po-lines-table[data-v-35cfb186]{width:100%;border-collapse:collapse;font-size:12px}.po-lines-table th[data-v-35cfb186],.po-lines-table td[data-v-35cfb186]{padding:8px 10px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}.po-lines-table th[data-v-35cfb186]{background:#f8fafc;color:#64748b;font-weight:700;white-space:nowrap}.po-lines-table .num[data-v-35cfb186]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.po-mat[data-v-35cfb186]{font-weight:600;color:#0f172a}.po-detail-sub td[data-v-35cfb186]{background:#f8fafc;padding-top:4px;padding-bottom:10px}.po-sub-head[data-v-35cfb186]{font-size:11px;font-weight:700;color:#64748b;margin-bottom:4px}.po-sub-row[data-v-35cfb186]{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;padding:3px 0;color:#334155}.kv-k[data-v-35cfb186]{width:auto;color:#64748b;flex-shrink:0;font-size:12px;font-weight:700}.kv-v[data-v-35cfb186]{color:#0f172a;word-break:break-word;white-space:pre-wrap;line-height:1.55}.rq-chips[data-v-35cfb186]{display:flex;flex-wrap:wrap;gap:6px}.rq-chip[data-v-35cfb186]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:12px;font-weight:650;white-space:nowrap}.kv-v--multiline[data-v-35cfb186]{white-space:pre-wrap;overflow:visible;max-height:none}.timeline[data-v-35cfb186]{display:flex;flex-direction:column;gap:14px;padding-left:6px}.tl-item[data-v-35cfb186]{display:flex;gap:10px}.tl-dot[data-v-35cfb186]{width:10px;height:10px;border-radius:50%;background:#cbd5e1;margin-top:5px;flex-shrink:0}.tl-item.approved .tl-dot[data-v-35cfb186]{background:#16a34a}.tl-item.rejected .tl-dot[data-v-35cfb186]{background:#dc2626}.tl-item.pending .tl-dot[data-v-35cfb186]{background:#f59e0b}.tl-head[data-v-35cfb186]{display:flex;align-items:center;gap:8px}.tl-meta[data-v-35cfb186]{font-size:12px;color:#64748b;margin-top:2px}.tl-comment[data-v-35cfb186]{margin-top:4px;font-size:13px;color:#334155;background:#f8fafc;border-radius:8px;padding:6px 10px}.action-area[data-v-35cfb186]{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:12px}.badge[data-v-35cfb186]{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-warn[data-v-35cfb186]{background:#fef3c7;color:#92400e}.badge-ok[data-v-35cfb186]{background:#dcfce7;color:#166534}.badge-danger[data-v-35cfb186]{background:#fee2e2;color:#b91c1c}.badge-muted[data-v-35cfb186]{background:#f1f5f9;color:#64748b}.btn[data-v-35cfb186]{padding:7px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px}.btn.primary[data-v-35cfb186]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600}.btn.danger[data-v-35cfb186]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.ghost[data-v-35cfb186]{background:#f8fafc}.btn.link-btn[data-v-35cfb186]{border-color:#bfdbfe;color:#2563eb;background:#eff6ff}.btn[data-v-35cfb186]:disabled{opacity:.5;cursor:not-allowed}.muted[data-v-35cfb186]{color:#64748b}.small[data-v-35cfb186]{font-size:12px}.strong[data-v-35cfb186]{font-weight:600;color:#0f172a}.page[data-v-c56617b9]{padding:16px 0 24px;background:#f5f7fb}.card[data-v-c56617b9]{background:#fff;border-radius:14px;padding:16px 20px;margin-bottom:20px;box-shadow:0 8px 20px #0f172a0f;border:1px solid #e5e7eb}.filters[data-v-c56617b9]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.select[data-v-c56617b9]{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;min-width:140px}.btn.primary[data-v-c56617b9]{background:#2563eb;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer}.btn.link[data-v-c56617b9]{background:none;border:none;color:#2563eb;cursor:pointer;padding:0 6px;font-size:14px}.btn.link.ok[data-v-c56617b9]{color:#059669}.btn.link.bad[data-v-c56617b9]{color:#dc2626}.btn.danger[data-v-c56617b9]{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:8px}.loading-wrap[data-v-c56617b9],.empty-card[data-v-c56617b9]{text-align:center;padding:48px 16px;color:#6b7280}.table[data-v-c56617b9]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-c56617b9],.table td[data-v-c56617b9]{padding:10px 8px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}.table th[data-v-c56617b9]{color:#64748b;font-weight:600}.stripe[data-v-c56617b9]{background:#fafafa}.addr[data-v-c56617b9]{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono[data-v-c56617b9]{font-family:ui-monospace,monospace;font-size:13px}.muted[data-v-c56617b9]{color:#6b7280;font-size:13px}.tag[data-v-c56617b9]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.tag-pending[data-v-c56617b9]{background:#fef3c7;color:#b45309}.tag-ok[data-v-c56617b9]{background:#dcfce7;color:#15803d}.tag-bad[data-v-c56617b9]{background:#fee2e2;color:#b91c1c}.pagination[data-v-c56617b9]{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:16px}.modal-overlay[data-v-c56617b9]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal[data-v-c56617b9]{background:#fff;border-radius:12px;max-width:640px;width:100%;max-height:90vh;overflow:auto}.modal-head[data-v-c56617b9]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-body[data-v-c56617b9]{padding:16px 20px 20px}.modal-close[data-v-c56617b9]{border:none;background:none;font-size:24px;cursor:pointer;color:#64748b}.detail-grid[data-v-c56617b9]{display:grid;gap:12px}.detail-row[data-v-c56617b9]{display:grid;grid-template-columns:100px 1fr;gap:8px;font-size:14px}.detail-row.full[data-v-c56617b9]{grid-template-columns:1fr}.label[data-v-c56617b9]{color:#64748b}.checkin-photo[data-v-c56617b9]{max-width:100%;border-radius:8px;border:1px solid #e5e7eb;margin-top:8px}.textarea[data-v-c56617b9]{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d1d5db;border-radius:8px;margin-top:8px}.field-label[data-v-c56617b9]{display:block;margin-top:12px;font-size:13px;color:#64748b}.tip[data-v-c56617b9]{font-size:13px;color:#059669;margin:8px 0}.modal-actions[data-v-c56617b9]{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.btn[data-v-c56617b9]{padding:8px 14px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer}.cbd[data-v-b6603b4f]{display:grid;gap:12px;margin-bottom:12px;animation:cbdFadeIn-b6603b4f .45s ease}@keyframes cbdFadeIn-b6603b4f{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cbd-hero[data-v-b6603b4f]{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#0c1222,#162044 40%,#0e3a5e);box-shadow:0 12px 28px #0f172a2e,inset 0 1px #ffffff14}.cbd-hero__mesh[data-v-b6603b4f]{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(0,212,170,.22),transparent 55%),radial-gradient(ellipse 70% 50% at 100% 20%,rgba(99,102,241,.25),transparent 50%),radial-gradient(ellipse 50% 40% at 50% 100%,rgba(56,189,248,.15),transparent 45%);pointer-events:none}.cbd-hero__grid[data-v-b6603b4f]{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:12px 18px;align-items:center;padding:14px 16px}@media(max-width:960px){.cbd-hero__grid[data-v-b6603b4f]{grid-template-columns:1fr;text-align:center}.cbd-hero__kpis[data-v-b6603b4f]{justify-content:center}.cbd-hero__ring-wrap[data-v-b6603b4f]{margin:0 auto}}.cbd-hero__badge[data-v-b6603b4f]{display:inline-block;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a5f3fc;background:#00d4aa26;border:1px solid rgba(0,212,170,.35)}.cbd-hero__title[data-v-b6603b4f]{margin:6px 0 4px;font-size:18px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.2}.cbd-hero__intro[data-v-b6603b4f]{display:flex;flex-direction:column;gap:10px;min-width:0}.cbd-hero__intro-head[data-v-b6603b4f]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.cbd-hero__intro-head .cbd-hero__title[data-v-b6603b4f]{margin:0}.cbd-hero__desc[data-v-b6603b4f]{margin:0;font-size:12px;color:#e2e8f0bf}.cbd-hero__panel[data-v-b6603b4f]{display:grid;gap:10px;padding:12px 14px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cbd-hero__total-row[data-v-b6603b4f]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.cbd-hero__total-lbl[data-v-b6603b4f]{font-size:11px;font-weight:650;color:#e2e8f0bf;letter-spacing:.04em}.cbd-hero__total-val[data-v-b6603b4f]{font-size:24px;font-weight:900;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(90deg,#6ee7b7,#38bdf8 55%,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}.cbd-hero__panel .cbd-hero__cn[data-v-b6603b4f]{margin:-4px 0 0;font-size:10px;color:#bae6fda6;line-height:1.35}.cbd-hero__split[data-v-b6603b4f]{display:grid;gap:6px}.cbd-hero__split-track[data-v-b6603b4f]{display:flex;height:8px;border-radius:999px;overflow:hidden;background:#ffffff1a}.cbd-hero__split-paid[data-v-b6603b4f]{height:100%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:999px 0 0 999px;transition:width .6s ease}.cbd-hero__split-pend[data-v-b6603b4f]{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:0 999px 999px 0;transition:width .6s ease}.cbd-hero__split-meta[data-v-b6603b4f]{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:#e2e8f0cc}.cbd-hero__dot[data-v-b6603b4f]{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.cbd-hero__dot--paid[data-v-b6603b4f]{background:#34d399}.cbd-hero__dot--pend[data-v-b6603b4f]{background:#fbbf24}.cbd-hero__chips[data-v-b6603b4f]{display:flex;flex-wrap:wrap;gap:6px}.cbd-hero__chip[data-v-b6603b4f]{padding:3px 9px;border-radius:999px;font-size:10px;font-weight:600;border:1px solid transparent}.cbd-hero__chip b[data-v-b6603b4f]{margin-left:4px;font-weight:800;font-variant-numeric:tabular-nums}.cbd-hero__chip--slate[data-v-b6603b4f]{color:#e2e8f0;background:#94a3b833;border-color:#94a3b859}.cbd-hero__chip--amber[data-v-b6603b4f]{color:#fde68a;background:#fbbf2426;border-color:#fbbf2459}.cbd-hero__chip--emerald[data-v-b6603b4f]{color:#a7f3d0;background:#34d39926;border-color:#34d39959}.cbd-auto-hint[data-v-b6603b4f]{margin:0;font-size:10px;color:#bae6fda6}.cbd-hero__spark[data-v-b6603b4f]{width:100%;height:44px;display:block;opacity:.9}.cbd-hero__peek-hd[data-v-b6603b4f]{margin:0;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#bae6fdbf}.cbd-hero__peek[data-v-b6603b4f]{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cbd-hero__peek li[data-v-b6603b4f]{display:grid;grid-template-columns:minmax(0,1fr) 1.2fr auto;gap:8px;align-items:center;font-size:10px}.cbd-hero__peek-name[data-v-b6603b4f]{color:#e2e8f0e6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbd-hero__peek-track[data-v-b6603b4f]{height:5px;border-radius:999px;background:#ffffff1f;overflow:hidden}.cbd-hero__peek-track i[data-v-b6603b4f]{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#818cf8,#38bdf8)}.cbd-hero__peek-amt[data-v-b6603b4f]{color:#a5b4fc;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.cbd-charts[data-v-b6603b4f]{display:grid;gap:12px}.cbd-hero__ring-wrap[data-v-b6603b4f]{position:relative;width:128px;height:128px}.cbd-hero__ring[data-v-b6603b4f]{width:100%;height:100%}.cbd-hero__ring-center[data-v-b6603b4f]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.cbd-hero__ring-val[data-v-b6603b4f]{font-size:22px;font-weight:800;color:#fff;line-height:1;text-shadow:0 2px 12px rgba(0,212,170,.4)}.cbd-hero__ring-k[data-v-b6603b4f]{margin-top:2px;font-size:10px;color:#e2e8f0cc}.cbd-hero__ring-sub[data-v-b6603b4f]{margin-top:4px;font-size:10px;color:#bae6fda6;font-variant-numeric:tabular-nums}.cbd-hero__kpis[data-v-b6603b4f]{display:flex;flex-direction:column;gap:6px}.cbd-kpi[data-v-b6603b4f]{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .2s,background .2s}.cbd-kpi[data-v-b6603b4f]:hover{transform:translate(4px);background:#ffffff1a}.cbd-kpi__icon[data-v-b6603b4f]{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.cbd-kpi__icon svg[data-v-b6603b4f]{width:16px;height:16px}.cbd-kpi--emerald .cbd-kpi__icon[data-v-b6603b4f]{background:#34d39933;color:#6ee7b7}.cbd-kpi--amber .cbd-kpi__icon[data-v-b6603b4f]{background:#fbbf2433;color:#fcd34d}.cbd-kpi--blue .cbd-kpi__icon[data-v-b6603b4f]{background:#60a5fa33;color:#93c5fd}.cbd-kpi__label[data-v-b6603b4f]{display:block;font-size:11px;color:#e2e8f0b3}.cbd-kpi__value[data-v-b6603b4f]{display:block;margin-top:1px;font-size:13px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}.cbd-kpi__sub[data-v-b6603b4f]{display:block;margin-top:2px;font-size:10px;color:#94a3b8e6}.cbd-loading[data-v-b6603b4f]{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px;border-radius:20px;background:#ffffffe6;border:1px solid #e2e8f0;color:#64748b;font-size:14px}.cbd-loading__pulse[data-v-b6603b4f]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#00d4aa);animation:cbdPulse-b6603b4f 1.2s ease-in-out infinite}@keyframes cbdPulse-b6603b4f{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1);opacity:1}}.cbd-bento[data-v-b6603b4f]{display:grid;gap:12px}.cbd-bento--top[data-v-b6603b4f]{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.cbd-bento--bottom[data-v-b6603b4f]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.cbd-panel--span-full[data-v-b6603b4f]{grid-column:1 / -1}@media(max-width:1100px){.cbd-bento--top[data-v-b6603b4f]{grid-template-columns:1fr}}@media(max-width:900px){.cbd-bento--bottom[data-v-b6603b4f]{grid-template-columns:1fr}}.cbd-panel[data-v-b6603b4f]{position:relative;padding:12px 14px 14px;border-radius:14px;background:#ffffffeb;border:1px solid rgba(229,231,235,.95);box-shadow:0 8px 24px #0f172a0f;overflow:hidden}.cbd-panel[data-v-b6603b4f]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e2e8f0,#e2e8f0)}.cbd-panel--accent-emerald[data-v-b6603b4f]:before{background:linear-gradient(90deg,#34d399,#059669)}.cbd-panel--accent-violet[data-v-b6603b4f]:before{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.cbd-panel--chart[data-v-b6603b4f]:before{background:linear-gradient(90deg,#6366f1,#0ea5e9)}.cbd-panel__head[data-v-b6603b4f]{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.cbd-panel__head h3[data-v-b6603b4f]{margin:0;font-size:14px;font-weight:800;color:#0f172a;letter-spacing:-.02em}.cbd-panel__head p[data-v-b6603b4f]{margin:2px 0 0;font-size:11px;color:#94a3b8}.cbd-panel__icon[data-v-b6603b4f]{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.cbd-panel__icon svg[data-v-b6603b4f]{width:18px;height:18px}.cbd-panel__icon--emerald[data-v-b6603b4f]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.cbd-panel__icon--violet[data-v-b6603b4f]{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#7c3aed}.cbd-panel__icon--cyan[data-v-b6603b4f]{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0891b2}.cbd-panel__icon--indigo[data-v-b6603b4f]{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.cbd-panel__icon--sky[data-v-b6603b4f]{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0284c7}.cbd-donut-layout[data-v-b6603b4f]{display:grid;grid-template-columns:128px 1fr;gap:10px 12px;align-items:center}@media(max-width:420px){.cbd-donut-layout[data-v-b6603b4f]{grid-template-columns:1fr;justify-items:center}}.cbd-donut-box[data-v-b6603b4f]{position:relative;width:128px;height:128px;flex-shrink:0}.cbd-donut-svg[data-v-b6603b4f]{width:100%;height:100%}.cbd-donut-arc[data-v-b6603b4f]{transition:stroke-dashoffset .6s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08))}.cbd-donut-center[data-v-b6603b4f]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.cbd-donut-center strong[data-v-b6603b4f]{font-size:17px;font-weight:800;color:#0f172a;line-height:1}.cbd-donut-center span[data-v-b6603b4f]{margin-top:2px;font-size:10px;color:#94a3b8;font-weight:600}.cbd-legend[data-v-b6603b4f]{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cbd-legend li[data-v-b6603b4f]{display:grid;grid-template-columns:4px 1fr auto auto;gap:6px 8px;align-items:center;padding:6px 8px;border-radius:10px;background:#f8fafc;font-size:11px}.cbd-legend__bar[data-v-b6603b4f]{width:4px;height:22px;border-radius:4px;grid-row:1 / span 1}.cbd-legend__bar--received[data-v-b6603b4f]{background:linear-gradient(180deg,#34d399,#059669)}.cbd-legend__bar--pending[data-v-b6603b4f]{background:linear-gradient(180deg,#fbbf24,#d97706)}.cbd-legend__bar--unpaid[data-v-b6603b4f]{background:linear-gradient(180deg,#cbd5e1,#94a3b8)}.cbd-legend__bar--partial[data-v-b6603b4f]{background:linear-gradient(180deg,#fcd34d,#f59e0b)}.cbd-legend__bar--paid[data-v-b6603b4f]{background:linear-gradient(180deg,#34d399,#059669)}.cbd-legend__name[data-v-b6603b4f]{font-weight:650;color:#475569}.cbd-legend__amt[data-v-b6603b4f]{font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums}.cbd-legend__pct[data-v-b6603b4f]{color:#64748b;font-size:11px}.cbd-stage-grid[data-v-b6603b4f]{display:grid;gap:10px}.cbd-stage-item__top[data-v-b6603b4f]{display:flex;justify-content:space-between;font-size:12px;color:#64748b;margin-bottom:6px}.cbd-stage-item__top strong[data-v-b6603b4f]{color:#0f172a;font-size:13px}.cbd-stage-item__track[data-v-b6603b4f]{height:10px;border-radius:999px;background:#f1f5f9;overflow:hidden}.cbd-stage-item__fill[data-v-b6603b4f]{height:100%;border-radius:999px;transition:width .7s cubic-bezier(.22,1,.36,1)}.cbd-stage-item__fill--emerald[data-v-b6603b4f]{background:linear-gradient(90deg,#6ee7b7,#10b981)}.cbd-stage-item__fill--violet[data-v-b6603b4f]{background:linear-gradient(90deg,#c4b5fd,#8b5cf6)}.cbd-stage-item__fill--cyan[data-v-b6603b4f]{background:linear-gradient(90deg,#67e8f9,#06b6d4)}.cbd-stage-item__n[data-v-b6603b4f]{display:block;margin-top:4px;font-size:10px;color:#94a3b8}.cbd-stage-note[data-v-b6603b4f]{margin:14px 0 0;padding-top:12px;border-top:1px dashed #e2e8f0;font-size:12px;color:#64748b;text-align:center}.cbd-stage-note b[data-v-b6603b4f]{color:#0f172a}.cbd-rank-list[data-v-b6603b4f]{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:260px;overflow-y:auto}.cbd-rank-item[data-v-b6603b4f]{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:linear-gradient(135deg,#fafbfc,#fff);border:1px solid #f1f5f9;transition:border-color .2s,box-shadow .2s}.cbd-rank-item[data-v-b6603b4f]:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #6366f114}.cbd-rank-list--cyan .cbd-rank-item[data-v-b6603b4f]:hover{border-color:#7dd3fc;box-shadow:0 4px 16px #0ea5e914}.cbd-rank-medal[data-v-b6603b4f]{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:900;flex-shrink:0;background:#f1f5f9;color:#64748b}.cbd-rank-medal--gold[data-v-b6603b4f]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;box-shadow:0 2px 8px #f59e0b4d}.cbd-rank-medal--silver[data-v-b6603b4f]{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569}.cbd-rank-medal--bronze[data-v-b6603b4f]{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#c2410c}.cbd-rank-main[data-v-b6603b4f]{flex:1;min-width:0}.cbd-rank-head[data-v-b6603b4f]{display:flex;justify-content:space-between;gap:6px;align-items:baseline;margin-bottom:5px}.cbd-rank-name[data-v-b6603b4f]{font-size:12px;font-weight:650;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbd-rank-amt[data-v-b6603b4f]{font-size:12px;font-weight:800;color:#6366f1;font-variant-numeric:tabular-nums;flex-shrink:0}.cbd-rank-amt--cyan[data-v-b6603b4f]{color:#0284c7}.cbd-rank-track[data-v-b6603b4f]{height:6px;border-radius:999px;background:#eef2ff;overflow:hidden}.cbd-rank-list--cyan .cbd-rank-track[data-v-b6603b4f]{background:#e0f2fe}.cbd-rank-fill[data-v-b6603b4f]{height:100%;border-radius:999px;background:linear-gradient(90deg,#a5b4fc,#6366f1);transition:width .65s cubic-bezier(.22,1,.36,1);box-shadow:0 0 12px #6366f159}.cbd-rank-list--cyan .cbd-rank-fill[data-v-b6603b4f]{background:linear-gradient(90deg,#7dd3fc,#0ea5e9);box-shadow:0 0 12px #0ea5e94d}.cbd-rank-meta[data-v-b6603b4f]{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:#94a3b8}.cbd-line-chart[data-v-b6603b4f]{display:flex;flex-direction:column;gap:4px}.cbd-line-wrap[data-v-b6603b4f]{border-radius:10px;background:linear-gradient(180deg,#f8fafc,#fff 50%);border:1px solid #f1f5f9;padding:8px 6px 0;overflow:hidden}.cbd-line-svg[data-v-b6603b4f]{width:100%;height:auto;max-height:140px;min-height:110px;display:block}.cbd-line-xlabels[data-v-b6603b4f]{display:grid;gap:4px 6px;align-items:start}.cbd-line-xlabels span[data-v-b6603b4f]{font-size:10px;line-height:1.35;text-align:center;color:#475569;font-weight:550;word-break:break-all;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-label-lines, 2);line-clamp:var(--line-label-lines, 2)}.cbd-line-xlabels span[data-v-b6603b4f]:hover{color:#0f172a}.cbd-grid[data-v-b6603b4f]{stroke:#f1f5f9;stroke-width:1}.cbd-axis[data-v-b6603b4f]{stroke:#e2e8f0;stroke-width:1.5}.cbd-axis-label[data-v-b6603b4f]{font-size:10px;fill:#94a3b8;font-weight:600}.cbd-line-path[data-v-b6603b4f]{filter:drop-shadow(0 2px 4px rgba(99,102,241,.2))}.cbd-line-dot-bg[data-v-b6603b4f]{fill:#fff}.cbd-line-dot[data-v-b6603b4f]{fill:#6366f1;stroke:#fff;stroke-width:2}.cbd-line-val[data-v-b6603b4f]{font-size:9px;fill:#4f46e5;font-weight:800;paint-order:stroke fill}.cbd-empty[data-v-b6603b4f]{padding:32px;text-align:center;color:#94a3b8;font-size:13px;border-radius:14px;background:#f8fafc;border:1px dashed #e2e8f0}.page[data-v-5786dbe7]{padding:24px 0;background:#f5f7fb}.project-toolbar[data-v-5786dbe7]{margin-bottom:12px}.detail-card[data-v-5786dbe7]{margin-top:0}.sub-block[data-v-5786dbe7]{border-top:1px solid #e5e7eb;padding-top:14px;margin-top:12px}.sub-title[data-v-5786dbe7]{margin:0 0 10px;font-size:15px;color:#0f172a;font-weight:650}.inner-head[data-v-5786dbe7]{margin-bottom:8px}.inner-head h3[data-v-5786dbe7]{margin:0}.detail-head[data-v-5786dbe7]{align-items:flex-start}.detail-actions[data-v-5786dbe7]{display:flex;gap:8px;flex-wrap:wrap}.detail-bill-line[data-v-5786dbe7]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.bill-scope-pill[data-v-5786dbe7]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.detail-bill-main[data-v-5786dbe7]{color:#334155}.detail-bill-dates[data-v-5786dbe7]{margin-top:2px}.pay-progress-head[data-v-5786dbe7]{align-items:flex-start;gap:12px}.pay-progress-title-wrap .sub-title[data-v-5786dbe7]{margin-bottom:0}.pay-progress-head .card-actions[data-v-5786dbe7]{flex-shrink:0}.pay-progress-actions[data-v-5786dbe7]{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pay-progress-block[data-v-5786dbe7]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px 12px;margin-top:16px;border-top:1px solid #e2e8f0}.pay-progress-scope[data-v-5786dbe7]{margin:6px 0 0;max-width:720px;line-height:1.5;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pay-progress-scope strong[data-v-5786dbe7]{color:#0f172a;font-weight:650}.pay-scope-chip[data-v-5786dbe7]{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:650;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.pay-scope-sep[data-v-5786dbe7]{color:#cbd5e1}.bill-desc-cell[data-v-5786dbe7]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.bill-no-cell[data-v-5786dbe7]{white-space:nowrap}.pay-modal-bill-box[data-v-5786dbe7]{padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;color:#334155;line-height:1.45}.pay-modal-bill-tip[data-v-5786dbe7]{margin:8px 0 0;line-height:1.45}.chk-label[data-v-5786dbe7]{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#374151;cursor:pointer}.invoice-section[data-v-5786dbe7]{border-top:none;padding-top:0;margin-top:8px}.invoice-section-head[data-v-5786dbe7]{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px;padding:10px 12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px}.invoice-section-accent[data-v-5786dbe7]{width:4px;min-height:36px;border-radius:4px;background:linear-gradient(180deg,#3b82f6,#2563eb);flex-shrink:0;margin-top:2px}.invoice-section-title[data-v-5786dbe7]{margin:0 0 4px}.invoice-section-desc[data-v-5786dbe7]{margin:0;font-size:12px;color:#64748b;line-height:1.45}.invoice-panels[data-v-5786dbe7]{display:flex;flex-direction:column;gap:10px}.invoice-panel[data-v-5786dbe7]{padding:10px 12px;background:#fafbfc;border:1px solid #e8ecf1;border-radius:12px}.invoice-panel-label[data-v-5786dbe7]{font-size:12px;font-weight:650;color:#475569;letter-spacing:.02em;margin-bottom:6px}.invoice-panel-hint[data-v-5786dbe7]{margin:-2px 0 8px;font-size:12px;color:#94a3b8;line-height:1.4}.invoice-status-row[data-v-5786dbe7]{display:flex;align-items:center;min-height:32px}.invoice-switch[data-v-5786dbe7]{display:inline-flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.invoice-switch input[data-v-5786dbe7]{position:absolute;opacity:0;width:0;height:0}.invoice-switch-track[data-v-5786dbe7]{position:relative;width:40px;height:24px;border-radius:999px;background:#e2e8f0;transition:background .2s ease;flex-shrink:0}.invoice-switch-knob[data-v-5786dbe7]{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a1f;transition:transform .2s ease}.invoice-switch input:checked+.invoice-switch-track[data-v-5786dbe7]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.invoice-switch input:checked+.invoice-switch-track .invoice-switch-knob[data-v-5786dbe7]{transform:translate(16px)}.invoice-switch input:focus-visible+.invoice-switch-track[data-v-5786dbe7]{box-shadow:0 0 0 3px #3b82f659}.invoice-switch-text[data-v-5786dbe7]{font-size:14px;font-weight:600;color:#1e293b}.invoice-status-pill[data-v-5786dbe7]{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600}.invoice-status-pill.is-on[data-v-5786dbe7]{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.invoice-status-pill.is-off[data-v-5786dbe7]{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.invoice-textarea[data-v-5786dbe7]{min-height:64px;background:#fff}.invoice-panel-actions[data-v-5786dbe7]{display:flex;justify-content:flex-end;margin-top:8px}.invoice-summary-grid[data-v-5786dbe7]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:6px}.invoice-sum-item[data-v-5786dbe7]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px}.invoice-sum-k[data-v-5786dbe7]{font-size:11px;color:#64748b;margin-bottom:4px}.invoice-sum-v[data-v-5786dbe7]{font-size:16px;font-weight:700;color:#0f172a}.invoice-sum-v.ok[data-v-5786dbe7]{color:#047857}.invoice-sum-v.warn[data-v-5786dbe7]{color:#b45309}.invoice-stage-list[data-v-5786dbe7]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.invoice-stage-row[data-v-5786dbe7]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.invoice-stage-main[data-v-5786dbe7]{min-width:0;flex:1}.invoice-stage-title[data-v-5786dbe7]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.invoice-stage-desc[data-v-5786dbe7]{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:640px}.invoice-stage-meta[data-v-5786dbe7]{flex-shrink:0;display:inline-flex;align-items:center;gap:8px}.invoice-supplier-box[data-v-5786dbe7]{padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.invoice-supplier-line[data-v-5786dbe7]{display:flex;gap:8px;align-items:center;margin-bottom:8px}.invoice-supplier-info[data-v-5786dbe7]{white-space:pre-wrap;line-height:1.55;color:#334155;font-size:13px}@media(max-width:980px){.invoice-summary-grid[data-v-5786dbe7]{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-stage-desc[data-v-5786dbe7]{max-width:360px}}.invoice-file-done[data-v-5786dbe7]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:10px;background:#fff;border:1px solid #d1fae5;border-radius:12px;box-shadow:0 1px #10b9810f}.invoice-file-done-main[data-v-5786dbe7]{display:flex;align-items:center;gap:12px}.invoice-file-done-dot[data-v-5786dbe7]{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b98133;flex-shrink:0}.invoice-file-done-title[data-v-5786dbe7]{font-size:14px;font-weight:650;color:#0f172a}.invoice-file-done-actions[data-v-5786dbe7]{display:flex;flex-wrap:wrap;gap:8px}.invoice-empty[data-v-5786dbe7]{margin:0;padding:10px 2px 2px}.grid2[data-v-5786dbe7]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bar.bar-sm[data-v-5786dbe7]{width:48px;height:5px}.table-compact th[data-v-5786dbe7],.table-compact td[data-v-5786dbe7]{padding:8px 10px;font-size:12px}.btn.sm[data-v-5786dbe7]{padding:5px 10px;font-size:12px;border-radius:8px}.controls[data-v-5786dbe7]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-filters[data-v-5786dbe7]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:12px;background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 22px #0f172a0d}.project-filters .input[data-v-5786dbe7]{min-width:240px;flex:1;background:#fff}.project-search-combo[data-v-5786dbe7]{min-width:min(520px,80vw);flex:1}.muted[data-v-5786dbe7]{color:#6b7280;font-size:13px}.small[data-v-5786dbe7]{font-size:12px}.mono[data-v-5786dbe7]{font-variant-numeric:tabular-nums}.empty[data-v-5786dbe7]{padding:28px 4px;text-align:center;color:#6b7280;font-size:14px}.empty-detail[data-v-5786dbe7]{min-height:120px;display:flex;align-items:center;justify-content:center}.card[data-v-5786dbe7]{background:#fff;border-radius:18px;border:1px solid #e5e7eb;padding:16px 16px 14px;margin-bottom:18px;box-shadow:0 18px 40px #0f172a0f}.card-head[data-v-5786dbe7]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.card-actions[data-v-5786dbe7]{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap}h2[data-v-5786dbe7]{margin:0;font-size:18px;color:#0f172a}.table-wrap[data-v-5786dbe7]{overflow-x:auto}.table[data-v-5786dbe7]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-5786dbe7],.table td[data-v-5786dbe7]{padding:10px 12px;border-bottom:1px solid #e5e7eb;vertical-align:middle;text-align:left}.table th[data-v-5786dbe7]{background:#f3f4f6;color:#4b5563;font-weight:600;font-size:12px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.table td[data-v-5786dbe7]{font-size:13px;color:#111827}.strong[data-v-5786dbe7]{font-weight:600;color:#111827}.pay-remark-cell[data-v-5786dbe7]{max-width:280px;min-width:100px;word-break:break-word;line-height:1.45;vertical-align:top;padding-top:12px;padding-bottom:12px}.bar[data-v-5786dbe7]{width:140px;height:8px;border-radius:999px;background:#e2e8f0e6;overflow:hidden}.bar-in[data-v-5786dbe7]{height:100%;background:linear-gradient(90deg,#00d4aa,#2563eb);border-radius:999px}.badge[data-v-5786dbe7]{padding:3px 10px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;font-weight:500}.badge.paid[data-v-5786dbe7]{border:1px solid rgba(22,163,74,.3);background:#16a34a14;color:#16a34a}.badge.partial[data-v-5786dbe7]{border:1px solid rgba(234,179,8,.35);background:#facc151f;color:#92400e}.badge.unpaid[data-v-5786dbe7]{border:1px solid rgba(248,113,113,.45);background:#fee2e2cc;color:#b91c1c}.btn[data-v-5786dbe7]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .18s ease}.btn[data-v-5786dbe7]:hover{border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn.primary[data-v-5786dbe7]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.primary[data-v-5786dbe7]:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8}.btn.danger[data-v-5786dbe7]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.danger[data-v-5786dbe7]:hover{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.row-selected[data-v-5786dbe7]{background:#eff6ff}.ops[data-v-5786dbe7]{white-space:nowrap;display:flex;gap:8px;flex-wrap:wrap}.pay-progress-table-wrap[data-v-5786dbe7]{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.pay-batch-bar[data-v-5786dbe7]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.pay-batch-check[data-v-5786dbe7]{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#334155;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.pay-progress-table .col-check[data-v-5786dbe7]{width:36px;text-align:center;padding-left:10px;padding-right:4px}.pay-progress-table .pay-row--selected td[data-v-5786dbe7]{background:#eff6ff}.pay-progress-table[data-v-5786dbe7]{min-width:1080px;table-layout:fixed;margin:0}.pay-progress-table th[data-v-5786dbe7],.pay-progress-table td[data-v-5786dbe7]{vertical-align:middle;padding:12px 10px}.pay-progress-table thead th[data-v-5786dbe7]{background:#f8fafc;color:#64748b;font-weight:650;font-size:12px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.pay-progress-table .pay-row:hover td[data-v-5786dbe7]{background:#f8fafc}.pay-progress-table .pay-row--open td[data-v-5786dbe7]{background:#fcfcfd}.pay-progress-table .col-item[data-v-5786dbe7]{width:18%}.pay-progress-table .col-cycle[data-v-5786dbe7]{width:108px;white-space:nowrap}.pay-progress-table .col-seq[data-v-5786dbe7]{width:64px;text-align:center;white-space:nowrap}.pay-progress-table .col-money[data-v-5786dbe7]{width:9%;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.pay-progress-table .col-progress[data-v-5786dbe7]{width:12%}.pay-progress-table .col-status[data-v-5786dbe7]{width:11%}.pay-progress-table .col-invoice[data-v-5786dbe7]{width:8%;text-align:center}.pay-progress-table .col-date[data-v-5786dbe7]{width:96px;white-space:nowrap;text-align:center}.pay-progress-table .col-ops[data-v-5786dbe7]{width:18%;min-width:168px}.pay-expect-cell[data-v-5786dbe7]{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pay-expect-date[data-v-5786dbe7]{font-variant-numeric:tabular-nums;color:#0f172a;font-size:13px;line-height:1.3}.badge.seq[data-v-5786dbe7]{display:inline-block;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:650;line-height:1.4;white-space:nowrap}.badge.urgent[data-v-5786dbe7]{display:inline-block;padding:1px 6px;border-radius:4px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;font-size:11px;font-weight:650;line-height:1.35;white-space:nowrap}.pay-item-name[data-v-5786dbe7]{font-weight:650;color:#0f172a;line-height:1.35}.pay-item-desc[data-v-5786dbe7]{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.4}.pay-progress-meter[data-v-5786dbe7]{display:flex;align-items:center;gap:8px}.pay-progress-table .col-progress .bar[data-v-5786dbe7]{flex:1;height:8px;margin-bottom:0;min-width:48px;background:#e2e8f0;border-radius:999px;overflow:hidden}.pay-progress-pct[data-v-5786dbe7]{flex-shrink:0;min-width:2.4em;font-size:12px;font-variant-numeric:tabular-nums;color:#64748b;font-weight:600}.pay-operator[data-v-5786dbe7],.pay-paid-at[data-v-5786dbe7]{margin-top:4px;line-height:1.35}.pay-invoice-cell[data-v-5786dbe7]{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.link-quiet[data-v-5786dbe7]{color:#2563eb;font-size:12px;text-decoration:none}.link-quiet[data-v-5786dbe7]:hover{text-decoration:underline}.pay-ops[data-v-5786dbe7]{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.pay-ops-main[data-v-5786dbe7]{display:flex;flex-wrap:wrap;gap:6px}.pay-ops-more[data-v-5786dbe7]{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pay-launch-btn[data-v-5786dbe7]{min-width:88px;font-weight:650;letter-spacing:.02em}.btn.sm.ghost[data-v-5786dbe7]{border-color:transparent;background:transparent;color:#4b5563;padding:4px 8px}.btn.sm.ghost[data-v-5786dbe7]:hover:not(:disabled){background:#f3f4f6;color:#111827}.btn.sm.ghost.danger-text[data-v-5786dbe7]{color:#b91c1c}.btn.sm.ghost.muted-action[data-v-5786dbe7]{color:#9ca3af;font-size:12px}.badge.cycle[data-v-5786dbe7]{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.select[data-v-5786dbe7]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:13px;min-width:220px}.modal-mask[data-v-5786dbe7]{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-5786dbe7]{width:520px;max-width:100%;max-height:90vh;overflow:visible;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 26px 70px #0f172a40}.modal-head[data-v-5786dbe7]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-5786dbe7]{color:#0f172a;font-weight:650;font-size:16px}.icon[data-v-5786dbe7]{background:transparent;border:none;color:#6b7280;font-size:20px;cursor:pointer}.modal-body[data-v-5786dbe7]{padding:14px;display:grid;gap:10px;overflow-x:hidden;overflow-y:auto;max-height:min(70vh,560px)}.field .label[data-v-5786dbe7]{color:#6b7280;font-size:12px;margin-bottom:6px}.input[data-v-5786dbe7]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px;transition:all .18s ease}.input[data-v-5786dbe7]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.textarea[data-v-5786dbe7]{resize:vertical;min-height:80px}.modal-foot[data-v-5786dbe7]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb}.badge.cycle[data-v-5786dbe7]{border:1px solid rgba(59,130,246,.25);background:#eff6ffe6;color:#1d4ed8}.badge.linked[data-v-5786dbe7]{border:1px solid rgba(148,163,184,.45);background:#f1f5f9;color:#64748b}.modal-wide[data-v-5786dbe7]{width:620px}.strong-label[data-v-5786dbe7]{font-weight:650;color:#374151;margin:0}.link-hint[data-v-5786dbe7]{margin:8px 0 0}.link-plans-toolbar[data-v-5786dbe7]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.link-plans-actions[data-v-5786dbe7]{display:flex;gap:8px}.link-plans-list[data-v-5786dbe7]{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto;padding:2px}.link-plan-row[data-v-5786dbe7]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer}.link-plan-row.is-linked[data-v-5786dbe7]{opacity:.65;cursor:not-allowed;background:#f8fafc}.link-plan-row.is-selected[data-v-5786dbe7]:not(.is-linked){border-color:#93c5fd;background:#eff6ff}.link-plan-row input[data-v-5786dbe7]{flex-shrink:0}.link-plan-seq[data-v-5786dbe7]{min-width:1.5em;font-size:12px}.link-plan-amt[data-v-5786dbe7]{font-weight:600;font-size:13px}.link-plan-date[data-v-5786dbe7]{margin-left:auto}.link-plan-remark[data-v-5786dbe7]{flex-basis:100%;padding-left:26px}.small-empty[data-v-5786dbe7]{padding:16px 4px;font-size:13px}.pay-paid-at[data-v-5786dbe7]{margin-top:2px}.pay-operator[data-v-5786dbe7]{margin-top:3px;color:#475569;font-weight:550}.flow-link[data-v-5786dbe7]{display:inline-block;margin-top:4px;padding:0;border:none;background:none;color:#2563eb;font-size:12px;cursor:pointer;text-decoration:underline}.flow-link[data-v-5786dbe7]:hover{color:#1d4ed8}.page[data-v-7393e083]{padding:24px 0;background:#f5f7fb}.empty[data-v-7393e083]{padding:24px 4px;color:#6b7280;text-align:center}.empty-card[data-v-7393e083]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:36px 24px;text-align:center;box-shadow:0 12px 28px #0f172a0a}.empty-title[data-v-7393e083]{font-size:15px;font-weight:650;color:#0f172a;margin-bottom:8px}.empty-desc[data-v-7393e083]{max-width:420px;margin:0 auto 16px;font-size:13px;line-height:1.55}.empty-actions[data-v-7393e083]{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.card[data-v-7393e083]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f}.toolbar[data-v-7393e083]{padding:14px 16px;margin-bottom:14px}.toolbar-row[data-v-7393e083]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.toolbar-actions[data-v-7393e083]{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:auto;padding-bottom:2px}.toolbar-hint[data-v-7393e083]{margin:10px 0 0;padding:8px 10px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:12px;line-height:1.45}.row[data-v-7393e083]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field[data-v-7393e083]{display:grid;gap:6px;min-width:220px}.field.grow[data-v-7393e083]{flex:1;min-width:260px}.combo-grow[data-v-7393e083]{min-width:min(560px,92vw)}.label[data-v-7393e083]{color:#6b7280;font-size:12px}.actions[data-v-7393e083]{display:inline-flex;gap:10px;flex-wrap:wrap}.actions.right[data-v-7393e083]{margin-left:auto}.input[data-v-7393e083]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px;transition:all .18s ease}.input[data-v-7393e083]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.select[data-v-7393e083]{background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px}.table-wrap[data-v-7393e083]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f;overflow:auto}.table[data-v-7393e083]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-7393e083],.table td[data-v-7393e083]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.table th[data-v-7393e083]{background:#f3f4f6;color:#4b5563;font-weight:600;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.muted[data-v-7393e083]{color:#6b7280}.strong[data-v-7393e083]{font-weight:600;color:#111827}.cell-remarks[data-v-7393e083]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops[data-v-7393e083]{white-space:nowrap;display:inline-flex;gap:8px}.btn[data-v-7393e083]{padding:8px 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;text-decoration:none;font-size:13px;display:inline-block;transition:all .18s ease}.btn[data-v-7393e083]:hover{border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn.primary[data-v-7393e083]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.danger[data-v-7393e083]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.danger[data-v-7393e083]:hover{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.btn.sm[data-v-7393e083]{padding:6px 8px;border-radius:10px;font-size:12px}.pagination[data-v-7393e083]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid #e5e7eb;background:#fff;border-radius:0 0 18px 18px}.pagination-info[data-v-7393e083]{color:#6b7280;font-size:13px}.page-size-select[data-v-7393e083]{padding:6px 10px;font-size:13px;border-radius:999px;border:1px solid #d1d5db;background:#fff}.small[data-v-7393e083]{font-size:12px}.modal-mask[data-v-7393e083]{position:fixed;inset:0;background:#0f172a59;display:grid;place-items:center;z-index:80}.modal[data-v-7393e083]{width:min(560px,calc(100vw - 24px));background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 25px 60px #0f172a40;overflow:hidden}.modal-head[data-v-7393e083]{padding:12px 14px;border-bottom:1px solid #e5e7eb}.modal-head h3[data-v-7393e083]{margin:0;font-size:16px;color:#111827}.modal-body[data-v-7393e083]{padding:14px;display:grid;gap:10px}.textarea[data-v-7393e083]{min-height:88px;resize:vertical}.modal-foot[data-v-7393e083]{padding:12px 14px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.modal-wide[data-v-7393e083]{width:min(920px,96vw)}.strong-label[data-v-7393e083]{font-weight:650;color:#374151;margin:0}.plans-section[data-v-7393e083]{display:grid;gap:8px}.plans-head[data-v-7393e083]{display:flex;align-items:center;justify-content:space-between;gap:10px}.plans-table-wrap[data-v-7393e083]{overflow:auto;border:1px solid #e5e7eb;border-radius:12px}.plans-table th[data-v-7393e083],.plans-table td[data-v-7393e083]{white-space:nowrap}.plans-table .input[data-v-7393e083]{min-width:120px}.btn.linkish[data-v-7393e083]{border:none;background:transparent;color:#2563eb;box-shadow:none}.page[data-v-aa12c3c0]{padding:24px 0 28px;background:#f5f7fb}.card[data-v-aa12c3c0]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f}.toolbar[data-v-aa12c3c0]{padding:16px 18px;margin-bottom:14px;display:grid;gap:14px}.toolbar-head[data-v-aa12c3c0]{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.toolbar-title[data-v-aa12c3c0]{font-size:14px;font-weight:700;color:#111827}.toolbar-hint[data-v-aa12c3c0]{font-size:12px;color:#9ca3af}.filter-grid[data-v-aa12c3c0]{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(140px,.6fr) minmax(200px,1fr) auto;gap:12px 14px;align-items:end}@media(max-width:1100px){.filter-grid[data-v-aa12c3c0]{grid-template-columns:repeat(2,minmax(200px,1fr))}.actions-field[data-v-aa12c3c0]{grid-column:1 / -1}}@media(max-width:640px){.filter-grid[data-v-aa12c3c0]{grid-template-columns:1fr}}.field[data-v-aa12c3c0]{display:grid;gap:6px;min-width:0}.field.grow[data-v-aa12c3c0],.combo-grow[data-v-aa12c3c0]{min-width:0}.label[data-v-aa12c3c0]{color:#6b7280;font-size:12px;font-weight:500}.label-hidden[data-v-aa12c3c0]{visibility:hidden}.input[data-v-aa12c3c0],.select[data-v-aa12c3c0]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px;transition:border-color .18s ease,box-shadow .18s ease}.input[data-v-aa12c3c0]:focus,.select[data-v-aa12c3c0]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.actions[data-v-aa12c3c0]{display:inline-flex;gap:8px;flex-wrap:wrap}.actions-field .actions[data-v-aa12c3c0]{justify-content:flex-end}.table-card[data-v-aa12c3c0]{overflow:hidden}.table-wrap[data-v-aa12c3c0]{overflow:auto}.table[data-v-aa12c3c0]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-aa12c3c0],.table td[data-v-aa12c3c0]{padding:12px 14px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:middle}.table tbody tr[data-v-aa12c3c0]:hover{background:#f8fafc}.table th[data-v-aa12c3c0]{background:#f8fafc;color:#64748b;font-weight:600;white-space:nowrap;font-size:12px;letter-spacing:.02em}.col-amount[data-v-aa12c3c0]{text-align:right}.amount[data-v-aa12c3c0]{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#0f766e;white-space:nowrap}.strong[data-v-aa12c3c0]{font-weight:600;color:#111827}.muted[data-v-aa12c3c0]{color:#6b7280}.small[data-v-aa12c3c0]{font-size:12px}.cell-desc[data-v-aa12c3c0]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-project[data-v-aa12c3c0]{min-width:120px}.project-name[data-v-aa12c3c0]{font-weight:700;color:#0f172a;line-height:1.4}.time[data-v-aa12c3c0]{white-space:nowrap;font-size:12px}.cat-badge[data-v-aa12c3c0]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.cat-hardware[data-v-aa12c3c0]{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.cat-software[data-v-aa12c3c0]{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.cat-electrical[data-v-aa12c3c0]{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.cat-default[data-v-aa12c3c0]{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.status-badge[data-v-aa12c3c0]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-submitted[data-v-aa12c3c0]{background:#eff6ff;color:#1d4ed8}.status-reviewing[data-v-aa12c3c0]{background:#fffbeb;color:#b45309}.status-accepted[data-v-aa12c3c0]{background:#ecfdf5;color:#047857}.status-rejected[data-v-aa12c3c0]{background:#fef2f2;color:#b91c1c}.status-default[data-v-aa12c3c0]{background:#f3f4f6;color:#4b5563}.file-list[data-v-aa12c3c0]{display:flex;flex-wrap:wrap;gap:6px}.file-chip[data-v-aa12c3c0]{padding:5px 10px;border-radius:10px;border:1px solid #dbeafe;background:#f8fafc;color:#1d4ed8;font-size:12px;cursor:pointer;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .18s ease}.file-chip[data-v-aa12c3c0]:hover{background:#eff6ff;border-color:#93c5fd;box-shadow:0 4px 12px #2563eb1f}.state-panel[data-v-aa12c3c0]{padding:48px 24px;text-align:center}.state-icon[data-v-aa12c3c0]{font-size:28px;margin-bottom:10px;opacity:.7}.state-text[data-v-aa12c3c0]{font-size:15px;font-weight:600;color:#374151}.state-sub[data-v-aa12c3c0]{margin-top:6px;font-size:13px;color:#9ca3af}.btn[data-v-aa12c3c0]{padding:8px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .18s ease}.btn[data-v-aa12c3c0]:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn[data-v-aa12c3c0]:disabled{opacity:.55;cursor:not-allowed}.ops[data-v-aa12c3c0]{white-space:nowrap}.btn.sm[data-v-aa12c3c0]{padding:5px 10px;font-size:12px}.btn.danger[data-v-aa12c3c0]{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.btn.danger[data-v-aa12c3c0]:hover:not(:disabled){background:#fecaca;border-color:#fca5a5;color:#991b1b}.btn.primary[data-v-aa12c3c0]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.primary[data-v-aa12c3c0]:hover:not(:disabled){color:#fff;box-shadow:0 12px 28px #2563eb57}.pagination[data-v-aa12c3c0]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #e5e7eb;background:#fafbfc}.pagination-gap[data-v-aa12c3c0]{flex:1}.pagination-info[data-v-aa12c3c0]{color:#6b7280;font-size:13px;min-width:52px;text-align:center}.page-size-select[data-v-aa12c3c0]{padding:6px 10px;font-size:13px;border-radius:999px;border:1px solid #d1d5db;background:#fff}.page[data-v-44d30512]{padding:24px 0 28px;background:#f5f7fb}.card[data-v-44d30512]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f}.toolbar[data-v-44d30512]{padding:16px 18px;margin-bottom:14px}.filter-grid[data-v-44d30512]{display:grid;grid-template-columns:minmax(200px,1.2fr) 140px minmax(180px,1fr) auto;gap:12px;align-items:end}@media(max-width:900px){.filter-grid[data-v-44d30512]{grid-template-columns:1fr 1fr}.actions-field[data-v-44d30512]{grid-column:1 / -1}}.field[data-v-44d30512]{display:grid;gap:6px;min-width:0}.label[data-v-44d30512]{font-size:12px;color:#6b7280}.label-hidden[data-v-44d30512]{visibility:hidden}.input[data-v-44d30512]{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid #d1d5db;border-radius:12px;font-size:13px}.textarea[data-v-44d30512]{min-height:72px;resize:vertical}.actions[data-v-44d30512]{display:flex;gap:8px;justify-content:flex-end}.table-card[data-v-44d30512]{overflow:hidden}.table-wrap[data-v-44d30512]{overflow:auto}.table[data-v-44d30512]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-44d30512],.table td[data-v-44d30512]{padding:12px 14px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:middle}.table th[data-v-44d30512]{background:#f8fafc;color:#64748b;font-size:12px;font-weight:600}.table.inner th[data-v-44d30512],.table.inner td[data-v-44d30512]{padding:8px 10px}.strong[data-v-44d30512]{font-weight:600;color:#111827}.muted[data-v-44d30512]{color:#6b7280}.time-col[data-v-44d30512]{font-size:12px;line-height:1.5}.phase-hint[data-v-44d30512]{font-size:11px;color:#9ca3af;margin-top:4px}.status-badge[data-v-44d30512]{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.st-draft[data-v-44d30512]{background:#f3f4f6;color:#4b5563}.st-published[data-v-44d30512]{background:#eff6ff;color:#1d4ed8}.st-closed[data-v-44d30512]{background:#fef3c7;color:#b45309}.st-cancelled[data-v-44d30512]{background:#fef2f2;color:#b91c1c}.ops[data-v-44d30512]{white-space:nowrap;display:flex;flex-wrap:wrap;gap:6px}.amount[data-v-44d30512]{color:#0f766e;font-weight:600}.pagination[data-v-44d30512]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #e5e7eb;background:#fafbfc}.gap[data-v-44d30512]{flex:1}.pagination-info[data-v-44d30512]{color:#6b7280;font-size:13px}.state-panel[data-v-44d30512]{padding:40px;text-align:center;color:#6b7280}.btn[data-v-44d30512]{padding:8px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-44d30512]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600}.btn.sm[data-v-44d30512]{padding:5px 10px;font-size:12px;border-radius:10px}.btn.danger[data-v-44d30512]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.modal-mask[data-v-44d30512]{position:fixed;inset:0;background:#0f172a59;display:grid;place-items:center;z-index:80;padding:16px}.modal[data-v-44d30512]{width:min(520px,100%);max-height:90vh;background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.modal.wide[data-v-44d30512]{width:min(920px,100%)}.modal-head[data-v-44d30512]{padding:14px 16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h3[data-v-44d30512]{margin:0;font-size:16px}.modal-body[data-v-44d30512]{padding:16px;overflow:auto;flex:1}.modal-foot[data-v-44d30512]{padding:12px 16px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.form-grid[data-v-44d30512]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(max-width:640px){.form-grid[data-v-44d30512]{grid-template-columns:1fr}}.checklist[data-v-44d30512]{display:grid;gap:8px}.checklist-head[data-v-44d30512],.checklist-row[data-v-44d30512]{display:grid;grid-template-columns:1.2fr 1fr .6fr .6fr 1fr 48px;gap:6px;align-items:center}.checklist-head[data-v-44d30512]{font-size:11px;color:#9ca3af;padding:0 2px}@media(max-width:768px){.checklist-head[data-v-44d30512]{display:none}.checklist-row[data-v-44d30512]{grid-template-columns:1fr}}.chips[data-v-44d30512]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip[data-v-44d30512]{font-size:12px;background:#f1f5f9;padding:4px 10px;border-radius:8px}.chip b[data-v-44d30512]{cursor:pointer;color:#dc2626;margin-left:4px}.supplier-pick[data-v-44d30512]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:280px;overflow:auto;margin-top:8px}.pick-item[data-v-44d30512]{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;font-size:13px;cursor:pointer}.detail-meta[data-v-44d30512]{display:grid;gap:6px;font-size:13px;margin-bottom:16px;color:#374151}.block[data-v-44d30512]{margin-bottom:16px}.block-title[data-v-44d30512]{font-weight:700;font-size:13px;margin-bottom:8px;color:#111827}.file-chip[data-v-44d30512]{padding:5px 10px;border-radius:10px;border:1px solid #dbeafe;background:#f8fafc;color:#1d4ed8;font-size:12px;cursor:pointer;margin-right:6px}.file-chip.sm[data-v-44d30512]{padding:3px 8px}.small[data-v-44d30512]{font-size:12px}.page[data-v-332382a3]{padding:24px 0;background:#f5f7fb}.empty[data-v-332382a3]{padding:24px 4px;color:#6b7280;text-align:center}.card[data-v-332382a3]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f}.toolbar[data-v-332382a3]{padding:14px 16px;margin-bottom:14px;display:grid;gap:12px}.row[data-v-332382a3]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field[data-v-332382a3]{display:grid;gap:6px;min-width:220px}.field.grow[data-v-332382a3]{flex:1;min-width:260px}.label[data-v-332382a3]{color:#6b7280;font-size:12px}.actions[data-v-332382a3]{display:inline-flex;gap:10px;flex-wrap:wrap}.actions.right[data-v-332382a3]{margin-left:auto}.input[data-v-332382a3]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px;transition:all .18s ease}.input[data-v-332382a3]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.input.readonly[data-v-332382a3]{background:#f8fafc;color:#334155;border-color:#e2e8f0;-webkit-user-select:text;user-select:text}.select[data-v-332382a3]{background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px}.table-wrap[data-v-332382a3]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f;overflow:auto}.table[data-v-332382a3]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-332382a3],.table td[data-v-332382a3]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.table th[data-v-332382a3]{background:#f3f4f6;color:#4b5563;font-weight:600;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.muted[data-v-332382a3]{color:#6b7280}.cell-remarks[data-v-332382a3]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops[data-v-332382a3]{white-space:nowrap}.btn[data-v-332382a3]{padding:8px 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;text-decoration:none;font-size:13px;display:inline-block;transition:all .18s ease}.btn[data-v-332382a3]:hover{border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn.primary[data-v-332382a3]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.danger[data-v-332382a3]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn.danger[data-v-332382a3]:hover{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.btn.sm[data-v-332382a3]{padding:6px 8px;border-radius:10px;font-size:12px}.pagination[data-v-332382a3]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid #e5e7eb;background:#fff;border-radius:0 0 18px 18px}.pagination-info[data-v-332382a3]{color:#6b7280;font-size:13px}.page-size-select[data-v-332382a3]{padding:6px 10px;font-size:13px;border-radius:999px;border:1px solid #d1d5db;background:#fff}.small[data-v-332382a3]{font-size:12px}.ops[data-v-332382a3]{white-space:nowrap;display:inline-flex;gap:8px}.modal-mask[data-v-332382a3]{position:fixed;inset:0;background:#0f172a59;display:grid;place-items:center;z-index:80}.modal[data-v-332382a3]{width:min(560px,calc(100vw - 24px));background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 25px 60px #0f172a40;overflow:hidden}.modal-head[data-v-332382a3]{padding:12px 14px;border-bottom:1px solid #e5e7eb}.modal-head h3[data-v-332382a3]{margin:0;font-size:16px;color:#111827}.modal-body[data-v-332382a3]{padding:14px;display:grid;gap:10px}.textarea[data-v-332382a3]{min-height:88px;resize:vertical}.modal-foot[data-v-332382a3]{padding:12px 14px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.page[data-v-dc99a3f8]{display:flex;flex-direction:column;gap:14px}.toolbar[data-v-dc99a3f8]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.tabs[data-v-dc99a3f8]{display:flex;flex-wrap:wrap;gap:6px}.tab[data-v-dc99a3f8]{border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}.tab.active[data-v-dc99a3f8]{background:#0f172a;color:#fff;border-color:#0f172a}.search[data-v-dc99a3f8]{display:flex;gap:8px}.input[data-v-dc99a3f8]{height:34px;border:1px solid #e2e8f0;border-radius:8px;padding:0 10px;font-size:13px}.btn[data-v-dc99a3f8]{height:34px;padding:0 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-dc99a3f8]{background:#0f172a;color:#fff;border-color:#0f172a}.btn[data-v-dc99a3f8]:disabled{opacity:.45;cursor:not-allowed}.empty[data-v-dc99a3f8]{padding:48px 16px;text-align:center;color:#64748b}.table-wrap[data-v-dc99a3f8]{border:1px solid #e2e8f0;border-radius:12px;overflow:auto;background:#fff}.table[data-v-dc99a3f8]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-dc99a3f8]{text-align:left;padding:10px 12px;background:#f8fafc;color:#64748b;font-weight:600;white-space:nowrap;border-bottom:1px solid #e2e8f0}.table td[data-v-dc99a3f8]{padding:12px;border-bottom:1px solid #f1f5f9;color:#0f172a;vertical-align:middle}.name[data-v-dc99a3f8]{font-weight:600}.ops[data-v-dc99a3f8]{display:flex;gap:10px;flex-wrap:wrap}.link[data-v-dc99a3f8]{border:0;background:none;color:#2563eb;cursor:pointer;font-size:13px;padding:0}.badge[data-v-dc99a3f8]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#f1f5f9;color:#475569}.badge.in_warranty[data-v-dc99a3f8],.in_warranty[data-v-dc99a3f8]{color:#047857}.badge.in_warranty[data-v-dc99a3f8]{background:#ecfdf5}.badge.expiring[data-v-dc99a3f8],.expiring[data-v-dc99a3f8]{color:#c2410c}.badge.expiring[data-v-dc99a3f8]{background:#fff7ed}.badge.expired[data-v-dc99a3f8],.expired[data-v-dc99a3f8]{color:#b91c1c}.badge.expired[data-v-dc99a3f8]{background:#fef2f2}.badge.unknown[data-v-dc99a3f8]{background:#f1f5f9;color:#64748b}.pager[data-v-dc99a3f8]{display:flex;align-items:center;gap:8px}.pager-gap[data-v-dc99a3f8]{flex:1}.muted[data-v-dc99a3f8]{color:#94a3b8}.mask[data-v-dc99a3f8]{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;z-index:40}.dialog[data-v-dc99a3f8]{width:min(420px,92vw);background:#fff;border-radius:12px;padding:18px 20px}.dialog h3[data-v-dc99a3f8]{margin:0 0 14px;font-size:16px}.field[data-v-dc99a3f8]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:#475569}.dialog-actions[data-v-dc99a3f8]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.page[data-v-29869b5c]{padding:22px 0 26px;background:radial-gradient(1200px 600px at 20% -20%,rgba(37,99,235,.1),transparent 60%),radial-gradient(900px 520px at 90% 10%,rgba(0,212,170,.1),transparent 55%),#f5f7fb}.empty[data-v-29869b5c]{padding:24px 4px;color:#6b7280;text-align:center}.card[data-v-29869b5c]{background:#ffffffdb;border:1px solid rgba(229,231,235,.9);border-radius:18px;box-shadow:0 18px 44px #0f172a14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar[data-v-29869b5c]{padding:12px 14px;margin-bottom:12px;display:grid;gap:10px}.row[data-v-29869b5c]{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.field[data-v-29869b5c]{display:grid;gap:6px;min-width:210px}.label[data-v-29869b5c]{color:#6b7280;font-size:12px}.toolbar-filters[data-v-29869b5c]{position:relative;z-index:30;padding:10px 12px;margin-bottom:10px;border:1px solid rgba(226,232,240,.95);background:linear-gradient(180deg,#fffffff7,#f8fafceb)}.toolbar-filters__grid[data-v-29869b5c]{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}.tf-cell[data-v-29869b5c]{display:flex;flex-direction:column;gap:4px;min-width:0}.tf-status[data-v-29869b5c]{width:100px;flex:0 0 auto}.tf-page[data-v-29869b5c]{width:76px;flex:0 0 auto}.tf-search[data-v-29869b5c]{flex:1 1 220px;min-width:min(100%,200px);max-width:100%}.tf-lbl[data-v-29869b5c]{font-size:11px;font-weight:650;color:#64748b;letter-spacing:.02em;line-height:1.2}.tf-search-stack[data-v-29869b5c]{display:flex;flex-direction:column;gap:6px;min-width:0}.tf-actions[data-v-29869b5c]{flex:0 1 auto;margin-left:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;justify-content:flex-end}@media(max-width:640px){.tf-actions[data-v-29869b5c]{margin-left:0;flex:1 1 100%;justify-content:flex-start}}.input--toolbar[data-v-29869b5c]{padding:6px 10px;font-size:12px;border-radius:10px}.btn--toolbar[data-v-29869b5c]{padding:6px 12px;font-size:12px;border-radius:10px;box-shadow:0 6px 16px #0f172a14;white-space:nowrap}.toolbar-filters[data-v-29869b5c] .ssc-meta{display:none}.toolbar-filters[data-v-29869b5c] .ssc-input{padding:6px 10px;font-size:12px;border-radius:10px}.toolbar-filters[data-v-29869b5c] .ssc-clear{padding:4px 8px;font-size:11px;border-radius:8px}.toolbar-filters[data-v-29869b5c] .ssc-row{gap:6px}.input[data-v-29869b5c]{width:100%;background:#ffffffeb;border:1px solid rgba(203,213,225,.95);color:#0f172a;border-radius:12px;padding:9px 12px;outline:none;font-size:13px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input[data-v-29869b5c]:focus{border-color:#2563eb8c;box-shadow:0 0 0 4px #2563eb24;background:#fff}.table-wrap[data-v-29869b5c]{background:#ffffffe6;border:1px solid rgba(229,231,235,.9);border-radius:18px;box-shadow:0 18px 44px #0f172a14;overflow:auto}.table[data-v-29869b5c]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-29869b5c],.table td[data-v-29869b5c]{padding:10px 12px;border-bottom:1px solid rgba(226,232,240,.9);text-align:left;vertical-align:middle}.table-compact th[data-v-29869b5c],.table-compact td[data-v-29869b5c]{padding:8px 10px;font-size:12px}.table th[data-v-29869b5c]{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#f8fafcfa,#f1f5f9fa);color:#475569;font-weight:700;white-space:nowrap;font-size:12px;letter-spacing:.03em}.table tbody tr[data-v-29869b5c]:hover{background:#00d4aa0f}.muted[data-v-29869b5c]{color:#64748b}.pagination[data-v-29869b5c]{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px}.pagination-info[data-v-29869b5c]{color:#6b7280;font-size:12px}.btn[data-v-29869b5c]{background:#0f172a;color:#fff;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:8px 12px;font-size:13px;cursor:pointer;transition:transform .06s ease,box-shadow .16s ease,background .16s ease;box-shadow:0 10px 24px #0f172a1a}.btn[data-v-29869b5c]:hover{box-shadow:0 12px 28px #0f172a24}.btn[data-v-29869b5c]:active{transform:translateY(1px)}.btn[data-v-29869b5c]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.primary[data-v-29869b5c]{background:linear-gradient(135deg,#2563eb,#0ea5e9)}.btn.danger[data-v-29869b5c]{background:linear-gradient(135deg,#b91c1c,#ef4444)}.btn.sm[data-v-29869b5c]{padding:6px 10px;border-radius:10px;font-size:12px;box-shadow:0 8px 18px #0f172a1a}.grow[data-v-29869b5c]{flex:1;min-width:280px}.quick-pick[data-v-29869b5c]{min-width:min(560px,92vw)}.actions[data-v-29869b5c]{min-width:auto}.right[data-v-29869b5c]{margin-left:auto}.row-inline[data-v-29869b5c]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mt8[data-v-29869b5c]{margin-top:8px}.tf-combo[data-v-29869b5c]{min-width:0}.bill-title[data-v-29869b5c]{padding:10px 12px;border:1px dashed rgba(203,213,225,.9);border-radius:14px;color:#0f172a;background:linear-gradient(180deg,#f8fafcd9,#ffffffd9)}.badge[data-v-29869b5c]{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;font-size:12px;border:1px solid transparent}.badge.unpaid[data-v-29869b5c]{background:#94a3b829;color:#64748b;border-color:#94a3b838}.badge.partial[data-v-29869b5c]{background:#f59e0b24;color:#b45309;border-color:#f59e0b38}.badge.paid[data-v-29869b5c]{background:#22c55e24;color:#16a34a;border-color:#22c55e38}.bar[data-v-29869b5c]{width:140px;height:8px;border-radius:999px;background:#e2e8f0e6;overflow:hidden}.bar-sm[data-v-29869b5c]{width:48px;height:5px}.bar-in[data-v-29869b5c]{height:100%;background:linear-gradient(90deg,#00d4aa,#2563eb);border-radius:999px}.ops[data-v-29869b5c]{white-space:nowrap;display:flex;gap:8px;flex-wrap:wrap}.muted.small[data-v-29869b5c]{font-size:12px}.mono[data-v-29869b5c]{font-variant-numeric:tabular-nums}.modal-mask[data-v-29869b5c]{position:fixed;inset:0;background:radial-gradient(1200px 700px at 20% 0%,#2563eb29,#0f172a73 55%),#0f172a73;display:grid;place-items:center;padding:16px;z-index:60}.modal[data-v-29869b5c]{width:min(920px,96vw);background:#fffffff5;border:1px solid rgba(229,231,235,.95);border-radius:18px;box-shadow:0 22px 70px #0f172a4d;overflow:visible}.modal-title[data-v-29869b5c]{padding:14px 16px;font-weight:900;color:#0f172a;border-bottom:1px solid rgba(226,232,240,.9);background:linear-gradient(180deg,#f8fafcf5,#fffffff5)}.modal-body[data-v-29869b5c]{padding:14px 16px;max-height:min(72vh,620px);overflow-x:hidden;overflow-y:auto}.modal-actions[data-v-29869b5c]{padding:12px 16px;border-top:1px solid rgba(226,232,240,.9);display:flex;justify-content:flex-end;gap:10px;background:linear-gradient(180deg,#fffffff5,#f8fafcf5)}.textarea[data-v-29869b5c]{resize:vertical}.grid2[data-v-29869b5c]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3[data-v-29869b5c]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.chk-label[data-v-29869b5c]{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:13px;-webkit-user-select:none;user-select:none}.inv-actions[data-v-29869b5c]{display:flex;gap:10px;align-items:center}.smsc[data-v-7b6fdcab]{width:100%}.smsc.disabled[data-v-7b6fdcab]{opacity:.65}.smsc-hint[data-v-7b6fdcab]{margin:0 0 6px;font-size:12px;line-height:1.45}.smsc-chips[data-v-7b6fdcab]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.smsc-chip[data-v-7b6fdcab]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:12px;font-weight:600}.smsc-chip-x[data-v-7b6fdcab]{border:none;background:transparent;color:#64748b;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.smsc-chip-x[data-v-7b6fdcab]:hover{color:#b91c1c}.smsc-row[data-v-7b6fdcab]{display:flex;align-items:flex-start;gap:8px}.smsc-wrap[data-v-7b6fdcab]{position:relative;flex:1;min-width:0}.smsc-input[data-v-7b6fdcab]{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font-size:13px;outline:none;background:#fff;color:#111827}.smsc-input[data-v-7b6fdcab]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.smsc-input[data-v-7b6fdcab]:disabled{background:#f3f4f6;cursor:not-allowed}.smsc-panel[data-v-7b6fdcab]{margin:0;padding:6px;list-style:none;overflow-y:auto;background:#fff;border:2px solid #93c5fd;border-radius:12px;box-shadow:0 0 0 1px #ffffffe6,0 18px 48px #0f172a38,0 4px 14px #2563eb1f}.smsc-item[data-v-7b6fdcab]{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13px;color:#0f172a}.smsc-item[data-v-7b6fdcab]:hover{background:#eff6ff}.smsc-item.active[data-v-7b6fdcab]{background:#dbeafe;box-shadow:inset 0 0 0 1px #93c5fd;color:#1e3a8a}.smsc-item.empty[data-v-7b6fdcab]{cursor:default;color:#64748b}.smsc-check[data-v-7b6fdcab]{width:16px;flex-shrink:0;font-weight:800;color:#2563eb;text-align:center}.smsc-name[data-v-7b6fdcab]{flex:1;min-width:0}.smsc-id[data-v-7b6fdcab]{color:#94a3b8;font-size:12px;font-variant-numeric:tabular-nums}.smsc-clear[data-v-7b6fdcab]{flex-shrink:0;height:40px;padding:0 12px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;font-size:13px}.smsc-clear[data-v-7b6fdcab]:hover{background:#f8fafc;color:#0f172a}.smsc-meta[data-v-7b6fdcab]{margin:6px 0 0;font-size:12px;line-height:1.4}.muted[data-v-7b6fdcab]{color:#94a3b8}.wf-page[data-v-7216d7ae]{padding:0 0 28px;max-width:1480px;margin:0 auto}.wf-guide[data-v-7216d7ae]{margin:0 0 14px;border-radius:14px;border:1px solid rgba(226,232,240,.95);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 2px 14px #0f172a0a;overflow:hidden}.wf-guide>summary[data-v-7216d7ae]{cursor:pointer;list-style:none;padding:12px 16px;font-size:13px;font-weight:750;color:#334155;-webkit-user-select:none;user-select:none}.wf-guide>summary[data-v-7216d7ae]::-webkit-details-marker{display:none}.wf-guide>summary[data-v-7216d7ae]:before{content:"▸";display:inline-block;margin-right:8px;transition:transform .15s ease;color:#64748b;font-size:11px}.wf-guide[open]>summary[data-v-7216d7ae]:before{transform:rotate(90deg)}.wf-guide-body[data-v-7216d7ae]{padding:0 16px 14px;border-top:1px solid #eef2f7;font-size:13px;line-height:1.65;color:#475569}.wf-guide-body p[data-v-7216d7ae]{margin:0 0 10px}.wf-guide-body p[data-v-7216d7ae]:last-child{margin-bottom:0}.wf-code[data-v-7216d7ae]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:1px 6px;border-radius:6px;background:#f1f5f9;border:1px solid #e2e8f0;color:#0f172a}.wf-toolbar[data-v-7216d7ae]{margin-bottom:14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.35);background:linear-gradient(135deg,#fffffff2,#f8fafcfa);box-shadow:0 4px 24px #0f172a0f}.wf-toolbar-inner[data-v-7216d7ae]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px}.wf-field-sm[data-v-7216d7ae]{min-width:120px;max-width:160px}.wf-field-action[data-v-7216d7ae],.wf-query-btn[data-v-7216d7ae]{min-width:88px}.wf-layout[data-v-7216d7ae]{display:grid;gap:16px;grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}.card[data-v-7216d7ae]{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:16px;padding:0;box-shadow:0 8px 32px #0f172a0f;overflow:hidden}.wf-panel-head[data-v-7216d7ae]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc,#fff)}.wf-panel-title[data-v-7216d7ae]{margin:0;font-size:14px;font-weight:800;letter-spacing:-.02em;color:#0f172a}.wf-count[data-v-7216d7ae]{font-size:11px;font-weight:700;color:#64748b;padding:4px 10px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0}.wf-table-wrap[data-v-7216d7ae]{padding:0 4px 8px;max-height:min(52vh,560px);overflow:auto}.wf-name-cell[data-v-7216d7ae]{font-weight:600;color:#0f172a}.wf-mono-cell[data-v-7216d7ae]{font-size:11px;color:#475569}.wf-col-ver[data-v-7216d7ae]{width:56px;white-space:nowrap}.wf-col-op[data-v-7216d7ae]{width:86px;white-space:nowrap;text-align:right}.wf-list .pagination[data-v-7216d7ae]{padding:10px 14px 14px;margin-top:0;border-top:1px solid #f1f5f9;background:#fafbfc}.wf-editor[data-v-7216d7ae]{padding:0}.wf-editor>.empty[data-v-7216d7ae]{padding:48px 20px}.wf-editor-head[data-v-7216d7ae]{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #e2e8f0;background:radial-gradient(800px 120px at 0% 0%,rgba(56,189,248,.08),transparent 55%),radial-gradient(600px 100px at 100% 0%,rgba(129,140,248,.1),transparent 50%),linear-gradient(180deg,#fff,#f8fafc)}.wf-editor-title[data-v-7216d7ae]{margin:0 0 4px;font-size:18px;font-weight:850;letter-spacing:-.03em;color:#0f172a;line-height:1.25}.wf-editor-biz[data-v-7216d7ae]{margin:0;font-size:12px;color:#64748b}.wf-meta-grid[data-v-7216d7ae]{padding:16px 18px 4px;display:grid;gap:12px}.wf-meta-grid .grid2[data-v-7216d7ae],.wf-meta-grid>.field[data-v-7216d7ae]{margin:0}.wf-editor .validate-banner[data-v-7216d7ae]{margin:0 18px 12px}.wf-editor .canvas-layout[data-v-7216d7ae],.wf-editor .panel-block[data-v-7216d7ae]{margin:0 18px 14px}.wf-editor .ops[data-v-7216d7ae]{margin:16px 18px 18px;padding-top:14px;border-top:1px solid #f1f5f9}.field[data-v-7216d7ae]{display:grid;gap:6px;min-width:180px}.label[data-v-7216d7ae]{color:#6b7280;font-size:12px}.grow[data-v-7216d7ae]{flex:1}.input[data-v-7216d7ae]{width:100%;border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 10px;font-size:13px;color:#0f172a}.input.sm[data-v-7216d7ae]{padding:6px 8px;font-size:12px}.textarea[data-v-7216d7ae]{resize:vertical}.table[data-v-7216d7ae]{width:100%;border-collapse:collapse;font-size:12px}.table th[data-v-7216d7ae],.table td[data-v-7216d7ae]{text-align:left;border-bottom:1px solid #eef2f7;padding:10px 12px}.table thead th[data-v-7216d7ae]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800;background:#fafbfc;position:sticky;top:0;z-index:1;box-shadow:0 1px #eef2f7}.table tbody tr[data-v-7216d7ae]{cursor:pointer;transition:background .12s ease}.table tbody tr[data-v-7216d7ae]:hover{background:#f8fafcf2}.table tbody tr.active[data-v-7216d7ae]{background:linear-gradient(90deg,#2563eb1a,#2563eb0a);box-shadow:inset 3px 0 #2563eb}.pagination[data-v-7216d7ae]{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px}.empty[data-v-7216d7ae]{color:#64748b;text-align:center;padding:16px}.btn[data-v-7216d7ae]{border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:10px;padding:8px 12px;cursor:pointer;font-size:13px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn[data-v-7216d7ae]:not(:disabled):hover{border-color:#2563eb59;box-shadow:0 2px 8px #2563eb14}.btn[data-v-7216d7ae]:disabled{opacity:.55;cursor:not-allowed}.btn.sm[data-v-7216d7ae]{padding:5px 10px;font-size:12px;border-radius:8px}.btn.primary[data-v-7216d7ae]{background:#2563eb;border-color:#2563eb;color:#fff}.btn.danger[data-v-7216d7ae]{background:#dc2626;border-color:#dc2626;color:#fff}.mono[data-v-7216d7ae]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.pill[data-v-7216d7ae]{display:inline-flex;align-items:center;border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;font-size:11px;padding:2px 8px}.pill.sm[data-v-7216d7ae]{font-size:10px;padding:1px 6px}.pill--draft[data-v-7216d7ae]{border-color:#e2e8f0;background:#f8fafc;color:#475569}.pill--ok[data-v-7216d7ae]{border-color:#10b98173;background:#10b9811f;color:#047857}.pill--off[data-v-7216d7ae]{border-color:#f8717173;background:#f871711a;color:#b91c1c}.grid2[data-v-7216d7ae]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3[data-v-7216d7ae]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.ops[data-v-7216d7ae]{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.muted[data-v-7216d7ae]{color:#64748b}.small[data-v-7216d7ae]{font-size:12px}.strong[data-v-7216d7ae]{font-weight:650;color:#0f172a}.tabs[data-v-7216d7ae]{display:flex;flex-wrap:wrap;gap:4px;margin:0}.wf-tabs[data-v-7216d7ae]{margin:0 18px 14px;padding:5px;border-radius:14px;border:1px solid #e2e8f0;background:#f1f5f9}.tab[data-v-7216d7ae]{border:1px solid transparent;background:transparent;border-radius:10px;padding:8px 14px;font-size:12px;cursor:pointer;color:#64748b;font-weight:600;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.tab[data-v-7216d7ae]:hover{color:#0f172a;background:#ffffffa6}.tab.on[data-v-7216d7ae]{border-color:#2563eb33;background:#fff;color:#1d4ed8;font-weight:750;box-shadow:0 2px 8px #2563eb1f}.validate-banner[data-v-7216d7ae]{border:1px solid #fcd34d;background:#fffbeb;border-radius:12px;padding:10px 12px;margin-bottom:10px}.validate-title[data-v-7216d7ae]{font-weight:800;font-size:12px;color:#92400e;margin-bottom:6px}.validate-list[data-v-7216d7ae]{margin:0;padding-left:18px;font-size:12px;color:#78350f}.canvas-layout[data-v-7216d7ae]{display:grid;grid-template-columns:168px minmax(0,1fr) 272px;gap:12px;min-height:440px}.palette[data-v-7216d7ae]{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:inset 0 1px #fffc}.palette-title[data-v-7216d7ae]{font-size:12px;font-weight:800;color:#334155;margin-bottom:8px}.palette-btn[data-v-7216d7ae]{display:flex;align-items:flex-start;gap:8px;width:100%;margin-bottom:8px;padding:8px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#334155;cursor:pointer;font-size:12px;text-align:left;appearance:none;-webkit-appearance:none;color-scheme:light}.palette-btn-text[data-v-7216d7ae]{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.palette-btn-label[data-v-7216d7ae]{font-size:12px;font-weight:800;color:#0f172a;line-height:1.25}.palette-btn-desc[data-v-7216d7ae]{font-size:10px;font-weight:500;color:#64748b;line-height:1.35}.palette-btn[data-v-7216d7ae]:not(:disabled):hover{border-color:#2563eb59;background:#f8fafc}.palette-btn:not(:disabled):hover .palette-btn-label[data-v-7216d7ae]{color:#2563eb}.palette-btn[data-v-7216d7ae]:disabled{opacity:.5;cursor:not-allowed}.dot[data-v-7216d7ae]{width:8px;height:8px;border-radius:99px;flex-shrink:0}.hint[data-v-7216d7ae]{font-size:11px;color:#64748b;line-height:1.45;margin:0 0 10px}.impl-hint[data-v-7216d7ae]{margin-top:4px;padding:8px 10px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46}.hint .kbd-hint[data-v-7216d7ae]{display:inline-block;padding:0 5px;border:1px solid #cbd5e1;border-radius:4px;font-size:10px;font-family:ui-monospace,monospace;background:#fff;color:#475569}.check-list[data-v-7216d7ae]{max-height:220px;overflow:auto;border:1px solid #e5e7eb;border-radius:10px;padding:6px 8px;background:#fff}.check-list.disabled[data-v-7216d7ae]{opacity:.7}.check-row[data-v-7216d7ae]{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:13px;cursor:pointer;border-radius:6px}.check-row[data-v-7216d7ae]:hover{background:#f8fafc}.check-row .muted[data-v-7216d7ae]{margin-left:auto;font-size:12px}.label .muted[data-v-7216d7ae]{font-weight:500;margin-left:8px}.flow-canvas[data-v-7216d7ae]{position:relative;min-height:420px;min-width:320px;border:1px solid #e2e8f0;border-radius:14px;background-color:#f8fafc;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.35) 1px,transparent 0);background-size:20px 20px;background-position:-1px -1px;overflow:auto;box-shadow:inset 0 0 0 1px #fff9}.flow-svg[data-v-7216d7ae]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.edge-label[data-v-7216d7ae]{font-size:10px;fill:#64748b;font-weight:700}.flow-node[data-v-7216d7ae]{position:absolute;width:168px;min-height:52px;border-radius:12px;border:2px solid var(--accent, #64748b);background:#fff;box-shadow:0 8px 20px #0f172a14;cursor:grab;z-index:2}.flow-node.active[data-v-7216d7ae]{box-shadow:0 0 0 3px #2563eb40}.flow-node.connect[data-v-7216d7ae]{box-shadow:0 0 0 3px #eab30873}.flow-node-head[data-v-7216d7ae]{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#0f172a0a;border-radius:10px 10px 0 0}.flow-node-type[data-v-7216d7ae]{font-size:11px;font-weight:800;color:var(--accent, #64748b)}.flow-node-body[data-v-7216d7ae]{padding:8px 10px;font-size:12px;font-weight:600;color:#0f172a}.flow-node-title[data-v-7216d7ae]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node-sub[data-v-7216d7ae]{margin-top:4px;font-size:11px;font-weight:650;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node-foot[data-v-7216d7ae]{padding:0 8px 8px}.icon-btn[data-v-7216d7ae]{border:none;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:#64748b;padding:0 4px}.link-mini[data-v-7216d7ae]{font-size:11px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:4px 8px;cursor:pointer}.props-panel[data-v-7216d7ae]{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:linear-gradient(180deg,#fff,#fafbfc);max-height:520px;overflow:auto;box-shadow:0 4px 18px #0f172a0d}.branch-btns[data-v-7216d7ae]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.edge-row[data-v-7216d7ae]{display:flex;align-items:center;gap:6px;font-size:11px;padding:4px 0;border-bottom:1px solid #f1f5f9}.edge-desc[data-v-7216d7ae]{flex:1;overflow:hidden;text-overflow:ellipsis}.panel-block[data-v-7216d7ae]{margin-top:4px}.row-head[data-v-7216d7ae]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.table-wrap-inner[data-v-7216d7ae]{overflow:auto;border:1px solid #e2e8f0;border-radius:12px}.inner-table[data-v-7216d7ae]{width:100%;border-collapse:collapse;font-size:12px}.inner-table th[data-v-7216d7ae],.inner-table td[data-v-7216d7ae]{padding:8px;border-bottom:1px solid #f1f5f9;text-align:left}.inner-table th[data-v-7216d7ae]{background:#f8fafc;color:#64748b;font-weight:700}.cen[data-v-7216d7ae]{text-align:center}.rule-card[data-v-7216d7ae]{border:1px solid #e2e8f0;border-radius:14px;padding:14px;margin-bottom:12px;background:#fff;box-shadow:0 2px 12px #0f172a0a}.rule-head[data-v-7216d7ae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;font-size:13px}.rule-actions[data-v-7216d7ae]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.action-row[data-v-7216d7ae]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.chk[data-v-7216d7ae]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#475569}@media(max-width:1280px){.canvas-layout[data-v-7216d7ae]{grid-template-columns:1fr}.props-panel[data-v-7216d7ae]{max-height:none}}@media(max-width:1180px){.wf-layout[data-v-7216d7ae],.grid3[data-v-7216d7ae]{grid-template-columns:1fr}.wf-table-wrap[data-v-7216d7ae]{max-height:none}}.shell.dark{border-color:#94a3b82e;background:linear-gradient(135deg,#1e293beb,#0f172af5);box-shadow:0 8px 28px #00000059}.shell.dark{border-bottom-color:#94a3b824;background:linear-gradient(180deg,#1e293b8c,#0f172a59)}.shell.dark{background:#0f172a8c;border-color:#94a3b838;color:#f8fafceb}.shell.dark{background:#1e293bd9;border-color:#94a3b838;color:#f8fafce0}.shell.dark{background:#0f172ae6;color:#94a3b8e6;box-shadow:0 1px #94a3b81f}.shell.dark{background:#38bdf80f}.shell.dark{background:linear-gradient(90deg,#38bdf82e,#38bdf80f);box-shadow:inset 3px 0 #38bdf8}.shell.dark{background:#0f172a8c;border-color:#94a3b82e}.shell.dark{color:#94a3b8f2}.shell.dark{color:#f8fafceb;background:#1e293bbf}.shell.dark{background:#0f172ae6;border-color:#38bdf859;color:#5eead4;box-shadow:0 2px 12px #00000040}.shell.dark{background:linear-gradient(180deg,#1e293b8c,#0f172a73);border-color:#94a3b829}.shell.dark{background-color:#0f172a73;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.22) 1px,transparent 0);border-color:#94a3b82e}.shell.dark{background:#0f172ae0}.shell.dark{border-top-color:#94a3b81f}.shell.dark{background:#0f172a8c;border-color:#94a3b829}.shell.dark{border-bottom-color:#94a3b81a}.shell.dark{border-color:#facc1559;background:#42200673}.shell.dark{color:#fde68a}.shell.dark{color:#fcd34d}.shell.dark{border-color:#94a3b82e;background:linear-gradient(180deg,#1e293ba6,#0f172a80);box-shadow:0 8px 24px #00000040}.shell.dark{border-top-color:#94a3b824;color:#cbd5e1eb}.shell.dark{background:#0f172aa6;border-color:#94a3b838;color:#e2e8f0}.shell.dark{background:#0f172a8c;border-color:#94a3b833;color:#e2e8f0d9}.shell.dark{background:#0f172a66;border-top-color:#94a3b81f}.shell.dark{background:#0f172aa6;border-color:#94a3b82e;color:#f8fafce0;color-scheme:dark}.shell.dark{color:#f8fafcf0}.shell.dark{color:#94a3b8eb}.shell.dark{border-color:#38bdf859;background:#1e293bbf}.shell.light{background:#fff;border-color:#e2e8f0;color:#334155;color-scheme:light}.shell.light{color:#0f172a}.shell.light{color:#64748b}.page[data-v-a495e629]{padding:0 0 28px;max-width:1480px;margin:0 auto}.toolbar[data-v-a495e629]{margin:12px 0 14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.35);background:linear-gradient(135deg,#fffffff2,#f8fafcfa);box-shadow:0 4px 24px #0f172a0f}.toolbar-inner[data-v-a495e629]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px}.field[data-v-a495e629]{display:grid;gap:6px;min-width:180px}.field.sm[data-v-a495e629]{min-width:120px;max-width:160px}.field.act[data-v-a495e629]{min-width:88px}.grow[data-v-a495e629]{flex:1}.label[data-v-a495e629]{color:#6b7280;font-size:12px}.input[data-v-a495e629]{width:100%;border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 10px;font-size:13px;color:#0f172a}.btn[data-v-a495e629]{border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:10px;padding:8px 12px;cursor:pointer;font-size:13px}.btn[data-v-a495e629]:disabled{opacity:.55;cursor:not-allowed}.btn.primary[data-v-a495e629]{background:#2563eb;border-color:#2563eb;color:#fff}.btn.danger[data-v-a495e629]{background:#dc2626;border-color:#dc2626;color:#fff}.btn.sm[data-v-a495e629]{padding:5px 10px;font-size:12px;border-radius:8px}.card[data-v-a495e629]{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:16px;padding:0;box-shadow:0 8px 32px #0f172a0f;overflow:hidden}.card-head[data-v-a495e629]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc,#fff)}.title h2[data-v-a495e629]{margin:0;font-size:14px;font-weight:850;color:#0f172a}.title p[data-v-a495e629]{margin:4px 0 0;font-size:12px}.sp[data-v-a495e629]{flex:1}.muted[data-v-a495e629]{color:#64748b}.empty[data-v-a495e629]{color:#64748b;text-align:center;padding:16px}.table-wrap[data-v-a495e629]{padding:0 4px 8px;overflow:auto}.table[data-v-a495e629]{width:100%;border-collapse:collapse;font-size:12px}.table th[data-v-a495e629],.table td[data-v-a495e629]{text-align:left;border-bottom:1px solid #eef2f7;padding:10px 12px}.table thead th[data-v-a495e629]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800;background:#fafbfc;position:sticky;top:0;z-index:1}.name[data-v-a495e629]{font-weight:650;color:#0f172a}.mono[data-v-a495e629]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.col-ver[data-v-a495e629]{width:56px;white-space:nowrap}.col-op[data-v-a495e629]{width:160px;white-space:nowrap;text-align:right}.pill[data-v-a495e629]{display:inline-flex;align-items:center;border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;font-size:11px;padding:2px 8px}.pill--draft[data-v-a495e629]{border-color:#e2e8f0;background:#f8fafc;color:#475569}.pill--ok[data-v-a495e629]{border-color:#10b98173;background:#10b9811f;color:#047857}.pill--off[data-v-a495e629]{border-color:#f8717173;background:#f871711a;color:#b91c1c}.pager[data-v-a495e629]{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 14px 14px;border-top:1px solid #f1f5f9;background:#fafbfc}::global(.shell.dark) .toolbar[data-v-a495e629]{border-color:#94a3b82e;background:linear-gradient(135deg,#1e293beb,#0f172af5);box-shadow:0 8px 28px #00000059}::global(.shell.dark) .card[data-v-a495e629]{background:#0f172ab8;border-color:#94a3b829;box-shadow:0 12px 40px #00000059}::global(.shell.dark) .card-head[data-v-a495e629]{border-bottom-color:#94a3b824;background:linear-gradient(180deg,#1e293b8c,#0f172a59)}::global(.shell.dark) .title h2[data-v-a495e629],::global(.shell.dark) .name[data-v-a495e629]{color:#f8fafcf0}::global(.shell.dark) .muted[data-v-a495e629],::global(.shell.dark) .empty[data-v-a495e629]{color:#94a3b8e0}::global(.shell.dark) .input[data-v-a495e629]{background:#0f172a8c;border-color:#94a3b838;color:#f8fafceb}::global(.shell.dark) .btn[data-v-a495e629]:not(.primary):not(.danger){background:#1e293bd9;border-color:#94a3b838;color:#f8fafce0}::global(.shell.dark) .table thead th[data-v-a495e629]{background:#0f172ae6;color:#94a3b8e6;box-shadow:0 1px #94a3b81f}::global(.shell.dark) .table th[data-v-a495e629],::global(.shell.dark) .table td[data-v-a495e629]{border-bottom-color:#94a3b81f}::global(.shell.dark) .pager[data-v-a495e629]{background:#0f172a66;border-top-color:#94a3b81f}.page[data-v-208247db]{padding:24px 0;background:#f5f7fb}.empty[data-v-208247db]{padding:24px 4px;color:#6b7280;text-align:center}.card[data-v-208247db]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f}.toolbar[data-v-208247db]{padding:14px 16px;margin-bottom:14px;display:grid;gap:12px}.row[data-v-208247db]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field[data-v-208247db]{display:grid;gap:6px;min-width:220px}.label[data-v-208247db]{color:#6b7280;font-size:12px}.input[data-v-208247db]{width:100%;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px}.textarea[data-v-208247db]{resize:vertical}.grow[data-v-208247db]{flex:1;min-width:280px}.actions[data-v-208247db]{min-width:auto}.table-wrap[data-v-208247db]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f;overflow:auto}.table[data-v-208247db]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-208247db],.table td[data-v-208247db]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.table th[data-v-208247db]{background:#f3f4f6;color:#4b5563;font-weight:600;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.muted[data-v-208247db]{color:#6b7280}.strong[data-v-208247db]{color:#111827;font-weight:650}.tag-ok[data-v-208247db]{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:11px;font-weight:600}.cell-invoice[data-v-208247db]{max-width:320px;color:#6b7280}.invoice-box[data-v-208247db]{border:1px solid #e5e7eb;background:#f9fafb;border-radius:12px;padding:10px 10px 8px}.invoice-pre[data-v-208247db]{margin:0;white-space:pre-wrap;word-break:break-word;color:#111827;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.35;max-height:calc(1.35em * 3);overflow:hidden}.invoice-box.expanded .invoice-pre[data-v-208247db]{max-height:none}.invoice-actions[data-v-208247db]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn[data-v-208247db]{background:#111827;color:#fff;border:0;border-radius:12px;padding:8px 12px;font-size:13px;cursor:pointer}.btn[data-v-208247db]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-208247db]{background:#2563eb}.btn.danger[data-v-208247db]{background:#b91c1c;margin-left:8px}.btn.sm[data-v-208247db]{padding:6px 8px;border-radius:10px;font-size:12px}.pagination[data-v-208247db]{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px}.pagination-info[data-v-208247db]{color:#6b7280;font-size:12px}.link[data-v-208247db]{background:transparent;border:0;color:#2563eb;padding:0;cursor:pointer;font-size:12px}.clamp-2[data-v-208247db]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.expanded[data-v-208247db]{-webkit-line-clamp:unset}.modal-mask[data-v-208247db]{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;padding:16px;z-index:50}.modal[data-v-208247db]{width:min(960px,96vw);background:#fff;border-radius:18px;border:1px solid #e5e7eb;box-shadow:0 18px 60px #0f172a40;overflow:hidden}.modal-title[data-v-208247db]{padding:14px 16px;font-weight:700;color:#111827;border-bottom:1px solid #e5e7eb}.modal-body[data-v-208247db]{padding:14px 16px}.form-grid[data-v-208247db]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.modal-actions[data-v-208247db]{padding:12px 16px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.page[data-v-49890b93]{display:flex;flex-direction:column;gap:12px;color:#1f2329}.summary-strip[data-v-49890b93]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-card[data-v-49890b93]{text-align:left;padding:12px 16px;border-radius:10px;border:1px solid #e5e6eb;background:#fff;cursor:pointer}.summary-card.warn[data-v-49890b93]{background:#fffbeb;border-color:#fde68a}.summary-card.ok[data-v-49890b93]{background:#f0fdf4;border-color:#bbf7d0}.summary-card.active.warn[data-v-49890b93]{box-shadow:inset 0 0 0 1px #d97706}.summary-card.active.ok[data-v-49890b93]{box-shadow:inset 0 0 0 1px #16a34a}.summary-kicker[data-v-49890b93]{font-size:12px;color:#646a73;margin-bottom:4px}.summary-row[data-v-49890b93]{display:flex;align-items:baseline;gap:6px}.summary-row strong[data-v-49890b93]{font-size:22px;font-weight:700;color:#1f2329}.summary-row span[data-v-49890b93]{font-size:13px;color:#646a73}.summary-row em[data-v-49890b93]{margin-left:auto;font-style:normal;font-size:15px;font-weight:650;color:#1f2329}.card[data-v-49890b93]{background:#fff;border:1px solid #e5e6eb;border-radius:10px;padding:12px 14px 14px}.card-head[data-v-49890b93]{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.card-head h2[data-v-49890b93]{margin:0;font-size:15px;font-weight:650}.filters[data-v-49890b93]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.status-pills[data-v-49890b93]{display:flex;gap:4px;padding:2px;background:#f5f6f7;border-radius:8px}.pill[data-v-49890b93]{border:0;background:transparent;color:#646a73;height:28px;padding:0 10px;border-radius:6px;font-size:12px;cursor:pointer}.pill.on[data-v-49890b93]{background:#fff;color:#1f2329;font-weight:600;box-shadow:0 1px 2px #1f232914}.filter-project[data-v-49890b93]{width:200px;flex:0 0 200px}.filter-project[data-v-49890b93] .ssc{width:100%}.date-range[data-v-49890b93]{display:flex;align-items:center;gap:6px}.muted[data-v-49890b93]{color:#8f959e;font-size:13px}.empty[data-v-49890b93]{padding:36px 8px;text-align:center;color:#8f959e;font-size:13px}.table-wrap[data-v-49890b93]{overflow:auto}.table[data-v-49890b93]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-49890b93],.table td[data-v-49890b93]{padding:9px 10px;border-bottom:1px solid #f1f5f9;text-align:left;white-space:nowrap}.table th[data-v-49890b93]{background:#f8fafc;color:#646a73;font-weight:600}.table tbody tr:hover td[data-v-49890b93]{background:#f8fafc}.mono[data-v-49890b93]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#334155}.accent[data-v-49890b93]{color:#0f766e;font-weight:650}.tag[data-v-49890b93]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.tag-warn[data-v-49890b93]{background:#fef3c7;color:#92400e}.tag-ok[data-v-49890b93]{background:#dcfce7;color:#166534}.actions[data-v-49890b93]{display:flex;gap:6px}.btn[data-v-49890b93]{border:1px solid #e5e6eb;background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px;color:#1f2329}.btn-sm[data-v-49890b93]{padding:4px 10px;font-size:12px}.btn.primary[data-v-49890b93]{background:#0d9488;border-color:#0d9488;color:#fff}.btn[data-v-49890b93]:disabled{opacity:.5;cursor:not-allowed}.select[data-v-49890b93],.input[data-v-49890b93]{border:1px solid #e5e6eb;border-radius:8px;padding:6px 10px;font-size:13px;height:32px;box-sizing:border-box}.input.keyword[data-v-49890b93]{width:160px}.pager[data-v-49890b93]{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.modal-mask[data-v-49890b93]{position:fixed;inset:0;background:#0f172a52;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-49890b93]{width:420px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 50px #0f172a33}.modal-head[data-v-49890b93]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb}.modal-head h3[data-v-49890b93]{margin:0;font-size:16px}.modal-close[data-v-49890b93]{border:none;background:none;font-size:22px;cursor:pointer;color:#9ca3af}.modal-body[data-v-49890b93]{padding:16px}.modal-meta[data-v-49890b93]{margin:0 0 14px;font-size:13px}.form-row[data-v-49890b93]{margin-bottom:12px}.label[data-v-49890b93]{display:block;margin-bottom:6px;font-size:13px;color:#4b5563}.modal-foot[data-v-49890b93]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e5e7eb;background:#f9fafb}.page[data-v-2a99be94]{display:flex;flex-direction:column;gap:12px;color:#1f2329}.summary-strip[data-v-2a99be94]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-card[data-v-2a99be94]{text-align:left;padding:12px 16px;border-radius:10px;border:1px solid #e5e6eb;background:#fff;cursor:pointer}.summary-card.warn[data-v-2a99be94]{background:#fffbeb;border-color:#fde68a}.summary-card.ok[data-v-2a99be94]{background:#f0fdf4;border-color:#bbf7d0}.summary-card.active.warn[data-v-2a99be94]{box-shadow:inset 0 0 0 1px #d97706}.summary-card.active.ok[data-v-2a99be94]{box-shadow:inset 0 0 0 1px #16a34a}.summary-kicker[data-v-2a99be94]{font-size:12px;color:#646a73;margin-bottom:4px}.summary-row[data-v-2a99be94]{display:flex;align-items:baseline;gap:6px}.summary-row strong[data-v-2a99be94]{font-size:22px;font-weight:700;color:#1f2329}.summary-row span[data-v-2a99be94]{font-size:13px;color:#646a73}.summary-row em[data-v-2a99be94]{margin-left:auto;font-style:normal;font-size:15px;font-weight:650;color:#1f2329}.card[data-v-2a99be94]{background:#fff;border:1px solid #e5e6eb;border-radius:10px;padding:12px 14px 14px}.card-head[data-v-2a99be94]{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.card-head h2[data-v-2a99be94]{margin:0;font-size:15px;font-weight:650}.filters[data-v-2a99be94]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.status-pills[data-v-2a99be94]{display:flex;gap:4px;padding:2px;background:#f5f6f7;border-radius:8px}.pill[data-v-2a99be94]{border:0;background:transparent;padding:4px 10px;border-radius:6px;font-size:13px;color:#646a73;cursor:pointer}.pill.on[data-v-2a99be94]{background:#fff;color:#1f2329;box-shadow:0 1px 2px #0000000f}.filter-project[data-v-2a99be94]{min-width:160px}.input.keyword[data-v-2a99be94]{min-width:180px}.table-wrap[data-v-2a99be94]{overflow-x:auto}.table[data-v-2a99be94]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-2a99be94],.table td[data-v-2a99be94]{padding:8px 10px;border-bottom:1px solid #eef0f3;text-align:left;vertical-align:middle}.table th[data-v-2a99be94]{color:#646a73;font-weight:600;white-space:nowrap}.mono[data-v-2a99be94]{font-family:ui-monospace,monospace;font-size:12px}.accent[data-v-2a99be94]{font-weight:650;color:#1f2329}.tag[data-v-2a99be94]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#f5f6f7;color:#646a73}.tag-warn[data-v-2a99be94]{background:#fffbeb;color:#b45309}.tag-ok[data-v-2a99be94]{background:#f0fdf4;color:#15803d}.actions[data-v-2a99be94]{white-space:nowrap}.link-btn[data-v-2a99be94]{border:0;background:none;padding:0;color:#2563eb;cursor:pointer;font-size:13px}.link-btn[data-v-2a99be94]:hover{text-decoration:underline}.empty[data-v-2a99be94]{padding:28px 12px;text-align:center;color:#646a73;font-size:14px}.pager[data-v-2a99be94]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.muted[data-v-2a99be94]{color:#646a73}.page[data-v-601bdd29]{padding:8px 0 28px}.head-tools[data-v-601bdd29]{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.head-add[data-v-601bdd29]{height:34px;padding:0 14px;border-radius:999px;font-weight:700}.fdz-img[data-v-601bdd29]{width:220px;min-width:160px}.filter-bar[data-v-601bdd29]{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0}.filter-row[data-v-601bdd29]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filter-sales-ssc[data-v-601bdd29]{min-width:140px;width:min(180px,40vw);flex:0 1 auto}.filter-select[data-v-601bdd29],.filter-mini[data-v-601bdd29],.input[data-v-601bdd29]{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.filter-field[data-v-601bdd29]{display:flex;align-items:center;gap:6px}.filter-label[data-v-601bdd29]{font-size:12px;color:#64748b;white-space:nowrap}.filter-actions[data-v-601bdd29]{display:flex;gap:8px;margin-left:auto}.btn-filter[data-v-601bdd29]{padding:7px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:13px;cursor:pointer}.btn-filter.primary[data-v-601bdd29]{background:#276ff5;color:#fff;border-color:#276ff5}.btn-filter[data-v-601bdd29]:disabled{opacity:.5;cursor:not-allowed}.btn[data-v-601bdd29]{padding:8px 14px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:13px;cursor:pointer}.btn.primary[data-v-601bdd29]{background:#276ff5;color:#fff;border-color:#276ff5}.btn.danger[data-v-601bdd29]{color:#dc2626;border-color:#fca5a5}.btn.small[data-v-601bdd29]{padding:6px 10px;font-size:12px}.btn[data-v-601bdd29]:disabled{opacity:.6;cursor:not-allowed}.sheet-card[data-v-601bdd29]{background:#fff;border:1px solid #d1d5db;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.sheet-toolbar[data-v-601bdd29]{padding:10px 12px;border-bottom:1px solid #d1d5db;background:#f8fafc}.sheet-meta[data-v-601bdd29]{display:flex;gap:10px;align-items:baseline}.sheet-name[data-v-601bdd29]{font-weight:800;color:#0f172a;font-size:12px;padding:2px 8px;border-radius:6px;border:1px solid #d1d5db;background:#fff}.sheet-count[data-v-601bdd29],.muted[data-v-601bdd29]{font-size:12px;color:#64748b}.state-panel[data-v-601bdd29]{text-align:center;padding:48px 16px;color:#94a3b8}.state-sub[data-v-601bdd29]{margin-top:6px;font-size:12px}.sheet-scroll[data-v-601bdd29]{overflow-x:auto}.excel-table[data-v-601bdd29]{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.excel-table th[data-v-601bdd29],.excel-table td[data-v-601bdd29]{border:1px solid #e2e8f0;padding:6px 8px;text-align:left;vertical-align:top}.header-row th[data-v-601bdd29]{background:#eef2ff;color:#1e293b;font-weight:700;white-space:nowrap;position:sticky;top:0}.excel-table tbody tr[data-v-601bdd29]:nth-child(2n){background:#fafafa}.c-seq[data-v-601bdd29]{width:44px;text-align:center}.c-prio[data-v-601bdd29]{width:60px}.c-status[data-v-601bdd29]{width:64px}.c-name[data-v-601bdd29]{min-width:130px}.c-sign[data-v-601bdd29],.c-owner[data-v-601bdd29],.c-sales[data-v-601bdd29],.c-product[data-v-601bdd29],.c-loc[data-v-601bdd29]{min-width:92px}.c-out[data-v-601bdd29]{width:74px}.c-time[data-v-601bdd29]{width:92px;white-space:nowrap}.c-demand[data-v-601bdd29],.c-confirm[data-v-601bdd29],.c-outmat[data-v-601bdd29],.c-progress[data-v-601bdd29]{min-width:180px;max-width:320px}.wrap[data-v-601bdd29]{white-space:pre-wrap;word-break:break-word}.c-ops[data-v-601bdd29]{width:84px;white-space:nowrap;position:sticky;right:0;background:#fff}.st-tag[data-v-601bdd29]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.st-active[data-v-601bdd29]{background:#dcfce7;color:#15803d}.st-hold[data-v-601bdd29]{background:#ffedd5;color:#c2410c}.st-closed[data-v-601bdd29]{background:#e5e7eb;color:#6b7280}.st-none[data-v-601bdd29]{background:#f1f5f9;color:#94a3b8}.img-thumb-btn[data-v-601bdd29]{border:none;background:none;padding:0;cursor:pointer}.img-thumb[data-v-601bdd29]{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid #e2e8f0}.img-thumb.lg[data-v-601bdd29]{width:88px;height:88px}.img-empty[data-v-601bdd29]{color:#cbd5e1}.row-btn[data-v-601bdd29]{padding:3px 8px;margin-right:4px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;font-size:12px;cursor:pointer}.row-btn.danger[data-v-601bdd29]{color:#dc2626;border-color:#fca5a5}.pagination[data-v-601bdd29]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #e2e8f0}.pagination .gap[data-v-601bdd29]{flex:1}.modal-mask[data-v-601bdd29]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal[data-v-601bdd29]{background:#fff;border-radius:14px;width:min(760px,96vw);max-height:90vh;display:flex;flex-direction:column}.modal-head[data-v-601bdd29]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e8f0}.modal-head .icon[data-v-601bdd29]{border:none;background:none;font-size:22px;cursor:pointer;color:#64748b}.modal-body[data-v-601bdd29]{padding:16px 18px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-body .f[data-v-601bdd29]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.modal-body .f.span2[data-v-601bdd29]{grid-column:1 / -1}.modal-foot[data-v-601bdd29]{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #e2e8f0}.modal-foot .spacer[data-v-601bdd29]{flex:1}.img-edit-row[data-v-601bdd29]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.preview-mask[data-v-601bdd29]{background:#0f172abf}.preview-box[data-v-601bdd29]{position:relative}.preview-close[data-v-601bdd29]{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;border:none;background:#fff;font-size:20px;cursor:pointer}.preview-img[data-v-601bdd29]{max-width:88vw;max-height:84vh;border-radius:8px}.wf-graph[data-v-471071a6]{display:flex;flex-direction:column;gap:10px}.wf-graph-meta[data-v-471071a6]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pill[data-v-471071a6]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eff6ff;color:#1d4ed8}.pill.approved[data-v-471071a6]{background:#dcfce7;color:#15803d}.pill.rejected[data-v-471071a6]{background:#fee2e2;color:#b91c1c}.pill.withdrawn[data-v-471071a6]{background:#f3f4f6;color:#4b5563}.muted[data-v-471071a6]{color:#9ca3af;font-size:12px}.legend[data-v-471071a6]{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#64748b}.legend .dot[data-v-471071a6]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.legend .dot.current[data-v-471071a6]{background:#3b82f6;box-shadow:0 0 0 3px #3b82f638}.legend .dot.done[data-v-471071a6]{background:#10b981}.legend .dot.idle[data-v-471071a6]{background:#cbd5e1}.legend .dot.rejected[data-v-471071a6]{background:#ef4444}.empty[data-v-471071a6]{padding:40px;text-align:center;color:#9ca3af;border:1px dashed #e5e7eb;border-radius:14px;background:#f9fafb}.flow-canvas[data-v-471071a6]{position:relative;border:1px solid #e2e8f0;border-radius:14px;background-color:#f8fafc;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.28) 1px,transparent 0);background-size:20px 20px;overflow:auto}.flow-inner[data-v-471071a6]{position:relative;min-width:100%}.flow-svg[data-v-471071a6]{position:absolute;inset:0;pointer-events:none}.edge-label[data-v-471071a6]{font-size:10px;font-weight:700}.flow-node[data-v-471071a6]{position:absolute;width:168px;min-height:52px;border-radius:12px;border:2px solid var(--accent, #64748b);background:#fff;box-shadow:0 6px 16px #0f172a0f;z-index:2;opacity:.5;transition:opacity .15s ease,box-shadow .15s ease}.flow-node.done[data-v-471071a6],.flow-node.skipped[data-v-471071a6]{opacity:1;border-color:#10b981;background:linear-gradient(180deg,#fff,#f0fdf4)}.flow-node.current[data-v-471071a6]{opacity:1;border-color:#3b82f6;background:linear-gradient(180deg,#fff,#eff6ff);box-shadow:0 0 0 3px #3b82f638,0 8px 20px #0f172a14}.flow-node.rejected[data-v-471071a6]{opacity:1;border-color:#ef4444;background:linear-gradient(180deg,#fff,#fef2f2);box-shadow:0 0 0 3px #ef444429}.flow-node.withdrawn[data-v-471071a6]{opacity:1;border-color:#94a3b8}.flow-node-head[data-v-471071a6]{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:color-mix(in srgb,var(--accent, #64748b) 10%,#fff);border-radius:10px 10px 0 0}.flow-node-type[data-v-471071a6]{font-size:11px;font-weight:800;color:var(--accent, #64748b)}.now[data-v-471071a6]{font-size:10px;font-weight:800;color:#1d4ed8;background:#dbeafe;padding:1px 6px;border-radius:999px}.flow-node-body[data-v-471071a6]{padding:8px 10px;font-size:12px;font-weight:600;color:#0f172a}.flow-node-title[data-v-471071a6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node-sub[data-v-471071a6]{margin-top:4px;font-size:11px;font-weight:650;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel[data-v-c0312039]{width:100%;margin:0 0 12px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:12px 14px;box-sizing:border-box}.grid[data-v-c0312039]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 12px}.field[data-v-c0312039]{display:flex;flex-direction:column;gap:4px;min-width:0}.lab[data-v-c0312039]{font-size:11px;color:#64748b}.input[data-v-c0312039]{border:1px solid #d1d5db;border-radius:10px;padding:7px 10px;font-size:13px;background:#fff;width:100%;box-sizing:border-box}.panel-actions[data-v-c0312039]{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.btn[data-v-c0312039]{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-c0312039]{background:#0f172a;border-color:#0f172a;color:#fff}@media(max-width:1100px){.grid[data-v-c0312039]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.grid[data-v-c0312039]{grid-template-columns:repeat(2,minmax(0,1fr))}}.page[data-v-e0f7bc2a]{padding:4px 2px 24px;display:flex;flex-direction:column;gap:12px}.page[data-v-e0f7bc2a] .page-head,.page[data-v-e0f7bc2a] .flow-guide{margin-bottom:0}.btn[data-v-e0f7bc2a]:disabled{opacity:.45;cursor:not-allowed}.hint[data-v-e0f7bc2a]{margin:0;font-size:13px;line-height:1.5}.list-card[data-v-e0f7bc2a]{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.list-card[data-v-e0f7bc2a] .panel{margin:0;border:none;border-radius:0;border-bottom:1px solid #eef2f7}.toolbar[data-v-e0f7bc2a]{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:12px 14px;background:#fafbfc;border-bottom:1px solid #eef2f7}.filters[data-v-e0f7bc2a]{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.tabs[data-v-e0f7bc2a]{display:flex;flex-wrap:wrap;gap:6px}.sub-tabs[data-v-e0f7bc2a]{padding:0}.tab[data-v-e0f7bc2a]{border:1px solid #e5e7eb;background:#fff;color:#64748b;border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer}.tab.stage[data-v-e0f7bc2a]{padding:6px 14px;font-size:13px}.tab.sub[data-v-e0f7bc2a]{background:#fff}.tab.active[data-v-e0f7bc2a]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:700}.tab.stage.active[data-v-e0f7bc2a]{background:#0f172a;border-color:#0f172a;color:#fff}.search[data-v-e0f7bc2a]{display:flex;gap:8px;align-items:center;flex-shrink:0}.filter-btn.active[data-v-e0f7bc2a]{background:#0f172a;border-color:#0f172a;color:#fff}.filter-badge[data-v-e0f7bc2a]{margin-left:4px;display:inline-flex;min-width:16px;height:16px;padding:0 4px;border-radius:999px;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:#f97316;color:#fff}.filter-btn.active .filter-badge[data-v-e0f7bc2a]{background:#fff;color:#0f172a}.input[data-v-e0f7bc2a]{border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;font-size:13px;min-width:220px;background:#fff}.empty[data-v-e0f7bc2a]{padding:56px 16px;text-align:center;color:#94a3b8;font-size:14px}.table-wrap[data-v-e0f7bc2a]{overflow:auto;background:#fff}.table[data-v-e0f7bc2a]{width:100%;min-width:960px;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:fixed}.table th[data-v-e0f7bc2a],.table td[data-v-e0f7bc2a]{padding:11px 14px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:middle;box-sizing:border-box}.table th[data-v-e0f7bc2a]{color:#64748b;font-weight:600;background:#f8fafc;font-size:12px;white-space:nowrap;position:sticky;top:0;z-index:2}.table tbody tr:last-child td[data-v-e0f7bc2a]{border-bottom:none}.clickable[data-v-e0f7bc2a]{cursor:pointer}.clickable:hover td[data-v-e0f7bc2a]{background:#f8fafc}.col-name[data-v-e0f7bc2a]{width:28%}.col-no[data-v-e0f7bc2a]{width:118px;white-space:nowrap}.col-num[data-v-e0f7bc2a]{width:112px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650;color:#0f172a}.table th.col-num[data-v-e0f7bc2a],.table td.col-num[data-v-e0f7bc2a]{text-align:right}.col-status[data-v-e0f7bc2a]{width:96px;white-space:nowrap}.col-people[data-v-e0f7bc2a]{width:24%}.col-time[data-v-e0f7bc2a]{width:148px;white-space:nowrap;color:#94a3b8}.col-ops[data-v-e0f7bc2a]{width:72px;white-space:nowrap}.table th.col-ops[data-v-e0f7bc2a],.table td.col-ops[data-v-e0f7bc2a]{text-align:right;padding-right:16px}.col-timing[data-v-e0f7bc2a]{width:110px;white-space:nowrap}.name-cell[data-v-e0f7bc2a]{min-width:0}.name-line[data-v-e0f7bc2a]{display:flex;align-items:center;gap:6px;min-width:0}.name-title[data-v-e0f7bc2a]{font-weight:700;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-sub[data-v-e0f7bc2a]{margin-top:3px;font-size:12px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-sub .dot[data-v-e0f7bc2a]{margin:0 4px;color:#cbd5e1}.people-chips[data-v-e0f7bc2a]{display:flex;flex-wrap:wrap;gap:6px}.p-chip[data-v-e0f7bc2a]{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:6px;background:#f1f5f9;color:#334155;font-size:12px;white-space:nowrap}.p-chip em[data-v-e0f7bc2a]{font-style:normal;color:#94a3b8;font-size:11px}.empty-dash[data-v-e0f7bc2a]{color:#cbd5e1}.time-text[data-v-e0f7bc2a]{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:12px}.nowrap[data-v-e0f7bc2a]{white-space:nowrap}.muted[data-v-e0f7bc2a]{color:#94a3b8}.project-no-cell[data-v-e0f7bc2a],.project-no-btn[data-v-e0f7bc2a]{font-size:12px;font-weight:700;color:#0369a1;letter-spacing:.02em;white-space:nowrap}.project-no-btn[data-v-e0f7bc2a]{border:none;background:transparent;padding:0;cursor:pointer;font-family:inherit}.project-no-btn[data-v-e0f7bc2a]:hover{text-decoration:underline}.badge[data-v-e0f7bc2a]{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#f1f5f9;color:#475569}.src-tag[data-v-e0f7bc2a]{display:inline-block;padding:1px 7px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:11px;font-weight:650;flex-shrink:0}.src-tag.sa[data-v-e0f7bc2a]{background:#eef2ff;color:#4338ca}.badge.draft[data-v-e0f7bc2a]{background:#f1f5f9;color:#64748b}.badge.rejected[data-v-e0f7bc2a]{background:#fef2f2;color:#b91c1c}.badge.buffered[data-v-e0f7bc2a],.badge.abandoned[data-v-e0f7bc2a]{background:#f1f5f9;color:#64748b}.badge.approved[data-v-e0f7bc2a]{background:#ffedd5;color:#c2410c}.badge.planning[data-v-e0f7bc2a]{background:#dbeafe;color:#1d4ed8}.badge.scheme_submitted[data-v-e0f7bc2a]{background:#cffafe;color:#0e7490}.badge.completed[data-v-e0f7bc2a]{background:#dcfce7;color:#15803d}.badge.awaiting_project[data-v-e0f7bc2a]{background:#ede9fe;color:#6d28d9}.badge.pending_initiation[data-v-e0f7bc2a]{background:#fef3c7;color:#b45309}.badge.awaiting_assign[data-v-e0f7bc2a]{background:#ede9fe;color:#6d28d9}.badge.project_created[data-v-e0f7bc2a]{background:#e0f2fe;color:#0369a1}.badge.pending_leader[data-v-e0f7bc2a]{background:#fef3c7;color:#b45309}.badge-btn[data-v-e0f7bc2a]{border:none;background:transparent;padding:0;cursor:pointer;border-radius:999px}.badge-btn:hover .badge[data-v-e0f7bc2a]{outline:2px solid rgba(37,99,235,.28);outline-offset:1px}.link-btn[data-v-e0f7bc2a]{border:none;background:transparent;color:#1d4ed8;font-size:12px;font-weight:600;cursor:pointer;padding:0;margin-right:8px}.link-btn[data-v-e0f7bc2a]:hover{text-decoration:underline}.link-btn.danger[data-v-e0f7bc2a]{color:#b91c1c}.link-btn.danger[data-v-e0f7bc2a]:hover{color:#991b1b}.link-btn.ghost[data-v-e0f7bc2a]{color:#64748b;font-weight:500}.pager[data-v-e0f7bc2a]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0;padding:10px 14px;border-top:1px solid #eef2f7;background:#fafbfc}.pager-gap[data-v-e0f7bc2a]{flex:1;min-width:8px}.page-size-select[data-v-e0f7bc2a]{min-width:72px;padding:6px 8px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px}.btn[data-v-e0f7bc2a]{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-e0f7bc2a]{background:#2563eb;border-color:#2563eb;color:#fff}.modal-mask[data-v-e0f7bc2a]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}.modal[data-v-e0f7bc2a]{background:#fff;border-radius:16px;width:min(920px,100%);max-height:min(90vh,820px);overflow:auto;box-shadow:0 24px 60px #0f172a40;padding:16px 18px 20px}.modal-head[data-v-e0f7bc2a]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.modal-title[data-v-e0f7bc2a]{font-size:16px;font-weight:800;color:#0f172a}.small[data-v-e0f7bc2a]{font-size:12px;margin:4px 0 0}.kind-tabs[data-v-e0f7bc2a]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.bom-card[data-v-acea41a9]{margin-top:14px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 10px 28px #0f172a0a}.bom-card.st-unlock[data-v-acea41a9]{border-color:#fcd34d;box-shadow:0 10px 28px #f59e0b14}.bom-card.st-final[data-v-acea41a9]{border-color:#86efac}.bom-card.st-locked[data-v-acea41a9]{border-color:#e5e7eb}.bom-head[data-v-acea41a9]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;background:#fff;border-bottom:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.bom-card:not(.collapsed) .bom-head[data-v-acea41a9]{border-bottom-color:#f1f5f9;background:linear-gradient(180deg,#fafbfc,#fff)}.bom-card.collapsed .bom-head[data-v-acea41a9]{border-bottom:none}.bom-body[data-v-acea41a9]{padding-bottom:4px}.chev[data-v-acea41a9]{display:inline-block;width:1em;color:#94a3b8;font-size:13px;transition:transform .15s ease}.chev.open[data-v-acea41a9]{transform:rotate(90deg);color:#2563eb}.count-chip[data-v-acea41a9]{font-size:11px;font-weight:700;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:999px}.count-chip.soft[data-v-acea41a9]{background:#eff6ff;color:#2563eb}.bom-title-row[data-v-acea41a9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bom-title-row h2[data-v-acea41a9]{margin:0;font-size:15px;font-weight:750;color:#0f172a}.bom-desc[data-v-acea41a9]{margin:4px 0 0;font-size:12px;line-height:1.45;color:#94a3b8;max-width:40rem}.bom-actions[data-v-acea41a9]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.btn.sm[data-v-acea41a9]{padding:6px 11px;font-size:12px;border-radius:8px;line-height:1.2;height:32px;box-sizing:border-box}.toolbar[data-v-acea41a9]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.toolbar-left[data-v-acea41a9],.toolbar-right[data-v-acea41a9]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fdz-inline[data-v-acea41a9]{display:inline-flex;align-items:center;height:32px}.reason-input[data-v-acea41a9]{width:min(240px,42vw);height:32px;border:1px solid #e2e8f0;border-radius:8px;padding:0 10px;font-size:12px;background:#fff;color:#0f172a}.reason-input[data-v-acea41a9]:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61f}.status-pill[data-v-acea41a9]{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700}.status-pill[data-kind=open][data-v-acea41a9]{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.status-pill[data-kind=locked][data-v-acea41a9]{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.status-pill[data-kind=unlock][data-v-acea41a9]{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.status-pill[data-kind=final][data-v-acea41a9]{background:#ecfdf5;color:#047857;border:1px solid #86efac}.banner[data-v-acea41a9]{margin:0;padding:8px 16px;font-size:12px;line-height:1.4;font-weight:600}.unlock-banner[data-v-acea41a9]{background:#fffbeb;color:#92400e;border-bottom:1px solid #fde68a}.lock-banner[data-v-acea41a9]{background:#f8fafc;color:#64748b;border-bottom:1px solid #e2e8f0}.final-banner[data-v-acea41a9]{background:#ecfdf5;color:#047857;border-bottom:1px solid #a7f3d0}.version-block[data-v-acea41a9]{margin:12px 16px 16px;padding-top:12px;border-top:1px solid #f1f5f9}.ver-head[data-v-acea41a9]{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.ver-title[data-v-acea41a9]{margin:0;font-size:13px;font-weight:750;color:#0f172a}.ver-list[data-v-acea41a9]{display:flex;flex-direction:column;gap:6px}.ver-row[data-v-acea41a9]{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #eef2f7;border-radius:10px;background:#fff}.ver-row.current[data-v-acea41a9]{background:#f8fafc}.ver-row.final[data-v-acea41a9]{background:#f0fdf4;border-color:#bbf7d0}.ver-main[data-v-acea41a9]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.ver-no[data-v-acea41a9]{font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums}.ver-meta[data-v-acea41a9]{font-size:11px}.ver-reason[data-v-acea41a9]{font-size:12px;color:#475569;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip[data-v-acea41a9]{display:inline-flex;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:750}.chip.soft[data-v-acea41a9]{background:#e0f2fe;color:#0369a1}.chip.final[data-v-acea41a9]{background:#d1fae5;color:#047857}.link[data-v-acea41a9]{border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:650;cursor:pointer;padding:0;white-space:nowrap}.link[data-v-acea41a9]:hover{text-decoration:underline}@media(max-width:720px){.ver-row[data-v-acea41a9]{grid-template-columns:1fr;gap:4px}.toolbar-right[data-v-acea41a9]{width:100%}.reason-input[data-v-acea41a9]{flex:1;width:auto;min-width:0}}.state-box[data-v-acea41a9]{padding:28px 18px;text-align:center;color:#94a3b8;font-size:13px}.empty-panel[data-v-acea41a9]{margin:14px 16px 18px;padding:36px 20px 32px;text-align:center;border:1px dashed #e2e8f0;border-radius:12px;background:#fafbfc}.empty-icon[data-v-acea41a9]{width:40px;height:40px;margin:0 auto 10px;border-radius:10px;display:grid;place-items:center;background:#f1f5f9;color:#64748b;font-size:16px;font-weight:700;letter-spacing:-.06em}.empty-title[data-v-acea41a9]{font-size:14px;font-weight:700;color:#0f172a}.empty-text[data-v-acea41a9]{margin:6px auto 0;max-width:26rem;font-size:12px;line-height:1.5;color:#94a3b8}.empty-actions[data-v-acea41a9]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}.small[data-v-acea41a9]{font-size:11px}.summary-bar[data-v-acea41a9]{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding:10px 18px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.sum-item[data-v-acea41a9]{display:inline-flex;align-items:baseline;gap:6px}.sum-label[data-v-acea41a9]{font-size:12px;color:#64748b}.sum-item strong[data-v-acea41a9]{font-size:15px;color:#0f172a;font-variant-numeric:tabular-nums}.sum-note[data-v-acea41a9]{margin-left:auto;font-size:12px}.lookup-hint[data-v-acea41a9]{margin:0 18px 10px;padding:8px 12px;font-size:12px;color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.lookup-hint.warn[data-v-acea41a9]{color:#b45309;background:#fffbeb;border-color:#fde68a}.table-shell[data-v-acea41a9]{overflow:auto;max-height:min(56vh,560px);padding:0 0 4px}.bom-table[data-v-acea41a9]{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.bom-table th[data-v-acea41a9],.bom-table td[data-v-acea41a9]{padding:8px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;white-space:nowrap}.bom-table th[data-v-acea41a9]{position:sticky;top:0;z-index:1;background:#f8fafc;color:#64748b;font-weight:600;font-size:12px;letter-spacing:.01em;border-bottom:1px solid #e2e8f0;vertical-align:middle}.bom-table th.req[data-v-acea41a9]:after{content:"*";color:#dc2626;margin-left:2px}.bom-table tbody tr[data-v-acea41a9]:nth-child(2n){background:#fcfdff}.bom-table tbody tr[data-v-acea41a9]:hover{background:#f1f5f9}.bom-table .col-no[data-v-acea41a9]{width:56px}.bom-table .col-name[data-v-acea41a9]{min-width:120px;max-width:180px}.bom-table .col-spec[data-v-acea41a9]{min-width:180px;max-width:280px}.bom-table .col-code[data-v-acea41a9]{min-width:120px;max-width:150px}.bom-table .col-remark[data-v-acea41a9]{min-width:88px;max-width:140px}.bom-table .col-qty[data-v-acea41a9],.bom-table .col-price[data-v-acea41a9]{width:88px}.bom-table .col-supplier[data-v-acea41a9]{min-width:180px;max-width:220px}.bom-supplier-combo[data-v-acea41a9]{width:100%;min-width:0}.bom-table .col-op[data-v-acea41a9]{width:52px;text-align:center;vertical-align:middle}.wrap-text[data-v-acea41a9]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;color:#0f172a}.wrap-text.muted[data-v-acea41a9]{color:#64748b}.mono[data-v-acea41a9]{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.code[data-v-acea41a9]{color:#1d4ed8;font-weight:600}.muted[data-v-acea41a9]{color:#94a3b8}.cell-input[data-v-acea41a9]{width:100%;min-width:0;border:1px solid #e2e8f0;border-radius:8px;padding:6px 8px;font-size:13px;line-height:1.35;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.cell-input.cell-area[data-v-acea41a9]{min-width:0;resize:vertical;line-height:1.4;white-space:pre-wrap;word-break:break-word;font-family:inherit;text-overflow:unset}.cell-input[data-v-acea41a9]:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f626}.cell-input.narrow[data-v-acea41a9]{min-width:56px;max-width:88px}.cell-input.mono[data-v-acea41a9]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cell-input.cell-select[data-v-acea41a9]{min-width:120px;max-width:180px;cursor:pointer}.btn[data-v-acea41a9]{border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:10px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.btn[data-v-acea41a9]:disabled{opacity:.55;cursor:not-allowed}.btn.ghost[data-v-acea41a9]:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn.primary[data-v-acea41a9]{background:#2563eb;border-color:#2563eb;color:#fff}.btn.primary[data-v-acea41a9]:hover:not(:disabled){background:#1d4ed8}.link-danger[data-v-acea41a9]{border:0;background:transparent;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer;padding:4px}.link-danger[data-v-acea41a9]:hover{text-decoration:underline}@media(max-width:720px){.bom-head[data-v-acea41a9]{padding:14px}.sum-note[data-v-acea41a9]{margin-left:0;width:100%}}.rq[data-v-b15ea838]{display:flex;flex-direction:column;gap:8px;width:100%}.row[data-v-b15ea838]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.input[data-v-b15ea838]{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:13px;background:#fff}.model[data-v-b15ea838]{min-width:140px}.custom[data-v-b15ea838]{min-width:120px;flex:1}.qty[data-v-b15ea838]{width:96px}.btn[data-v-b15ea838]{border:1px solid #d1d5db;border-radius:10px;padding:6px 10px;background:#fff;font-size:12px;cursor:pointer}.btn.icon[data-v-b15ea838]{width:32px;padding:6px 0}.btn.add[data-v-b15ea838]{align-self:flex-start;color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.btn.primary[data-v-b15ea838]{background:#2563eb;border-color:#2563eb;color:#fff}.btn.linkish[data-v-b15ea838]{color:#2563eb;border-color:transparent;background:transparent;padding-left:4px}.btn[data-v-b15ea838]:disabled{opacity:.55;cursor:not-allowed}.add-model-panel[data-v-b15ea838]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px dashed #bfdbfe;border-radius:12px;background:#f8fafc}.chips[data-v-b15ea838]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-b15ea838]{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.muted[data-v-b15ea838]{color:#94a3b8;font-size:13px}.page[data-v-3ce7367e]{padding:4px 2px 28px}.plan-tip[data-v-3ce7367e]{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px;line-height:1.5}.plan-tip a[data-v-3ce7367e]{color:#c2410c;font-weight:700}.timing-kpi[data-v-3ce7367e]{display:inline-flex;align-items:baseline;gap:8px;margin:0 0 14px;padding:8px 12px;border-radius:10px;background:#f0f9ff;border:1px solid #bae6fd;font-size:13px}.kpi-label[data-v-3ce7367e]{color:#0369a1}.kpi-val[data-v-3ce7367e]{font-weight:700;color:#0c4a6e;font-size:15px}.timing-tl[data-v-3ce7367e]{display:flex;flex-direction:column;gap:0}.tl-row[data-v-3ce7367e]{display:grid;grid-template-columns:16px 1fr;gap:10px;position:relative;padding-bottom:14px}.tl-row[data-v-3ce7367e]:not(:last-child):before{content:"";position:absolute;left:7px;top:14px;bottom:0;width:2px;background:#e2e8f0}.tl-dot[data-v-3ce7367e]{width:12px;height:12px;margin-top:4px;border-radius:50%;background:#0ea5e9;border:2px solid #e0f2fe;box-sizing:border-box}.tl-body[data-v-3ce7367e]{min-width:0}.tl-head[data-v-3ce7367e]{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline}.tl-head strong[data-v-3ce7367e]{font-size:13px;color:#0f172a}.delta[data-v-3ce7367e]{margin-top:4px;font-size:12px;color:#0369a1;font-weight:600}.status-sel[data-v-3ce7367e]{min-width:110px;width:auto}.card[data-v-3ce7367e]{margin-top:14px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 10px 28px #0f172a0a}.card-head[data-v-3ce7367e]{display:flex;justify-content:space-between;align-items:center;gap:10px}.fold-head[data-v-3ce7367e]{cursor:pointer;-webkit-user-select:none;user-select:none;margin:-4px 0 0}.fold-title[data-v-3ce7367e]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.fold-title h2[data-v-3ce7367e]{margin:0}.fold-head-right[data-v-3ce7367e]{display:flex;align-items:center;gap:8px;flex-shrink:0}.fold-summary[data-v-3ce7367e]{margin:8px 0 0;padding:8px 10px;background:#f8fafc;border-radius:8px;border:1px dashed #e2e8f0}.chev[data-v-3ce7367e]{display:inline-flex;width:1em;color:#64748b;font-size:14px;transition:transform .15s ease;transform:rotate(0)}.chev.open[data-v-3ce7367e]{transform:rotate(90deg)}.count-chip[data-v-3ce7367e]{font-size:11px;font-weight:650;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:2px 8px}h2[data-v-3ce7367e]{margin:0 0 10px;font-size:16px}h3[data-v-3ce7367e]{margin:14px 0 8px;font-size:14px;color:#374151}.grid2[data-v-3ce7367e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field[data-v-3ce7367e]{margin-bottom:10px}.field-robots[data-v-3ce7367e]{grid-column:1 / -1}.label[data-v-3ce7367e]{font-size:12px;color:#6b7280;margin-bottom:6px}.money-cn[data-v-3ce7367e]{margin-top:6px;line-height:1.4;color:#334155;word-break:break-all}.input[data-v-3ce7367e]{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:13px;background:#fff;box-sizing:border-box}.input.area[data-v-3ce7367e]{resize:vertical}.check[data-v-3ce7367e]{display:flex;align-items:center;gap:8px;font-size:13px;min-height:38px}.customer-row[data-v-3ce7367e]{display:flex;align-items:flex-start;gap:8px}.customer-row[data-v-3ce7367e] .ssc{flex:1;min-width:0}.customer-modal[data-v-3ce7367e]{width:min(560px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px 20px 18px;box-shadow:0 28px 56px #0f172a33}.customer-modal-body[data-v-3ce7367e]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.ops[data-v-3ce7367e]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.modal-mask[data-v-3ce7367e]{position:fixed;inset:0;z-index:1200;background:#0f172a7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px}.divert-modal[data-v-3ce7367e]{width:min(560px,100%);background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:18px;padding:20px 20px 18px;box-shadow:0 28px 56px #0f172a33}.modal-head[data-v-3ce7367e]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eef2f7}.modal-head h3[data-v-3ce7367e]{margin:0;font-size:18px;color:#0f172a;font-weight:700}.modal-sub[data-v-3ce7367e]{margin:4px 0 0;font-size:12px;color:#94a3b8;line-height:1.4}.icon-x[data-v-3ce7367e]{border:none;background:#f1f5f9;width:32px;height:32px;border-radius:10px;font-size:20px;line-height:1;cursor:pointer;color:#64748b;display:inline-flex;align-items:center;justify-content:center}.icon-x[data-v-3ce7367e]:hover{background:#e2e8f0;color:#0f172a}.reason-field[data-v-3ce7367e]{margin-bottom:14px}.lab-hint[data-v-3ce7367e]{margin-left:6px;font-size:11px;font-weight:600;color:#94a3b8}.action-grid[data-v-3ce7367e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card[data-v-3ce7367e]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 14px 12px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.action-card[data-v-3ce7367e]:hover:not(:disabled){border-color:#cbd5e1;box-shadow:0 8px 18px #0f172a0f;transform:translateY(-1px)}.action-card[data-v-3ce7367e]:disabled{opacity:.55;cursor:not-allowed}.action-card.primary[data-v-3ce7367e]{grid-column:1 / -1;background:linear-gradient(135deg,#276ff5,#1d4ed8);border-color:transparent;color:#fff}.action-card.primary[data-v-3ce7367e]:hover:not(:disabled){box-shadow:0 12px 24px #276ff547;border-color:transparent}.action-card.danger[data-v-3ce7367e]{border-color:#fecaca;background:#fff7f7}.action-card.danger[data-v-3ce7367e]:hover:not(:disabled){border-color:#fca5a5;box-shadow:0 8px 18px #b91c1c14}.action-title[data-v-3ce7367e]{font-size:14px;font-weight:700;color:inherit}.action-card:not(.primary) .action-title[data-v-3ce7367e]{color:#0f172a}.action-card.danger .action-title[data-v-3ce7367e]{color:#b91c1c}.action-desc[data-v-3ce7367e]{font-size:12px;line-height:1.4;color:#64748b}.action-card.primary .action-desc[data-v-3ce7367e]{color:#ffffffd9}.action-card.danger .action-desc[data-v-3ce7367e]{color:#9f1239}.btn[data-v-3ce7367e]{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-3ce7367e]{background:#276ff5;border-color:#276ff5;color:#fff;font-weight:650}.btn.danger[data-v-3ce7367e]{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.muted[data-v-3ce7367e]{color:#6b7280}.hint-warn[data-v-3ce7367e]{color:#b45309;font-weight:600}.small[data-v-3ce7367e]{font-size:12px}.pool-box[data-v-3ce7367e]{margin-top:10px;padding:10px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92400e;font-size:13px}.pick-row[data-v-3ce7367e],.member-row[data-v-3ce7367e],.task-row[data-v-3ce7367e]{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.lead-field[data-v-3ce7367e]{margin-bottom:14px}.lead-pick[data-v-3ce7367e]{padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;flex-wrap:nowrap}.lead-pick .dept[data-v-3ce7367e]{flex:0 0 108px}.lead-pick .lead-person[data-v-3ce7367e]{flex:1 1 auto;min-width:0}.pick-row .input[data-v-3ce7367e],.member-row .input[data-v-3ce7367e],.task-row .input[data-v-3ce7367e]{width:auto}.role[data-v-3ce7367e]{flex:0 0 72px;font-size:13px;font-weight:650;color:#111827}.input.dept[data-v-3ce7367e]{flex:0 0 110px;min-width:110px}.input.person[data-v-3ce7367e],.person[data-v-3ce7367e]{flex:1 1 180px;min-width:160px}.input.title[data-v-3ce7367e]{flex:1 1 140px;min-width:120px}.input.date[data-v-3ce7367e]{flex:0 0 150px}@media(max-width:720px){.lead-pick[data-v-3ce7367e]{flex-wrap:wrap}.lead-pick .dept[data-v-3ce7367e]{flex:1 1 100%}}.chip[data-v-3ce7367e]{flex:0 0 auto;font-size:11px;font-weight:650;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 8px;white-space:nowrap}.chip.soft[data-v-3ce7367e]{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.current-box[data-v-3ce7367e],.upload-box[data-v-3ce7367e]{margin:10px 0 14px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;display:grid;gap:8px}.current-box .btn[data-v-3ce7367e]{width:fit-content}.strong[data-v-3ce7367e]{font-weight:700;color:#111827;font-size:13px}.table-wrap[data-v-3ce7367e]{overflow:auto}.table[data-v-3ce7367e]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-3ce7367e],.table td[data-v-3ce7367e]{text-align:left;padding:8px 10px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.table th[data-v-3ce7367e]{color:#6b7280;font-weight:650}.table tr.current td[data-v-3ce7367e]{background:#f0fdf4}.table a[data-v-3ce7367e]{color:#2563eb}.empty[data-v-3ce7367e]{padding:40px;text-align:center;color:#9ca3af}@media(max-width:800px){.grid2[data-v-3ce7367e]{grid-template-columns:1fr}}.page[data-v-361e86a6]{padding:4px 2px 28px}.toolbar[data-v-361e86a6]{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin:14px 0}.tabs[data-v-361e86a6]{display:flex;flex-wrap:wrap;gap:6px}.tab[data-v-361e86a6]{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;color:#4b5563}.tab.active[data-v-361e86a6]{background:#0f172a;border-color:#0f172a;color:#fff}.search[data-v-361e86a6]{display:flex;gap:8px;align-items:center}.filter-btn.active[data-v-361e86a6]{background:#0f172a;border-color:#0f172a;color:#fff}.filter-badge[data-v-361e86a6]{margin-left:4px;display:inline-flex;min-width:16px;height:16px;padding:0 4px;border-radius:999px;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:#f97316;color:#fff}.filter-btn.active .filter-badge[data-v-361e86a6]{background:#fff;color:#0f172a}.input[data-v-361e86a6]{min-width:200px;padding:8px 10px;border:1px solid #d1d5db;border-radius:10px;font-size:13px}.btn[data-v-361e86a6]{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.empty[data-v-361e86a6]{padding:48px 16px;text-align:center;color:#9ca3af}.cards[data-v-361e86a6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.card[data-v-361e86a6]{text-align:left;border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(165deg,#fff,#f8fafc);padding:16px;cursor:pointer;box-shadow:0 10px 28px #0f172a0a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.card[data-v-361e86a6]:hover{transform:translateY(-2px);border-color:#cbd5e1;box-shadow:0 16px 36px #0f172a14}.card-top[data-v-361e86a6]{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.title-wrap h3[data-v-361e86a6]{margin:0 0 4px;font-size:16px;color:#0f172a;line-height:1.35}.title-wrap p[data-v-361e86a6]{margin:0;font-size:12px}.project-no[data-v-361e86a6]{margin:0 0 4px!important;font-size:12px;font-weight:650;color:#0369a1;letter-spacing:.02em}.people[data-v-361e86a6]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:10px}.person[data-v-361e86a6]{display:flex;flex-direction:column;gap:2px;min-width:0}.person .val[data-v-361e86a6]{font-size:13px;font-weight:600;color:#334155}.metrics[data-v-361e86a6]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;padding:12px;border-radius:12px;background:#fff;border:1px solid #eef2f7}.metric[data-v-361e86a6]{display:flex;flex-direction:column;gap:2px;min-width:0}.lab[data-v-361e86a6]{font-size:11px;color:#94a3b8;letter-spacing:.02em}.val[data-v-361e86a6]{font-size:14px;font-weight:700;color:#0f172a}.val.ok[data-v-361e86a6]{color:#15803d}.val.warn[data-v-361e86a6]{color:#c2410c}.card-foot[data-v-361e86a6]{display:flex;justify-content:space-between;align-items:center;gap:8px}.pill[data-v-361e86a6]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}.pill.todo[data-v-361e86a6]{background:#f1f5f9;color:#64748b}.pill.partial[data-v-361e86a6]{background:#ffedd5;color:#c2410c}.pill.ready[data-v-361e86a6]{background:#dbeafe;color:#1d4ed8}.pill.done[data-v-361e86a6]{background:#ede9fe;color:#6d28d9}.pill.hold[data-v-361e86a6]{background:#ffedd5;color:#c2410c}.pill.stop[data-v-361e86a6]{background:#fee2e2;color:#b91c1c}.badge[data-v-361e86a6]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#f3f4f6;color:#4b5563;white-space:nowrap}.badge.completed[data-v-361e86a6]{background:#dcfce7;color:#15803d}.badge.pending_initiation[data-v-361e86a6]{background:#fef3c7;color:#b45309}.badge.awaiting_assign[data-v-361e86a6],.badge.awaiting_project[data-v-361e86a6]{background:#ede9fe;color:#6d28d9}.badge.project_created[data-v-361e86a6]{background:#e0f2fe;color:#0369a1}.badge.initiation_paused[data-v-361e86a6]{background:#ffedd5;color:#c2410c}.badge.initiation_stopped[data-v-361e86a6]{background:#fee2e2;color:#b91c1c}.muted[data-v-361e86a6]{color:#9ca3af}.small[data-v-361e86a6]{font-size:12px}.pager[data-v-361e86a6]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;padding:10px 4px}.pager-gap[data-v-361e86a6]{flex:1;min-width:8px}.page-size-select[data-v-361e86a6]{min-width:72px;padding:6px 8px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px}.deal-root[data-v-8d21c5db]{display:flex;flex-direction:column;gap:14px;margin-top:14px}.card[data-v-8d21c5db]{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;box-shadow:0 10px 28px #0f172a0a}.workspace .quote-card[data-v-8d21c5db]{background:linear-gradient(180deg,#fff,#f8fafc)}.card-head[data-v-8d21c5db]{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.quote-head[data-v-8d21c5db]{cursor:pointer;-webkit-user-select:none;user-select:none}.quote-card.collapsed[data-v-8d21c5db]{padding-bottom:14px}.quote-title-block[data-v-8d21c5db]{min-width:0;flex:1}.quote-title-row[data-v-8d21c5db]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chev[data-v-8d21c5db]{display:inline-block;width:1em;color:#94a3b8;font-size:12px;transition:transform .15s ease}.chev.open[data-v-8d21c5db]{transform:rotate(90deg);color:#64748b}.fold-hint[data-v-8d21c5db]{margin-top:4px!important}.quote-body[data-v-8d21c5db]{margin-top:4px}.head-actions[data-v-8d21c5db]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end}h2[data-v-8d21c5db]{margin:0 0 4px;font-size:17px;color:#0f172a}.quote-title-row h2[data-v-8d21c5db]{margin:0}h3[data-v-8d21c5db]{margin:0 0 10px;font-size:14px;color:#334155}.tip[data-v-8d21c5db]{margin:0}.chip[data-v-8d21c5db]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:12px;font-weight:600;white-space:nowrap}.chip.soft[data-v-8d21c5db]{background:#f1f5f9;color:#475569}.toolbar[data-v-8d21c5db]{margin:14px 0 12px}.search-box[data-v-8d21c5db]{display:flex;flex-wrap:wrap;gap:8px}.input[data-v-8d21c5db]{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:13px;background:#fff}.search-box .input[data-v-8d21c5db]{min-width:220px;flex:1}.btn[data-v-8d21c5db]{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;font-size:13px;cursor:pointer}.btn.primary[data-v-8d21c5db]{background:#0f172a;border-color:#0f172a;color:#fff}.btn.lg[data-v-8d21c5db]{padding:10px 18px;font-size:14px;font-weight:650}.hits[data-v-8d21c5db]{margin-top:8px;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto;border:1px solid #e5e7eb;border-radius:10px;padding:8px}.hit[data-v-8d21c5db]{text-align:left;border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.hit[data-v-8d21c5db]:hover{border-color:#93c5fd;background:#eff6ff}.manual[data-v-8d21c5db]{margin-top:10px;padding:12px;border:1px dashed #cbd5e1;border-radius:10px}.grid2[data-v-8d21c5db]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.table-wrap[data-v-8d21c5db]{overflow:auto}.table[data-v-8d21c5db]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-8d21c5db],.table td[data-v-8d21c5db]{border-bottom:1px solid #eef2f7;padding:8px 6px;text-align:left}.table th[data-v-8d21c5db]{color:#64748b;font-weight:600;white-space:nowrap}.num[data-v-8d21c5db]{text-align:right;font-variant-numeric:tabular-nums}.strong[data-v-8d21c5db]{font-weight:650}.muted[data-v-8d21c5db]{color:#94a3b8;font-size:12px}.small[data-v-8d21c5db]{font-size:12px}.empty[data-v-8d21c5db]{text-align:center;color:#94a3b8;padding:16px!important}.empty-block[data-v-8d21c5db]{margin:8px 0 0;padding:28px;text-align:center;color:#94a3b8;border:1px dashed #cbd5e1;border-radius:12px;background:#fff}.cell[data-v-8d21c5db]{width:100%;max-width:120px;border:1px solid #d1d5db;border-radius:8px;padding:6px 8px;font-size:13px;text-align:right;background:#fff}.cell.sm[data-v-8d21c5db]{max-width:72px}.totals[data-v-8d21c5db]{display:flex;flex-wrap:wrap;gap:12px 18px;margin:10px 0 4px;font-size:13px;color:#0f172a;font-weight:600}.quote-list[data-v-8d21c5db]{display:flex;flex-direction:column;gap:10px;margin-top:4px}.quote-item[data-v-8d21c5db]{border:1px solid #e2e8f0;border-radius:14px;padding:14px 14px 10px;background:#fff;box-shadow:0 6px 16px #0f172a08}.quote-item.supplement[data-v-8d21c5db]{border-color:#fcd34d;background:#fffbeb}.tag-sup[data-v-8d21c5db]{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:1px 8px;vertical-align:middle}.tag-sup.done[data-v-8d21c5db]{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.plan-price[data-v-8d21c5db]{color:#0369a1!important}.qi-head[data-v-8d21c5db]{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.qi-head h4[data-v-8d21c5db]{margin:0 0 4px;font-size:15px;color:#0f172a}.qi-amount[data-v-8d21c5db]{text-align:right}.qi-amount .lab[data-v-8d21c5db]{display:block;font-size:11px;color:#94a3b8}.qi-amount strong[data-v-8d21c5db]{font-size:18px;color:#0f172a;font-variant-numeric:tabular-nums}.qi-grid[data-v-8d21c5db]{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.qi-grid label[data-v-8d21c5db]{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#64748b;background:#f8fafc;border-radius:10px;padding:8px;border:1px solid #eef2f7}.qi-grid em[data-v-8d21c5db]{font-style:normal;font-weight:650;color:#0f172a;font-size:13px;font-variant-numeric:tabular-nums}.qi-ops[data-v-8d21c5db]{margin-top:8px;text-align:right}.docs-grid[data-v-8d21c5db]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.files[data-v-8d21c5db]{display:flex;flex-direction:column;gap:8px}.file-row[data-v-8d21c5db]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px}.link[data-v-8d21c5db]{border:none;background:none;color:#2563eb;cursor:pointer;font-size:12px;padding:0}.link.danger[data-v-8d21c5db]{color:#dc2626}.req[data-v-8d21c5db]{color:#dc2626;font-size:12px;font-weight:700}.ops[data-v-8d21c5db]{margin-top:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}@media(max-width:900px){.grid2[data-v-8d21c5db],.docs-grid[data-v-8d21c5db]{grid-template-columns:1fr}.qi-grid[data-v-8d21c5db]{grid-template-columns:repeat(2,minmax(0,1fr))}}.page[data-v-ede25f46]{padding:4px 2px 32px}.empty[data-v-ede25f46]{padding:48px 16px;text-align:center;color:#9ca3af}.btn[data-v-ede25f46]{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-ede25f46]{background:#0f172a;border-color:#0f172a;color:#fff}.hero[data-v-ede25f46]{margin-top:14px;border-radius:18px;border:1px solid #e2e8f0;background:radial-gradient(1200px 280px at 10% -20%,rgba(14,165,233,.12),transparent 55%),linear-gradient(160deg,#0f172a,#1e293b 55%,#0f172a);color:#fff;padding:20px 20px 18px;box-shadow:0 18px 40px #0f172a2e}.hero-kicker[data-v-ede25f46]{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7dd3fc;font-weight:700}.hero-title[data-v-ede25f46]{margin:8px 0 6px;font-size:24px;line-height:1.25;font-weight:750;color:#fff}.hero-sub[data-v-ede25f46]{margin:0;color:#fff;font-size:13px}.hero-meta[data-v-ede25f46]{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:12px}.meta[data-v-ede25f46]{font-size:12px;color:#fff;opacity:.85}.badge[data-v-ede25f46]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#ffffff1f;color:#fff}.badge.completed[data-v-ede25f46]{background:#22c55e47;color:#fff}.badge.pending_initiation[data-v-ede25f46]{background:#fbbf2459;color:#fff}.badge.awaiting_assign[data-v-ede25f46],.badge.awaiting_project[data-v-ede25f46]{background:#a78bfa59;color:#fff}.badge.project_created[data-v-ede25f46]{background:#38bdf859;color:#fff}.badge.initiation_paused[data-v-ede25f46]{background:#fb923c66;color:#fff}.badge.initiation_stopped[data-v-ede25f46]{background:#f8717173;color:#fff}.kpi-grid[data-v-ede25f46]{margin-top:16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.kpi[data-v-ede25f46]{border-radius:14px;padding:12px 14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);color:#fff}.kpi.soft[data-v-ede25f46]{background:#ffffff0f}.kpi.accent[data-v-ede25f46]{background:linear-gradient(145deg,#0ea5e947,#38bdf81f);border-color:#7dd3fc59}.kpi-lab[data-v-ede25f46]{display:block;font-size:11px;color:#ffffffc7;margin-bottom:4px}.kpi strong[data-v-ede25f46]{font-size:18px;font-weight:750;color:#fff}.flow-tip[data-v-ede25f46]{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:13px}.flow-tip.ok[data-v-ede25f46]{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.flow-tip.hold[data-v-ede25f46]{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.flow-tip.stop[data-v-ede25f46]{background:#fef2f2;border-color:#fecaca;color:#991b1b}.flow-tip a[data-v-ede25f46]{color:#1d4ed8;font-weight:700}.flow-tip.hold a[data-v-ede25f46],.flow-tip.stop a[data-v-ede25f46]{color:inherit;text-decoration:underline}.btn.danger[data-v-ede25f46]{background:#fff;border-color:#fecaca;color:#b91c1c}.hold-actions[data-v-ede25f46]{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.modal-mask[data-v-ede25f46]{position:fixed;inset:0;z-index:80;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.modal[data-v-ede25f46]{width:min(440px,100%);background:#fff;border-radius:16px;padding:18px;box-shadow:0 24px 48px #0f172a33}.modal-head[data-v-ede25f46]{display:flex;justify-content:space-between;align-items:center;gap:8px}.modal-head h3[data-v-ede25f46]{margin:0;font-size:16px}.icon-x[data-v-ede25f46]{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#64748b;padding:0 4px}.textarea[data-v-ede25f46]{resize:vertical;min-height:72px;font-family:inherit}.modal-actions[data-v-ede25f46]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.card[data-v-ede25f46]{margin-top:14px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;box-shadow:0 10px 28px #0f172a0a}.card-head[data-v-ede25f46]{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-head h2[data-v-ede25f46]{margin:0;font-size:16px}.chip[data-v-ede25f46]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569}.scheme-box[data-v-ede25f46]{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.scheme-box .strong[data-v-ede25f46]{font-weight:700;color:#0f172a}.assign-row[data-v-ede25f46]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px}.member-add[data-v-ede25f46]{display:flex;gap:8px;align-items:flex-start}.member-add[data-v-ede25f46] .ssc{flex:1;min-width:200px}.member-chips[data-v-ede25f46]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip[data-v-ede25f46]{display:inline-flex;align-items:center;gap:4px}.chip-x[data-v-ede25f46]{border:0;background:transparent;cursor:pointer;color:#64748b;font-size:14px;line-height:1;padding:0 2px}.field[data-v-ede25f46]{display:flex;flex-direction:column;gap:6px;min-width:220px}.field.grow[data-v-ede25f46]{flex:1;min-width:240px}.tip[data-v-ede25f46]{margin:8px 0 0;color:#94a3b8}.label[data-v-ede25f46]{font-size:12px;color:#64748b}.money-cn[data-v-ede25f46]{margin-top:6px;line-height:1.4;color:#334155;word-break:break-all}.muted[data-v-ede25f46]{color:#94a3b8}.small[data-v-ede25f46]{font-size:12px}.input[data-v-ede25f46]{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:13px;background:#fff}@media(max-width:900px){.kpi-grid[data-v-ede25f46]{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-title[data-v-ede25f46]{font-size:20px}}.page[data-v-6d581ad3]{padding:24px 0 28px;background:#f5f7fb}.card[data-v-6d581ad3]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f}.filter-bar[data-v-6d581ad3]{margin-bottom:12px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 6px 18px #0f172a0a;display:grid;gap:8px}.filter-row[data-v-6d581ad3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-select[data-v-6d581ad3]{flex:0 0 128px;height:34px;padding:0 28px 0 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%2394a3b8' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;color:#334155;font-size:12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.filter-select[data-v-6d581ad3]:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #3b82f61f;background-color:#fff}.filter-field[data-v-6d581ad3]{flex:1 1 140px;min-width:0;display:flex;align-items:center;gap:6px;height:34px;padding:0 8px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.filter-field[data-v-6d581ad3]:focus-within{border-color:#60a5fa;box-shadow:0 0 0 2px #3b82f61f;background:#fff}.filter-label[data-v-6d581ad3]{flex-shrink:0;font-size:11px;color:#64748b;font-weight:600;white-space:nowrap}.filter-mini[data-v-6d581ad3]{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:12px;color:#0f172a;height:100%}.filter-mini.mono[data-v-6d581ad3]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.filter-mini[data-v-6d581ad3]::placeholder{color:#94a3b8}.filter-actions[data-v-6d581ad3]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.btn-filter[data-v-6d581ad3]{height:34px;padding:0 12px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-filter[data-v-6d581ad3]:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc;color:#1e293b}.btn-filter[data-v-6d581ad3]:disabled{opacity:.5;cursor:not-allowed}.btn-filter.primary[data-v-6d581ad3]{border-color:#276ff5;background:#276ff5;color:#fff;font-weight:600;box-shadow:0 4px 12px #0d948838}.btn-filter.primary[data-v-6d581ad3]:hover:not(:disabled){border-color:#1f5fe0;background:#1f5fe0;color:#fff;box-shadow:0 6px 16px #0d948847}.btn-filter.icon-only[data-v-6d581ad3]{width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#64748b}.btn-filter.icon-only svg[data-v-6d581ad3]{width:16px;height:16px}.filter-tags[data-v-6d581ad3]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:2px;border-top:1px dashed #eef2f7}.tags-label[data-v-6d581ad3]{font-size:11px;color:#94a3b8;font-weight:600;letter-spacing:.02em;margin-right:2px}.tag[data-v-6d581ad3]{padding:3px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:11px;line-height:1.4;cursor:pointer;transition:all .12s ease}.tag[data-v-6d581ad3]:hover:not(:disabled){border-color:#93c5fd;color:#2563eb;background:#f0f9ff}.tag.active[data-v-6d581ad3]{border-color:#2563eb;background:#2563eb;color:#fff;font-weight:600}.tag[data-v-6d581ad3]:disabled{opacity:.55;cursor:not-allowed}@media(max-width:960px){.filter-field[data-v-6d581ad3]{flex:1 1 calc(50% - 4px)}}@media(max-width:720px){.filter-select[data-v-6d581ad3],.filter-field[data-v-6d581ad3]{flex:1 1 100%}.filter-actions[data-v-6d581ad3]{width:100%;justify-content:flex-end}}.field[data-v-6d581ad3]{display:grid;gap:6px;min-width:0}.label[data-v-6d581ad3]{color:#6b7280;font-size:12px;font-weight:500}.input[data-v-6d581ad3],.select[data-v-6d581ad3]{width:100%;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;color:#111827;border-radius:12px;padding:9px 12px;outline:none;font-size:13px;transition:border-color .18s ease,box-shadow .18s ease}.input[data-v-6d581ad3]:focus,.select[data-v-6d581ad3]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.sheet-card[data-v-6d581ad3]{overflow:hidden;padding:0;scroll-margin-top:72px}.sheet-toolbar[data-v-6d581ad3]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#f3f4f6;border-bottom:1px solid #d1d5db}.sheet-meta[data-v-6d581ad3]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.sheet-name[data-v-6d581ad3]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;background:#fff;border:1px solid #d1d5db;font-size:12px;font-weight:700;color:#047857}.sheet-count[data-v-6d581ad3],.sheet-filter[data-v-6d581ad3]{font-size:12px;color:#6b7280}.sheet-filter[data-v-6d581ad3]{color:#2563eb}.sheet-title-bar[data-v-6d581ad3]{margin:12px 12px 0;padding:10px 12px;background:#4472c4;color:#fff;font-size:18px;font-weight:700;text-align:center;letter-spacing:.04em;border:1px solid #2f5597;border-bottom:none}.sheet-scroll[data-v-6d581ad3]{overflow:auto;max-height:calc(100vh - 360px);min-height:360px;background:#e8e8e8;padding:0 12px 12px}.excel-table[data-v-6d581ad3]{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1320px;background:#fff;font-size:12px;color:#000;box-shadow:0 1px 4px #0000001f;border-top:none}.excel-table th[data-v-6d581ad3],.excel-table td[data-v-6d581ad3]{border:1px solid #b4b4b4;padding:6px 8px;text-align:center;vertical-align:middle;line-height:1.45;word-break:break-word}.header-row th[data-v-6d581ad3]{background:#d9e2f3;color:#000;font-size:12px;font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:2;box-shadow:0 1px #b4b4b4}.excel-table tbody tr[data-v-6d581ad3]:nth-child(2n){background:#fafafa}.excel-table tbody tr[data-v-6d581ad3]:hover{background:#fff2cc}.col-seq[data-v-6d581ad3]{width:52px}.col-cat[data-v-6d581ad3]{width:96px}.col-name[data-v-6d581ad3]{width:88px}.col-image[data-v-6d581ad3]{width:72px;text-align:center}.col-supplier[data-v-6d581ad3]{width:168px}.col-model[data-v-6d581ad3]{width:120px}.col-spec[data-v-6d581ad3]{width:168px}.col-code[data-v-6d581ad3]{width:108px}.col-unit[data-v-6d581ad3]{width:56px}.col-price[data-v-6d581ad3]{width:120px}.col-remark[data-v-6d581ad3]{width:96px}.col-ops[data-v-6d581ad3]{width:56px}.row-edit-btn[data-v-6d581ad3]{padding:3px 8px;border:1px solid #93c5fd;border-radius:6px;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .12s ease}.row-edit-btn[data-v-6d581ad3]:hover{background:#2563eb;color:#fff;border-color:#2563eb}.mono[data-v-6d581ad3]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.price[data-v-6d581ad3]{font-variant-numeric:tabular-nums;font-weight:600;color:#000}.img-cell[data-v-6d581ad3]{display:flex;justify-content:center;align-items:center}.img-thumb-btn[data-v-6d581ad3]{padding:0;border:1px solid #b4b4b4;background:#fff;border-radius:4px;cursor:zoom-in;line-height:0;overflow:hidden}.img-thumb[data-v-6d581ad3]{width:56px;height:56px;object-fit:cover;display:block;border-radius:8px}.fdz-toolbar[data-v-6d581ad3]{width:200px;min-width:160px}.head-tools[data-v-6d581ad3]{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.head-add[data-v-6d581ad3]{height:34px;padding:0 14px;border-radius:999px;font-weight:700}.fdz-row-img[data-v-6d581ad3]{width:56px;min-width:56px;display:flex;justify-content:center}.fdz-form-img[data-v-6d581ad3]{width:240px;min-width:160px}.fdz-form-img.sm[data-v-6d581ad3]{width:160px}.img-empty[data-v-6d581ad3]{color:#94a3b8}.photo-row[data-v-6d581ad3]{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.photo-preview-wrap[data-v-6d581ad3]{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.photo-preview-btn[data-v-6d581ad3]{padding:0;border:1px solid #dbeafe;border-radius:10px;background:#fff;cursor:zoom-in;line-height:0;overflow:hidden}.photo-preview[data-v-6d581ad3]{width:96px;height:96px;object-fit:cover;display:block}.photo-tip[data-v-6d581ad3]{margin-top:6px}.link-btn[data-v-6d581ad3]{border:none;background:none;color:#dc2626;font-size:12px;cursor:pointer;padding:0}.lightbox-mask[data-v-6d581ad3]{position:fixed;inset:0;z-index:90;background:#0f172ad1;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox[data-v-6d581ad3]{position:relative;max-width:min(920px,96vw);max-height:90vh}.lightbox-close[data-v-6d581ad3]{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:999px;border:none;background:#fff;color:#334155;font-size:22px;cursor:pointer;box-shadow:0 8px 24px #00000040}.lightbox-img[data-v-6d581ad3]{max-width:min(920px,96vw);max-height:86vh;object-fit:contain;display:block;border-radius:8px;background:#fff;box-shadow:0 20px 60px #00000059}.state-panel[data-v-6d581ad3]{padding:48px 24px;text-align:center}.state-icon[data-v-6d581ad3]{font-size:28px;margin-bottom:10px;opacity:.7}.state-text[data-v-6d581ad3]{font-size:15px;font-weight:600;color:#374151}.state-sub[data-v-6d581ad3]{margin-top:6px;font-size:13px;color:#9ca3af}.pagination[data-v-6d581ad3]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #e5e7eb;background:#fafbfc}.pagination-gap[data-v-6d581ad3]{flex:1}.pagination-info[data-v-6d581ad3]{color:#6b7280;font-size:13px;min-width:52px;text-align:center}.muted[data-v-6d581ad3]{color:#6b7280}.small[data-v-6d581ad3]{font-size:12px}.page-size-select[data-v-6d581ad3]{padding:6px 10px;font-size:13px;border-radius:999px;border:1px solid #d1d5db;background:#fff}.btn[data-v-6d581ad3]{padding:8px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .18s ease}.btn[data-v-6d581ad3]:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn[data-v-6d581ad3]:disabled{opacity:.55;cursor:not-allowed}.btn.primary[data-v-6d581ad3]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.primary[data-v-6d581ad3]:hover:not(:disabled){color:#fff;box-shadow:0 12px 28px #2563eb57}.modal-mask[data-v-6d581ad3]{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal[data-v-6d581ad3]{width:640px;max-width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 26px 70px #0f172a40;color:#111827}.modal-head[data-v-6d581ad3]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-6d581ad3]{color:#0f172a;font-weight:650;font-size:16px}.modal-banner[data-v-6d581ad3]{margin:8px 14px 0;padding:8px 12px;border-radius:12px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;font-size:13px}.icon[data-v-6d581ad3]{background:transparent;border:none;color:#6b7280;font-size:20px;cursor:pointer}.modal-body[data-v-6d581ad3]{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:auto}.modal-body .field[data-v-6d581ad3]{display:grid;gap:6px;min-width:0}.modal-body .field.span-2[data-v-6d581ad3]{grid-column:span 2}.modal-body .textarea[data-v-6d581ad3]{resize:vertical;min-height:64px;font-family:inherit}.modal-foot[data-v-6d581ad3]{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid #e5e7eb}@media(max-width:600px){.modal-body[data-v-6d581ad3]{grid-template-columns:1fr}.modal-body .field.span-2[data-v-6d581ad3]{grid-column:span 1}}.page[data-v-f0b805b4]{padding:8px 0 28px}.head-tools[data-v-f0b805b4]{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.head-add[data-v-f0b805b4]{height:34px;padding:0 14px;border-radius:999px;font-weight:700}.list-type-bar[data-v-f0b805b4]{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.list-type-btn[data-v-f0b805b4]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:160px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.list-type-btn[data-v-f0b805b4]:hover:not(:disabled){border-color:#93c5fd;background:#276ff50a}.list-type-btn.active[data-v-f0b805b4]{border-color:#276ff5;background:#276ff514;box-shadow:0 0 0 1px #276ff5 inset}.list-type-btn[data-v-f0b805b4]:disabled{opacity:.6;cursor:not-allowed}.list-type-short[data-v-f0b805b4]{font-size:13px;font-weight:800;color:#1f5fe0}.list-type-btn:not(.active) .list-type-short[data-v-f0b805b4]{color:#334155}.list-type-name[data-v-f0b805b4]{font-size:12px;color:#64748b;line-height:1.35;max-width:260px}.filter-bar[data-v-f0b805b4]{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0}.filter-row[data-v-f0b805b4]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filter-select[data-v-f0b805b4],.filter-mini[data-v-f0b805b4],.input[data-v-f0b805b4]{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.filter-field[data-v-f0b805b4]{display:flex;align-items:center;gap:6px}.filter-label[data-v-f0b805b4]{font-size:12px;color:#64748b;white-space:nowrap}.filter-actions[data-v-f0b805b4]{display:flex;gap:8px;margin-left:auto}.btn-filter[data-v-f0b805b4]{padding:7px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:13px;cursor:pointer}.btn-filter.primary[data-v-f0b805b4]{background:#276ff5;color:#fff;border-color:#276ff5}.btn-filter[data-v-f0b805b4]:disabled{opacity:.5;cursor:not-allowed}.filter-tags[data-v-f0b805b4]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}.tags-label[data-v-f0b805b4]{font-size:12px;color:#94a3b8}.tag[data-v-f0b805b4]{border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.tag.active[data-v-f0b805b4]{background:#276ff51a;border-color:#93c5fd;color:#276ff5;font-weight:700}.sheet-card[data-v-f0b805b4]{background:#fff;border:1px solid #d1d5db;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.sheet-toolbar[data-v-f0b805b4]{padding:10px 12px;border-bottom:1px solid #d1d5db;background:#f8fafc}.sheet-meta[data-v-f0b805b4]{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.sheet-name[data-v-f0b805b4]{font-weight:800;color:#0f172a;font-size:12px;padding:2px 8px;border-radius:6px;border:1px solid #d1d5db;background:#fff}.sheet-count[data-v-f0b805b4],.sheet-filter[data-v-f0b805b4],.muted[data-v-f0b805b4]{font-size:12px;color:#64748b}.sheet-dedupe[data-v-f0b805b4]{color:#0f766e}.state-panel[data-v-f0b805b4]{text-align:center;padding:48px 16px;color:#94a3b8}.state-sub[data-v-f0b805b4]{margin-top:6px;font-size:12px}.sheet-title-bar[data-v-f0b805b4]{margin:10px 12px 0;padding:8px 12px;text-align:center;font-weight:700;font-size:14px;color:#fff;background:#2f5597;border:1px solid #2f5597;border-bottom:none}.sheet-scroll[data-v-f0b805b4]{overflow:auto;max-height:calc(100vh - 340px);min-height:320px;background:#e8e8e8;padding:0 12px 12px}.excel-table[data-v-f0b805b4]{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1280px;background:#fff;font-size:12px;color:#000;box-shadow:0 1px 4px #0000001f;border-top:none}.excel-table th[data-v-f0b805b4],.excel-table td[data-v-f0b805b4]{border:1px solid #b4b4b4;padding:6px 8px;text-align:center;vertical-align:middle;line-height:1.45;word-break:break-word}.header-row th[data-v-f0b805b4]{background:#d9e2f3;color:#000;font-size:12px;font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:2;box-shadow:0 1px #b4b4b4}.excel-table tbody tr[data-v-f0b805b4]:nth-child(2n){background:#fafafa}.excel-table tbody tr[data-v-f0b805b4]:hover{background:#fff2cc}.mono[data-v-f0b805b4]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.col-seq[data-v-f0b805b4]{width:52px}.col-cat[data-v-f0b805b4]{width:96px}.col-code[data-v-f0b805b4]{width:110px}.col-name[data-v-f0b805b4]{width:140px}.col-brand[data-v-f0b805b4]{width:72px}.col-model[data-v-f0b805b4]{width:180px}.col-qty[data-v-f0b805b4]{width:72px}.col-cycle[data-v-f0b805b4],.col-region[data-v-f0b805b4]{width:88px}.col-cert[data-v-f0b805b4]{width:72px}.col-ops[data-v-f0b805b4]{white-space:nowrap;width:96px}.col-img[data-v-f0b805b4]{width:76px}.col-remark[data-v-f0b805b4]{width:220px;text-align:left!important;max-width:280px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;line-height:1.4}.img-thumb-btn[data-v-f0b805b4]{border:1px solid #b4b4b4;background:#fff;border-radius:4px;padding:2px;cursor:pointer;display:inline-flex}.img-thumb[data-v-f0b805b4]{width:48px;height:48px;object-fit:contain;display:block;border-radius:2px}.img-thumb.lg[data-v-f0b805b4]{width:96px;height:96px}.img-empty[data-v-f0b805b4]{color:#94a3b8}.preview-mask[data-v-f0b805b4]{z-index:100}.preview-box[data-v-f0b805b4]{position:relative;max-width:min(920px,96vw);max-height:90vh;background:#0f172a;border-radius:12px;padding:12px}.preview-close[data-v-f0b805b4]{position:absolute;right:8px;top:4px;color:#fff;z-index:1}.preview-img[data-v-f0b805b4]{max-width:100%;max-height:82vh;display:block;margin:0 auto}.row-btn[data-v-f0b805b4]{border:1px solid #b4b4b4;background:#fff;border-radius:4px;padding:2px 8px;font-size:12px;cursor:pointer;margin-right:4px}.row-btn.danger[data-v-f0b805b4]{color:#b91c1c;border-color:#fecaca}.pagination[data-v-f0b805b4]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #d1d5db;background:#f8fafc}.gap[data-v-f0b805b4]{flex:1}.btn[data-v-f0b805b4]{padding:8px 14px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-f0b805b4]{background:#276ff5;color:#fff;border:none}.btn.danger[data-v-f0b805b4]{color:#b91c1c;border-color:#fecaca}.modal-mask[data-v-f0b805b4]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}.modal[data-v-f0b805b4]{width:min(640px,100%);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px #0f172a33}.cpq-modal[data-v-f0b805b4]{width:min(1180px,96vw);max-height:90vh;display:flex;flex-direction:column}.cpq-head-text[data-v-f0b805b4]{display:flex;flex-direction:column;gap:4px;min-width:0}.cpq-sub[data-v-f0b805b4]{font-size:12px;color:#64748b;line-height:1.4}.cpq-scroll[data-v-f0b805b4]{overflow:auto;max-height:calc(90vh - 120px);padding:0 12px 12px}.cpq-table[data-v-f0b805b4]{min-width:1100px;margin-top:0}.cpq-unmatched[data-v-f0b805b4]{background:#fff7ed!important}.col-price[data-v-f0b805b4]{width:88px}.col-series[data-v-f0b805b4]{width:80px}.col-match[data-v-f0b805b4]{width:72px}.match-tag[data-v-f0b805b4]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:#f1f5f9;color:#64748b}.match-tag.ok[data-v-f0b805b4]{background:#dcfce7;color:#166534}.modal-head[data-v-f0b805b4]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #f1f5f9}.modal-body[data-v-f0b805b4]{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:70vh;overflow:auto}.f[data-v-f0b805b4]{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#64748b}.f.span2[data-v-f0b805b4]{grid-column:span 2}.modal-foot[data-v-f0b805b4]{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #f1f5f9;align-items:center}.spacer[data-v-f0b805b4]{flex:1}.icon[data-v-f0b805b4]{border:none;background:none;font-size:22px;cursor:pointer;color:#94a3b8}@media(max-width:760px){.modal-body[data-v-f0b805b4]{grid-template-columns:1fr}.f.span2[data-v-f0b805b4]{grid-column:span 1}}.page[data-v-5adaf603]{display:flex;flex-direction:column;gap:14px}.toolbar[data-v-5adaf603]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.tabs[data-v-5adaf603]{display:flex;flex-wrap:wrap;gap:6px}.tab[data-v-5adaf603]{border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}.tab.active[data-v-5adaf603]{background:#0f172a;color:#fff;border-color:#0f172a}.search[data-v-5adaf603]{display:flex;gap:8px;align-items:center}.input[data-v-5adaf603]{height:34px;border:1px solid #e2e8f0;border-radius:8px;padding:0 10px;min-width:180px;font-size:13px}.btn[data-v-5adaf603]{height:34px;padding:0 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-5adaf603]{background:#0f172a;color:#fff;border-color:#0f172a}.btn[data-v-5adaf603]:disabled{opacity:.45;cursor:not-allowed}.empty[data-v-5adaf603]{padding:48px 16px;text-align:center;color:#64748b;font-size:14px}.table-wrap[data-v-5adaf603]{border:1px solid #e2e8f0;border-radius:12px;overflow:auto;background:#fff}.table[data-v-5adaf603]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-5adaf603]{text-align:left;padding:10px 12px;background:#f8fafc;color:#64748b;font-weight:600;border-bottom:1px solid #e2e8f0;white-space:nowrap}.table td[data-v-5adaf603]{padding:12px;border-bottom:1px solid #f1f5f9;color:#0f172a}.row[data-v-5adaf603]{cursor:pointer}.row:hover td[data-v-5adaf603]{background:#f8fafc}.name[data-v-5adaf603]{font-weight:600}.mono[data-v-5adaf603]{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.muted[data-v-5adaf603]{color:#94a3b8}.tag[data-v-5adaf603]{display:inline-block;margin-right:4px;padding:2px 8px;border-radius:999px;font-size:12px;background:#f1f5f9;color:#64748b}.tag.ok[data-v-5adaf603]{background:#ecfdf5;color:#047857}.badge[data-v-5adaf603]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#f1f5f9;color:#475569}.badge.draft[data-v-5adaf603]{background:#f1f5f9;color:#64748b}.badge.pending_approval[data-v-5adaf603]{background:#fff7ed;color:#c2410c}.badge.awaiting_project[data-v-5adaf603]{background:#ede9fe;color:#6d28d9}.badge.project_created[data-v-5adaf603]{background:#ecfdf5;color:#047857}.badge.rejected[data-v-5adaf603]{background:#fef2f2;color:#b91c1c}.pager[data-v-5adaf603]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pager-gap[data-v-5adaf603]{flex:1}.page-size-select[data-v-5adaf603]{height:32px;border:1px solid #e2e8f0;border-radius:8px;padding:0 6px}.page[data-v-d5068c24]{display:flex;flex-direction:column;gap:14px}.empty[data-v-d5068c24]{padding:48px 16px;text-align:center;color:#64748b}.panel[data-v-d5068c24]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px}.panel h3[data-v-d5068c24]{margin:0 0 14px;font-size:15px;color:#0f172a}.grid[data-v-d5068c24]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.field[data-v-d5068c24]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#475569}.field.full[data-v-d5068c24]{grid-column:1 / -1}.field em[data-v-d5068c24]{color:#dc2626;font-style:normal}.customer-row[data-v-d5068c24]{display:flex;align-items:flex-start;gap:8px}.customer-row[data-v-d5068c24] .ssc{flex:1;min-width:0}.modal-mask[data-v-d5068c24]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal[data-v-d5068c24]{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 24px 60px #0f172a33}.modal-title[data-v-d5068c24]{padding:16px 18px 10px;font-size:16px;font-weight:700;color:#0f172a}.modal-body[data-v-d5068c24]{padding:4px 18px 8px;display:flex;flex-direction:column;gap:10px}.modal-grid[data-v-d5068c24]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions[data-v-d5068c24]{padding:12px 18px 16px;display:flex;justify-content:flex-end;gap:8px}.input[data-v-d5068c24],.textarea[data-v-d5068c24]{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:13px;color:#0f172a;background:#fff}.textarea[data-v-d5068c24]{resize:vertical;min-height:72px}.input[data-v-d5068c24]:disabled,.textarea[data-v-d5068c24]:disabled{background:#f8fafc;color:#64748b}.meta[data-v-d5068c24]{margin:12px 0 0;font-size:12px}.meta a[data-v-d5068c24]{color:#2563eb}.assign-tip[data-v-d5068c24]{margin:12px 0 0;font-size:13px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.assign-tip a[data-v-d5068c24]{color:#2563eb}.uploads[data-v-d5068c24]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.upload-card[data-v-d5068c24]{border:1px dashed #cbd5e1;border-radius:10px;padding:12px;background:#f8fafc}.upload-head[data-v-d5068c24]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.upload-head strong[data-v-d5068c24]{font-size:14px;color:#0f172a}.tag[data-v-d5068c24]{font-size:12px;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#64748b}.tag.ok[data-v-d5068c24]{background:#ecfdf5;color:#047857}.hint[data-v-d5068c24]{margin:12px 0 0;font-size:12px}.muted[data-v-d5068c24]{color:#94a3b8}.btn[data-v-d5068c24]{height:34px;padding:0 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}.btn.primary[data-v-d5068c24]{background:#0f172a;color:#fff;border-color:#0f172a}.btn.danger[data-v-d5068c24]{color:#b91c1c;border-color:#fecaca}.btn[data-v-d5068c24]:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1100px){.uploads[data-v-d5068c24]{grid-template-columns:1fr 1fr}}@media(max-width:800px){.grid[data-v-d5068c24],.uploads[data-v-d5068c24]{grid-template-columns:1fr}}.perm-tree[data-v-6bd7e471]{width:100%}.tree-root[data-v-6bd7e471]{list-style:none;margin:0;padding:0}.tree-node[data-v-6bd7e471]{margin:0;padding:0}.node-row[data-v-6bd7e471]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px}.node-row[data-v-6bd7e471]:hover{background:#2563eb0f}.exp[data-v-6bd7e471]{width:24px;height:24px;border-radius:8px;border:1px solid rgba(203,213,225,.9);background:#ffffffe6;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#334155}.exp[data-v-6bd7e471]:disabled{opacity:.5;cursor:not-allowed}.exp--dot[data-v-6bd7e471]{border-color:transparent;background:transparent;cursor:default}.ck[data-v-6bd7e471]{display:inline-flex;align-items:center;gap:10px;cursor:pointer;flex:1;min-width:0}.ck input[data-v-6bd7e471]{width:16px;height:16px}.label[data-v-6bd7e471]{display:inline-flex;align-items:baseline;gap:8px;min-width:0;flex-wrap:wrap}.key[data-v-6bd7e471]{color:#64748b;font-size:12px}.node-children[data-v-6bd7e471]{margin-left:22px;padding-left:10px;border-left:1px dashed rgba(148,163,184,.6)}.mono[data-v-6bd7e471]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.muted[data-v-6bd7e471]{color:#64748b}.empty[data-v-6bd7e471]{padding:8px 6px}.page[data-v-b3cf0785]{padding:24px 0;background:#f5f7fb}.profile-hint[data-v-b3cf0785]{margin:0 0 14px;font-size:13px;line-height:1.55;color:#4b5563}.policy-card[data-v-b3cf0785]{margin-bottom:14px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid #e5e7eb}.policy-head[data-v-b3cf0785]{display:flex;align-items:center;justify-content:space-between;gap:16px}.policy-title[data-v-b3cf0785]{font-size:15px;font-weight:600;color:#111827;margin-bottom:4px}.policy-desc[data-v-b3cf0785]{max-width:720px;line-height:1.5}.policy-env[data-v-b3cf0785]{margin:10px 0 0}.policy-toggle[data-v-b3cf0785]{flex-shrink:0}.toolbar[data-v-b3cf0785]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.toolbar-left[data-v-b3cf0785],.toolbar-right[data-v-b3cf0785]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tabs2[data-v-b3cf0785]{display:flex;align-items:center;gap:8px;margin:4px 0 14px;flex-wrap:wrap}.tab2[data-v-b3cf0785]{padding:8px 14px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;font-size:13px;transition:all .18s ease}.tab2[data-v-b3cf0785]:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8}.tab2.active[data-v-b3cf0785]{border-color:#2563eb;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:600;box-shadow:0 8px 20px #2563eb40}.empty[data-v-b3cf0785]{padding:20px 4px;color:#6b7280}.table-wrap[data-v-b3cf0785]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f;overflow:auto}.table[data-v-b3cf0785]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-b3cf0785],.table td[data-v-b3cf0785]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.table th[data-v-b3cf0785]{color:#4b5563;font-weight:600;background:#f3f4f6;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.muted[data-v-b3cf0785]{color:#6b7280}.small[data-v-b3cf0785]{font-size:12px}.strong[data-v-b3cf0785]{font-weight:600;color:#111827}.select[data-v-b3cf0785]{padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:13px;min-width:160px}.search[data-v-b3cf0785]{flex:1;min-width:260px}.input[data-v-b3cf0785]{width:100%;padding:8px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:13px;outline:none}.tree-card[data-v-b3cf0785]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px #0f172a0f;padding:12px}.users-hint[data-v-b3cf0785]{padding:10px 4px 0}.btn[data-v-b3cf0785]{padding:8px 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-size:13px;transition:all .18s ease}.btn[data-v-b3cf0785]:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8;box-shadow:0 6px 18px #0f172a14}.btn[data-v-b3cf0785]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.primary[data-v-b3cf0785]{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 10px 25px #2563eb47}.btn.primary[data-v-b3cf0785]:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8;color:#fff}.btn.sm[data-v-b3cf0785]{padding:6px 10px;border-radius:999px;font-size:12px}.btn.danger[data-v-b3cf0785]{border-color:#b91c1c59;color:#b91c1c}.btn.danger[data-v-b3cf0785]:hover:not(:disabled){border-color:#b91c1c8c;box-shadow:0 6px 18px #b91c1c1a}.toggle[data-v-b3cf0785]{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.modal-mask[data-v-b3cf0785]{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:2000}.modal[data-v-b3cf0785]{width:min(760px,96vw);background:#fffffff5;border:1px solid rgba(229,231,235,.9);border-radius:18px;box-shadow:0 22px 60px #0f172a38;overflow:hidden}.modal-head[data-v-b3cf0785]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(226,232,240,.9)}.modal-title[data-v-b3cf0785]{font-weight:700;color:#0f172a}.icon[data-v-b3cf0785]{width:34px;height:34px;border-radius:12px;border:1px solid rgba(203,213,225,.85);background:#ffffffe6;cursor:pointer}.modal-body[data-v-b3cf0785]{padding:14px;display:grid;gap:12px}.modal-foot[data-v-b3cf0785]{padding:12px 14px;border-top:1px solid rgba(226,232,240,.9);display:flex;justify-content:flex-end;gap:10px}.field[data-v-b3cf0785]{display:grid;gap:6px}.grid2[data-v-b3cf0785]{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:720px){.grid2[data-v-b3cf0785]{grid-template-columns:1fr}}.mt6[data-v-b3cf0785]{margin-top:6px}.toggle input[data-v-b3cf0785]{width:16px;height:16px;accent-color:#2563eb}.pill[data-v-b3cf0785]{padding:4px 10px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;font-size:12px;color:#6b7280}.pill.on[data-v-b3cf0785]{border-color:#22c55e73;background:#dcfce7f2;color:#15803d}code[data-v-b3cf0785]{font-size:12px;padding:2px 6px;border-radius:6px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.person-card[data-v-b3cf0785]{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 18px 40px #0f172a0f}.person-toolbar[data-v-b3cf0785]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.person-tree-tools[data-v-b3cf0785]{margin-bottom:10px}.person-tree[data-v-b3cf0785]{margin-top:0}.person-section[data-v-b3cf0785]{margin-top:8px;padding-top:12px;border-top:1px solid #f3f4f6}.person-section[data-v-b3cf0785]:first-of-type{border-top:none;padding-top:0}.person-section-title[data-v-b3cf0785]{font-size:14px;font-weight:700;color:#111827;margin-bottom:6px}.person-section-desc[data-v-b3cf0785]{margin:0 0 10px;line-height:1.5}.scope-radios[data-v-b3cf0785]{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.scope-row[data-v-b3cf0785]{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;cursor:pointer}.scope-row input[data-v-b3cf0785]{accent-color:#2563eb}.module-grid[data-v-b3cf0785]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.module-row[data-v-b3cf0785]{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;background:#fafafa}.module-row[data-v-b3cf0785]:hover{background:#f8fafc;border-color:#cbd5e1}.module-meta[data-v-b3cf0785]{min-width:0}.module-name[data-v-b3cf0785]{font-weight:700;font-size:14px;color:#0f172a;margin-bottom:4px}.tag-on[data-v-b3cf0785]{display:inline-block;padding:1px 8px;border-radius:999px;background:#ccfbf1;color:#0f766e;font-weight:600}.tag-off[data-v-b3cf0785]{display:inline-block;padding:1px 8px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-weight:600}.module-row[data-v-b3cf0785]:has(input:checked){border-color:#99f6e4;background:#f0fdfa}.personal-settings[data-v-c3f1839a]{color:#ffffffeb}.personal-settings--embedded[data-v-c3f1839a]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px;align-items:start}@media(max-width:900px){.personal-settings--embedded[data-v-c3f1839a]{grid-template-columns:1fr}}.section-title[data-v-c3f1839a]{margin:0 0 16px;font-size:16px;font-weight:650;color:#ffffffe0}.card[data-v-c3f1839a]{background:#161b22bf;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px 22px;margin-bottom:18px;max-width:480px}.personal-settings--embedded .card[data-v-c3f1839a]{max-width:none;margin-bottom:0}.info-row[data-v-c3f1839a]{display:flex;gap:12px;margin-bottom:10px;font-size:14px}.info-row .k[data-v-c3f1839a]{width:72px;flex-shrink:0;color:#ffffff80}.info-row .v[data-v-c3f1839a]{color:#ffffffe6}.account-hint[data-v-c3f1839a]{margin:4px 0 0;font-size:12px;line-height:1.45}.field[data-v-c3f1839a]{margin-bottom:14px}.label[data-v-c3f1839a]{display:block;margin-bottom:6px;font-size:13px;color:#ffffff8c}.input[data-v-c3f1839a]{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#00000040;color:#fff;font-size:14px}.actions[data-v-c3f1839a]{margin-top:8px}.btn[data-v-c3f1839a]{padding:10px 20px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffe6;font-weight:650;cursor:pointer}.btn.primary[data-v-c3f1839a]{border-color:#00d4aa73;background:linear-gradient(180deg,#00d4aa38,#00b49124);color:#e8fff9}.btn[data-v-c3f1839a]:disabled{opacity:.6;cursor:not-allowed}.banner[data-v-c3f1839a]{padding:10px 12px;border-radius:10px;margin-bottom:14px;font-size:13px}.banner.ok[data-v-c3f1839a]{border:1px solid rgba(0,212,170,.35);background:#00d4aa1f;color:#9cf5df}.banner.err[data-v-c3f1839a]{border:1px solid rgba(248,81,73,.35);background:#f851491a;color:#ffb4b0}.muted[data-v-c3f1839a]{color:#ffffff80;padding:8px 0}.pwd-hint[data-v-c3f1839a]{margin:-8px 0 14px;font-size:13px;line-height:1.5;color:#ffffff80}.card-password[data-v-c3f1839a]{border-color:#00d4aa38;box-shadow:0 0 0 1px #00d4aa0f}.shell.light .profile-page.personal-settings{color:#334155}.shell.light .profile-page .section-title{color:#0f172a}.shell.light .profile-page .info-row .k{color:#64748b}.shell.light .profile-page .info-row .v{color:#0f172a}.shell.light .profile-page .pwd-hint{color:#64748b}.shell.light .profile-page .banner.ok{border-color:#05966959;background:#10b9811a;color:#047857}.shell.light .profile-page .banner.err{border-color:#dc26264d;background:#f871711a;color:#b91c1c}.page[data-v-65aa1532]{padding:28px}.page[data-v-4e216dd4]{padding:24px 0;background:#f5f7fb}.page[data-v-aed0b3d2]{padding:12px 0 28px}.card[data-v-aed0b3d2]{background:#ffffffeb;border:1px solid rgba(226,232,240,.95);border-radius:16px;box-shadow:0 10px 30px #0f172a0f}.toolbar[data-v-aed0b3d2]{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:12px}.sep[data-v-aed0b3d2]{width:1px;height:22px;background:#94a3b859}.sp[data-v-aed0b3d2]{flex:1}.select.sm[data-v-aed0b3d2]{width:auto;min-width:64px;padding:6px 8px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#fff;font:inherit;font-size:13px}.btn[data-v-aed0b3d2]{border:1px solid rgba(148,163,184,.35);background:#f8fafcf2;color:#0f172a;border-radius:12px;padding:8px 12px;cursor:pointer;font-size:13px}.btn[data-v-aed0b3d2]:disabled{opacity:.55;cursor:not-allowed}.muted[data-v-aed0b3d2]{color:#64748b}.small[data-v-aed0b3d2]{font-size:12px}.chk[data-v-aed0b3d2]{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#334155}.shell.dark{color:#e2e8f0e6}.list-shell[data-v-aed0b3d2]{padding:0;overflow:hidden}.empty[data-v-aed0b3d2]{padding:28px 18px;text-align:center;color:#64748b}.empty-soft[data-v-aed0b3d2]{padding:48px 18px}.empty-title[data-v-aed0b3d2]{font-size:15px;font-weight:750;color:#0f172a;margin-bottom:6px}.rows[data-v-aed0b3d2]{display:flex;flex-direction:column;gap:10px;padding:12px}.row[data-v-aed0b3d2]{position:relative;width:100%;text-align:left;border:none;background:#fff;cursor:pointer;padding:0;display:flex;gap:0;border-radius:14px;border:1px solid #e8edf3;box-shadow:0 1px 2px #0f172a0a;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.row[data-v-aed0b3d2]:hover{border-color:#c7d2fe;box-shadow:0 8px 22px #2563eb14}.row.unread[data-v-aed0b3d2]{background:linear-gradient(180deg,#f8fbff,#fff 48%);border-color:#dbeafe}.row-accent[data-v-aed0b3d2]{width:3px;flex:0 0 3px;background:transparent}.row.unread .row-accent[data-v-aed0b3d2]{background:#2563eb}.row-inner[data-v-aed0b3d2]{flex:1;min-width:0;padding:14px 16px 12px;display:flex;flex-direction:column;gap:10px}.row-hd[data-v-aed0b3d2]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.row-hd-main[data-v-aed0b3d2]{display:flex;align-items:center;gap:8px;min-width:0}.unread-dot[data-v-aed0b3d2]{width:8px;height:8px;border-radius:999px;background:#2563eb;flex:0 0 auto;box-shadow:0 0 0 3px #2563eb26}.row-title[data-v-aed0b3d2]{margin:0;font-weight:750;font-size:15px;line-height:1.35;color:#0f172a;letter-spacing:-.01em}.row.unread .row-title[data-v-aed0b3d2]{color:#1e3a8a}.row-hd-meta[data-v-aed0b3d2]{display:flex;align-items:center;gap:8px;flex:0 0 auto}.row-time[data-v-aed0b3d2]{font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums;white-space:nowrap}.meta-pill[data-v-aed0b3d2]{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid transparent;white-space:nowrap}.meta-pill.is-unread[data-v-aed0b3d2]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.meta-pill.is-read[data-v-aed0b3d2]{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.field-grid[data-v-aed0b3d2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #f1f5f9}.field-item[data-v-aed0b3d2]{min-width:0}.field-label[data-v-aed0b3d2]{font-size:11px;font-weight:650;color:#94a3b8;margin-bottom:2px}.field-value[data-v-aed0b3d2]{font-size:13px;font-weight:650;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-body[data-v-aed0b3d2]{margin:0;font-size:13px;line-height:1.55;white-space:pre-wrap;color:#475569}.row-ft[data-v-aed0b3d2]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}.row-ft-hint[data-v-aed0b3d2]{opacity:.85}.row-cta[data-v-aed0b3d2]{border:0;background:transparent;color:#2563eb;font-size:13px;font-weight:750;cursor:pointer;padding:4px 0;white-space:nowrap}.row-cta[data-v-aed0b3d2]:hover{text-decoration:underline}.shell.dark{background:#0f172a8c;border-color:#94a3b829;box-shadow:none}.shell.dark{border-color:#60a5fa59;background:#1e293bb8}.shell.dark{background:#1e3a8a2e;border-color:#3b82f647}.shell.dark{background:#0f172a59;border-color:#94a3b81f}.shell.dark{color:#f8fafce6}.shell.dark{color:#cbd5e1e6}.shell.dark{color:#93c5fd;background:#2563eb2e;border-color:#3b82f64d}.shell.dark{color:#94a3b8e6;background:#1e293b99;border-color:#94a3b82e}.shell.dark{color:#93c5fd}@media(max-width:640px){.field-grid[data-v-aed0b3d2]{grid-template-columns:1fr}.row-hd[data-v-aed0b3d2]{flex-direction:column;gap:8px}.row-hd-meta[data-v-aed0b3d2]{width:100%;justify-content:flex-start}.row-ft[data-v-aed0b3d2]{flex-wrap:wrap}}.m-wrap[data-v-aed0b3d2]{margin-top:12px}.m-grid[data-v-aed0b3d2]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.m-card[data-v-aed0b3d2]{background:#ffffffeb;border:1px solid rgba(226,232,240,.95);border-radius:16px;box-shadow:0 10px 26px #0f172a0f;padding:12px}::global(.shell.dark) .m-card[data-v-aed0b3d2]{background:#0f172ab8;border-color:#94a3b829;box-shadow:0 12px 40px #00000059}.m-head[data-v-aed0b3d2]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.m-title[data-v-aed0b3d2]{font-weight:900;color:#0f172a}::global(.shell.dark) .m-title[data-v-aed0b3d2]{color:#f8fafceb}.m-sub[data-v-aed0b3d2]{font-size:12px;color:#64748b}::global(.shell.dark) .m-sub[data-v-aed0b3d2]{color:#94a3b8e0}.m-link[data-v-aed0b3d2]{border:0;background:transparent;color:#2563eb;cursor:pointer;font:inherit;padding:0}.m-link[data-v-aed0b3d2]:hover{text-decoration:underline}.m-list[data-v-aed0b3d2]{display:grid;gap:8px}.m-row[data-v-aed0b3d2]{border:1px solid rgba(226,232,240,.95);background:#f8fafcbf;border-radius:14px;padding:10px;cursor:pointer}::global(.shell.dark) .m-row[data-v-aed0b3d2]{border-color:#94a3b829;background:#1e293ba6}.m-row[data-v-aed0b3d2]:hover{background:#2563eb0f}::global(.shell.dark) .m-row[data-v-aed0b3d2]:hover{background:#38bdf814}.m-row-title[data-v-aed0b3d2]{font-weight:800;font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::global(.shell.dark) .m-row-title[data-v-aed0b3d2]{color:#f8fafceb}.m-row-sub[data-v-aed0b3d2]{margin-top:4px;font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::global(.shell.dark) .m-row-sub[data-v-aed0b3d2]{color:#94a3b8e0}.m-more[data-v-aed0b3d2]{display:flex;justify-content:flex-end;margin-top:6px}@media(max-width:980px){.m-grid[data-v-aed0b3d2]{grid-template-columns:1fr}}.modal-mask[data-v-aed0b3d2]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:18px;z-index:2000}::global(.shell.dark) .modal-mask[data-v-aed0b3d2]{background:#0000008c}.modal[data-v-aed0b3d2]{width:min(720px,100%);max-height:min(80vh,860px);overflow:auto;border-radius:18px;border:1px solid rgba(226,232,240,.95);background:#fffffffa;box-shadow:0 30px 80px #0f172a59;padding:16px}::global(.shell.dark) .modal[data-v-aed0b3d2]{background:#0f172aeb;border-color:#94a3b82e;box-shadow:0 40px 100px #0000008c}.modal-title[data-v-aed0b3d2]{font-weight:900;font-size:16px;color:#0f172a;margin-bottom:12px}::global(.shell.dark) .modal-title[data-v-aed0b3d2]{color:#f8fafceb}.field[data-v-aed0b3d2]{margin:10px 0}.label[data-v-aed0b3d2]{font-size:12px;font-weight:800;color:#334155;margin-bottom:6px}::global(.shell.dark) .label[data-v-aed0b3d2]{color:#e2e8f0e6}.input[data-v-aed0b3d2],.select[data-v-aed0b3d2],.textarea[data-v-aed0b3d2]{width:100%;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#f8fafcf2;padding:9px 10px;font:inherit;font-size:13px;color:#0f172a}::global(.shell.dark) .input[data-v-aed0b3d2],::global(.shell.dark) .select[data-v-aed0b3d2],::global(.shell.dark) .textarea[data-v-aed0b3d2]{background:#1e293bd9;color:#f8fafce6;border-color:#94a3b838}.textarea[data-v-aed0b3d2]{resize:vertical}.grid2[data-v-aed0b3d2]{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:760px){.grid2[data-v-aed0b3d2]{grid-template-columns:1fr}}.modal-actions[data-v-aed0b3d2]{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.btn.primary[data-v-aed0b3d2]{background:#2563eb;color:#fff;border-color:#2563eba6}::global(.shell.dark) .btn.primary[data-v-aed0b3d2]{background:#2563ebf2;border-color:#2563eba6}.pager[data-v-aed0b3d2]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 14px;background:#f8fafca6}.shell.dark{background:#0f172a59}.reimb-sheet[data-v-aed0b3d2]{width:100%;max-width:100%;margin-top:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(226,232,240,.85);background:#fff;cursor:pointer}.reimb-sheet[data-v-aed0b3d2]:hover{border-color:#2563eb29}.shell.dark{border-color:#94a3b829;background:#0f172a42}.shell.dark{border-color:#38bdf82e}.reimb-sheet-hd[data-v-aed0b3d2]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.reimb-sheet-title[data-v-aed0b3d2]{font-size:12px;font-weight:800;color:#334155;letter-spacing:.2px}.shell.dark{color:#e2e8f0eb}.reimb-sheet-actions[data-v-aed0b3d2]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.reimb-detail-btn[data-v-aed0b3d2]{border:1px solid rgba(37,99,235,.28);background:#2563eb14;color:#1d4ed8;border-radius:10px;padding:4px 10px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.reimb-detail-btn[data-v-aed0b3d2]:hover{border-color:#2563eb6b;background:#2563eb1f}.shell.dark{border-color:#38bdf847;background:#38bdf81a;color:#5eead4}.shell.dark{border-color:#38bdf866;background:#38bdf824}.reimb-table-wrap[data-v-aed0b3d2]{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.reimb-table[data-v-aed0b3d2]{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.25}.reimb-table th[data-v-aed0b3d2],.reimb-table td[data-v-aed0b3d2]{border:1px solid rgba(226,232,240,.85);padding:6px 8px;vertical-align:top;word-break:break-word}.reimb-table thead th[data-v-aed0b3d2]{text-align:left;font-size:11px;font-weight:800;color:#64748b;background:#f8fafcbf}.shell.dark{color:#94a3b8eb;background:#0f172a59}.reimb-table .w-k[data-v-aed0b3d2]{width:92px}.reimb-table .k[data-v-aed0b3d2]{width:92px;font-size:11px;font-weight:800;color:#64748b;background:#f8fafc8c}.shell.dark{color:#94a3b8eb;background:#0f172a4d}.reimb-table .v[data-v-aed0b3d2]{font-weight:600;color:#0f172a;min-width:0}.clip[data-v-aed0b3d2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reimb-sheet .link[data-v-aed0b3d2]{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.reimb-sheet .link[data-v-aed0b3d2]:hover{opacity:.92}.mono[data-v-aed0b3d2]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.page[data-v-1be4e133]{padding:12px 0 28px}.card[data-v-1be4e133]{background:#ffffffeb;border:1px solid rgba(226,232,240,.95);border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:14px}.shell.dark{background:#0f172ab8;border-color:#94a3b829;box-shadow:0 12px 40px #00000059}.empty[data-v-1be4e133]{padding:18px;text-align:center;color:#64748b}.meta[data-v-1be4e133]{display:grid;gap:10px}.k[data-v-1be4e133]{display:inline-block;min-width:72px;color:#64748b;font-size:12px}.shell.dark{color:#94a3b8e6}.v[data-v-1be4e133]{color:#0f172a;font-size:13px}.shell.dark{color:#f8fafceb}.strong[data-v-1be4e133]{font-weight:900}.pre[data-v-1be4e133]{white-space:pre-wrap}.link[data-v-1be4e133]{color:#2563eb;text-decoration:none}.shell.dark{color:#5eead4}.btn[data-v-1be4e133]{border:1px solid rgba(148,163,184,.35);background:#f8fafcf2;color:#0f172a;border-radius:12px;padding:8px 12px;cursor:pointer;font-size:13px}.btn.primary[data-v-1be4e133]{background:#2563eb;border-color:#2563eb;color:#fff}.shell.dark{background:#1e293bd9;color:#f8fafce0;border-color:#94a3b838}.shell.dark{background:#2563eb;border-color:#2563eb;color:#fff}.btn[data-v-1be4e133]:disabled{opacity:.55;cursor:not-allowed}.table-wrap[data-v-1be4e133]{margin-top:14px;overflow:auto;border:1px solid rgba(226,232,240,.95);border-radius:14px}.shell.dark{border-color:#94a3b829}.table[data-v-1be4e133]{width:100%;border-collapse:collapse;font-size:12px}.table th[data-v-1be4e133],.table td[data-v-1be4e133]{padding:10px 12px;border-bottom:1px solid rgba(226,232,240,.9);text-align:left}.shell.dark{border-bottom-color:#94a3b81f}.table thead th[data-v-1be4e133]{background:#f8fafce6;color:#64748b;font-weight:900}.shell.dark{background:#0f172abf;color:#94a3b8e6}.mono[data-v-1be4e133]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.muted[data-v-1be4e133]{color:#64748b}.shell.dark{color:#94a3b8e0}.auth[data-v-0532f1b6]{min-height:100vh;display:flex;align-items:center;justify-content:flex-end;padding:18px 6vw 18px 18px;position:relative;transition:background .35s ease;overflow:hidden}.auth.dark[data-v-0532f1b6]{background:#0c1117}.auth.light[data-v-0532f1b6]{background:#cbd5e1}.bg-video[data-v-0532f1b6]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.bg-dim[data-v-0532f1b6]{position:absolute;inset:0;z-index:1;pointer-events:none}.auth.dark .bg-dim[data-v-0532f1b6]{background:#0c11178c}.auth.light .bg-dim[data-v-0532f1b6]{background:transparent}@media(prefers-reduced-motion:reduce){.bg-video[data-v-0532f1b6]{display:none}}.auth[data-v-0532f1b6]>:not(.bg-video):not(.bg-dim):not(.theme-toggle){position:relative;z-index:2}.theme-toggle[data-v-0532f1b6]{position:fixed;top:16px;right:16px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:14px;border:1px solid transparent;background:transparent;color:inherit;font-size:13px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.auth.dark .theme-toggle[data-v-0532f1b6]{border-color:#ffffff26;color:#ffffffbf}.auth.dark .theme-toggle[data-v-0532f1b6]:hover{background:#ffffff0f;color:#fffffff2}.auth.light .theme-toggle[data-v-0532f1b6]{border-color:#0000001a;color:#475569}.auth.light .theme-toggle[data-v-0532f1b6]:hover{background:#0000000a;color:#0f172a}.theme-icon[data-v-0532f1b6]{font-size:16px}.theme-label[data-v-0532f1b6]{font-weight:600}.shell-card[data-v-0532f1b6]{display:grid;grid-template-columns:minmax(0,200px) minmax(0,300px);gap:8px;align-items:stretch;border-radius:26px;padding:14px 16px;width:min(100%,540px);margin-right:max(0px,2vw);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.auth.dark .shell-card[data-v-0532f1b6],.auth.light .shell-card[data-v-0532f1b6]{background:transparent;border:none;box-shadow:none}.visual[data-v-0532f1b6]{position:relative;display:flex;align-items:center;justify-content:center;padding-right:6px}.lottie-box[data-v-0532f1b6]{width:100%;max-width:200px;aspect-ratio:4 / 3}.visual-shadow[data-v-0532f1b6]{position:absolute;inset:18px auto 0 0;border-radius:24px;pointer-events:none;transition:opacity .35s ease}.auth.dark .visual-shadow[data-v-0532f1b6]{background:radial-gradient(circle at 0 0,rgba(0,212,170,.24),transparent 55%);opacity:.7}.auth.light .visual-shadow[data-v-0532f1b6]{background:radial-gradient(circle at 0 0,rgba(0,212,170,.12),transparent 55%);opacity:.5}.card[data-v-0532f1b6]{width:100%;border-radius:22px;padding:18px;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.auth.dark .card[data-v-0532f1b6]{background:#161b22eb;border:1px solid rgba(255,255,255,.1);box-shadow:0 22px 70px #0000008c}.auth.light .card[data-v-0532f1b6]{background:#e3e8f0cc;border:1px solid rgba(184,195,208,.9);box-shadow:0 6px 26px #0f172a24}.brand[data-v-0532f1b6]{display:flex;align-items:center;gap:10px}.brand-lottie[data-v-0532f1b6]{width:30px;height:30px;flex-shrink:0}.brand-lottie[data-v-0532f1b6] svg{width:100%;height:100%;display:block}.auth.dark .text[data-v-0532f1b6]{color:#ffffffeb}.auth.light .text[data-v-0532f1b6]{color:#0f172a}.text[data-v-0532f1b6]{font-weight:900;letter-spacing:-.02em}.auth.dark .sub[data-v-0532f1b6]{color:#ffffff8c}.auth.light .sub[data-v-0532f1b6]{color:#64748b}.sub[data-v-0532f1b6]{margin-top:8px;font-size:12px}.err[data-v-0532f1b6]{margin-top:12px;padding:10px 12px;border-radius:14px;font-size:13px;border:1px solid rgba(248,81,73,.35);background:#f851491a}.auth.dark .err[data-v-0532f1b6]{color:#ffffffdb}.auth.light .err[data-v-0532f1b6]{color:#b91c1c}.welcome-hint[data-v-0532f1b6]{margin-top:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,212,170,.28);background:#00d4aa1a;font-size:13px;line-height:1.5}.auth.dark .welcome-hint[data-v-0532f1b6]{color:#ffffffe0}.auth.light .welcome-hint[data-v-0532f1b6]{color:#0f766e}.field[data-v-0532f1b6]{margin-top:12px}.auth.dark .label[data-v-0532f1b6]{color:#ffffff8c}.auth.light .label[data-v-0532f1b6]{color:#64748b}.label[data-v-0532f1b6]{font-size:12px;margin-bottom:6px}.input[data-v-0532f1b6]{width:100%;border-radius:16px;padding:10px 12px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s,color .2s}.auth.dark .input[data-v-0532f1b6]{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffeb}.auth.light .input[data-v-0532f1b6]{background:#dde3eb;border:1px solid #b8c3d0;color:#0f172a}.auth.light .input[data-v-0532f1b6]::placeholder{color:#94a3b8}.input[data-v-0532f1b6]:focus{border-color:#00d4aa47;box-shadow:0 0 0 4px #00d4aa1a}.btn[data-v-0532f1b6]{width:100%;margin-top:16px;padding:10px 12px;border-radius:16px;cursor:pointer;font-weight:800;transition:background .2s,border-color .2s,color .2s,opacity .2s}.auth.dark .btn[data-v-0532f1b6]{border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffffe6}.auth.light .btn[data-v-0532f1b6]{border:1px solid #b8c3d0;background:#d1d8e3;color:#334155}.btn.primary[data-v-0532f1b6]{background:#00d4aa1f;border-color:#00d4aa42;color:#00d4aa}.auth.light .btn.primary[data-v-0532f1b6]{background:linear-gradient(135deg,#00d4aa,#00b894);border-color:#00d4aa;color:#fff}.btn.primary[data-v-0532f1b6]:hover:not(:disabled){filter:brightness(1.05)}.btn.ghost[data-v-0532f1b6]{margin-top:10px;background:transparent;font-weight:700}.btn[data-v-0532f1b6]:disabled{opacity:.6;cursor:not-allowed}.activate-tip[data-v-0532f1b6]{margin:12px 0 4px;font-size:13px;line-height:1.55}.auth.dark .activate-tip[data-v-0532f1b6]{color:#ffffffb8}.auth.light .activate-tip[data-v-0532f1b6]{color:#475569}.auth.dark .foot[data-v-0532f1b6]{color:#ffffff8c}.auth.light .foot[data-v-0532f1b6]{color:#64748b}.foot[data-v-0532f1b6]{margin-top:14px;font-size:13px;text-align:center}@media(max-width:860px){.auth[data-v-0532f1b6]{justify-content:center;padding:16px}.shell-card[data-v-0532f1b6]{grid-template-columns:1fr;gap:12px;padding:16px;margin-right:0}.visual[data-v-0532f1b6]{padding-right:0}.lottie-box[data-v-0532f1b6]{max-width:240px;margin:0 auto}}.link[data-v-0532f1b6]{color:#00d4aa;text-decoration:none;font-weight:800}.auth.light .link[data-v-0532f1b6]{color:#059669}.link[data-v-0532f1b6]:hover{text-decoration:underline}.auth[data-v-365703fb]{min-height:100vh;display:flex;align-items:center;justify-content:flex-end;padding:18px 6vw 18px 18px;position:relative;transition:background .35s ease;overflow:hidden}.auth.dark[data-v-365703fb]{background:#0c1117}.auth.light[data-v-365703fb]{background:#cbd5e1}.bg-video[data-v-365703fb]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.bg-dim[data-v-365703fb]{position:absolute;inset:0;z-index:1;pointer-events:none}.auth.dark .bg-dim[data-v-365703fb]{background:#0c11178c}.auth.light .bg-dim[data-v-365703fb]{background:transparent}@media(prefers-reduced-motion:reduce){.bg-video[data-v-365703fb]{display:none}}.auth[data-v-365703fb]>:not(.bg-video):not(.bg-dim):not(.theme-toggle){position:relative;z-index:2}.theme-toggle[data-v-365703fb]{position:fixed;top:16px;right:16px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:14px;border:1px solid transparent;background:transparent;color:inherit;font-size:13px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.auth.dark .theme-toggle[data-v-365703fb]{border-color:#ffffff26;color:#ffffffbf}.auth.dark .theme-toggle[data-v-365703fb]:hover{background:#ffffff0f;color:#fffffff2}.auth.light .theme-toggle[data-v-365703fb]{border-color:#0000001a;color:#475569}.auth.light .theme-toggle[data-v-365703fb]:hover{background:#0000000a;color:#0f172a}.theme-icon[data-v-365703fb]{font-size:16px}.theme-label[data-v-365703fb]{font-weight:600}.shell-card[data-v-365703fb]{display:grid;grid-template-columns:minmax(0,200px) minmax(0,300px);gap:8px;align-items:stretch;border-radius:26px;padding:14px 16px;width:min(100%,540px);margin-right:max(0px,2vw);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.auth.dark .shell-card[data-v-365703fb],.auth.light .shell-card[data-v-365703fb]{background:transparent;border:none;box-shadow:none}.visual[data-v-365703fb]{position:relative;display:flex;align-items:center;justify-content:center;padding-right:6px}.lottie-box[data-v-365703fb]{width:100%;max-width:200px;aspect-ratio:4 / 3}.visual-shadow[data-v-365703fb]{position:absolute;inset:18px auto 0 0;border-radius:24px;pointer-events:none;transition:opacity .35s ease}.auth.dark .visual-shadow[data-v-365703fb]{background:radial-gradient(circle at 0 0,rgba(0,212,170,.24),transparent 55%);opacity:.7}.auth.light .visual-shadow[data-v-365703fb]{background:radial-gradient(circle at 0 0,rgba(0,212,170,.12),transparent 55%);opacity:.5}.card[data-v-365703fb]{width:100%;border-radius:18px;padding:14px 15px;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.auth.dark .card[data-v-365703fb]{background:#161b22eb;border:1px solid rgba(255,255,255,.1);box-shadow:0 22px 70px #0000008c}.auth.light .card[data-v-365703fb]{background:#e3e8f0cc;border:1px solid rgba(184,195,208,.9);box-shadow:0 6px 26px #0f172a24}.brand[data-v-365703fb]{display:flex;align-items:center;gap:8px}.brand-lottie[data-v-365703fb]{width:26px;height:26px;flex-shrink:0}.brand-lottie[data-v-365703fb] svg{width:100%;height:100%;display:block}.auth.dark .text[data-v-365703fb]{color:#ffffffeb}.auth.light .text[data-v-365703fb]{color:#0f172a}.text[data-v-365703fb]{font-weight:900;letter-spacing:-.02em}.auth.dark .sub[data-v-365703fb]{color:#ffffff8c}.auth.light .sub[data-v-365703fb]{color:#64748b}.sub[data-v-365703fb]{margin-top:6px;font-size:11px}.err[data-v-365703fb]{margin-top:12px;padding:10px 12px;border-radius:14px;font-size:13px;border:1px solid rgba(248,81,73,.35);background:#f851491a}.auth.dark .err[data-v-365703fb]{color:#ffffffdb}.auth.light .err[data-v-365703fb]{color:#b91c1c}.field[data-v-365703fb]{margin-top:10px}select.input[data-v-365703fb]{cursor:pointer}.auth.dark .label[data-v-365703fb]{color:#ffffff8c}.auth.light .label[data-v-365703fb]{color:#64748b}.label[data-v-365703fb]{font-size:12px;margin-bottom:6px}.input[data-v-365703fb]{width:100%;border-radius:14px;padding:8px 11px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s,color .2s}.auth.dark .input[data-v-365703fb]{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffeb}.auth.light .input[data-v-365703fb]{background:#dde3eb;border:1px solid #b8c3d0;color:#0f172a}.auth.light .input[data-v-365703fb]::placeholder{color:#94a3b8}.input[data-v-365703fb]:focus{border-color:#00d4aa47;box-shadow:0 0 0 4px #00d4aa1a}.btn[data-v-365703fb]{width:100%;margin-top:12px;padding:9px 11px;border-radius:14px;cursor:pointer;font-weight:800;transition:background .2s,border-color .2s,color .2s,opacity .2s}.auth.dark .btn[data-v-365703fb]{border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffffe6}.auth.light .btn[data-v-365703fb]{border:1px solid #b8c3d0;background:#d1d8e3;color:#334155}.btn.primary[data-v-365703fb]{background:#00d4aa1f;border-color:#00d4aa42;color:#00d4aa}.auth.light .btn.primary[data-v-365703fb]{background:linear-gradient(135deg,#00d4aa,#00b894);border-color:#00d4aa;color:#fff}.btn.primary[data-v-365703fb]:hover:not(:disabled){filter:brightness(1.05)}.btn[data-v-365703fb]:disabled{opacity:.6;cursor:not-allowed}.auth.dark .foot[data-v-365703fb]{color:#ffffff8c}.auth.light .foot[data-v-365703fb]{color:#64748b}.foot[data-v-365703fb]{margin-top:12px;font-size:12px;text-align:center}@media(max-width:860px){.auth[data-v-365703fb]{justify-content:center;padding:16px}.shell-card[data-v-365703fb]{grid-template-columns:1fr;gap:10px;padding:14px;margin-right:0}.visual[data-v-365703fb]{padding-right:0}.lottie-box[data-v-365703fb]{max-width:200px;margin:0 auto}}.link[data-v-365703fb]{color:#00d4aa;text-decoration:none;font-weight:800}.auth.light .link[data-v-365703fb]{color:#059669}.link[data-v-365703fb]:hover{text-decoration:underline}.portal[data-v-424642c5]{min-height:100vh;background:#f0f2f5;color:#1f2329;font-family:PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif}.top[data-v-424642c5]{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#fff;border-bottom:1px solid #E5E6EB;position:sticky;top:0;z-index:10}.brand[data-v-424642c5]{display:flex;align-items:center;gap:10px;min-width:0}.brand-logo[data-v-424642c5]{height:32px;width:auto;max-width:min(280px,52vw);object-fit:contain;display:block}.top-right[data-v-424642c5]{display:flex;align-items:center;gap:14px}.user-meta[data-v-424642c5]{font-size:13px;color:#646a73}.link-btn[data-v-424642c5]{border:none;background:none;color:#276ff5;font-size:13px;cursor:pointer;padding:0}.link-btn[data-v-424642c5]:hover{text-decoration:underline}.main[data-v-424642c5]{max-width:1120px;margin:0 auto;padding:28px 20px 48px}.section-head h1[data-v-424642c5]{margin:0 0 6px;font-size:20px;font-weight:600;color:#1f2329}.section-head p[data-v-424642c5]{margin:0 0 20px;font-size:13px;color:#646a73}.state[data-v-424642c5]{text-align:center;color:#94a3b8;padding:48px}.grid[data-v-424642c5]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(min-width:1100px){.grid[data-v-424642c5]{grid-template-columns:repeat(3,minmax(0,1fr))}}.card[data-v-424642c5]{background:#fff;border:1px solid #E5E6EB;border-radius:10px;box-shadow:0 1px 3px #1f23290f;overflow:hidden;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.card[data-v-424642c5]:hover:not(.locked){border-color:#93c5fd;box-shadow:0 6px 20px #276ff51f;transform:translateY(-1px)}.card.locked[data-v-424642c5]{cursor:not-allowed;opacity:.92}.card-top[data-v-424642c5]{display:flex;gap:14px;padding:18px 18px 16px;align-items:flex-start}.ico[data-v-424642c5]{width:56px;height:56px;border-radius:12px;flex:0 0 56px;color:#fff;font-size:13px;font-weight:800;letter-spacing:.02em;display:flex;align-items:center;justify-content:center}.ico-img[data-v-424642c5]{padding:0;overflow:hidden}.ico-img img[data-v-424642c5]{width:100%;height:100%;object-fit:cover;display:block}.card-body[data-v-424642c5]{min-width:0;flex:1}.card-body h2[data-v-424642c5]{margin:2px 0 6px;font-size:16px;font-weight:650;color:#1f2329;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-badge[data-v-424642c5]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#dc2626;color:#fff;font-size:12px;font-weight:700;line-height:1}.card-body p[data-v-424642c5]{margin:0 0 10px;font-size:13px;color:#646a73;line-height:1.45}.contact[data-v-424642c5]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#8f959e}.person[data-v-424642c5]{font-size:12px;opacity:.8}.lock-bar[data-v-424642c5]{background:#5b6169;color:#fff;font-size:12px;padding:8px 14px;line-height:1.4}@media(max-width:720px){.grid[data-v-424642c5]{grid-template-columns:1fr}}.gpp-jump[data-v-105f0342]{min-height:40vh;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:14px}.sup-login[data-v-f125d140]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a8a,#0f766e);padding:20px}.card[data-v-f125d140]{width:100%;max-width:380px;background:#fff;border-radius:14px;padding:32px 28px;box-shadow:0 20px 50px #00000040}.brand[data-v-f125d140]{font-size:22px;font-weight:700;color:#0f172a}.sub[data-v-f125d140]{color:#64748b;font-size:13px;margin:6px 0 20px}.sub.center[data-v-f125d140]{text-align:center;margin:20px 0}.who-box[data-v-f125d140]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin-bottom:16px;text-align:center}.who-name[data-v-f125d140]{font-size:18px;font-weight:700;color:#0f172a}.who-code[data-v-f125d140]{margin-top:6px;font-size:14px;color:#64748b}.mono[data-v-f125d140]{font-family:ui-monospace,monospace}.st[data-v-f125d140]{display:inline-block;margin-top:10px;font-size:12px;padding:2px 10px;border-radius:999px;font-weight:600}.st-active[data-v-f125d140]{background:#dcfce7;color:#15803d}.st-pending[data-v-f125d140]{background:#fef3c7;color:#92400e}.st-rejected[data-v-f125d140]{background:#fee2e2;color:#b91c1c}.field[data-v-f125d140]{margin-bottom:14px}.field label[data-v-f125d140]{display:block;font-size:13px;color:#475569;margin-bottom:6px}.input[data-v-f125d140]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;background:#fff;color:#0f172a;-webkit-text-fill-color:#0f172a}.input[data-v-f125d140]::placeholder{color:#94a3b8}.input[data-v-f125d140]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;background:#fff}.input[data-v-f125d140]:-webkit-autofill,.input[data-v-f125d140]:-webkit-autofill:hover,.input[data-v-f125d140]:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#0f172a}.btn.primary[data-v-f125d140]{width:100%;margin-top:8px;padding:11px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.btn.primary[data-v-f125d140]:disabled{opacity:.6;cursor:not-allowed}.btn.ghost[data-v-f125d140]{width:100%;margin-top:10px;padding:10px;background:#fff;color:#2563eb;border:1px solid #bfdbfe;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn.ghost[data-v-f125d140]:hover{background:#eff6ff}.btn.ghost.danger[data-v-f125d140]{color:#b91c1c;border-color:#fecaca}.btn.ghost.danger[data-v-f125d140]:hover{background:#fef2f2}.err[data-v-f125d140]{color:#dc2626;font-size:13px;margin-bottom:10px}.tip[data-v-f125d140]{margin-top:16px;color:#94a3b8;font-size:12px;text-align:center}.tip[data-v-f125d140]:last-of-type{margin-top:8px}.back-link[data-v-f125d140]{color:#2563eb;text-decoration:none}.sup-reg[data-v-a107a540]{min-height:100vh;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a8a,#0f766e);padding:16px 20px}.card[data-v-a107a540]{width:100%;max-width:820px;background:#fff;border-radius:14px;padding:22px 28px 20px;box-shadow:0 20px 50px #00000040;box-sizing:border-box}.card-head[data-v-a107a540]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.brand[data-v-a107a540]{font-size:20px;font-weight:700;color:#0f172a}.sub[data-v-a107a540]{color:#64748b;font-size:12px;margin-top:4px;line-height:1.45}.back-link[data-v-a107a540]{flex-shrink:0;color:#2563eb;text-decoration:none;font-size:13px;padding-top:4px}.form-grid[data-v-a107a540]{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.field[data-v-a107a540]{min-width:0}.field-full[data-v-a107a540]{grid-column:1 / -1}.field-area[data-v-a107a540]{grid-column:span 1}.field label[data-v-a107a540]{display:block;font-size:12px;color:#475569;margin-bottom:4px;font-weight:500}.req[data-v-a107a540]{color:#dc2626}.input[data-v-a107a540]{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;background:#fff;color:#0f172a;line-height:1.4}.input[data-v-a107a540]::placeholder{color:#94a3b8}.input.area[data-v-a107a540]{resize:vertical;min-height:52px;max-height:80px}.input[data-v-a107a540]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.err[data-v-a107a540]{margin-top:10px;color:#dc2626;font-size:13px;padding:8px 10px;background:#fef2f2;border-radius:8px}.card-foot[data-v-a107a540]{margin-top:14px;padding-top:12px;border-top:1px solid #f1f5f9}.btn.primary[data-v-a107a540]{width:100%;padding:11px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.btn.primary[data-v-a107a540]:disabled{opacity:.6;cursor:not-allowed}.done[data-v-a107a540]{text-align:center;max-width:440px}.ok-ico[data-v-a107a540]{width:56px;height:56px;line-height:56px;border-radius:50%;background:#dcfce7;color:#16a34a;font-size:30px;margin:0 auto 12px}.code-box[data-v-a107a540]{margin:14px 0;color:#64748b;font-size:13px}.code[data-v-a107a540]{margin-top:6px;font-size:26px;font-weight:800;letter-spacing:2px;color:#0f172a;font-family:ui-monospace,monospace}@media(max-width:640px){.form-grid[data-v-a107a540]{grid-template-columns:1fr}.field-area[data-v-a107a540]{grid-column:1 / -1}.card-head[data-v-a107a540]{flex-direction:column}}.portal[data-v-dd99e651]{min-height:100vh;background:#f1f5f9}.top[data-v-dd99e651]{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#0f172a;color:#fff}.brand[data-v-dd99e651]{font-weight:700;font-size:18px}.who[data-v-dd99e651]{font-size:13px;opacity:.9}.link[data-v-dd99e651]{background:none;border:none;color:#93c5fd;cursor:pointer;margin-left:10px}.body[data-v-dd99e651]{max-width:860px;margin:0 auto;padding:24px 16px}.bar[data-v-dd99e651]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.bar h2[data-v-dd99e651]{font-size:18px;color:#0f172a;margin:0}.cat-tabs[data-v-dd99e651]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.cat-tab[data-v-dd99e651]{padding:6px 14px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;font-size:13px;cursor:pointer;color:#475569}.cat-tab.active[data-v-dd99e651]{background:#2563eb;color:#fff;border-color:#2563eb}.title-wrap[data-v-dd99e651]{display:flex;flex-direction:column;gap:4px}.cat-badge[data-v-dd99e651]{display:inline-block;align-self:flex-start;font-size:11px;padding:2px 8px;border-radius:6px;background:#e0e7ff;color:#3730a3;font-weight:600}.btn[data-v-dd99e651]{padding:9px 16px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;cursor:pointer;font-size:14px}.btn.primary[data-v-dd99e651]{background:#2563eb;color:#fff;border-color:#2563eb}.btn.primary[data-v-dd99e651]:disabled{opacity:.6;cursor:not-allowed}.notice[data-v-dd99e651]{border-radius:10px;padding:12px 14px;font-size:13px;margin-bottom:16px}.notice.pending[data-v-dd99e651]{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.notice.rejected[data-v-dd99e651]{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.empty[data-v-dd99e651]{color:#94a3b8;text-align:center;padding:48px 0}.list[data-v-dd99e651]{display:flex;flex-direction:column;gap:12px}.item[data-v-dd99e651]{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000f}.item-head[data-v-dd99e651]{display:flex;justify-content:space-between;align-items:center}.title[data-v-dd99e651]{font-weight:600;color:#0f172a}.badge[data-v-dd99e651]{font-size:12px;padding:3px 10px;background:#e0e7ff;color:#3730a3;border-radius:999px}.meta[data-v-dd99e651]{display:flex;gap:16px;color:#64748b;font-size:13px;margin-top:6px}.meta .time[data-v-dd99e651]{margin-left:auto}.desc[data-v-dd99e651]{margin-top:8px;color:#334155;font-size:14px;white-space:pre-wrap}.files[data-v-dd99e651]{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.file[data-v-dd99e651]{font-size:13px;color:#2563eb;text-decoration:none;background:#eff6ff;padding:4px 10px;border-radius:6px}.err[data-v-dd99e651]{color:#dc2626;font-size:13px;margin:8px 0}.ok[data-v-dd99e651]{color:#16a34a;font-size:13px;margin:8px 0}.mask[data-v-dd99e651]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal[data-v-dd99e651]{width:100%;max-width:480px;background:#fff;border-radius:14px;overflow:hidden;color-scheme:light}.modal-head[data-v-dd99e651]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.modal-title[data-v-dd99e651]{font-weight:600}.icon[data-v-dd99e651]{background:none;border:none;font-size:22px;cursor:pointer;color:#64748b}.modal-body[data-v-dd99e651]{padding:16px 20px;max-height:60vh;overflow:auto}.modal-foot[data-v-dd99e651]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e2e8f0}.field[data-v-dd99e651]{margin-bottom:14px}.field label[data-v-dd99e651]{display:block;font-size:13px;color:#475569;margin-bottom:6px}.input[data-v-dd99e651],.modal select.input[data-v-dd99e651],.modal textarea.input[data-v-dd99e651]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;background:#fff;color:#0f172a;color-scheme:light;line-height:1.45}.input[data-v-dd99e651]::placeholder{color:#94a3b8}.input[data-v-dd99e651]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.hint[data-v-dd99e651]{font-size:12px;color:#94a3b8;margin-top:6px}.chips[data-v-dd99e651]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip[data-v-dd99e651]{font-size:12px;background:#f1f5f9;padding:4px 10px;border-radius:6px}.chip b[data-v-dd99e651]{cursor:pointer;color:#dc2626;margin-left:4px}.portal-tabs[data-v-dd99e651]{display:flex;gap:8px;margin-bottom:16px}.portal-tab[data-v-dd99e651]{padding:8px 16px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;font-size:14px;cursor:pointer;color:#475569}.portal-tab.active[data-v-dd99e651]{background:#0f172a;color:#fff;border-color:#0f172a}.tender-item[data-v-dd99e651]{cursor:pointer;transition:box-shadow .15s}.tender-item[data-v-dd99e651]:hover{box-shadow:0 4px 12px #00000014}.sub[data-v-dd99e651]{font-size:12px;margin-top:2px}.muted[data-v-dd99e651]{color:#64748b}.quoted[data-v-dd99e651]{color:#16a34a;font-weight:600}.can-quote[data-v-dd99e651]{color:#2563eb;font-weight:600}.phase-pending[data-v-dd99e651]{background:#f1f5f9;color:#475569}.phase-active[data-v-dd99e651]{background:#dcfce7;color:#166534}.phase-ended[data-v-dd99e651],.phase-closed[data-v-dd99e651]{background:#fef3c7;color:#92400e}.modal-wide[data-v-dd99e651]{max-width:640px}.tender-meta[data-v-dd99e651]{font-size:13px;color:#334155;display:grid;gap:6px;margin-bottom:14px}.block[data-v-dd99e651]{margin-bottom:14px}.block-label[data-v-dd99e651]{font-weight:600;font-size:13px;color:#0f172a;margin-bottom:8px}.mini-table[data-v-dd99e651]{width:100%;border-collapse:collapse;font-size:12px}.mini-table th[data-v-dd99e651],.mini-table td[data-v-dd99e651]{border:1px solid #e2e8f0;padding:6px 8px;text-align:left}.mini-table th[data-v-dd99e651]{background:#f8fafc;color:#64748b}.quote-block[data-v-dd99e651]{border-top:1px dashed #e2e8f0;padding-top:12px}
