.app{min-height:100vh;display:flex}.sidebar{width:220px;background:linear-gradient(180deg,#1e293b,#0f172a);color:#cbd5e1;display:flex;flex-direction:column;flex-shrink:0;box-shadow:2px 0 8px #0f172a0f}.logo{padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px;cursor:pointer;color:inherit;text-decoration:none;transition:background var(--t-base)}.logo:hover{background:#ffffff0d}.logo:hover .logo-title{color:var(--c-primary-light)}.logo-icon{width:36px;height:36px;background:var(--gradient-primary);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #6366f166}.logo-icon svg{width:20px;height:20px}.logo-title{color:#fff;font-size:16px;font-weight:700;line-height:1.2;letter-spacing:.5px}.logo-sub{color:#94a3b8;font-size:11px;margin-top:2px}.nav{flex:1;padding:12px 0;overflow-y:auto}.nav-group{margin-bottom:8px}.nav-label{padding:10px 20px 6px;font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 20px;color:#cbd5e1;text-decoration:none;font-size:13.5px;font-weight:500;border-left:3px solid transparent;transition:all var(--t-base)}.nav-item:hover{background:#ffffff0d;color:#fff;text-decoration:none}.nav-item.router-link-exact-active{background:linear-gradient(90deg,rgba(99,102,241,.15) 0%,transparent 100%);color:#fff;border-left-color:var(--c-primary)}.nav-item .ni{font-size:16px;width:20px;text-align:center}.nav-empty{margin:8px 16px 12px;padding:8px 10px;font-size:11.5px;line-height:1.5;color:#94a3b8;background:#ffffff0d;border-radius:var(--r-sm)}.sidebar-foot{padding:10px 0;border-top:1px solid rgba(255,255,255,.08)}.main-wrap{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:60px;flex-shrink:0;background:var(--c-bg-card);border-bottom:1px solid var(--c-border);padding:0 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 2px #0f172a0a;position:relative;z-index:10}.bread{font-size:15px;color:var(--c-text);font-weight:600;display:flex;align-items:center;gap:8px}.bread-prefix{color:var(--c-primary)}.user-info{display:flex;align-items:center;gap:12px}.user-dept-chip{background:var(--gradient-primary-soft);color:var(--c-primary);padding:4px 12px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600}.user-avatar{width:36px;height:36px;background:var(--gradient-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;box-shadow:var(--shadow-primary);overflow:hidden;flex-shrink:0}.user-avatar-img{width:100%;height:100%;object-fit:cover}.user-profile-link{display:flex;align-items:center;gap:10px;text-decoration:none;padding:4px 8px 4px 4px;border-radius:var(--r-pill);transition:background var(--t-fast)}.user-profile-link:hover{background:var(--c-bg-soft)}.user-meta{line-height:1.2}.user-name{font-weight:600;color:var(--c-text);font-size:13px}.user-no{color:var(--c-text-muted);font-size:11px;margin-top:2px}.logout{margin-left:8px;background:var(--c-bg-soft);border:1px solid var(--c-border);color:var(--c-text-secondary);width:32px;height:32px;border-radius:var(--r-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t-base)}.logout:hover{background:var(--c-warn-soft);color:var(--c-warn);border-color:var(--c-warn);transform:translateY(-1px)}.theme-toggle{background:var(--c-bg-soft);border:1px solid var(--c-border);color:var(--c-text-secondary);width:32px;height:32px;border-radius:var(--r-md);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all var(--t-base)}.theme-toggle:hover{background:var(--gradient-primary-soft);border-color:var(--c-primary-light);transform:translateY(-1px)}.main{flex:1;padding:24px 28px;background:var(--c-bg)}.footer{flex-shrink:0;text-align:center;padding:12px;color:var(--c-text-muted);font-size:var(--fs-xs);background:var(--c-bg-card);border-top:1px solid var(--c-border)}.hero[data-v-56ed9cad]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:28px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-56ed9cad]:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero[data-v-56ed9cad]:after{content:"";position:absolute;bottom:-50%;left:-10%;width:200px;height:200px;background:#ffffff14;border-radius:50%;filter:blur(30px)}.hero-inner[data-v-56ed9cad]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-56ed9cad]{flex:1}.hero-num[data-v-56ed9cad]{font-size:40px;font-weight:700;line-height:1.1;letter-spacing:-1px;text-shadow:0 2px 8px rgba(0,0,0,.1)}.hero-label[data-v-56ed9cad]{font-size:13px;opacity:.9;margin-top:4px;font-weight:500}.hero-divider[data-v-56ed9cad]{width:1px;height:48px;background:#ffffff40}.hero-foot[data-v-56ed9cad]{margin-top:16px;font-size:12px;opacity:.85;display:flex;gap:8px;align-items:center;position:relative;z-index:1}.hero-foot b[data-v-56ed9cad]{font-weight:600}.metrics[data-v-56ed9cad]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.metric-card[data-v-56ed9cad]{background:var(--c-bg-card);border-radius:var(--r-lg);padding:20px 24px;box-shadow:var(--shadow-md);border:1px solid var(--c-border-light);transition:all var(--t-base);position:relative;overflow:hidden}.metric-card[data-v-56ed9cad]:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.metric-card[data-v-56ed9cad]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.m-revenue[data-v-56ed9cad]:before{background:var(--c-revenue)}.m-income[data-v-56ed9cad]:before{background:var(--c-income)}.m-accent[data-v-56ed9cad]:before{background:var(--gradient-accent)}.metric-head[data-v-56ed9cad]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.metric-icon[data-v-56ed9cad]{font-size:18px}.metric-title[data-v-56ed9cad]{font-size:13px;color:var(--c-text-secondary);font-weight:500}.metric-foot[data-v-56ed9cad]{font-size:11px;color:var(--c-text-muted);margin-top:6px}.quick-grid[data-v-56ed9cad]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.quick-card[data-v-56ed9cad]{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--c-bg-soft);border-radius:var(--r-lg);text-decoration:none;color:inherit;transition:all var(--t-base);border:1px solid transparent}.quick-card[data-v-56ed9cad]:hover{transform:translateY(-2px);border-color:var(--c-primary-light);background:var(--c-bg-card);box-shadow:var(--shadow-md);text-decoration:none}.qc-icon[data-v-56ed9cad]{font-size:24px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--c-bg-card);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.qc-primary .qc-icon[data-v-56ed9cad]{color:var(--c-primary)}.qc-accent .qc-icon[data-v-56ed9cad]{color:var(--c-accent)}.qc-info .qc-icon[data-v-56ed9cad]{color:var(--c-info)}.qc-warn .qc-icon[data-v-56ed9cad]{color:var(--c-warn)}.qc-title[data-v-56ed9cad]{font-weight:600;color:var(--c-text);font-size:14px}.qc-desc[data-v-56ed9cad]{font-size:12px;color:var(--c-text-muted);margin-top:2px}.stage-grid[data-v-56ed9cad]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}.stage-card[data-v-56ed9cad]{padding:18px 12px;border-radius:var(--r-lg);text-align:center;position:relative;transition:all var(--t-base);cursor:default;background:var(--c-bg-soft)}.stage-card[data-v-56ed9cad]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stage-icon[data-v-56ed9cad]{font-size:22px;margin-bottom:4px}.stage-label[data-v-56ed9cad]{font-size:12px;font-weight:500}.stage-count[data-v-56ed9cad]{font-size:28px;font-weight:700;margin-top:6px;line-height:1.1}.stage-lead[data-v-56ed9cad]{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4338ca}.stage-tracking[data-v-56ed9cad]{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#b45309}.stage-quoted[data-v-56ed9cad]{background:linear-gradient(135deg,#faf5ff,#f3e8ff);color:#7e22ce}.stage-won[data-v-56ed9cad]{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.stage-lost[data-v-56ed9cad]{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#b91c1c}.stage-cancelled[data-v-56ed9cad]{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569}.two-col[data-v-56ed9cad]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.proj-row[data-v-56ed9cad]{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);text-decoration:none;color:inherit;transition:all var(--t-base);border:1px solid transparent}.proj-row[data-v-56ed9cad]:hover{background:var(--c-bg-soft);border-color:var(--c-primary-light);text-decoration:none}.proj-row-main[data-v-56ed9cad]{flex:1;min-width:0}.proj-row-name[data-v-56ed9cad]{font-size:13px;font-weight:600;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-row-meta[data-v-56ed9cad]{font-size:11px;color:var(--c-text-muted);margin-top:2px}.status-dot[data-v-56ed9cad]{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-draft[data-v-56ed9cad]{background:#94a3b8}.dot-pending[data-v-56ed9cad]{background:#f59e0b}.dot-approved[data-v-56ed9cad]{background:#10b981}.dot-rejected[data-v-56ed9cad]{background:#ef4444}.dot-in_progress[data-v-56ed9cad]{background:#6366f1}.dot-completed[data-v-56ed9cad]{background:#14b8a6}.dot-settled[data-v-56ed9cad]{background:#8b5cf6}.tag[data-v-56ed9cad]{font-size:11px;padding:3px 8px;border-radius:var(--r-pill);font-weight:500;white-space:nowrap}.st-draft[data-v-56ed9cad]{background:#f1f5f9;color:#475569}.st-pending[data-v-56ed9cad]{background:#fef3c7;color:#b45309}.st-approved[data-v-56ed9cad]{background:#d1fae5;color:#047857}.st-rejected[data-v-56ed9cad]{background:#fee2e2;color:#b91c1c}.st-in_progress[data-v-56ed9cad]{background:#e0e7ff;color:#4338ca}.st-completed[data-v-56ed9cad]{background:#ccfbf1;color:#0f766e}.st-settled[data-v-56ed9cad]{background:#ede9fe;color:#6d28d9}.reso-row[data-v-56ed9cad]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--r-md);border-left:3px solid var(--c-info);background:var(--c-bg-soft);margin-bottom:8px}.reso-row.overdue[data-v-56ed9cad]{border-left-color:var(--c-warn);background:#fef3c7}.reso-row-main[data-v-56ed9cad]{flex:1}.reso-row-content[data-v-56ed9cad]{font-size:13px;color:var(--c-text);line-height:1.4}.reso-row-meta[data-v-56ed9cad]{font-size:11px;color:var(--c-text-muted);margin-top:4px}.overdue-tag[data-v-56ed9cad]{display:inline-block;margin-left:6px;background:var(--c-warn);color:#fff;font-size:10px;padding:1px 6px;border-radius:var(--r-pill);font-weight:600}.msg[data-v-56ed9cad]{margin-top:12px;font-size:13px}.msg.err[data-v-56ed9cad]{color:var(--c-warn)}.card-title-row[data-v-56ed9cad]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-link[data-v-56ed9cad]{font-size:12px;color:var(--c-primary);text-decoration:none;font-weight:500}.card-link[data-v-56ed9cad]:hover{text-decoration:underline}@media (max-width: 1024px){.metrics[data-v-56ed9cad]{grid-template-columns:1fr}.stage-grid[data-v-56ed9cad]{grid-template-columns:repeat(2,1fr)}.hero-inner[data-v-56ed9cad]{flex-wrap:wrap}.hero-divider[data-v-56ed9cad]{display:none}.two-col[data-v-56ed9cad]{grid-template-columns:1fr}}.login-page[data-v-fb64d62a]{min-height:100vh;display:flex;background:var(--c-bg)}.brand-side[data-v-fb64d62a]{flex:1;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.brand-side[data-v-fb64d62a]:before{content:"";position:absolute;top:-30%;right:-20%;width:600px;height:600px;background:#ffffff14;border-radius:50%;filter:blur(60px)}.brand-side[data-v-fb64d62a]:after{content:"";position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:#ffffff0f;border-radius:50%;filter:blur(50px)}.brand-content[data-v-fb64d62a]{position:relative;z-index:1;max-width:400px;padding:40px}.brand-icon[data-v-fb64d62a]{width:64px;height:64px;background:#ffffff26;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 8px 24px #00000026}.brand-icon svg[data-v-fb64d62a]{width:32px;height:32px}.brand-title[data-v-fb64d62a]{font-size:48px;font-weight:800;margin-bottom:8px;letter-spacing:2px}.brand-sub[data-v-fb64d62a]{font-size:16px;opacity:.9;margin-bottom:40px}.brand-features[data-v-fb64d62a]{display:flex;flex-direction:column;gap:12px;margin-bottom:60px}.feature[data-v-fb64d62a]{display:flex;align-items:center;gap:12px;font-size:14px;background:#ffffff1a;padding:10px 16px;border-radius:var(--r-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-icon[data-v-fb64d62a]{font-size:18px}.brand-foot[data-v-fb64d62a]{position:absolute;bottom:24px;left:40px;font-size:12px;opacity:.7}.form-side[data-v-fb64d62a]{width:480px;display:flex;align-items:center;justify-content:center;padding:40px}.login-card[data-v-fb64d62a]{width:100%;max-width:380px}.card-head[data-v-fb64d62a]{margin-bottom:32px}.card-head h2[data-v-fb64d62a]{font-size:26px;color:var(--c-text);margin-bottom:4px}.card-head p[data-v-fb64d62a]{color:var(--c-text-secondary);font-size:14px}.form[data-v-fb64d62a]{display:flex;flex-direction:column;gap:18px}.form-row label[data-v-fb64d62a]{display:block;margin-bottom:8px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.input-wrap[data-v-fb64d62a]{position:relative;display:flex;align-items:center}.input-icon[data-v-fb64d62a]{position:absolute;left:14px;font-size:16px;opacity:.6;z-index:1}.input-wrap input[data-v-fb64d62a]{width:100%;padding:12px 14px 12px 42px;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:14px;background:var(--c-bg-card);transition:all var(--t-base)}.input-wrap input[data-v-fb64d62a]:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #6366f11a}.btn-block[data-v-fb64d62a]{width:100%;padding:12px;font-size:15px;font-weight:600;margin-top:8px}.err[data-v-fb64d62a]{color:var(--c-warn);font-size:13px;margin-top:4px}@media (max-width: 768px){.brand-side[data-v-fb64d62a]{display:none}.form-side[data-v-fb64d62a]{width:100%}}.ssel[data-v-0c5f710b]{position:relative}.ssel-input[data-v-0c5f710b]{padding-right:26px;cursor:pointer}.ssel-input[data-v-0c5f710b]:focus{cursor:text}.ssel-caret[data-v-0c5f710b]{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--c-text-muted);pointer-events:none}.ssel-panel[data-v-0c5f710b]{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow-y:auto;background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:0 8px 24px #0f172a1f;padding:4px}.ssel-panel.up[data-v-0c5f710b]{top:auto;bottom:calc(100% + 4px)}.ssel-opt[data-v-0c5f710b]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:var(--fs-base);color:var(--c-text);cursor:pointer;white-space:nowrap}.ssel-opt.active[data-v-0c5f710b]{background:var(--c-bg-hover)}.ssel-opt.selected .ssel-label[data-v-0c5f710b]{font-weight:600;color:var(--c-primary)}.ssel-opt.selected .ssel-label[data-v-0c5f710b]:after{content:" ✓"}.ssel-label[data-v-0c5f710b]{overflow:hidden;text-overflow:ellipsis}.ssel-sub[data-v-0c5f710b],.ssel-py[data-v-0c5f710b]{margin-left:auto;font-size:12px;color:var(--c-text-muted);flex-shrink:0}.ssel-py[data-v-0c5f710b]{font-size:11px;opacity:.8;text-transform:uppercase}.ssel-clear .ssel-label[data-v-0c5f710b]{color:var(--c-text-muted)}.ssel-empty[data-v-0c5f710b]{padding:12px 10px;text-align:center;font-size:12px;color:var(--c-text-muted)}.iah-hint[data-v-5b11eca1]{margin-top:5px;font-size:12px;color:var(--c-text-muted);line-height:1.6}.iah-muted[data-v-5b11eca1]{color:var(--c-text-muted);opacity:.85}.iah-link[data-v-5b11eca1]{cursor:pointer;font-weight:600;color:var(--c-primary);text-decoration:none;margin-left:2px}.iah-link[data-v-5b11eca1]:hover{text-decoration:underline}.ci-mask[data-v-502cdd56]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.ci-dialog[data-v-502cdd56]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:420px;max-width:calc(100vw - 32px);box-shadow:0 20px 60px #0000004d}.ci-head[data-v-502cdd56]{padding:18px 22px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.ci-head h3[data-v-502cdd56]{color:var(--c-text);font-size:16px}.ci-x[data-v-502cdd56]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.ci-x[data-v-502cdd56]:hover{background:var(--c-bg-soft);color:var(--c-text)}.ci-body[data-v-502cdd56]{padding:18px 22px 22px}.ci-row[data-v-502cdd56]{margin-bottom:14px}.ci-row label[data-v-502cdd56]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.ci-row input[data-v-502cdd56]{width:100%}.ci-hint[data-v-502cdd56]{margin-top:5px;font-size:11px;color:var(--c-text-muted);line-height:1.5}.ci-err[data-v-502cdd56]{color:var(--c-warn);font-size:13px;margin-top:4px}.ci-actions[data-v-502cdd56]{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.cf-mask[data-v-8bf8eb65]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.cf-dialog[data-v-8bf8eb65]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:620px;max-width:calc(100vw - 32px);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.cf-head[data-v-8bf8eb65]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.cf-head h3[data-v-8bf8eb65]{color:var(--c-text);font-size:16px}.cf-x[data-v-8bf8eb65]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.cf-x[data-v-8bf8eb65]:hover{background:var(--c-bg-soft);color:var(--c-text)}.cf-body[data-v-8bf8eb65]{padding:20px 24px 24px}.cf-grid-2[data-v-8bf8eb65]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cf-row[data-v-8bf8eb65]{margin-bottom:14px}.cf-row label[data-v-8bf8eb65]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.cf-hint[data-v-8bf8eb65]{margin-top:5px;font-size:11px;color:var(--c-text-muted);line-height:1.5}.cf-row input[data-v-8bf8eb65],.cf-row select[data-v-8bf8eb65],.cf-row textarea[data-v-8bf8eb65]{width:100%}.ct-list[data-v-8bf8eb65]{display:flex;flex-direction:column;gap:8px}.ct-card[data-v-8bf8eb65]{border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-bg-soft);padding:8px 10px}.ct-head[data-v-8bf8eb65]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ct-no[data-v-8bf8eb65]{width:18px;height:18px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--c-primary);color:#fff;font-size:11px;font-weight:600}.ct-primary[data-v-8bf8eb65]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--c-text-muted);cursor:pointer;padding:2px 8px;border:1px solid var(--c-border);border-radius:var(--r-pill)}.ct-primary.on[data-v-8bf8eb65]{color:var(--c-primary);border-color:var(--c-primary-light);background:#6366f114;font-weight:600}.ct-primary input[data-v-8bf8eb65]{width:auto;margin:0}.ct-del[data-v-8bf8eb65]{margin-left:auto;background:none;border:none;color:var(--c-text-muted);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:var(--r-sm)}.ct-del[data-v-8bf8eb65]:hover{background:#fee2e2;color:var(--c-warn)}.ct-grid[data-v-8bf8eb65]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.ct-grid input[data-v-8bf8eb65]{padding:5px 9px;font-size:13px}.ct-grid input.bad[data-v-8bf8eb65]{border-color:#ef4444;background:#fef2f2}.ct-remark[data-v-8bf8eb65]{padding:5px 9px;font-size:13px}.ct-err[data-v-8bf8eb65]{margin-top:5px;font-size:12px;color:var(--c-warn)}.ct-empty[data-v-8bf8eb65]{padding:10px;text-align:center;font-size:12px;color:var(--c-text-muted);border:1px dashed var(--c-border);border-radius:var(--r-md)}.ct-add[data-v-8bf8eb65]{margin-top:8px;width:100%}.cf-err[data-v-8bf8eb65]{color:var(--c-warn);font-size:13px;margin-top:4px}.cf-actions[data-v-8bf8eb65]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.cc-mask[data-v-1c9e5cc3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.cc-dialog[data-v-1c9e5cc3]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:560px;max-width:calc(100vw - 32px);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.cc-head[data-v-1c9e5cc3]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:flex-start}.cc-head h3[data-v-1c9e5cc3]{color:var(--c-text);font-size:16px}.cc-sub[data-v-1c9e5cc3]{margin-top:4px;font-size:12px;color:var(--c-text-muted)}.cc-x[data-v-1c9e5cc3]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.cc-x[data-v-1c9e5cc3]:hover{background:var(--c-bg-soft);color:var(--c-text)}.cc-body[data-v-1c9e5cc3]{padding:16px 24px;overflow-y:auto;flex:1}.cc-list[data-v-1c9e5cc3]{display:flex;flex-direction:column;gap:10px}.cc-item[data-v-1c9e5cc3]{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--c-border-light);border-radius:var(--r-lg);background:var(--c-bg-soft)}.cc-item.primary[data-v-1c9e5cc3]{border-color:var(--c-primary-light);background:#6366f10f}.cc-avatar[data-v-1c9e5cc3]{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient-primary);color:#fff;font-weight:600;font-size:15px}.cc-main[data-v-1c9e5cc3]{flex:1;min-width:0}.cc-line[data-v-1c9e5cc3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-name[data-v-1c9e5cc3]{font-size:14px;color:var(--c-text)}.cc-title[data-v-1c9e5cc3]{font-size:12px;color:var(--c-text-secondary)}.cc-dept[data-v-1c9e5cc3]{font-size:11px;color:var(--c-text-secondary);background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-pill);padding:1px 8px}.cc-badge[data-v-1c9e5cc3]{font-size:11px;color:var(--c-primary);background:#6366f11f;border-radius:var(--r-pill);padding:1px 8px}.cc-meta[data-v-1c9e5cc3]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:5px}.cc-link[data-v-1c9e5cc3]{font-size:12px;color:var(--c-primary);text-decoration:none}.cc-link[data-v-1c9e5cc3]:hover{text-decoration:underline}.cc-muted[data-v-1c9e5cc3]{font-size:12px;color:var(--c-text-muted)}.cc-remark[data-v-1c9e5cc3]{margin-top:5px;font-size:12px;color:var(--c-text-secondary);line-height:1.5}.cc-empty[data-v-1c9e5cc3]{padding:36px 0;text-align:center;color:var(--c-text-muted)}.cc-empty span[data-v-1c9e5cc3]{font-size:32px;display:block;margin-bottom:8px}.cc-actions[data-v-1c9e5cc3]{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--c-border-light)}.md-mask[data-v-e9ea8eaa]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--s-6);z-index:2100}.md-dialog[data-v-e9ea8eaa]{position:relative;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:var(--s-6) var(--s-6) var(--s-5);background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);box-shadow:0 24px 60px #0000004d}.md-dialog.t-info[data-v-e9ea8eaa]{--tone: var(--c-primary);--tone-soft: #eef2ff}.md-dialog.t-success[data-v-e9ea8eaa]{--tone: var(--c-income);--tone-soft: var(--c-income-soft)}.md-dialog.t-warning[data-v-e9ea8eaa]{--tone: var(--c-accent);--tone-soft: var(--c-accent-light)}.md-dialog.t-error[data-v-e9ea8eaa]{--tone: var(--c-warn);--tone-soft: var(--c-warn-soft)}.md-head[data-v-e9ea8eaa]{display:flex;align-items:flex-start;gap:var(--s-3)}.md-icon[data-v-e9ea8eaa]{flex:none;width:44px;height:44px;border-radius:50%;background:var(--tone-soft);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}.md-text[data-v-e9ea8eaa]{flex:1;min-width:0;padding-right:20px}.md-title[data-v-e9ea8eaa]{font-size:var(--fs-lg);font-weight:600;line-height:1.3;margin-bottom:6px}.md-msg[data-v-e9ea8eaa]{font-size:var(--fs-base);color:var(--c-text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.md-x[data-v-e9ea8eaa]{position:absolute;top:14px;right:14px;width:28px;height:28px;border:none;border-radius:var(--r-sm);background:none;color:var(--c-text-muted);font-size:15px;line-height:1;cursor:pointer;transition:all var(--t-base)}.md-x[data-v-e9ea8eaa]:hover{background:var(--c-bg-soft);color:var(--c-text)}.md-detail[data-v-e9ea8eaa]{margin-top:var(--s-4);padding:12px 14px;border:1px solid var(--c-border-light);border-left:3px solid var(--tone);border-radius:var(--r-md);background:var(--c-bg-soft);font-size:13px;line-height:1.7;color:var(--c-text-secondary);white-space:pre-wrap;word-break:break-word}.md-actions[data-v-e9ea8eaa]{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}.md-ok[data-v-e9ea8eaa]{min-width:92px}.md-progress[data-v-e9ea8eaa]{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--c-border-light);overflow:hidden}.md-progress>span[data-v-e9ea8eaa]{display:block;height:100%;width:100%;background:var(--tone);transform-origin:left center;animation-name:md-countdown-e9ea8eaa;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes md-countdown-e9ea8eaa{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.md-enter-active[data-v-e9ea8eaa],.md-leave-active[data-v-e9ea8eaa]{transition:opacity var(--t-base)}.md-enter-from[data-v-e9ea8eaa],.md-leave-to[data-v-e9ea8eaa]{opacity:0}.md-enter-active .md-dialog[data-v-e9ea8eaa]{transition:transform var(--t-base)}.md-enter-from .md-dialog[data-v-e9ea8eaa]{transform:translateY(8px) scale(.96)}@media (max-width: 480px){.md-dialog[data-v-e9ea8eaa]{max-width:none}.md-actions .btn[data-v-e9ea8eaa]{flex:1}}.cd-mask[data-v-fcd5c96e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--s-6);z-index:2200}.cd-dialog[data-v-fcd5c96e]{position:relative;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;padding:var(--s-6) var(--s-6) var(--s-5);background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);box-shadow:0 24px 60px #0000004d}.cd-dialog.t-danger[data-v-fcd5c96e]{--tone: var(--c-warn);--tone-soft: var(--c-warn-soft)}.cd-dialog.t-warning[data-v-fcd5c96e]{--tone: var(--c-accent);--tone-soft: var(--c-accent-light)}.cd-dialog.t-info[data-v-fcd5c96e]{--tone: var(--c-primary);--tone-soft: #eef2ff}.cd-head[data-v-fcd5c96e]{display:flex;align-items:flex-start;gap:var(--s-3)}.cd-icon[data-v-fcd5c96e]{flex:none;width:44px;height:44px;border-radius:50%;background:var(--tone-soft);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}.cd-text[data-v-fcd5c96e]{flex:1;min-width:0;padding-right:20px}.cd-title[data-v-fcd5c96e]{font-size:var(--fs-lg);font-weight:600;line-height:1.3;margin-bottom:6px}.cd-msg[data-v-fcd5c96e]{font-size:var(--fs-base);color:var(--c-text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.cd-x[data-v-fcd5c96e]{position:absolute;top:14px;right:14px;width:28px;height:28px;border:none;border-radius:var(--r-sm);background:none;color:var(--c-text-muted);font-size:15px;line-height:1;cursor:pointer;transition:all var(--t-base)}.cd-x[data-v-fcd5c96e]:hover{background:var(--c-bg-soft);color:var(--c-text)}.cd-detail[data-v-fcd5c96e]{margin-top:var(--s-4);padding:12px 14px;border:1px solid var(--c-border-light);border-left:3px solid var(--tone);border-radius:var(--r-md);background:var(--c-bg-soft);font-size:13px;line-height:1.7;color:var(--c-text-secondary);white-space:pre-wrap;word-break:break-word}.cd-reason[data-v-fcd5c96e]{margin-top:var(--s-4)}.cd-reason>label[data-v-fcd5c96e]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--c-text-secondary)}.cd-required[data-v-fcd5c96e]{color:var(--c-warn)}.cd-reason>textarea[data-v-fcd5c96e]{resize:vertical;min-height:76px;line-height:1.6}.cd-reason-tip[data-v-fcd5c96e]{margin-top:4px;font-size:var(--fs-xs);color:var(--c-text-muted)}.cd-check[data-v-fcd5c96e]{display:flex;align-items:flex-start;gap:10px;margin-top:var(--s-4);padding:11px 12px;border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-bg-soft);font-size:13px;line-height:1.6;color:var(--c-text-secondary);cursor:pointer;transition:border-color var(--t-base),background var(--t-base)}.cd-check[data-v-fcd5c96e]:hover{border-color:var(--c-primary-light)}.cd-check input[type=checkbox][data-v-fcd5c96e]{flex:none;width:16px;height:16px;min-width:16px;margin:3px 0 0;padding:0;border-radius:3px;accent-color:var(--c-primary);cursor:pointer}.cd-check>span[data-v-fcd5c96e]{flex:1;min-width:0;word-break:break-word}.cd-actions[data-v-fcd5c96e]{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}.cd-actions .btn[data-v-fcd5c96e]{min-width:92px}.cd-spin[data-v-fcd5c96e]{width:13px;height:13px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:cd-spin-fcd5c96e .7s linear infinite}@keyframes cd-spin-fcd5c96e{to{transform:rotate(360deg)}}.cd-enter-active[data-v-fcd5c96e],.cd-leave-active[data-v-fcd5c96e]{transition:opacity var(--t-base)}.cd-enter-from[data-v-fcd5c96e],.cd-leave-to[data-v-fcd5c96e]{opacity:0}.cd-enter-active .cd-dialog[data-v-fcd5c96e]{transition:transform var(--t-base)}.cd-enter-from .cd-dialog[data-v-fcd5c96e]{transform:translateY(8px) scale(.96)}@media (max-width: 480px){.cd-dialog[data-v-fcd5c96e]{max-width:none}.cd-actions .btn[data-v-fcd5c96e]{flex:1}}.hero[data-v-1a5708e4]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-1a5708e4]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-1a5708e4]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-1a5708e4]{flex:1}.hero-num[data-v-1a5708e4]{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-label[data-v-1a5708e4]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-1a5708e4]{width:1px;height:48px;background:#ffffff40}.toolbar[data-v-1a5708e4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-1a5708e4]{margin-bottom:4px}.search[data-v-1a5708e4]{width:220px}.filter-select[data-v-1a5708e4]{width:140px}.customer-list[data-v-1a5708e4]{display:flex;flex-direction:column;gap:12px}.customer-card[data-v-1a5708e4]{background:var(--c-bg-card);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-md);border:1px solid var(--c-border-light);cursor:pointer;transition:all var(--t-base)}.customer-card[data-v-1a5708e4]:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--c-primary-light)}.cust-head[data-v-1a5708e4]{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.cust-icon[data-v-1a5708e4]{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.cust-icon-government[data-v-1a5708e4]{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.cust-icon-construction[data-v-1a5708e4]{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.cust-icon-municipal[data-v-1a5708e4]{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.cust-icon-real_estate[data-v-1a5708e4]{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.cust-icon-infrastructure[data-v-1a5708e4]{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.cust-icon-manufacturing[data-v-1a5708e4]{background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.cust-icon-tech[data-v-1a5708e4]{background:linear-gradient(135deg,#ecfeff,#cffafe)}.cust-icon-other[data-v-1a5708e4]{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.cust-title-wrap[data-v-1a5708e4]{flex:1;min-width:0}.cust-title[data-v-1a5708e4]{font-weight:600;color:var(--c-text);font-size:15px;margin-bottom:4px}.cust-sub[data-v-1a5708e4]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cust-contact[data-v-1a5708e4]{font-size:12px;color:var(--c-text-secondary)}.ind-construction[data-v-1a5708e4]{background:#fef3c7;color:#b45309}.ind-municipal[data-v-1a5708e4]{background:#d1fae5;color:#047857}.ind-real_estate[data-v-1a5708e4]{background:#fee2e2;color:#b91c1c}.ind-infrastructure[data-v-1a5708e4]{background:#e0f2fe;color:#0e7490}.ind-government[data-v-1a5708e4]{background:#e0e7ff;color:#4338ca}.ind-manufacturing[data-v-1a5708e4]{background:#f3e8ff;color:#7e22ce}.ind-tech[data-v-1a5708e4]{background:#cffafe;color:#155e75}.ind-other[data-v-1a5708e4]{background:#f1f5f9;color:#475569}.cust-address[data-v-1a5708e4]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--c-text-secondary);background:var(--c-bg-soft);padding:6px 10px;border-radius:var(--r-sm);margin-bottom:12px}.cust-addr-text[data-v-1a5708e4]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cust-phone[data-v-1a5708e4]{flex:none;color:var(--c-text);font-weight:500}.cust-metrics[data-v-1a5708e4]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 0;border-top:1px dashed var(--c-border);border-bottom:1px dashed var(--c-border);margin-bottom:12px}.cust-metric[data-v-1a5708e4]{text-align:center}.cust-metric-num[data-v-1a5708e4]{font-size:18px;font-weight:700;color:var(--c-text);line-height:1.2}.cust-metric-num.text-primary[data-v-1a5708e4]{color:var(--c-primary)}.cust-metric-num.text-revenue[data-v-1a5708e4]{color:var(--c-revenue)}.cust-metric-label[data-v-1a5708e4]{font-size:11px;color:var(--c-text-muted);margin-top:4px}.cust-foot[data-v-1a5708e4]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--c-text-muted)}.cust-actions[data-v-1a5708e4]{display:flex;gap:4px}.btn-link[data-v-1a5708e4]{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-1a5708e4]:hover{text-decoration:underline}.btn-link.danger[data-v-1a5708e4]{color:var(--c-warn)}.loading-row[data-v-1a5708e4],.load-more-row[data-v-1a5708e4],.loaded-all-row[data-v-1a5708e4]{text-align:center;font-size:13px;color:var(--c-text-muted);padding:16px 0}.load-more-btn[data-v-1a5708e4]{font-size:13px}.empty-card[data-v-1a5708e4]{background:var(--c-bg-soft);border:2px dashed var(--c-border);border-radius:var(--r-lg);padding:48px;text-align:center;color:var(--c-text-muted)}.empty-card span[data-v-1a5708e4]{font-size:36px;display:block;margin-bottom:8px}.empty-card p[data-v-1a5708e4]{margin-bottom:16px}.cl-box[data-v-0cf7635b]{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-card);overflow:hidden}.cl-box.disabled[data-v-0cf7635b]{opacity:.6}.cl-chips[data-v-0cf7635b]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0}.cl-chip[data-v-0cf7635b]{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:12px;color:var(--c-primary);background:var(--gradient-primary-soft);border:1px solid var(--c-primary-light);border-radius:var(--r-pill)}.cl-x[data-v-0cf7635b]{border:none;background:none;padding:2px 4px;font-size:11px;line-height:1;color:var(--c-primary);cursor:pointer;border-radius:var(--r-pill)}.cl-x[data-v-0cf7635b]:hover{background:#00000012}.cl-search[data-v-0cf7635b]{border:none;border-bottom:1px solid var(--c-border-light);border-radius:0;padding:8px 10px;font-size:13px}.cl-search[data-v-0cf7635b]:focus{border-color:var(--c-primary);box-shadow:none}.cl-list[data-v-0cf7635b]{max-height:170px;overflow-y:auto;padding:4px}.cl-item[data-v-0cf7635b]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:var(--c-text-secondary);cursor:pointer}.cl-item[data-v-0cf7635b]:hover{background:var(--c-bg-hover)}.cl-item.on[data-v-0cf7635b]{background:var(--gradient-primary-soft);color:var(--c-primary);font-weight:500}.cl-item input[data-v-0cf7635b]{width:auto;flex:none}.cl-name[data-v-0cf7635b]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-sub[data-v-0cf7635b]{font-size:12px;color:var(--c-text-muted)}.cl-item.on .cl-sub[data-v-0cf7635b]{color:var(--c-primary)}.cl-empty[data-v-0cf7635b]{padding:10px;text-align:center;font-size:12px;color:var(--c-text-muted)}.cl-duty-box[data-v-0cf7635b]{margin-top:8px;padding:8px 10px;border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-bg-soft)}.cl-duty-head[data-v-0cf7635b]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:4px}.cl-duty-head b[data-v-0cf7635b]{font-size:12.5px;color:var(--c-text-secondary)}.cl-duty-sub[data-v-0cf7635b]{font-size:11px;color:var(--c-text-muted)}.cl-duty-row[data-v-0cf7635b]{display:flex;align-items:center;gap:8px;padding:3px 0}.cl-duty-name[data-v-0cf7635b]{flex:none;width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--c-text-secondary)}.cl-duty-row .cl-duty-input[data-v-0cf7635b]{flex:1;min-width:0;padding:5px 9px;font-size:13px}.cl-duty-row.bad .cl-duty-input[data-v-0cf7635b]{border-color:#ef4444;background:#fef2f2}.cl-tip[data-v-0cf7635b]{margin:6px 0 0;font-size:12px;color:var(--c-text-muted);line-height:1.5}.cl-tip-warn[data-v-0cf7635b]{color:#b91c1c}.hero[data-v-dca91f14]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-dca91f14]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-dca91f14]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-dca91f14]{flex:1}.hero-num[data-v-dca91f14]{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-label[data-v-dca91f14]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-dca91f14]{width:1px;height:48px;background:#ffffff40}.toolbar[data-v-dca91f14]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-dca91f14]{margin-bottom:4px}.search[data-v-dca91f14]{width:220px}.card.no-padding[data-v-dca91f14]{padding:0}.card.no-padding table[data-v-dca91f14]{margin-top:0}.muted[data-v-dca91f14]{color:var(--c-text-muted);font-size:13px}.empty[data-v-dca91f14]{text-align:center;color:var(--c-text-muted);padding:40px}tr.inactive td[data-v-dca91f14]{color:var(--c-text-muted);background:#fafafa}.user-avatar-mini[data-v-dca91f14]{width:28px;height:28px;background:var(--gradient-primary-soft);color:var(--c-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.dept-tag[data-v-dca91f14]{background:var(--c-bg-soft);color:var(--c-text-secondary)}.dept-admin[data-v-dca91f14]{background:linear-gradient(135deg,#faf5ff,#f3e8ff);color:#7e22ce}.dept-sales[data-v-dca91f14]{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#b45309}.dept-tech[data-v-dca91f14]{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4338ca}.dept-pm[data-v-dca91f14]{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.dept-finance[data-v-dca91f14]{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#b91c1c}.dept-hr[data-v-dca91f14]{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0e7490}.tag[data-v-dca91f14]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500}.sub-cell[data-v-dca91f14]{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.sub-tag[data-v-dca91f14]{background:var(--c-bg-soft);color:var(--c-text-secondary);max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-success[data-v-dca91f14]{background:var(--c-income-soft);color:#047857}.tag-warn[data-v-dca91f14]{background:var(--c-accent-light);color:var(--c-accent-dark)}.dot-led[data-v-dca91f14]{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor}.btn-link[data-v-dca91f14]{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-dca91f14]:hover{text-decoration:underline}.btn-link.warn[data-v-dca91f14]{color:var(--c-accent-dark)}.btn-link.ok[data-v-dca91f14]{color:#047857}.btn-link.danger[data-v-dca91f14]{color:var(--c-warn)}.dialog-mask[data-v-dca91f14]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-dca91f14 .2s ease}@keyframes fadeIn-dca91f14{0%{opacity:0}to{opacity:1}}.dialog[data-v-dca91f14]{background:#fff;border-radius:var(--r-xl);width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp-dca91f14 .2s ease}@keyframes slideUp-dca91f14{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog.small[data-v-dca91f14]{width:360px}.dialog-head[data-v-dca91f14]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.dialog-head h3[data-v-dca91f14]{color:var(--c-text);font-size:16px}.btn-ghost-x[data-v-dca91f14]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.btn-ghost-x[data-v-dca91f14]:hover{background:var(--c-bg-soft);color:var(--c-text)}.dialog-body[data-v-dca91f14]{padding:12px 24px 0}.form[data-v-dca91f14]{padding:20px 24px 24px}.form-row[data-v-dca91f14]{margin-bottom:14px}.form-row label[data-v-dca91f14]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.form-row small[data-v-dca91f14]{color:var(--c-text-muted);font-weight:400;margin-left:4px}.form-hint[data-v-dca91f14]{color:var(--c-text-muted);font-size:12px;margin-top:4px}.form-row input[data-v-dca91f14],.form-row select[data-v-dca91f14]{width:100%}.form-row input[data-v-dca91f14]:disabled{background:var(--c-bg-soft);color:var(--c-text-muted)}.dialog-actions[data-v-dca91f14]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.err[data-v-dca91f14]{color:var(--c-warn);font-size:13px;margin-top:4px}.ok-msg[data-v-dca91f14]{color:#047857;font-size:13px;margin-top:4px}.menu-pick[data-v-dca91f14]{max-height:220px;overflow-y:auto;border:1px solid var(--c-border-light);border-radius:var(--r-sm)}.menu-empty[data-v-dca91f14]{padding:16px;text-align:center;color:var(--c-text-muted);font-size:13px}.menu-group+.menu-group[data-v-dca91f14]{border-top:1px solid var(--c-border-light)}.menu-group[data-v-dca91f14]{padding:6px 12px}.menu-row[data-v-dca91f14]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0;font-size:13.5px}.menu-row input[data-v-dca91f14]{width:15px;height:15px;cursor:pointer}.menu-parent[data-v-dca91f14]{font-weight:600}.menu-child[data-v-dca91f14]{padding-left:24px;color:var(--c-text-secondary)}.menu-child[data-v-dca91f14]:hover{color:var(--c-primary)}.key-chip[data-v-dca91f14]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:var(--c-bg-soft);color:var(--c-text-muted);padding:1px 6px;border-radius:var(--r-sm);margin-left:4px}.menu-ops[data-v-dca91f14]{display:flex;gap:12px;margin-top:6px}.tag-custom[data-v-dca91f14]{background:var(--c-primary-soft, var(--c-bg-soft));color:var(--c-primary)}.hero[data-v-4067c879]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-4067c879]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-4067c879]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-4067c879]{flex:1}.hero-num[data-v-4067c879]{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-label[data-v-4067c879]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-4067c879]{width:1px;height:48px;background:#ffffff40}.toolbar[data-v-4067c879]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-4067c879]{margin-bottom:4px}.search[data-v-4067c879]{width:220px}.card.no-padding[data-v-4067c879]{padding:0}.card.no-padding table[data-v-4067c879]{margin-top:0}.muted[data-v-4067c879]{color:var(--c-text-muted);font-size:13px}.empty[data-v-4067c879]{text-align:center;color:var(--c-text-muted);padding:40px}tr.inactive td[data-v-4067c879]{color:var(--c-text-muted);background:#fafafa}.usage-chip[data-v-4067c879]{display:inline-block;background:var(--gradient-primary-soft);color:var(--c-primary);padding:2px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600}.tag[data-v-4067c879]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500}.tag-success[data-v-4067c879]{background:var(--c-income-soft);color:#047857}.tag-warn[data-v-4067c879]{background:var(--c-accent-light);color:var(--c-accent-dark)}.dot-led[data-v-4067c879]{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor}.btn-link[data-v-4067c879]{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-4067c879]:hover{text-decoration:underline}.btn-link.warn[data-v-4067c879]{color:var(--c-accent-dark)}.btn-link.ok[data-v-4067c879]{color:#047857}.btn-link.danger[data-v-4067c879]{color:var(--c-warn)}.dialog-mask[data-v-4067c879]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-4067c879 .2s ease}@keyframes fadeIn-4067c879{0%{opacity:0}to{opacity:1}}.dialog[data-v-4067c879]{background:#fff;border-radius:var(--r-xl);width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp-4067c879 .2s ease}@keyframes slideUp-4067c879{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-head[data-v-4067c879]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.dialog-head h3[data-v-4067c879]{color:var(--c-text);font-size:16px}.btn-ghost-x[data-v-4067c879]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.btn-ghost-x[data-v-4067c879]:hover{background:var(--c-bg-soft);color:var(--c-text)}.form[data-v-4067c879]{padding:20px 24px 24px}.form-row[data-v-4067c879]{margin-bottom:14px}.form-row label[data-v-4067c879]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.form-row small[data-v-4067c879]{color:var(--c-text-muted);font-weight:400;margin-left:4px}.form-row input[data-v-4067c879],.form-row select[data-v-4067c879]{width:100%}.dialog-actions[data-v-4067c879]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.err[data-v-4067c879]{color:var(--c-warn);font-size:13px;margin-top:4px}.dialog-wide[data-v-4067c879]{width:560px}.menu-hint[data-v-4067c879]{font-size:12.5px;line-height:1.6;color:var(--c-text-secondary);background:var(--c-bg-soft);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:14px}.menu-pick[data-v-4067c879]{max-height:46vh;overflow-y:auto;border:1px solid var(--c-border-light);border-radius:var(--r-sm)}.menu-group+.menu-group[data-v-4067c879]{border-top:1px solid var(--c-border-light)}.menu-group[data-v-4067c879]{padding:8px 12px}.menu-row[data-v-4067c879]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0;font-size:13.5px}.menu-row input[data-v-4067c879]{width:15px;height:15px;cursor:pointer}.menu-parent[data-v-4067c879]{font-weight:600}.menu-child[data-v-4067c879]{padding-left:24px;color:var(--c-text-secondary)}.menu-child[data-v-4067c879]:hover{color:var(--c-primary)}.key-chip[data-v-4067c879]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:var(--c-bg-soft);color:var(--c-text-muted);padding:1px 6px;border-radius:var(--r-sm);margin-left:4px}.pick-count[data-v-4067c879]{font-size:12.5px;color:var(--c-text-muted);align-self:center}.dialog-actions .flex-1[data-v-4067c879]{flex:1}.hero[data-v-26c4e6dd]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-26c4e6dd]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-26c4e6dd]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-26c4e6dd]{flex:1}.hero-num[data-v-26c4e6dd]{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-label[data-v-26c4e6dd]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-26c4e6dd]{width:1px;height:48px;background:#ffffff40}.toolbar[data-v-26c4e6dd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-26c4e6dd]{margin-bottom:4px}.search[data-v-26c4e6dd]{width:220px}.card.no-padding[data-v-26c4e6dd]{padding:0}.card.no-padding table[data-v-26c4e6dd]{margin-top:0}.muted[data-v-26c4e6dd]{color:var(--c-text-muted);font-size:13px}.empty[data-v-26c4e6dd]{text-align:center;color:var(--c-text-muted);padding:40px}tr.inactive td[data-v-26c4e6dd]{color:var(--c-text-muted);background:#fafafa}.key-chip[data-v-26c4e6dd]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:var(--c-bg-soft);color:var(--c-text-secondary);padding:2px 8px;border-radius:var(--r-sm)}.usage-chip[data-v-26c4e6dd]{display:inline-block;background:var(--gradient-primary-soft);color:var(--c-primary);padding:2px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600}.tag[data-v-26c4e6dd]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500}.tag-success[data-v-26c4e6dd]{background:var(--c-income-soft);color:#047857}.tag-warn[data-v-26c4e6dd]{background:var(--c-accent-light);color:var(--c-accent-dark)}.dot-led[data-v-26c4e6dd]{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor}.btn-link[data-v-26c4e6dd]{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-26c4e6dd]:hover{text-decoration:underline}.btn-link.warn[data-v-26c4e6dd]{color:var(--c-accent-dark)}.btn-link.ok[data-v-26c4e6dd]{color:#047857}.btn-link.danger[data-v-26c4e6dd]{color:var(--c-warn)}.dialog-mask[data-v-26c4e6dd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-26c4e6dd .2s ease}@keyframes fadeIn-26c4e6dd{0%{opacity:0}to{opacity:1}}.dialog[data-v-26c4e6dd]{background:#fff;border-radius:var(--r-xl);width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp-26c4e6dd .2s ease}@keyframes slideUp-26c4e6dd{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-head[data-v-26c4e6dd]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.dialog-head h3[data-v-26c4e6dd]{color:var(--c-text);font-size:16px}.btn-ghost-x[data-v-26c4e6dd]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.btn-ghost-x[data-v-26c4e6dd]:hover{background:var(--c-bg-soft);color:var(--c-text)}.form[data-v-26c4e6dd]{padding:20px 24px 24px}.form-row[data-v-26c4e6dd]{margin-bottom:14px}.form-row label[data-v-26c4e6dd]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.form-row small[data-v-26c4e6dd]{color:var(--c-text-muted);font-weight:400;margin-left:4px}.form-row input[data-v-26c4e6dd],.form-row select[data-v-26c4e6dd]{width:100%}.form-row input[data-v-26c4e6dd]:disabled{background:var(--c-bg-soft);color:var(--c-text-muted);cursor:not-allowed}.dialog-actions[data-v-26c4e6dd]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.err[data-v-26c4e6dd]{color:var(--c-warn);font-size:13px;margin-top:4px}.page-head[data-v-ed15250c]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-title[data-v-ed15250c]{font-size:20px;font-weight:700;color:var(--c-text);margin:0}.page-sub[data-v-ed15250c]{margin:4px 0 0;font-size:13px;color:var(--c-text-muted);max-width:640px;line-height:1.6}.main-layout[data-v-ed15250c]{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.group-pane[data-v-ed15250c]{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 200px);overflow-y:auto}.pane-search input[data-v-ed15250c]{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-soft);font-size:13px;color:var(--c-text);outline:none}.pane-search input[data-v-ed15250c]:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft);background:var(--c-bg-card)}.group-card[data-v-ed15250c]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:all var(--t-base)}.group-card[data-v-ed15250c]:hover{background:var(--c-bg-soft)}.group-card.active[data-v-ed15250c]{background:var(--gradient-primary-soft);border-color:var(--c-primary-light)}.group-icon[data-v-ed15250c]{font-size:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--c-bg-soft);border-radius:var(--r-md);flex-shrink:0}.group-card.active .group-icon[data-v-ed15250c]{background:var(--c-bg-card)}.group-main[data-v-ed15250c]{flex:1;min-width:0}.group-name[data-v-ed15250c]{font-size:14px;font-weight:600;color:var(--c-text)}.group-count[data-v-ed15250c]{font-size:12px;color:var(--c-text-muted);margin-top:2px}.group-arrow[data-v-ed15250c]{color:var(--c-text-muted);font-size:18px}.empty-mini[data-v-ed15250c]{padding:14px;text-align:center;font-size:13px}.item-pane[data-v-ed15250c]{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:16px;min-height:320px}.item-head[data-v-ed15250c]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.item-title[data-v-ed15250c]{display:flex;align-items:center;gap:10px}.item-title-icon[data-v-ed15250c]{font-size:22px}.item-title-name[data-v-ed15250c]{font-size:16px;font-weight:700;color:var(--c-text)}.item-title-hint[data-v-ed15250c]{font-size:12px;color:var(--c-text-muted);margin-top:3px}.cfg-table[data-v-ed15250c]{width:100%;border-collapse:collapse;font-size:13px}.cfg-table th[data-v-ed15250c]{text-align:left;padding:8px 10px;color:var(--c-text-muted);font-size:12px;font-weight:600;border-bottom:1px solid var(--c-border);background:var(--c-bg-soft)}.cfg-table td[data-v-ed15250c]{padding:9px 10px;border-bottom:1px solid var(--c-border-light);color:var(--c-text);vertical-align:middle}.label-cell[data-v-ed15250c]{display:inline-flex;align-items:center;gap:7px;font-weight:500}.sub-cell[data-v-ed15250c]{color:var(--c-text-muted);font-size:12px}.sub-cell.empty-tip[data-v-ed15250c]{opacity:.5}.color-dot[data-v-ed15250c]{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.builtin-tag[data-v-ed15250c]{font-size:10px;background:#fee2e2;color:#b91c1c;padding:1px 6px;border-radius:var(--r-pill);font-weight:600}.optional-tag[data-v-ed15250c]{font-size:10px;background:#dbeafe;color:#1d4ed8;padding:1px 6px;border-radius:var(--r-pill);font-weight:600}.key-chip[data-v-ed15250c]{font-family:var(--font-mono);font-size:12px;background:var(--c-bg-soft);border:1px solid var(--c-border-light);padding:2px 8px;border-radius:var(--r-sm);color:var(--c-text-secondary)}.num-cell[data-v-ed15250c]{text-align:center;color:var(--c-text-secondary);font-family:var(--font-mono)}.sub-group-chip[data-v-ed15250c]{font-size:12px;background:var(--c-bg-soft);border:1px dashed var(--c-primary-light);color:var(--c-primary);padding:2px 8px;border-radius:var(--r-pill);white-space:nowrap}.days-cell[data-v-ed15250c]{color:var(--c-text);font-family:var(--font-mono);font-size:13px}.tpl-cell[data-v-ed15250c]{white-space:nowrap}.tpl-row[data-v-ed15250c]{display:flex;align-items:center;gap:4px;margin-bottom:2px}.tpl-name[data-v-ed15250c]{color:var(--c-primary);font-size:12px;text-decoration:none}.tpl-name[data-v-ed15250c]:hover{text-decoration:underline}.tpl-upload[data-v-ed15250c]{display:inline-block;padding:3px 10px;border:1px dashed var(--c-border);border-radius:var(--r-sm);color:var(--c-text-secondary);font-size:12px;cursor:pointer}.tpl-upload[data-v-ed15250c]:hover{border-color:var(--c-primary);color:var(--c-primary)}.tpl-upload.busy[data-v-ed15250c]{opacity:.6;cursor:progress}.toggle[data-v-ed15250c]{border:none;border-radius:var(--r-pill);padding:3px 10px;font-size:12px;cursor:pointer;background:var(--c-bg-soft);color:var(--c-text-muted)}.toggle.on[data-v-ed15250c]{background:#dcfce7;color:#15803d}.op-cell[data-v-ed15250c]{text-align:right;white-space:nowrap}.op-btn[data-v-ed15250c]{border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:3px 10px;border-radius:var(--r-sm);font-size:12px;cursor:pointer;margin-left:6px;transition:all var(--t-base)}.op-btn[data-v-ed15250c]:hover{border-color:var(--c-primary);color:var(--c-primary)}.op-btn.danger[data-v-ed15250c]:hover{border-color:var(--c-warn);color:var(--c-warn)}.muted-tip[data-v-ed15250c]{font-size:11px;color:var(--c-text-muted);margin-left:6px}.empty[data-v-ed15250c]{text-align:center;padding:48px 0;font-size:13px}.empty.big[data-v-ed15250c]{color:var(--c-text-muted)}.err-bar[data-v-ed15250c]{margin-top:12px;background:var(--c-warn-soft);color:#b91c1c;padding:10px 14px;border-radius:var(--r-md);font-size:13px}.modal-mask[data-v-ed15250c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal[data-v-ed15250c]{background:var(--c-bg-card);border-radius:var(--r-xl);width:520px;max-width:94vw;max-height:88vh;overflow-y:auto;padding:22px;box-shadow:0 24px 60px #0f172a40}.modal-title[data-v-ed15250c]{font-size:16px;font-weight:700;color:var(--c-text);display:flex;align-items:center;gap:10px}.modal-sub[data-v-ed15250c]{font-size:12px;color:var(--c-text-muted);font-weight:500}.modal-tip[data-v-ed15250c]{font-size:12px;color:var(--c-text-muted);line-height:1.7;margin:10px 0 14px}.m-row[data-v-ed15250c]{margin-bottom:12px}.m-row label[data-v-ed15250c]{display:block;margin-bottom:5px;font-size:13px;color:var(--c-text-secondary);font-weight:500}.m-row label.chk[data-v-ed15250c]{display:inline-flex;align-items:center;gap:7px;font-weight:400;width:auto;margin:0;cursor:pointer}.m-row label.chk input[data-v-ed15250c]{width:15px;height:15px;margin:0;flex:none;accent-color:var(--c-primary)}.m-row label.chk span[data-v-ed15250c]{color:var(--c-text-secondary)}.m-grid[data-v-ed15250c]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.m-row input[type=text][data-v-ed15250c],.m-row input[data-v-ed15250c]:not([type]){width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:13px;color:var(--c-text);background:var(--c-bg-card);outline:none}.m-row input[data-v-ed15250c]:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}.m-row input[data-v-ed15250c]:disabled{background:var(--c-bg-soft);color:var(--c-text-muted)}.mini-tip[data-v-ed15250c]{font-size:11px;color:var(--c-text-muted);margin-top:3px}.m-row select[data-v-ed15250c]{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:13px;color:var(--c-text);background:var(--c-bg-card);outline:none}.m-row select[data-v-ed15250c]:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}.anchor-cell[data-v-ed15250c]{font-size:12px;color:var(--c-text-secondary)}.flow-preview[data-v-ed15250c]{margin-top:12px;padding:10px 12px;background:var(--c-bg-soft);border:1px dashed var(--c-border);border-radius:var(--r-sm)}.fp-title[data-v-ed15250c]{font-size:12px;font-weight:600;color:var(--c-text-secondary);margin-bottom:8px}.fp-chain[data-v-ed15250c]{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.fp-node[data-v-ed15250c]{font-size:12px;padding:3px 9px;border-radius:var(--r-pill);background:var(--c-bg-card);border:1px solid var(--c-border-light);color:var(--c-text-secondary);white-space:nowrap}.fp-node.gate[data-v-ed15250c]{border-style:dashed;border-color:var(--c-primary);color:var(--c-primary)}.fp-node.self[data-v-ed15250c]{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600}.fp-arrow[data-v-ed15250c]{color:var(--c-text-muted);font-size:12px}.fp-tip[data-v-ed15250c]{margin-top:8px;font-size:11px;color:var(--c-text-muted);line-height:1.6}.swatches[data-v-ed15250c]{display:flex;gap:6px;flex-wrap:wrap;padding-top:4px}.swatch[data-v-ed15250c]{width:24px;height:24px;border-radius:50%;border:2px solid var(--c-border);cursor:pointer;font-size:12px;color:var(--c-text-muted);display:flex;align-items:center;justify-content:center}.swatch.picked[data-v-ed15250c]{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}.modal-actions[data-v-ed15250c]{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.cfg-panel-dialog .main-layout[data-v-ed15250c]{grid-template-columns:220px 1fr}.cfg-panel-dialog .group-pane[data-v-ed15250c]{max-height:60vh}.cfg-panel-dialog .item-pane[data-v-ed15250c]{min-height:260px}.cfg-panel-dialog .modal[data-v-ed15250c]{max-height:80vh}@media (max-width: 900px){.main-layout[data-v-ed15250c]{grid-template-columns:1fr}}.cfgd-mask[data-v-ddbffe76]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:120;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:24px}.cfgd-dialog[data-v-ddbffe76]{background:var(--c-bg-card);border-radius:var(--r-xl);width:1040px;max-width:96vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0f172a47;overflow:hidden}.cfgd-head[data-v-ddbffe76]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px 14px;border-bottom:1px solid var(--c-border-light)}.cfgd-head h2[data-v-ddbffe76]{margin:0;font-size:17px;font-weight:700;color:var(--c-text)}.cfgd-hint[data-v-ddbffe76]{margin:6px 0 0;font-size:12px;color:var(--c-text-muted);line-height:1.6}.cfgd-x[data-v-ddbffe76]{border:none;background:none;font-size:16px;color:var(--c-text-muted);cursor:pointer;padding:2px 6px;border-radius:var(--r-sm)}.cfgd-x[data-v-ddbffe76]:hover{background:var(--c-bg-soft);color:var(--c-text)}.cfgd-body[data-v-ddbffe76]{padding:16px 22px;overflow-y:auto;flex:1}.cfgd-foot[data-v-ddbffe76]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px 16px;border-top:1px solid var(--c-border-light)}.cfgd-tip[data-v-ddbffe76]{font-size:12px;color:var(--c-text-muted)}.load-more[data-v-f6b6cc15]{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}.lm-progress[data-v-f6b6cc15]{width:100%;max-width:320px;height:4px;border-radius:var(--r-pill);background:var(--c-bg-soft);border:1px solid var(--c-border-light);overflow:hidden}.lm-progress i[data-v-f6b6cc15]{display:block;height:100%;border-radius:var(--r-pill);background:var(--gradient-primary);transition:width .3s}.lm-btn[data-v-f6b6cc15]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:260px;padding:10px 22px;border:1px solid var(--c-primary);border-radius:var(--r-pill);background:var(--c-bg-card);color:var(--c-primary);font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--t-base)}.lm-btn[data-v-f6b6cc15]:hover{background:var(--gradient-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.lm-btn[data-v-f6b6cc15]:active{transform:translateY(0)}.lm-btn.busy[data-v-f6b6cc15]{cursor:progress;opacity:.75}.lm-arrow[data-v-f6b6cc15]{font-size:15px;line-height:1}.lm-spin[data-v-f6b6cc15]{width:13px;height:13px;border:2px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:lm-rotate-f6b6cc15 .7s linear infinite}@keyframes lm-rotate-f6b6cc15{to{transform:rotate(360deg)}}.lm-hint[data-v-f6b6cc15]{font-size:12px;color:var(--c-text-muted)}.list-end[data-v-f6b6cc15]{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--c-text-muted);font-size:12.5px}.le-line[data-v-f6b6cc15]{flex:1;height:1px;background:var(--c-border)}.le-text[data-v-f6b6cc15]{flex:none}.back-top[data-v-7497c734]{position:fixed;right:28px;bottom:32px;z-index:90;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--gradient-primary);color:#fff;font-size:18px;cursor:pointer;box-shadow:0 6px 18px #6366f159;transition:transform var(--t-base),box-shadow var(--t-base)}.back-top[data-v-7497c734]:hover{transform:translateY(-3px);box-shadow:0 10px 24px #6366f173}.bt-arrow[data-v-7497c734]{line-height:1}.fade-up-enter-active[data-v-7497c734],.fade-up-leave-active[data-v-7497c734]{transition:all var(--t-base)}.fade-up-enter-from[data-v-7497c734],.fade-up-leave-to[data-v-7497c734]{opacity:0;transform:translateY(12px)}.hero[data-v-52be570b]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-52be570b]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-52be570b]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-52be570b]{min-width:0}.hero-stat-count[data-v-52be570b]{flex:0 0 auto}.hero-stat-amount[data-v-52be570b]{flex:1 1 auto}.hero-num[data-v-52be570b]{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-num-amount[data-v-52be570b]{white-space:nowrap}.hero-label[data-v-52be570b]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-52be570b]{width:1px;height:48px;background:#ffffff40}.hero-cfg[data-v-52be570b]{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.hero-cfg-btn[data-v-52be570b]{padding:8px 14px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.5);background:#ffffff29;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--t-base);white-space:nowrap}.hero-cfg-btn[data-v-52be570b]:hover{background:#ffffff4d}.hero-cfg-tip[data-v-52be570b]{font-size:11px;opacity:.85}.toolbar[data-v-52be570b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-52be570b]{margin-bottom:4px}.search[data-v-52be570b]{width:220px}.card.no-padding[data-v-52be570b]{padding:0}.card.no-padding table[data-v-52be570b]{margin-top:0}.muted[data-v-52be570b]{color:var(--c-text-muted);font-size:13px}.empty[data-v-52be570b]{text-align:center;color:var(--c-text-muted);padding:40px}.empty-sub[data-v-52be570b]{margin-top:8px;font-size:12px;line-height:1.7}.row-click[data-v-52be570b]{cursor:pointer}.text-revenue[data-v-52be570b]{color:var(--c-revenue)}.proj-cell[data-v-52be570b]{display:inline-flex;align-items:center;gap:6px;min-width:0}.proj-link[data-v-52be570b]{color:var(--c-primary);font-weight:500;text-decoration:none;word-break:break-word}.proj-link[data-v-52be570b]:hover{text-decoration:underline}.proj-link.is-dead[data-v-52be570b]{color:var(--c-text-muted);text-decoration:line-through}.proj-dead-chip[data-v-52be570b]{flex:none;background:var(--c-bg-soft);border:1px solid var(--c-border);color:var(--c-text-muted);border-radius:var(--r-pill);padding:1px 8px;font-size:11px;font-weight:600}.user-avatar-mini[data-v-52be570b]{width:24px;height:24px;background:var(--gradient-primary-soft);color:var(--c-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;flex-shrink:0}.opp-mini-icon[data-v-52be570b]{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.opp-mini-lead[data-v-52be570b]{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.opp-mini-tracking[data-v-52be570b]{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.opp-mini-quoted[data-v-52be570b]{background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.opp-mini-won[data-v-52be570b]{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.opp-mini-lost[data-v-52be570b]{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.opp-mini-cancelled[data-v-52be570b],.opp-mini-custom[data-v-52be570b]{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.tag-lead[data-v-52be570b]{background:#e0e7ff;color:#4338ca}.tag-tracking[data-v-52be570b]{background:#fef3c7;color:#b45309}.tag-quoted[data-v-52be570b]{background:#f3e8ff;color:#7e22ce}.tag-won[data-v-52be570b]{background:#d1fae5;color:#047857}.tag-lost[data-v-52be570b]{background:#fee2e2;color:#b91c1c}.tag-cancelled[data-v-52be570b]{background:#f1f5f9;color:#475569}.btn-link[data-v-52be570b]{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-52be570b]:hover{text-decoration:underline}.btn-link.ok[data-v-52be570b]{color:#047857}.btn-link.danger[data-v-52be570b]{color:var(--c-warn)}.btn-link.cancel[data-v-52be570b]{color:var(--c-text-muted)}.btn-link.restore[data-v-52be570b]{color:#047857;font-weight:500}.lost-note[data-v-52be570b]{color:var(--c-text-muted);font-size:13px;cursor:default}.seg[data-v-52be570b]{display:flex;gap:4px;background:var(--c-bg-card);border-radius:var(--r-pill);padding:4px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid var(--c-border-light);width:fit-content;flex-wrap:wrap}.seg-item[data-v-52be570b]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);font-size:13px;font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:all var(--t-base)}.seg-item[data-v-52be570b]:hover{background:var(--c-bg-soft)}.seg-item.active[data-v-52be570b]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.seg-count[data-v-52be570b]{background:var(--c-bg-soft);padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;color:var(--c-text-muted)}.seg-item.active .seg-count[data-v-52be570b]{background:#ffffff40;color:#fff}.risk-num[data-v-52be570b]{color:#fde68a}.risk-btn[data-v-52be570b]{background:#fff1f2;border:1px solid #fecdd3;color:#b91c1c;font-weight:600}.risk-btn[data-v-52be570b]:hover{background:#fee2e2}.warn-chip[data-v-52be570b]{display:inline-flex;align-items:center;gap:2px;margin-top:2px;background:#fff1f2;border:1px solid #fecdd3;color:#b91c1c;font-size:11px;font-weight:600;border-radius:var(--r-pill);padding:1px 8px}.risk-mask[data-v-52be570b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.risk-dialog[data-v-52be570b]{width:min(720px,96vw);max-height:82vh;display:flex;flex-direction:column;background:var(--c-bg-card);border-radius:var(--r-md);box-shadow:0 20px 50px #0f172a40;overflow:hidden}.risk-head[data-v-52be570b]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 0}.risk-head h3[data-v-52be570b]{margin:0;font-size:16px}.risk-sub[data-v-52be570b]{padding:6px 20px 10px;color:var(--c-text-muted);font-size:12px;border-bottom:1px solid var(--c-border-light)}.risk-empty[data-v-52be570b]{text-align:center;padding:46px 20px;color:var(--c-text-muted)}.risk-empty-icon[data-v-52be570b]{font-size:34px}.risk-empty p[data-v-52be570b]{margin:8px 0 0}.risk-list[data-v-52be570b]{overflow-y:auto;padding:10px 20px;display:flex;flex-direction:column;gap:8px}.risk-item[data-v-52be570b]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #ffe4e6;background:#fff;border-radius:var(--r-sm);padding:12px 14px;cursor:pointer;transition:all var(--t-base)}.risk-item[data-v-52be570b]:hover{border-color:#fda4af;box-shadow:var(--shadow-sm)}.risk-main[data-v-52be570b]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.risk-main b[data-v-52be570b]{font-size:14px}.risk-customer[data-v-52be570b],.risk-owner[data-v-52be570b]{color:var(--c-text-muted);font-size:12px}.risk-amount[data-v-52be570b]{font-size:13px;font-weight:600;color:var(--c-revenue)}.risk-stage.tag[data-v-52be570b]{font-size:11px}.risk-meta[data-v-52be570b]{color:var(--c-text-muted);font-size:12px;white-space:nowrap}.risk-badge[data-v-52be570b]{white-space:nowrap;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:12px;font-weight:700;border-radius:var(--r-pill);padding:3px 10px}.risk-foot[data-v-52be570b]{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--c-border-light)}.rule-rows[data-v-52be570b]{padding:14px 20px 6px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.rule-row[data-v-52be570b]{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--c-border-light);border-radius:var(--r-sm);padding:12px 14px}.rule-name[data-v-52be570b]{display:flex;align-items:center;gap:10px;min-width:0}.rule-name .muted[data-v-52be570b]{font-size:11px}.rule-icon[data-v-52be570b]{width:30px;height:30px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--c-bg-soft)}.rule-toggle[data-v-52be570b]{display:flex;align-items:center;gap:7px;flex:none;font-size:13px;white-space:nowrap;cursor:pointer}.rule-toggle input[type=checkbox][data-v-52be570b]{flex:none;width:16px;height:16px;min-width:16px;margin:0;padding:0;border-radius:3px;accent-color:var(--c-primary);cursor:pointer}.rule-days[data-v-52be570b]{display:flex;align-items:center;gap:6px;flex:none;font-size:13px;color:var(--c-text-muted)}.rule-days input[data-v-52be570b]{width:68px;padding:5px 8px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:13px}.rule-days input[data-v-52be570b]:disabled{opacity:.5}.settings-msg[data-v-52be570b]{padding:8px 20px 0;font-size:13px}.msg-ok[data-v-52be570b]{color:#047857}.msg-err[data-v-52be570b]{color:var(--c-warn)}.link[data-v-52be570b]{color:var(--c-primary);cursor:pointer;text-decoration:underline}.lv-seg[data-v-52be570b]{margin-top:-6px}.lv-seg .seg-item[data-v-52be570b]{gap:6px}.seg-dot[data-v-52be570b]{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--c-bg-soft);border:1px solid var(--c-border)}.seg-dot.lv-s[data-v-52be570b]{background:#e11d48;border-color:#e11d48}.seg-dot.lv-a[data-v-52be570b]{background:#f59e0b;border-color:#f59e0b}.seg-dot.lv-b[data-v-52be570b]{background:#0ea5e9;border-color:#0ea5e9}.seg-dot.lv-c[data-v-52be570b]{background:#94a3b8;border-color:#94a3b8}.lv-chip[data-v-52be570b]{display:inline-flex;align-items:center;gap:4px;border-radius:var(--r-pill);padding:1px 8px;font-size:11px;font-weight:700;line-height:1.7;white-space:nowrap}.lv-chip.lv-s[data-v-52be570b]{background:#e11d48;color:#fff}.lv-chip.lv-a[data-v-52be570b]{background:#f59e0b;color:#fff}.lv-chip.lv-b[data-v-52be570b]{background:#0ea5e9;color:#fff}.lv-chip.lv-c[data-v-52be570b]{background:#94a3b8;color:#fff}.lv-chip.lv-none[data-v-52be570b]{background:var(--c-bg-soft);color:var(--c-text-muted);border:1px dashed var(--c-border)}.cp-box[data-v-1fb9a333]{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-card);overflow:hidden}.cp-box.disabled[data-v-1fb9a333]{opacity:.6}.cp-chips[data-v-1fb9a333]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0}.cp-chip[data-v-1fb9a333]{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:12px;color:var(--c-primary);background:var(--gradient-primary-soft);border:1px solid var(--c-primary-light);border-radius:var(--r-pill)}.cp-x[data-v-1fb9a333]{border:none;background:none;padding:2px 4px;font-size:11px;line-height:1;color:var(--c-primary);cursor:pointer;border-radius:var(--r-pill)}.cp-x[data-v-1fb9a333]:hover{background:#00000012}.cp-search[data-v-1fb9a333]{border:none;border-bottom:1px solid var(--c-border-light);border-radius:0;padding:8px 10px;font-size:13px}.cp-search[data-v-1fb9a333]:focus{border-color:var(--c-primary);box-shadow:none}.cp-bar[data-v-1fb9a333]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--c-border-light);background:var(--c-bg-soft)}.cp-create[data-v-1fb9a333]{border:1px dashed var(--c-primary-light);background:transparent;color:var(--c-primary);font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.cp-create[data-v-1fb9a333]:hover{background:var(--gradient-primary-soft);border-style:solid}.cp-bar-tip[data-v-1fb9a333]{font-size:11px;color:var(--c-text-muted)}.cp-list[data-v-1fb9a333]{max-height:170px;overflow-y:auto;padding:4px}.cp-row[data-v-1fb9a333]{display:flex;align-items:center;gap:4px}.cp-item[data-v-1fb9a333]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:var(--c-text-secondary);cursor:pointer}.cp-item[data-v-1fb9a333]:hover{background:var(--c-bg-hover)}.cp-item.on[data-v-1fb9a333]{background:var(--gradient-primary-soft);color:var(--c-primary);font-weight:500}.cp-item input[data-v-1fb9a333]{width:auto;flex:none}.cp-name[data-v-1fb9a333]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-sub[data-v-1fb9a333]{font-size:12px;color:var(--c-text-muted)}.cp-item.on .cp-sub[data-v-1fb9a333]{color:var(--c-primary)}.cp-add-ct[data-v-1fb9a333]{flex:none;border:none;background:none;color:var(--c-text-muted);font-size:12px;padding:4px 6px;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap}.cp-add-ct[data-v-1fb9a333]:hover{background:var(--gradient-primary-soft);color:var(--c-primary)}.cp-empty[data-v-1fb9a333]{padding:10px;text-align:center;font-size:12px;color:var(--c-text-muted)}.cpq-mask[data-v-1fb9a333]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.cpq-dialog[data-v-1fb9a333]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:480px;max-width:calc(100vw - 32px);box-shadow:0 20px 60px #0000004d}.cpq-head[data-v-1fb9a333]{padding:16px 20px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.cpq-head h3[data-v-1fb9a333]{font-size:15px}.cpq-x[data-v-1fb9a333]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.cpq-x[data-v-1fb9a333]:hover{background:var(--c-bg-soft);color:var(--c-text)}.cpq-body[data-v-1fb9a333]{padding:16px 20px 20px}.cpq-target[data-v-1fb9a333]{font-size:13px;color:var(--c-text-secondary);margin-bottom:12px}.cpq-grid-2[data-v-1fb9a333]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cpq-row[data-v-1fb9a333]{margin-bottom:12px}.cpq-row label[data-v-1fb9a333]{display:block;margin-bottom:5px;font-size:13px;font-weight:500;color:var(--c-text-secondary)}.cpq-row input[data-v-1fb9a333],.cpq-row select[data-v-1fb9a333]{width:100%;padding:6px 9px;font-size:13px}.cpq-hint[data-v-1fb9a333]{margin-top:5px;font-size:11px;color:var(--c-text-muted)}.cpq-err[data-v-1fb9a333]{color:var(--c-warn);font-size:13px}.cpq-actions[data-v-1fb9a333]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.ccp-contacts[data-v-3cbd58ba]{margin-top:8px;padding:8px 10px;border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-bg-soft)}.ccp-head[data-v-3cbd58ba]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ccp-head b[data-v-3cbd58ba]{font-size:12.5px;color:var(--c-text-secondary)}.ccp-sub[data-v-3cbd58ba]{font-size:11px;color:var(--c-text-muted)}.ccp-row[data-v-3cbd58ba]{display:flex;align-items:center;gap:8px;padding:3px 0}.ccp-name[data-v-3cbd58ba]{flex:none;width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--c-text-secondary)}.ccp-select[data-v-3cbd58ba]{flex:1;min-width:0;padding:5px 9px;font-size:13px}.ccp-none[data-v-3cbd58ba]{flex:none;font-size:11px;color:var(--c-text-muted)}.ccp-tip[data-v-3cbd58ba]{margin-top:6px;font-size:12px;color:var(--c-text-muted)}.ef-mask[data-v-340f346b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.ef-dialog[data-v-340f346b]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:620px;max-width:calc(100vw - 32px);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.ef-head[data-v-340f346b]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.ef-head h3[data-v-340f346b]{color:var(--c-text);font-size:16px}.ef-x[data-v-340f346b]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.ef-x[data-v-340f346b]:hover{background:var(--c-bg-soft);color:var(--c-text)}.ef-body[data-v-340f346b]{padding:20px 24px 24px}.ef-lead[data-v-340f346b]{font-size:12px;color:var(--c-text-muted);line-height:1.6;margin-bottom:14px}.ef-grid-2[data-v-340f346b]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ef-row[data-v-340f346b]{margin-bottom:14px}.ef-row label[data-v-340f346b]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.ef-row label small[data-v-340f346b]{color:var(--c-text-muted);font-weight:400;margin-left:4px}.ef-hint[data-v-340f346b]{margin-top:5px;font-size:11px;color:var(--c-text-muted);line-height:1.5}.ef-row input[data-v-340f346b],.ef-row select[data-v-340f346b]{width:100%;box-sizing:border-box}.ef-err[data-v-340f346b]{color:var(--c-warn);font-size:13px;margin-top:4px}.ef-actions[data-v-340f346b]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@media (max-width: 640px){.ef-grid-2[data-v-340f346b]{grid-template-columns:1fr}}.pf-mask[data-v-f4a276a9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.pf-dialog[data-v-f4a276a9]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:600px;max-width:calc(100vw - 32px);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.pf-head[data-v-f4a276a9]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.pf-head h3[data-v-f4a276a9]{color:var(--c-text);font-size:16px}.pf-x[data-v-f4a276a9]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.pf-x[data-v-f4a276a9]:hover{background:var(--c-bg-soft);color:var(--c-text)}.pf-body[data-v-f4a276a9]{padding:20px 24px 24px}.pf-grid-2[data-v-f4a276a9]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pf-row[data-v-f4a276a9]{margin-bottom:14px}.pf-row label[data-v-f4a276a9]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.pf-row input[data-v-f4a276a9],.pf-row select[data-v-f4a276a9]{width:100%}.pf-row-full[data-v-f4a276a9]{grid-column:1 / -1}.pf-period[data-v-f4a276a9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pf-period input[data-v-f4a276a9]{flex:1 1 150px;min-width:130px}.pf-period-sep[data-v-f4a276a9]{font-size:13px;color:var(--c-text-muted)}.pf-row input[data-v-f4a276a9]:disabled{background:var(--c-bg-soft);color:var(--c-text-muted);cursor:not-allowed}.pf-hint[data-v-f4a276a9]{margin-top:5px;font-size:11px;color:var(--c-text-muted);line-height:1.5}.pf-hint-code[data-v-f4a276a9]{margin-top:0;padding:7px 0;font-size:12px;color:var(--c-text-secondary)}.pf-hint-block[data-v-f4a276a9]{margin:-2px 0 14px;padding:8px 10px;border-radius:var(--r-sm);background:var(--c-bg-soft);color:var(--c-text-secondary)}.pf-err[data-v-f4a276a9]{color:var(--c-warn);font-size:13px;margin-top:4px}.pf-actions[data-v-f4a276a9]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.cpd-mask[data-v-cea0b00a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--s-6);z-index:2200}.cpd-dialog[data-v-cea0b00a]{position:relative;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;padding:var(--s-6) var(--s-6) var(--s-5);background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);box-shadow:0 24px 60px #0000004d}.cpd-head[data-v-cea0b00a]{display:flex;align-items:flex-start;gap:var(--s-3)}.cpd-icon[data-v-cea0b00a]{flex:none;width:44px;height:44px;border-radius:50%;background:var(--c-warn-soft);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}.cpd-text[data-v-cea0b00a]{flex:1;min-width:0;padding-right:20px}.cpd-title[data-v-cea0b00a]{font-size:var(--fs-lg);font-weight:600;line-height:1.3;margin-bottom:6px}.cpd-msg[data-v-cea0b00a]{font-size:var(--fs-base);color:var(--c-text-secondary);line-height:1.6;word-break:break-word}.cpd-x[data-v-cea0b00a]{position:absolute;top:14px;right:14px;width:28px;height:28px;border:none;border-radius:var(--r-sm);background:none;color:var(--c-text-muted);font-size:15px;line-height:1;cursor:pointer;transition:all var(--t-base)}.cpd-x[data-v-cea0b00a]:hover{background:var(--c-bg-soft);color:var(--c-text)}.cpd-detail[data-v-cea0b00a]{margin-top:var(--s-4);padding:12px 14px;border:1px solid var(--c-border-light);border-left:3px solid var(--c-warn);border-radius:var(--r-md);background:var(--c-bg-soft);font-size:13px;line-height:1.7;color:var(--c-text-secondary)}.cpd-link[data-v-cea0b00a]{display:flex;align-items:flex-start;gap:10px;margin-top:var(--s-4);padding:12px 14px;border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-bg-soft);cursor:pointer;transition:border-color var(--t-base),background var(--t-base)}.cpd-link.is-on[data-v-cea0b00a]{border-color:var(--c-warn);background:var(--c-warn-soft)}.cpd-link input[data-v-cea0b00a]{flex:none;margin-top:3px;width:16px;height:16px;accent-color:var(--c-warn);cursor:pointer}.cpd-link-body[data-v-cea0b00a]{display:flex;flex-direction:column;gap:4px;min-width:0}.cpd-link-title[data-v-cea0b00a]{font-size:13px;font-weight:600;color:var(--c-text);line-height:1.5;word-break:break-word}.cpd-link-desc[data-v-cea0b00a]{font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.6}.cpd-reason[data-v-cea0b00a]{margin-top:var(--s-4)}.cpd-reason>label[data-v-cea0b00a]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--c-text-secondary)}.cpd-reason>textarea[data-v-cea0b00a]{resize:vertical;min-height:76px;line-height:1.6}.cpd-reason-tip[data-v-cea0b00a]{margin-top:4px;font-size:var(--fs-xs);color:var(--c-text-muted)}.cpd-actions[data-v-cea0b00a]{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}.cpd-actions .btn[data-v-cea0b00a]{min-width:92px}.cpd-spin[data-v-cea0b00a]{width:13px;height:13px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:cpd-spin-cea0b00a .7s linear infinite}@keyframes cpd-spin-cea0b00a{to{transform:rotate(360deg)}}.cpd-enter-active[data-v-cea0b00a],.cpd-leave-active[data-v-cea0b00a]{transition:opacity var(--t-base)}.cpd-enter-from[data-v-cea0b00a],.cpd-leave-to[data-v-cea0b00a]{opacity:0}.cpd-enter-active .cpd-dialog[data-v-cea0b00a]{transition:transform var(--t-base)}.cpd-enter-from .cpd-dialog[data-v-cea0b00a]{transform:translateY(8px) scale(.96)}@media (max-width: 480px){.cpd-dialog[data-v-cea0b00a]{max-width:none}.cpd-actions .btn[data-v-cea0b00a]{flex:1}}.hero[data-v-6224c373]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-6224c373]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-6224c373]{display:flex;align-items:center;gap:24px;flex-wrap:wrap;row-gap:16px;position:relative;z-index:1}.hero-stat[data-v-6224c373]{min-width:0}.hero-stat-count[data-v-6224c373]{flex:0 0 auto}.hero-stat-amount[data-v-6224c373]{flex:1 1 auto}.hero-num[data-v-6224c373]{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-num-amount[data-v-6224c373]{white-space:nowrap}.hero-num-alert[data-v-6224c373]{color:#fcd34d;text-shadow:0 1px 6px rgba(0,0,0,.25)}.hero-label[data-v-6224c373]{font-size:13px;opacity:.9;margin-top:4px}.hero-chip[data-v-6224c373]{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:var(--r-pill);background:#ffffff38;font-size:11px;font-weight:600;white-space:nowrap}.hero-chip-active[data-v-6224c373]{background:#fff;color:var(--c-primary)}.hero-stat-clickable[data-v-6224c373]{padding:6px 12px;margin:-6px -12px;border-radius:var(--r-md);cursor:pointer;transition:background var(--t-base),box-shadow var(--t-base)}.hero-stat-clickable[data-v-6224c373]:hover{background:#ffffff24}.hero-stat-clickable.is-active[data-v-6224c373]{background:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff8c}.hero-stat-clickable.is-disabled[data-v-6224c373]{cursor:default}.hero-stat-clickable.is-disabled[data-v-6224c373]:hover{background:transparent}.hero-divider[data-v-6224c373]{width:1px;height:48px;background:#ffffff40}.hero-cfg[data-v-6224c373]{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.hero-cfg-btn[data-v-6224c373]{padding:8px 14px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.5);background:#ffffff29;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--t-base);white-space:nowrap}.hero-cfg-btn[data-v-6224c373]:hover{background:#ffffff4d}.hero-cfg-tip[data-v-6224c373]{font-size:11px;opacity:.85}.toolbar[data-v-6224c373]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-6224c373]{margin-bottom:4px}.search[data-v-6224c373]{width:220px}.seg[data-v-6224c373]{display:flex;gap:4px;background:var(--c-bg-card);border-radius:var(--r-pill);padding:4px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid var(--c-border-light);width:fit-content;flex-wrap:wrap}.seg-label[data-v-6224c373]{display:flex;align-items:center;padding:0 8px 0 10px;font-size:12px;font-weight:600;color:var(--c-text-muted);white-space:nowrap}.seg-item[data-v-6224c373]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);font-size:13px;font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:all var(--t-base)}.seg-item[data-v-6224c373]:hover{background:var(--c-bg-soft)}.seg-item.active[data-v-6224c373]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.seg-count[data-v-6224c373]{background:var(--c-bg-soft);padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;color:var(--c-text-muted)}.seg-item.active .seg-count[data-v-6224c373]{background:#ffffff40;color:#fff}.project-list[data-v-6224c373]{display:flex;flex-direction:column;gap:12px}.project-card[data-v-6224c373]{background:var(--c-bg-card);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-md);border:1px solid var(--c-border-light);transition:all var(--t-base);cursor:pointer}.project-card[data-v-6224c373]:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--c-primary-light)}.proj-head[data-v-6224c373]{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.proj-icon[data-v-6224c373]{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.proj-icon-general_contract[data-v-6224c373]{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.proj-icon-bridge[data-v-6224c373]{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.proj-icon-sub_contract[data-v-6224c373]{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.proj-icon-consortium[data-v-6224c373]{background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.proj-icon-other[data-v-6224c373]{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.proj-title-wrap[data-v-6224c373]{flex:1;min-width:0}.proj-title[data-v-6224c373]{font-weight:600;color:var(--c-text);font-size:15px;margin-bottom:4px}.proj-sub[data-v-6224c373]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.proj-code[data-v-6224c373]{font-family:var(--font-mono);font-size:11px;color:var(--c-text-muted)}.type-general_contract[data-v-6224c373]{background:#e0e7ff;color:#4338ca}.type-bridge[data-v-6224c373]{background:#d1fae5;color:#047857}.type-sub_contract[data-v-6224c373]{background:#fef3c7;color:#b45309}.type-consortium[data-v-6224c373]{background:#f3e8ff;color:#7e22ce}.type-other[data-v-6224c373],.st-draft[data-v-6224c373]{background:#f1f5f9;color:#475569}.st-pending[data-v-6224c373]{background:#fef3c7;color:#b45309}.st-approved[data-v-6224c373]{background:#d1fae5;color:#047857}.st-rejected[data-v-6224c373]{background:#fee2e2;color:#b91c1c}.st-in_progress[data-v-6224c373]{background:#dbeafe;color:#1e40af}.st-completed[data-v-6224c373]{background:#f3e8ff;color:#7e22ce}.st-settled[data-v-6224c373]{background:#cffafe;color:#155e75}.st-cancelled[data-v-6224c373]{background:#f1f5f9;color:#475569}.proj-amount[data-v-6224c373]{text-align:right;flex-shrink:0}.proj-amount-label[data-v-6224c373]{font-size:11px;color:var(--c-text-muted)}.proj-amount-num[data-v-6224c373]{font-size:18px;font-weight:700;color:var(--c-primary);font-family:var(--font-mono)}.proj-amount-sub[data-v-6224c373]{margin-top:4px;font-size:11px;font-weight:500;color:var(--c-text-muted);white-space:nowrap}.proj-amount-sub.is-alert[data-v-6224c373]{color:var(--c-warn);font-weight:700}.proj-meta[data-v-6224c373]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;background:var(--c-bg-soft);padding:12px;border-radius:var(--r-md);margin-bottom:12px}.proj-meta-item[data-v-6224c373]{display:flex;align-items:center;gap:6px;font-size:12px}.proj-meta-item.wide[data-v-6224c373]{grid-column:1 / -1}.meta-sub[data-v-6224c373]{color:var(--c-text-muted)}.meta-value.muted[data-v-6224c373]{color:var(--c-text-muted);font-weight:400}.meta-value.meta-overdue[data-v-6224c373]{color:var(--c-warn);font-weight:700}.meta-icon[data-v-6224c373]{font-size:13px}.meta-label[data-v-6224c373]{color:var(--c-text-muted)}.meta-value[data-v-6224c373]{color:var(--c-text);font-weight:500}.proj-foot[data-v-6224c373]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--c-text-muted)}.proj-actions[data-v-6224c373]{display:flex;gap:6px;align-items:center}.proj-end-hint[data-v-6224c373]{font-size:12px;color:var(--c-text-muted);white-space:nowrap}.btn-sm[data-v-6224c373]{padding:5px 10px;font-size:12px}.empty-card[data-v-6224c373]{background:var(--c-bg-soft);border:2px dashed var(--c-border);border-radius:var(--r-lg);padding:48px;text-align:center;color:var(--c-text-muted)}.empty-card span[data-v-6224c373]{font-size:36px;display:block;margin-bottom:8px}.empty-card p[data-v-6224c373]{margin-bottom:16px}.ol-host[data-v-9d34ce4d]{display:contents}.ol-btn[data-v-9d34ce4d]{cursor:pointer}.ol-btn-soft[data-v-9d34ce4d]{margin-left:auto;color:var(--c-text-muted);border-color:var(--c-border);background:var(--c-bg-soft)}.ol-btn-soft[data-v-9d34ce4d]:hover{color:var(--c-text);border-color:var(--c-text-muted)}.ol-btn-link[data-v-9d34ce4d]{margin:0;padding:2px 6px;border:none;background:none;color:var(--c-primary);font-size:var(--fs-sm);border-radius:0;white-space:nowrap}.ol-btn-link[data-v-9d34ce4d]:hover{color:var(--c-primary-dark);text-decoration:underline}.ol-btn-hero[data-v-9d34ce4d]{margin-left:auto;background:#ffffff24;border:1px solid rgba(255,255,255,.35);color:#fff}.ol-btn-hero[data-v-9d34ce4d]:hover{background:#ffffff42;color:#fff}.ol-mask[data-v-9d34ce4d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}.ol-dialog[data-v-9d34ce4d]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #0000004d}.ol-head[data-v-9d34ce4d]{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--c-border);background:var(--c-bg-card);z-index:2}.ol-head h2[data-v-9d34ce4d]{font-size:18px;margin:0}.ol-x[data-v-9d34ce4d]{border:none;background:transparent;color:var(--c-text-muted);font-size:18px;cursor:pointer;line-height:1;padding:4px 8px}.ol-x[data-v-9d34ce4d]:hover{color:var(--c-text)}.ol-body[data-v-9d34ce4d]{padding:24px}.ol-meta[data-v-9d34ce4d]{text-align:center;font-size:12px;color:var(--c-text-muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--c-border)}.ol-empty[data-v-9d34ce4d]{padding:32px 0;text-align:center;font-size:14px}.ol-empty p[data-v-9d34ce4d]{margin:0 0 6px;font-weight:600}.ol-list[data-v-9d34ce4d]{display:flex;flex-direction:column;gap:8px}.ol-item[data-v-9d34ce4d]{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-soft)}.ol-item-main[data-v-9d34ce4d]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:1.4}.ol-node[data-v-9d34ce4d]{flex:none;font-size:12px;font-weight:600;padding:1px 8px;border-radius:var(--r-pill)}.ol-status[data-v-9d34ce4d]{flex:none;font-size:12px;font-weight:600;color:var(--c-text-secondary);background:var(--c-bg-card);border:1px solid var(--c-border);padding:0 8px;border-radius:var(--r-pill)}.ol-action[data-v-9d34ce4d]{flex:none;font-size:12px;font-weight:600;color:var(--c-primary);background:var(--c-accent-soft);padding:1px 8px;border-radius:var(--r-pill)}.ol-msg[data-v-9d34ce4d]{flex:1;min-width:200px}.ol-item-sub[data-v-9d34ce4d]{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--c-text-muted)}.tsr[data-v-5e86c58e]{display:inline-block}.tsr-btn[data-v-5e86c58e]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:5px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:12px;display:inline-flex;align-items:center;gap:5px;transition:all var(--t-base);white-space:nowrap}.tsr-btn[data-v-5e86c58e]:hover{background:#ffffff4d}.tsr-badge[data-v-5e86c58e]{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:#ffffff47;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.tsr-mask[data-v-5e86c58e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.tsr-dialog[data-v-5e86c58e]{background:var(--c-bg-card);border-radius:var(--r-xl);width:100%;max-width:1080px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 60px #0000004d;color:var(--c-text)}.tsr-head[data-v-5e86c58e]{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--c-border);background:var(--c-bg-card)}.tsr-head h2[data-v-5e86c58e]{font-size:18px;margin:0}.tsr-head-sub[data-v-5e86c58e]{margin:3px 0 0;font-size:12px;color:var(--c-text-muted)}.tsr-head-actions[data-v-5e86c58e]{display:flex;gap:10px;align-items:center}.tsr-x[data-v-5e86c58e]{border:none;background:transparent;color:var(--c-text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--r-sm);line-height:1}.tsr-x[data-v-5e86c58e]:hover{background:var(--c-bg-soft);color:var(--c-text)}.tsr-body[data-v-5e86c58e]{padding:18px 22px 28px}.tsr-meta[data-v-5e86c58e]{text-align:center;font-size:12px;color:var(--c-text-muted);padding-bottom:14px;margin-bottom:16px;border-bottom:1px dashed var(--c-border)}.tsr-loading[data-v-5e86c58e]{padding:60px 0;text-align:center;color:var(--c-text-muted)}.tsr-empty-block[data-v-5e86c58e]{border:2px dashed var(--c-border);border-radius:var(--r-md);padding:40px 16px;text-align:center;color:var(--c-text-muted)}.tsr-empty-icon[data-v-5e86c58e]{font-size:34px;margin-bottom:6px;opacity:.8}.tsr-empty-block p[data-v-5e86c58e]{margin:0;font-size:13px}.tsr-section[data-v-5e86c58e]{margin-bottom:26px}.tsr-section h3[data-v-5e86c58e]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin:0 0 12px;padding-left:10px;border-left:3px solid var(--c-primary)}.tsr-sec-icon[data-v-5e86c58e]{font-size:15px}.tsr-sec-tag[data-v-5e86c58e]{margin-left:auto;font-size:11px;font-weight:600;color:var(--c-text-muted);background:var(--c-bg-soft);padding:2px 8px;border-radius:var(--r-pill)}.tsr-kpis[data-v-5e86c58e]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.tsr-kpi[data-v-5e86c58e]{background:var(--c-bg-soft);border-radius:var(--r-md);padding:10px 14px;border:1px solid var(--c-border-light)}.tsr-kpi-v[data-v-5e86c58e]{font-size:20px;font-weight:700;line-height:1.2}.tsr-kpi-v.accent[data-v-5e86c58e]{color:var(--c-primary)}.tsr-kpi-l[data-v-5e86c58e]{font-size:11px;color:var(--c-text-muted);margin-top:2px}.tsr-grid-2[data-v-5e86c58e]{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-bottom:12px}.tsr-panel[data-v-5e86c58e]{background:var(--c-bg-card);border:1px solid var(--c-border-light);border-radius:var(--r-md);padding:12px 14px;overflow:auto}.tsr-panel-title[data-v-5e86c58e]{font-size:13px;font-weight:700;color:var(--c-text-secondary);margin-bottom:10px}.tsr-panel-note[data-v-5e86c58e]{font-size:12px;color:var(--c-text-muted);margin:8px 0 0}.tsr-status-row[data-v-5e86c58e]{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px}.tsr-status-name[data-v-5e86c58e]{display:inline-flex;align-items:center;gap:5px;width:58px;flex-shrink:0;color:var(--c-text-secondary)}.tsr-dot[data-v-5e86c58e]{width:8px;height:8px;border-radius:50%;display:inline-block}.tsr-status-bar[data-v-5e86c58e]{flex:1;height:8px;background:var(--c-bg-soft);border-radius:999px;overflow:hidden}.tsr-status-fill[data-v-5e86c58e]{height:100%;border-radius:999px;transition:width .3s}.tsr-status-val[data-v-5e86c58e]{width:108px;text-align:right;color:var(--c-text-secondary);font-size:12px;flex-shrink:0}.tsr-table[data-v-5e86c58e]{width:100%;border-collapse:collapse;font-size:12.5px}.tsr-table.wide[data-v-5e86c58e]{min-width:640px}.tsr-table th[data-v-5e86c58e]{text-align:left;font-weight:600;color:var(--c-text-muted);font-size:11.5px;padding:5px 8px;border-bottom:1px solid var(--c-border);white-space:nowrap}.tsr-table td[data-v-5e86c58e]{padding:6px 8px;border-bottom:1px dashed var(--c-border-light);white-space:nowrap}.tsr-table td.num[data-v-5e86c58e]{font-variant-numeric:tabular-nums}.tsr-table tr:last-child td[data-v-5e86c58e]{border-bottom:none}.tsr-table tbody tr[data-v-5e86c58e]:hover{background:var(--c-bg-soft)}.tsr-owner-avatar[data-v-5e86c58e]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--gradient-primary);color:#fff;font-size:11px;margin-right:6px}.tsr-task-name[data-v-5e86c58e]{font-weight:500;color:var(--c-text)}.tsr-tag[data-v-5e86c58e]{display:inline-block;margin-left:6px;font-size:10px;padding:1px 7px;border-radius:var(--r-pill);font-weight:600}.tsr-tag.danger[data-v-5e86c58e]{background:#fee2e2;color:#b91c1c}.tsr-tag.ok[data-v-5e86c58e]{background:#d1fae5;color:#047857}.tsr-pri[data-v-5e86c58e]{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:var(--r-pill);background:var(--c-bg-soft);color:var(--c-text-secondary)}.tsr-pri.pri-q1[data-v-5e86c58e]{background:#fee2e2;color:#b91c1c}.tsr-pri.pri-q2[data-v-5e86c58e]{background:#fef3c7;color:#b45309}.tsr-pri.pri-q3[data-v-5e86c58e]{background:#dbeafe;color:#1e40af}.tsr-pri.pri-q4[data-v-5e86c58e]{background:#e2e8f0;color:#64748b}.tsr-status-tag[data-v-5e86c58e]{display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;border-radius:var(--r-pill);background:var(--c-bg-soft);color:#475569}.danger[data-v-5e86c58e]{color:#dc2626;font-weight:600}.accent[data-v-5e86c58e]{color:var(--c-primary)}@media (max-width: 820px){.tsr-kpis[data-v-5e86c58e]{grid-template-columns:repeat(2,1fr)}.tsr-grid-2[data-v-5e86c58e]{grid-template-columns:1fr}}@media print{body.printing-task-report *{visibility:hidden}body.printing-task-report #task-report-print,body.printing-task-report #task-report-print *{visibility:visible}body.printing-task-report #task-report-print{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;max-height:none;border-radius:0;box-shadow:none;overflow:visible}body.printing-task-report .no-print{display:none!important}}.dlg-mask[data-v-b5183a79]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dlg[data-v-b5183a79]{background:var(--c-bg-card);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.form-dlg[data-v-b5183a79]{max-width:680px}.dlg-title-row[data-v-b5183a79]{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid var(--c-border-light)}.dlg-title-row h3[data-v-b5183a79]{font-size:16px;color:var(--c-text);flex:1}.dlg-x[data-v-b5183a79]{background:none;border:none;color:var(--c-text-muted);font-size:15px;cursor:pointer;padding:4px 6px}.dlg-x[data-v-b5183a79]:hover{color:var(--c-text)}.dlg-body[data-v-b5183a79]{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.dlg-actions[data-v-b5183a79]{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--c-border-light);background:var(--c-bg-soft)}.f-row[data-v-b5183a79]{display:flex;flex-direction:column;gap:6px}.f-row label[data-v-b5183a79]{font-size:13px;color:var(--c-text-secondary);font-weight:500}.f-row textarea[data-v-b5183a79]{resize:vertical}.two-col[data-v-b5183a79]{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.mini-tip[data-v-b5183a79]{font-size:11px;color:var(--c-text-muted)}.mini-tip.hint[data-v-b5183a79]{color:var(--c-primary)}.quad-grid[data-v-b5183a79]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quad[data-v-b5183a79]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-card);cursor:pointer;transition:all var(--t-base)}.quad[data-v-b5183a79]:hover{border-color:var(--c-primary-light);transform:translateY(-1px)}.quad-label[data-v-b5183a79]{font-size:14px;font-weight:600}.quad-sub[data-v-b5183a79]{font-size:12px;color:var(--c-text-muted)}.link-kind[data-v-b5183a79]{display:flex;gap:6px}.link-kind button[data-v-b5183a79]{flex:1;border:1px solid var(--c-border);background:var(--c-bg-card);border-radius:var(--r-md);padding:7px 4px;font-size:13px;color:var(--c-text-secondary);cursor:pointer;transition:all var(--t-base)}.link-kind button.on[data-v-b5183a79]{background:var(--gradient-primary-soft);border-color:var(--c-primary);color:var(--c-primary);font-weight:600}.err-tip[data-v-b5183a79]{color:#b91c1c;background:var(--c-warn-soft);padding:8px 12px;border-radius:var(--r-md);font-size:13px}.out-box[data-v-b5183a79]{display:flex;flex-direction:column;gap:10px}.out-list[data-v-b5183a79]{display:flex;flex-direction:column;gap:6px}.out-row[data-v-b5183a79]{display:flex;align-items:center;gap:8px;border:1px solid var(--c-border-light);background:var(--c-bg-soft);border-radius:var(--r-md);padding:6px 10px}.out-row.pending[data-v-b5183a79]{border-style:dashed}.out-ic[data-v-b5183a79]{flex:none}.out-name[data-v-b5183a79]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--c-text)}a.out-name[data-v-b5183a79]{color:var(--c-primary);text-decoration:none}a.out-name[data-v-b5183a79]:hover{text-decoration:underline}.out-size[data-v-b5183a79]{flex:none;font-size:12px;color:var(--c-text-muted)}.out-tag[data-v-b5183a79]{flex:none;font-size:11px;color:#b45309;background:#fef3c7;padding:1px 8px;border-radius:var(--r-pill)}.out-del[data-v-b5183a79]{flex:none;background:none;border:none;cursor:pointer;color:var(--c-text-muted);font-size:13px;padding:2px 4px}.out-del[data-v-b5183a79]:hover{color:#b91c1c}.out-del[data-v-b5183a79]:disabled{opacity:.4;cursor:not-allowed}.out-add[data-v-b5183a79]{align-self:flex-start;display:inline-block;cursor:pointer;border:1px dashed var(--c-primary);color:var(--c-primary);background:var(--c-primary-light-soft, transparent);padding:5px 14px;border-radius:var(--r-pill);font-size:13px}.out-add[data-v-b5183a79]:hover{background:var(--c-primary-light-soft, var(--c-bg-hover))}.out-add.off[data-v-b5183a79]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (max-width: 900px){.two-col[data-v-b5183a79]{grid-template-columns:1fr}}.pt-wrap[data-v-e23917bb]{padding:18px 20px 22px}.pt-head[data-v-e23917bb]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.pt-head-l[data-v-e23917bb]{min-width:0}.pt-head .card-title[data-v-e23917bb]{margin:0}.pt-sub[data-v-e23917bb]{margin-top:4px;font-size:12px;color:var(--c-text-secondary)}.pt-sub b[data-v-e23917bb]{color:var(--c-primary)}.pt-head-actions[data-v-e23917bb]{display:flex;align-items:center;gap:8px;flex:none}.pt-alert-bar[data-v-e23917bb]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;margin-bottom:14px;border:1px solid rgba(220,38,38,.35);border-radius:12px;background:linear-gradient(90deg,#ef44441f,#f9731614)}.pt-alert-ic[data-v-e23917bb]{font-size:16px}.pt-alert-t[data-v-e23917bb]{font-weight:600;color:var(--c-text)}.pt-alert-btn[data-v-e23917bb]{border:none;cursor:pointer;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;transition:transform .1s}.pt-alert-btn[data-v-e23917bb]:hover{transform:translateY(-1px)}.pt-alert-btn.late[data-v-e23917bb]{background:#dc2626}.pt-alert-btn.delay[data-v-e23917bb]{background:#e11d48}.pt-alert-btn.soon[data-v-e23917bb]{background:#ea8c1f}.pt-alert-hint[data-v-e23917bb]{margin-left:auto;font-size:12px;color:var(--c-text-secondary)}.pt-ok-bar[data-v-e23917bb]{padding:9px 14px;margin-bottom:14px;font-size:13px;border:1px dashed var(--c-green, #16a34a);border-radius:12px;color:var(--c-green, #16a34a);background:#16a34a0f}.pt-err[data-v-e23917bb]{color:#dc2626;font-size:13px;margin:0 0 10px}.pt-done-tip[data-v-e23917bb]{padding:8px 14px;margin-bottom:14px;font-size:13px;border:1px solid var(--c-green, #16a34a);border-radius:12px;color:var(--c-green, #16a34a);background:#16a34a12}.pt-tools[data-v-e23917bb]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 8px;margin-bottom:14px}.pt-chip-row[data-v-e23917bb]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pt-row-label[data-v-e23917bb]{font-size:12px;color:var(--c-text-secondary);margin-right:2px}.pt-chip[data-v-e23917bb]{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text);font-size:12px;border-radius:999px;padding:4px 12px;transition:all .15s}.pt-chip b[data-v-e23917bb]{font-weight:600;color:var(--c-text-secondary)}.pt-chip[data-v-e23917bb]:hover{border-color:var(--c-primary)}.pt-chip.on[data-v-e23917bb]{border-color:var(--c-primary);background:var(--c-primary);color:#fff;box-shadow:0 2px 6px #6366f14d}.pt-chip.on b[data-v-e23917bb]{color:#fff}.pt-chip.risk[data-v-e23917bb]{background:var(--c-bg-soft)}.pt-chip.risk.on.late[data-v-e23917bb]{border-color:#dc2626;background:#dc2626}.pt-chip.risk.on.delay[data-v-e23917bb]{border-color:#e11d48;background:#e11d48}.pt-chip.risk.on.soon[data-v-e23917bb]{border-color:#d97706;background:#d97706}.pt-chip.risk[data-v-e23917bb]:disabled{opacity:.5;cursor:not-allowed}.pt-chip.risk[data-v-e23917bb]:disabled:hover{border-color:var(--c-border)}.pt-search[data-v-e23917bb]{flex:1;min-width:220px}.pt-loading[data-v-e23917bb],.pt-empty[data-v-e23917bb]{text-align:center;color:var(--c-text-secondary);padding:44px 10px;font-size:13px}.pt-empty-sub[data-v-e23917bb]{margin-top:8px;font-size:12px;color:var(--c-text-secondary)}.pt-list[data-v-e23917bb]{display:flex;flex-direction:column;gap:10px}.pt-item[data-v-e23917bb]{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--c-border-light);border-radius:12px;background:var(--c-bg-soft)}.pt-item.dim[data-v-e23917bb]{opacity:.6}.pt-check[data-v-e23917bb],.pt-check-static[data-v-e23917bb]{width:22px;height:22px;flex:0 0 22px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px;line-height:1}.pt-check[data-v-e23917bb]{border:1.5px solid var(--c-border);background:var(--c-bg-card);cursor:pointer;color:transparent;transition:all .15s}.pt-check[data-v-e23917bb]:hover{border-color:#16a34a;color:#16a34a}.pt-check.done[data-v-e23917bb]{border-color:#16a34a;background:#16a34a;color:#fff}.pt-check-static[data-v-e23917bb]{color:var(--c-border)}.pt-main[data-v-e23917bb]{flex:1;min-width:0}.pt-title-line[data-v-e23917bb]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.pt-prio-dot[data-v-e23917bb]{width:9px;height:9px;border-radius:50%;flex:0 0 9px;display:inline-block}.pt-name[data-v-e23917bb]{font-weight:600;color:var(--c-text);font-size:14px;word-break:break-all}.pt-name.strike[data-v-e23917bb]{text-decoration:line-through}.pt-flag[data-v-e23917bb]{font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;line-height:1.5}.pt-flag.late[data-v-e23917bb]{background:#dc26261f;color:#dc2626}.pt-flag.delay[data-v-e23917bb]{background:#e11d481f;color:#e11d48}.pt-flag.soon[data-v-e23917bb]{background:#d9770624;color:#b45309}.pt-flag.post[data-v-e23917bb]{background:#64748b26;color:#64748b}.pt-src[data-v-e23917bb]{font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;line-height:1.5}.pt-src.opp[data-v-e23917bb]{background:#8b5cf61f;color:#7c3aed}.pt-src.prj[data-v-e23917bb]{background:#0284c71f;color:#0369a1}.pt-detail[data-v-e23917bb]{margin:6px 0 0;font-size:12.5px;color:var(--c-text-secondary);line-height:1.5;word-break:break-all}.pt-meta[data-v-e23917bb]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;font-size:12px;color:var(--c-text-secondary)}.pt-m-chip.late[data-v-e23917bb]{color:#dc2626;font-weight:600}.pt-post-chip[data-v-e23917bb]{font-size:11px;color:#b45309;background:#d977061f;padding:1px 8px;border-radius:999px}.pt-post-chip.bad[data-v-e23917bb]{color:#e11d48;background:#e11d481f;font-weight:600}.pt-spacer[data-v-e23917bb]{flex:1}.pt-prio[data-v-e23917bb]{font-weight:600;font-size:12px}.pt-ops[data-v-e23917bb]{display:inline-flex;gap:6px}.pt-op[data-v-e23917bb]{cursor:pointer;border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);font-size:11px;border-radius:8px;padding:3px 9px;transition:all .15s}.pt-op[data-v-e23917bb]:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary)}.pt-op.primary[data-v-e23917bb]{color:var(--c-primary);border-color:#6366f166}.pt-op.start[data-v-e23917bb]{color:#0ea5e9;border-color:#0ea5e966}.pt-op.danger[data-v-e23917bb]{color:#dc2626;border-color:#dc262659}.pt-op.ghost[data-v-e23917bb]:hover:not(:disabled){border-color:var(--c-border);color:var(--c-text)}.pt-op[data-v-e23917bb]:disabled{opacity:.5;cursor:not-allowed}.pt-pager[data-v-e23917bb]{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;flex-wrap:wrap}.pt-page[data-v-e23917bb]{min-width:30px;height:30px;padding:0 8px;cursor:pointer;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg-card);color:var(--c-text);font-size:13px}.pt-page[data-v-e23917bb]:hover:not(:disabled):not(.on){border-color:var(--c-primary);color:var(--c-primary)}.pt-page.on[data-v-e23917bb]{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.pt-page[data-v-e23917bb]:disabled{opacity:.45;cursor:not-allowed}.pt-page-info[data-v-e23917bb]{margin-left:10px;font-size:12px;color:var(--c-text-secondary)}.tm-wrap[data-v-052a2474]{padding:18px 20px 22px}.tm-head[data-v-052a2474]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.tm-head .card-title[data-v-052a2474]{margin:0}.tm-sub[data-v-052a2474]{margin-top:4px;font-size:12px;color:var(--c-text-secondary)}.tm-sub b[data-v-052a2474]{color:var(--c-primary)}.tm-warn[data-v-052a2474]{color:#b45309;font-weight:600}.tm-head-r[data-v-052a2474]{display:flex;align-items:center;gap:10px}.tm-flash[data-v-052a2474]{font-size:12px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--r-pill);padding:3px 10px}.tm-fade-enter-active[data-v-052a2474],.tm-fade-leave-active[data-v-052a2474]{transition:opacity .2s}.tm-fade-enter-from[data-v-052a2474],.tm-fade-leave-to[data-v-052a2474]{opacity:0}.tm-err[data-v-052a2474]{color:var(--c-warn);font-size:13px;margin:0 0 12px}.tm-grid[data-v-052a2474]{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}.tm-pane[data-v-052a2474]{border:1px solid var(--c-border-light);border-radius:var(--r-lg);background:var(--c-bg-soft);padding:12px}.tm-pane-head[data-v-052a2474]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.tm-pane-head b[data-v-052a2474]{font-size:13px;color:var(--c-text)}.tm-pane-sub[data-v-052a2474]{margin-left:auto;font-size:11.5px;color:var(--c-text-muted)}.tm-step[data-v-052a2474]{width:18px;height:18px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;color:#fff;background:var(--gradient-primary)}.tm-search[data-v-052a2474]{width:100%;padding:7px 10px;font-size:13px;margin-bottom:8px}.tm-emp-list[data-v-052a2474]{max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:2px}.tm-empty-inline[data-v-052a2474]{padding:16px 8px;text-align:center;font-size:12px;color:var(--c-text-muted)}.tm-emp[data-v-052a2474]{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;text-align:left;cursor:pointer;border:1px solid transparent;border-radius:var(--r-md);background:var(--c-bg-card);font:inherit;transition:all var(--t-base, .18s)}.tm-emp[data-v-052a2474]:hover:not(.off){border-color:var(--c-primary-light);box-shadow:var(--shadow-sm);transform:translate(1px)}.tm-emp.added[data-v-052a2474]{background:var(--gradient-primary-soft);border-color:var(--c-primary-light);cursor:default}.tm-emp.off[data-v-052a2474]{opacity:.55;cursor:not-allowed}.tm-avatar[data-v-052a2474]{width:28px;height:28px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.tm-avatar.lg[data-v-052a2474]{width:34px;height:34px;font-size:14px}.tm-emp-info[data-v-052a2474]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tm-emp-name[data-v-052a2474]{font-size:13px;font-weight:600;color:var(--c-text);display:flex;align-items:center;gap:5px}.tm-emp-sub[data-v-052a2474]{font-size:11.5px;color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-add[data-v-052a2474]{font-size:11.5px;font-weight:600;color:var(--c-primary);flex:none}.tm-badge[data-v-052a2474]{flex:none;font-size:10.5px;font-weight:600;line-height:1.6;padding:0 7px;border-radius:var(--r-pill);white-space:nowrap}.tm-badge.in[data-v-052a2474]{background:#d1fae5;color:#047857}.tm-badge.new[data-v-052a2474]{background:#fef3c7;color:#b45309}.tm-badge.dirty[data-v-052a2474]{background:#dbeafe;color:#1e40af}.tm-badge.done[data-v-052a2474]{background:#ecfdf5;color:#047857}.tm-badge.off[data-v-052a2474]{background:#fee2e2;color:#b91c1c}.tm-empty[data-v-052a2474]{text-align:center;padding:34px 16px;color:var(--c-text-secondary)}.tm-empty-ic[data-v-052a2474]{font-size:30px;margin-bottom:6px}.tm-empty p[data-v-052a2474]{margin:2px 0;font-size:13px}.tm-empty-sub[data-v-052a2474]{font-size:12px;color:var(--c-text-muted)}.tm-member-list[data-v-052a2474]{max-height:460px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.tm-member[data-v-052a2474]{padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--c-border-light);border-left:3px solid var(--c-text-muted);background:var(--c-bg-card);transition:box-shadow var(--t-base, .18s),border-color var(--t-base, .18s)}.tm-member.editing[data-v-052a2474]{border-left-color:var(--c-primary);box-shadow:0 0 0 3px #6366f114}.tm-member.hit[data-v-052a2474]{animation:tm-pulse-052a2474 1.2s ease-out}.tm-member.bad[data-v-052a2474]{border-left-color:var(--c-warn)}@keyframes tm-pulse-052a2474{0%{box-shadow:0 0 #6366f173}to{box-shadow:0 0 0 10px #6366f100}}.tm-member-head[data-v-052a2474]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tm-member-who[data-v-052a2474]{display:flex;align-items:center;gap:9px;min-width:0}.tm-member-meta[data-v-052a2474]{min-width:0}.tm-member-name[data-v-052a2474]{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--c-text);flex-wrap:wrap}.tm-member-sub[data-v-052a2474]{font-size:11.5px;color:var(--c-text-muted);margin-top:1px}.tm-member-ops[data-v-052a2474]{display:flex;align-items:center;gap:6px;flex:none}.tm-btn[data-v-052a2474]{cursor:pointer;padding:4px 10px;font-size:12px;font-family:inherit;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-card);color:var(--c-text-secondary);transition:all var(--t-base, .18s)}.tm-btn[data-v-052a2474]:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary)}.tm-btn.primary[data-v-052a2474]{color:var(--c-primary);border-color:#6366f173;font-weight:600}.tm-btn.primary[data-v-052a2474]:hover:not(:disabled){background:var(--c-primary);color:#fff}.tm-btn.danger[data-v-052a2474]{color:var(--c-warn);border-color:#ef444459}.tm-btn.danger[data-v-052a2474]:hover:not(:disabled){background:var(--c-warn);color:#fff}.tm-btn[data-v-052a2474]:disabled{opacity:.45;cursor:not-allowed}.tm-duty-edit[data-v-052a2474]{display:flex;align-items:center;gap:8px;margin-top:8px}.tm-duty-input[data-v-052a2474]{flex:1;min-width:0;padding:6px 10px;font-size:13px}.tm-counter[data-v-052a2474]{flex:none;font-size:11px;color:var(--c-text-muted)}.tm-duty-text[data-v-052a2474]{margin-top:8px;padding:7px 10px;font-size:13px;line-height:1.5;color:var(--c-text);background:var(--c-bg-soft);border-radius:var(--r-sm);word-break:break-word}.tm-duty-text.empty[data-v-052a2474]{color:var(--c-text-muted);font-style:italic}.tm-duty-label[data-v-052a2474]{font-size:11px;font-weight:600;color:var(--c-primary);margin-right:6px}.tm-row-err[data-v-052a2474]{margin:6px 0 0;font-size:12px;color:var(--c-warn)}.tm-tip[data-v-052a2474]{margin:12px 2px 0;font-size:11.5px;line-height:1.6;color:var(--c-text-muted)}@media (max-width: 900px){.tm-grid[data-v-052a2474]{grid-template-columns:1fr}.tm-emp-list[data-v-052a2474],.tm-member-list[data-v-052a2474]{max-height:300px}}.art-progress[data-v-bc363289]{margin-left:10px;font-size:12px;font-weight:600;color:var(--c-text-muted);background:var(--c-bg-soft);border-radius:var(--r-pill);padding:2px 10px}.art-hint[data-v-bc363289]{margin:0;line-height:1.7}.art-hint.collapsed[data-v-bc363289]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.art-hint-toggle[data-v-bc363289]{display:inline-flex;align-items:center;gap:3px;margin:4px 0 12px;padding:1px 8px;font-size:12px;color:var(--c-text-muted);background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:var(--r-pill);cursor:pointer}.art-hint-toggle[data-v-bc363289]:hover{color:var(--c-primary);border-color:var(--c-primary)}.art-hint-arrow[data-v-bc363289]{font-size:10px;transition:transform .15s;display:inline-block}.art-hint-toggle.open .art-hint-arrow[data-v-bc363289]{transform:rotate(180deg)}.art-cats[data-v-bc363289]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px dashed var(--c-border)}.art-cat[data-v-bc363289]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-bg-card);color:var(--c-text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.art-cat[data-v-bc363289]:hover{border-color:var(--c-primary);color:var(--c-primary)}.art-cat.active[data-v-bc363289]{border-color:var(--c-primary);background:var(--c-primary);color:#fff}.art-cat-count[data-v-bc363289]{font-size:11px;opacity:.75;font-variant-numeric:tabular-nums}.art-cat-ops[data-v-bc363289]{display:flex;align-items:center;gap:6px;margin-left:auto}.art-cat-select[data-v-bc363289]{padding:5px 8px;border:1px dashed var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-card);color:var(--c-text-secondary);font-size:12px;cursor:pointer}.art-cat-select[data-v-bc363289]:hover{border-color:var(--c-primary);color:var(--c-primary)}.art-bar[data-v-bc363289]{height:6px;border-radius:var(--r-pill);background:var(--c-bg-soft);overflow:hidden;margin-bottom:14px}.art-bar-fill[data-v-bc363289]{height:100%;background:var(--gradient-primary);border-radius:var(--r-pill);transition:width var(--t-base)}.art-empty[data-v-bc363289]{padding:32px 0;text-align:center}.art-list[data-v-bc363289]{display:flex;flex-direction:column;gap:8px}.art-item[data-v-bc363289]{border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-bg-card);overflow:hidden}.art-item.done[data-v-bc363289]{border-color:#bbf7d0}.art-row[data-v-bc363289]{display:flex;align-items:center;gap:10px;padding:10px 14px}.art-item.done .art-row[data-v-bc363289]{background:#f0fdf4}.art-state[data-v-bc363289]{font-size:15px;flex-shrink:0}.art-main[data-v-bc363289]{flex:1;min-width:0}.art-name-row[data-v-bc363289]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.art-name[data-v-bc363289]{font-size:14px;font-weight:600;color:var(--c-text)}.art-badge[data-v-bc363289]{font-size:11px;font-weight:600;padding:1px 8px;border-radius:var(--r-pill)}.art-badge.todo[data-v-bc363289]{background:#f1f5f9;color:#64748b}.art-badge.ok[data-v-bc363289]{background:#dcfce7;color:#15803d}.art-badge.custom[data-v-bc363289]{background:#ede9fe;color:#6d28d9}.art-toggle[data-v-bc363289]{border:none;background:none;color:var(--c-primary);font-size:12px;cursor:pointer;padding:0}.art-toggle[data-v-bc363289]:hover{text-decoration:underline}.art-meta[data-v-bc363289]{margin-top:3px;font-size:11px;color:var(--c-text-muted);font-family:var(--font-mono);word-break:break-all}.art-ops[data-v-bc363289]{display:flex;align-items:center;gap:6px;flex-shrink:0}.art-review-btn[data-v-bc363289]{white-space:nowrap}.art-review-btn.reviewed[data-v-bc363289]{border-color:#86efac;background:#f0fdf4;color:#15803d;font-weight:600}.art-review-btn.reviewed[data-v-bc363289]:hover{border-color:#16a34a;color:#16a34a}.art-review-btn[data-v-bc363289]:disabled{opacity:.6;cursor:progress}.art-reviewers[data-v-bc363289]{margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}.art-reviewers-label[data-v-bc363289]{color:var(--c-text-muted);font-weight:600}.art-reviewer[data-v-bc363289]{padding:1px 8px;border-radius:var(--r-pill);background:var(--c-bg-soft);border:1px solid var(--c-border-light);color:var(--c-text-secondary);cursor:default}.art-reviewer.me[data-v-bc363289]{background:#dcfce7;border-color:#86efac;color:#15803d;font-weight:600}.art-ops .op-btn[data-v-bc363289]{border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:3px 8px;border-radius:var(--r-sm);font-size:12px;cursor:pointer}.art-ops .op-btn[data-v-bc363289]:hover{border-color:var(--c-primary);color:var(--c-primary)}.art-ops .op-btn.danger[data-v-bc363289]:hover{border-color:var(--c-warn);color:var(--c-warn)}.art-tpl-btn[data-v-bc363289]{text-decoration:none}.btn-upload-label[data-v-bc363289]{display:inline-block;padding:5px 12px;background:var(--gradient-primary);color:#fff;border-radius:var(--r-sm);cursor:pointer;font-size:12px;font-weight:600}.btn-upload-label.busy[data-v-bc363289]{opacity:.6;cursor:progress}.art-files[data-v-bc363289]{border-top:1px dashed var(--c-border);background:var(--c-bg-soft);padding:8px 14px 10px 40px;display:flex;flex-direction:column;gap:6px}.art-file-row[data-v-bc363289]{display:flex;align-items:center;gap:8px}.art-file-icon[data-v-bc363289]{font-size:14px;flex-shrink:0}.art-file-name[data-v-bc363289]{color:var(--c-primary);font-size:13px;font-weight:500;text-decoration:none;word-break:break-all}.art-file-name[data-v-bc363289]:hover{text-decoration:underline}.art-file-meta[data-v-bc363289]{font-size:11px;color:var(--c-text-muted);margin-left:auto;white-space:nowrap}.comm-timeline[data-v-5ea5e156]{display:flex;flex-direction:column;gap:16px;margin-top:12px}.comm-item[data-v-5ea5e156]{display:flex;gap:12px}.comm-dot[data-v-5ea5e156]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;box-shadow:0 0 0 3px var(--c-bg-card)}.form-meeting[data-v-5ea5e156]{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.form-video[data-v-5ea5e156]{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff}.form-phone[data-v-5ea5e156]{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.form-wechat[data-v-5ea5e156]{background:linear-gradient(135deg,#22c55e,#84cc16);color:#fff}.form-email[data-v-5ea5e156]{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.comm-content[data-v-5ea5e156]{flex:1}.comm-header[data-v-5ea5e156]{display:flex;gap:8px;align-items:center;margin-bottom:4px}.comm-actions[data-v-5ea5e156]{margin-left:auto;display:flex;gap:2px;opacity:.55;transition:opacity .15s}.comm-item:hover .comm-actions[data-v-5ea5e156]{opacity:1}.comm-meta[data-v-5ea5e156]{display:flex;gap:8px;font-size:12px;color:var(--c-text-muted);margin-bottom:6px}.comm-body[data-v-5ea5e156]{color:var(--c-text);line-height:1.5;margin:4px 0 8px;padding:8px 12px;background:var(--c-bg-soft);border-radius:var(--r-sm)}.comm-attendees[data-v-5ea5e156]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;font-size:12px}.comm-attendees-label[data-v-5ea5e156]{color:var(--c-text-muted)}.comm-attendee[data-v-5ea5e156]{padding:1px 8px;border-radius:var(--r-pill);color:var(--c-text-secondary);background:var(--c-bg-soft);border:1px solid var(--c-border-light)}.comm-resolutions[data-v-5ea5e156]{margin:8px 0;padding:8px 12px;background:var(--c-bg-soft);border-radius:var(--r-md)}.reso-title[data-v-5ea5e156]{font-size:12px;font-weight:600;color:var(--c-text-secondary);margin-bottom:6px}.reso-row[data-v-5ea5e156]{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px dashed var(--c-border-light)}.reso-row[data-v-5ea5e156]:last-child{border-bottom:none}.reso-status[data-v-5ea5e156]{font-size:16px}.reso-content[data-v-5ea5e156]{flex:1}.reso-owner[data-v-5ea5e156],.reso-due[data-v-5ea5e156]{font-size:12px;color:var(--c-text-muted)}.reso-actions[data-v-5ea5e156]{display:flex;gap:4px}.reso-tag[data-v-5ea5e156]{font-size:11px}.form-hint[data-v-5ea5e156]{margin:5px 0 0;font-size:11px;color:var(--c-text-muted)}.comm-dot.form-custom[data-v-5ea5e156]{background:var(--c-bg-soft)}.form-tag-custom[data-v-5ea5e156]{background:var(--c-bg-soft);color:var(--c-text-secondary);border:1px solid var(--c-border-light)}.form-tag-meeting[data-v-5ea5e156]{background:#e0e7ff;color:#4338ca}.form-tag-face[data-v-5ea5e156]{background:#fce7f3;color:#be185d}.form-tag-video[data-v-5ea5e156]{background:#cffafe;color:#155e75}.form-tag-phone[data-v-5ea5e156]{background:#d1fae5;color:#047857}.form-tag-wechat[data-v-5ea5e156]{background:#ecfccb;color:#4d7c0f}.form-tag-email[data-v-5ea5e156]{background:#fef3c7;color:#b45309}.comm-attachments[data-v-5ea5e156]{margin:8px 0;padding:8px 12px;background:var(--c-bg-soft);border-radius:var(--r-md)}.comm-att-title[data-v-5ea5e156]{font-size:12px;font-weight:600;color:var(--c-text-secondary);margin-bottom:6px}.comm-att-row[data-v-5ea5e156]{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.comm-att-name[data-v-5ea5e156]{color:var(--c-primary);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comm-att-name[data-v-5ea5e156]:hover{text-decoration:underline}.comm-att-size[data-v-5ea5e156]{font-size:12px;color:var(--c-text-muted);flex-shrink:0}.reso-list[data-v-52d47ceb]{display:flex;flex-direction:column;gap:10px}.reso-card[data-v-52d47ceb]{padding:16px 20px;background:var(--c-bg-card);border-radius:var(--r-md);border-left:4px solid var(--c-text-muted);box-shadow:var(--shadow-sm)}.reso-card-head[data-v-52d47ceb]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.reso-status-big[data-v-52d47ceb]{font-size:20px}.reso-card-meta[data-v-52d47ceb]{display:flex;gap:12px;font-size:12px;color:var(--c-text-muted);flex-wrap:wrap}.reso-card-actions[data-v-52d47ceb]{margin-top:10px;display:flex;gap:6px}.att-toolbar[data-v-9efcedc0]{display:flex;gap:8px;align-items:center}.att-type-select[data-v-9efcedc0]{padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--c-border-light);background:var(--c-bg-card);color:var(--c-text);font-size:13px}.btn-upload-label[data-v-9efcedc0]{display:inline-block;padding:8px 14px;background:var(--gradient-primary);color:#fff;border-radius:var(--r-sm);cursor:pointer;font-size:13px;font-weight:600}.att-list[data-v-9efcedc0]{display:flex;flex-direction:column;gap:8px}.att-row[data-v-9efcedc0]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--c-bg-soft);border-radius:var(--r-md)}.att-info[data-v-9efcedc0]{flex:1;min-width:0}.att-name[data-v-9efcedc0]{color:var(--c-primary);font-weight:500;text-decoration:none}.att-name[data-v-9efcedc0]:hover{text-decoration:underline}.att-meta[data-v-9efcedc0]{display:flex;gap:8px;font-size:12px;color:var(--c-text-muted);flex-wrap:wrap}.att-type-tag[data-v-9efcedc0]{padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;background:#f1f5f9;color:#475569}.att-type-contract[data-v-9efcedc0]{background:#e0e7ff;color:#4338ca}.att-type-document[data-v-9efcedc0]{background:#ecfdf5;color:#047857}.att-type-bid_doc[data-v-9efcedc0]{background:#fef3c7;color:#b45309}.att-type-budget[data-v-9efcedc0]{background:#fce7f3;color:#be185d}.att-type-winning_notice[data-v-9efcedc0]{background:#d1fae5;color:#047857}.att-type-ppt[data-v-9efcedc0]{background:#fee2e2;color:#b91c1c}.att-type-image[data-v-9efcedc0]{background:#dbeafe;color:#1e40af}.att-type-video[data-v-9efcedc0]{background:#f3e8ff;color:#7e22ce}.att-type-other[data-v-9efcedc0]{background:#f1f5f9;color:#475569}.att-type-customer_track[data-v-9efcedc0]{background:#e0f2fe;color:#0369a1}.att-type-task_output[data-v-9efcedc0]{background:#fef3c7;color:#b45309}.btn-att-del[data-v-9efcedc0]{background:none;border:none;cursor:pointer;font-size:16px;opacity:.6}.btn-att-del[data-v-9efcedc0]:hover{opacity:1}.att-src[data-v-9efcedc0]{color:var(--c-text-secondary);font-weight:500}.party-tree[data-v-856f41c8]{display:flex;flex-direction:column;gap:8px}.party-root[data-v-856f41c8]{background:var(--c-bg-soft);border-radius:var(--r-md);padding:8px}.party-row[data-v-856f41c8]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--c-bg-card);border-radius:var(--r-sm);border-left:3px solid var(--c-primary);margin-bottom:4px}.party-row.role-owner[data-v-856f41c8]{border-left-color:#6366f1}.party-row.role-gc[data-v-856f41c8]{border-left-color:#8b5cf6}.party-row.role-sub_gc[data-v-856f41c8]{border-left-color:#f59e0b}.party-row.role-sc[data-v-856f41c8]{border-left-color:#10b981}.party-row.role-supplier[data-v-856f41c8]{border-left-color:#06b6d4}.party-row.role-consultant[data-v-856f41c8]{border-left-color:#ec4899}.party-row.role-supervisor[data-v-856f41c8]{border-left-color:#64748b}.party-row.child[data-v-856f41c8]{margin-left:24px;background:var(--c-bg-soft)}.party-info[data-v-856f41c8]{display:flex;align-items:center;gap:8px}.party-role[data-v-856f41c8]{font-size:11px;background:var(--c-primary);color:#fff;padding:2px 8px;border-radius:var(--r-pill);font-weight:600}.party-name[data-v-856f41c8]{font-weight:500;color:var(--c-text)}.party-arrow[data-v-856f41c8]{color:var(--c-text-muted);margin-right:4px}.party-meta[data-v-856f41c8]{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--c-text-secondary)}.party-atts[data-v-856f41c8]{display:flex;flex-direction:column;gap:4px;margin:0 0 6px;padding:6px 10px;background:var(--c-bg-soft);border-radius:var(--r-sm)}.party-att-row[data-v-856f41c8]{display:flex;align-items:center;gap:8px;font-size:12px}.att-ic[data-v-856f41c8]{flex:none}.att-name[data-v-856f41c8]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--c-text)}a.att-name[data-v-856f41c8]{color:var(--c-primary);text-decoration:none}a.att-name[data-v-856f41c8]:hover{text-decoration:underline}.att-meta-inline[data-v-856f41c8]{flex:none;font-size:12px;color:var(--c-text-muted)}.att-box[data-v-856f41c8]{display:flex;flex-direction:column;gap:10px}.att-box-list[data-v-856f41c8]{display:flex;flex-direction:column;gap:6px}.att-box-row[data-v-856f41c8]{display:flex;align-items:center;gap:8px;border:1px solid var(--c-border-light);background:var(--c-bg-soft);border-radius:var(--r-md);padding:6px 10px}.att-box-row.pending[data-v-856f41c8]{border-style:dashed}.att-tag[data-v-856f41c8]{flex:none;font-size:11px;color:#b45309;background:#fef3c7;padding:1px 8px;border-radius:var(--r-pill)}.att-del[data-v-856f41c8]{flex:none;background:none;border:none;cursor:pointer;color:var(--c-text-muted);font-size:13px;padding:2px 4px}.att-del[data-v-856f41c8]:hover{color:#b91c1c}.att-del[data-v-856f41c8]:disabled{opacity:.4;cursor:not-allowed}.att-add[data-v-856f41c8]{align-self:flex-start;display:inline-block;cursor:pointer;border:1px dashed var(--c-primary);color:var(--c-primary);background:var(--c-primary-light-soft, transparent);padding:5px 14px;border-radius:var(--r-pill);font-size:13px}.att-add[data-v-856f41c8]:hover{background:var(--c-primary-light-soft, var(--c-bg-hover))}.att-add.off[data-v-856f41c8]{opacity:.5;cursor:not-allowed;pointer-events:none}.mini-tip[data-v-856f41c8]{font-size:11px;color:var(--c-text-muted)}.pdv .dialog-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.pdv .dialog{background:#fff;border-radius:var(--r-xl);width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.pdv .dialog.small{width:400px}.pdv .dialog-head{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.pdv .dialog-head h3{color:var(--c-text);font-size:16px}.pdv .dialog-head>.btn-ghost-x{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.pdv .dialog-head>.btn-ghost-x:hover{background:var(--c-bg-soft);color:var(--c-text)}.pdv .form{padding:20px 24px 24px}.pdv .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pdv .form-row{margin-bottom:14px}.pdv .form-row>label{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.pdv .form-row>input,.pdv .form-row>select,.pdv .form-row>textarea{width:100%}.pdv .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.pdv .err{color:var(--c-warn);font-size:13px;margin-top:4px}@media (max-width: 768px){.pdv .form-grid-2{grid-template-columns:1fr}}.pdv .card-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pdv .card-title-row .card-title{margin-bottom:0}.pdv .st-draft{background:#f1f5f9;color:#475569}.pdv .st-pending{background:#fef3c7;color:#b45309}.pdv .st-approved{background:#d1fae5;color:#047857}.pdv .st-rejected{background:#fee2e2;color:#b91c1c}.pdv .st-in_progress{background:#dbeafe;color:#1e40af}.pdv .st-completed{background:#f3e8ff;color:#7e22ce}.pdv .st-settled{background:#cffafe;color:#155e75}.pdv .st-open{background:#fef3c7;color:#b45309}.pdv .st-completed{background:#d1fae5;color:#047857}.pdv .st-cancelled,.pdv .st-overdue{background:#fee2e2;color:#b91c1c}.pdv .btn-sm{padding:5px 10px;font-size:12px}.pdv .btn-link{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:13px;padding:2px 6px}.pdv .btn-link:hover{text-decoration:underline}.pdv .btn-link.ok{color:#047857}.pdv .btn-link.danger{color:var(--c-warn)}.pdv .muted{color:var(--c-text-muted);font-size:13px}.pdv .att-icon{font-size:20px}.pdv .reso-row.reso-open,.pdv .reso-card.reso-open{border-left-color:#f59e0b;background:linear-gradient(90deg,#fffbeb 0%,var(--c-bg-card) 30%)}.pdv .reso-row.reso-completed,.pdv .reso-card.reso-completed{border-left-color:#10b981;background:linear-gradient(90deg,#ecfdf5 0%,var(--c-bg-card) 30%);opacity:.85}.pdv .reso-row.reso-cancelled,.pdv .reso-card.reso-cancelled{border-left-color:#ef4444;opacity:.6}.pdv .reso-row.reso-overdue,.pdv .reso-card.reso-overdue{border-left-color:#ef4444}.pdv .pp-hint[data-v-388b4d7d]{margin:0 0 12px;line-height:1.7}.pdv .pp-summary[data-v-388b4d7d]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-bg-soft)}.pdv .pp-sum-item[data-v-388b4d7d]{display:flex;flex-direction:column;gap:2px;min-width:110px;flex:1}.pdv .pp-sum-label[data-v-388b4d7d]{font-size:12px;color:var(--c-text-muted)}.pdv .pp-sum-value[data-v-388b4d7d]{font-size:16px;font-weight:600;color:var(--c-text)}.pdv .pp-sum-value.ok[data-v-388b4d7d]{color:#047857}.pdv .pp-sum-value.warn[data-v-388b4d7d]{color:#b45309}.pdv .pp-list[data-v-388b4d7d]{display:flex;flex-direction:column;gap:8px}.pdv .pp-item[data-v-388b4d7d]{border:1px solid var(--c-border-light);border-radius:var(--r-md);border-left:3px solid var(--c-border);background:var(--c-bg-card);padding:10px 14px}.pdv .pp-item.done[data-v-388b4d7d]{border-left-color:#10b981;background:#f0fdf4}.pdv .pp-item.overdue[data-v-388b4d7d]{border-left-color:#ef4444;background:linear-gradient(90deg,#fef2f2 0%,var(--c-bg-card) 30%)}.pdv .pp-head[data-v-388b4d7d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pdv .pp-name[data-v-388b4d7d]{font-size:14px;font-weight:600;color:var(--c-text)}.pdv .pp-amount[data-v-388b4d7d]{margin-left:auto;font-size:13px;font-weight:600;color:var(--c-text-secondary)}.pdv .pp-badge[data-v-388b4d7d]{font-size:11px;font-weight:600;padding:1px 8px;border-radius:var(--r-pill)}.pdv .pp-st-pending[data-v-388b4d7d]{background:#fef3c7;color:#b45309}.pdv .pp-st-reminded[data-v-388b4d7d]{background:#dbeafe;color:#1e40af}.pdv .pp-st-received[data-v-388b4d7d]{background:#d1fae5;color:#047857}.pdv .pp-st-cancelled[data-v-388b4d7d]{background:#f1f5f9;color:#64748b}.pdv .pp-st-overdue[data-v-388b4d7d]{background:#fee2e2;color:#b91c1c}.pdv .pp-desc[data-v-388b4d7d]{margin-top:4px;font-size:13px;color:var(--c-text-secondary);line-height:1.6}.pdv .pp-meta[data-v-388b4d7d]{margin-top:4px;display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--c-text-muted)}.pdv .pp-ops[data-v-388b4d7d]{margin-top:6px;display:flex;flex-wrap:wrap;gap:2px}.pdv .pp-dict-empty[data-v-388b4d7d]{margin:4px 0 0;font-size:11px;line-height:1.6}.pdv .pp-top-ops[data-v-388b4d7d]{display:flex;align-items:center;gap:8px}.pdv .pp-recs[data-v-388b4d7d]{margin-top:8px;display:flex;flex-direction:column;gap:4px;padding-left:10px;border-left:2px dashed var(--c-border)}.pdv .pp-rec[data-v-388b4d7d]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:5px 8px;border-radius:var(--r-sm);background:var(--c-bg-soft);font-size:12px;color:var(--c-text-secondary)}.pdv .pp-rec.receipt[data-v-388b4d7d]{background:#f0fdf4}.pdv .pp-rec-type[data-v-388b4d7d]{font-weight:600;color:var(--c-text)}.pdv .pp-rec-date[data-v-388b4d7d]{color:var(--c-text-muted)}.pdv .pp-rec-amt[data-v-388b4d7d]{font-weight:600;color:var(--c-text)}.pdv .pp-rec-invoice[data-v-388b4d7d],.pdv .pp-rec-note[data-v-388b4d7d],.pdv .pp-rec-by[data-v-388b4d7d]{color:var(--c-text-muted)}.pdv .pp-rec-photo[data-v-388b4d7d]{display:inline-block;width:34px;height:34px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--c-border-light)}.pdv .pp-rec-photo img[data-v-388b4d7d]{width:100%;height:100%;object-fit:cover;display:block}.pdv .pp-rec-del[data-v-388b4d7d]{margin-left:auto}.pdv .pp-type-switch[data-v-388b4d7d]{display:flex;gap:8px}.pdv .pp-type-btn[data-v-388b4d7d]{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-card);font-size:13px;font-weight:600;color:var(--c-text-secondary);cursor:pointer}.pdv .pp-type-btn.active[data-v-388b4d7d]{border-color:var(--c-primary);background:#f5f3ff;color:var(--c-primary)}.pdv .pp-type-sub[data-v-388b4d7d]{font-size:11px;font-weight:400;color:var(--c-text-muted)}.pdv .pp-files[data-v-388b4d7d]{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pdv .pp-file[data-v-388b4d7d]{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid var(--c-border-light);border-radius:var(--r-sm);background:var(--c-bg-soft);font-size:11px;color:var(--c-text-secondary)}.pdv .pp-rec-tip[data-v-388b4d7d]{margin:10px 0 0;font-size:12px;line-height:1.7}.pdv .pp-preview[data-v-388b4d7d]{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;border:1px dashed var(--c-primary);border-radius:var(--r-md);background:#f5f3ff;font-size:13px;color:var(--c-text);line-height:1.6}.pdv .pp-preview-ic[data-v-388b4d7d]{font-size:16px}.opp-info .info-grid[data-v-45398124]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.opp-info .info-item[data-v-45398124]{padding:12px 16px;background:var(--c-bg-soft);border-radius:var(--r-md)}.opp-info .info-item.opp-wide[data-v-45398124]{grid-column:1 / -1}.opp-info .info-label[data-v-45398124]{font-size:12px;color:var(--c-text-muted);margin-bottom:4px}.opp-info .info-value[data-v-45398124]{font-size:14px;color:var(--c-text);font-weight:500}.opp-info .info-value.muted[data-v-45398124]{color:var(--c-text-muted);font-weight:400}.opp-info .opp-stage-tag[data-v-45398124]{margin-left:6px;background:#eef2ff;color:#4338ca}.opp-info .lv-chip[data-v-45398124]{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:700;line-height:1.7;white-space:nowrap}.opp-info .lv-chip.lv-s[data-v-45398124]{background:#e11d48;color:#fff}.opp-info .lv-chip.lv-a[data-v-45398124]{background:#f59e0b;color:#fff}.opp-info .lv-chip.lv-b[data-v-45398124]{background:#0ea5e9;color:#fff}.opp-info .lv-chip.lv-c[data-v-45398124]{background:#94a3b8;color:#fff}.opp-info .lv-chip.lv-none[data-v-45398124]{background:var(--c-bg-soft);color:var(--c-text-muted);border:1px dashed var(--c-border)}.opp-info .opp-sec-title[data-v-45398124]{font-size:15px;font-weight:600;color:var(--c-text);margin:16px 0 10px}.opp-info .note-list[data-v-45398124]{display:flex;flex-direction:column;gap:10px}.opp-info .note-item[data-v-45398124]{padding:10px 14px;background:var(--c-bg-soft);border-left:3px solid var(--c-primary);border-radius:var(--r-md)}.opp-info .note-title[data-v-45398124]{font-size:13px;font-weight:600;margin-bottom:4px}.opp-info .note-content[data-v-45398124]{font-size:13px;color:var(--c-text-secondary);white-space:pre-wrap}.hero[data-v-c378aa7f]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:28px 32px;color:#fff;margin-bottom:16px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-c378aa7f]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-row[data-v-c378aa7f]{display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;z-index:1;flex-wrap:wrap}.hero-info[data-v-c378aa7f]{flex:1;min-width:0}.hero-tag[data-v-c378aa7f]{display:inline-flex;align-items:center;gap:8px;background:#fff3;padding:4px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:600;margin-bottom:8px}.hero-code[data-v-c378aa7f]{opacity:.7;font-family:var(--font-mono)}.hero-title[data-v-c378aa7f]{font-size:26px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.hero-meta[data-v-c378aa7f]{display:flex;gap:10px;align-items:center;font-size:13px;opacity:.9;flex-wrap:wrap}.dot[data-v-c378aa7f]{width:3px;height:3px;background:#ffffff80;border-radius:50%}.status-dot[data-v-c378aa7f]{width:6px;height:6px;background:#fbbf24;border-radius:50%;box-shadow:0 0 6px #fbbf24}.dot-approved[data-v-c378aa7f]{background:#10b981;box-shadow:0 0 6px #10b981}.dot-in_progress[data-v-c378aa7f]{background:#3b82f6;box-shadow:0 0 6px #3b82f6}.dot-rejected[data-v-c378aa7f]{background:#ef4444;box-shadow:0 0 6px #ef4444}.dot-completed[data-v-c378aa7f]{background:#8b5cf6;box-shadow:0 0 6px #8b5cf6}.dot-cancelled[data-v-c378aa7f]{background:#cbd5e1;box-shadow:0 0 6px #cbd5e1}.pdv .info-value .st-cancelled[data-v-c378aa7f]{background:#f1f5f9;color:#475569}.hero-amount[data-v-c378aa7f]{text-align:right;flex-shrink:0}.hero-amount-label[data-v-c378aa7f]{font-size:12px;opacity:.8;margin-bottom:4px}.hero-amount-num[data-v-c378aa7f]{font-size:32px;font-weight:700;letter-spacing:-1px}.hero-actions[data-v-c378aa7f]{margin-top:10px;display:flex;gap:6px;justify-content:flex-end}.btn-hero-edit[data-v-c378aa7f],.btn-hero-cancel[data-v-c378aa7f]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:5px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:12px}.btn-hero-edit[data-v-c378aa7f]:hover{background:#ffffff4d}.btn-hero-cancel[data-v-c378aa7f]:hover{background:#ffffff59;border-color:#ffffff80}.tabs[data-v-c378aa7f]{display:flex;gap:4px;background:var(--c-bg-card);border-radius:var(--r-pill);padding:4px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid var(--c-border-light);width:fit-content}.tab[data-v-c378aa7f]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:all var(--t-base)}.tab[data-v-c378aa7f]:hover{background:var(--c-bg-soft)}.tab.active[data-v-c378aa7f]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.tab-icon[data-v-c378aa7f]{font-size:14px}.tab-count[data-v-c378aa7f]{background:var(--c-bg-soft);padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;color:var(--c-text-muted)}.tab.active .tab-count[data-v-c378aa7f]{background:#ffffff40;color:#fff}.sub-tabs[data-v-c378aa7f]{display:flex;gap:20px;width:fit-content}.sub-tabs .tab[data-v-c378aa7f]{gap:6px;padding:6px 2px;border:none;border-radius:0;background:none;box-shadow:none;font-family:inherit;font-size:13px;font-weight:500;white-space:nowrap;color:var(--c-text-muted)}.sub-tabs .tab[data-v-c378aa7f]:hover{background:none;color:var(--c-text-secondary)}.sub-tabs .tab.active[data-v-c378aa7f]{background:none;box-shadow:none;color:var(--c-text);font-weight:600}.info-grid[data-v-c378aa7f]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-item[data-v-c378aa7f]{padding:12px 16px;background:var(--c-bg-soft);border-radius:var(--r-md)}.info-label[data-v-c378aa7f]{font-size:12px;color:var(--c-text-muted);margin-bottom:4px}.info-value[data-v-c378aa7f]{font-size:14px;color:var(--c-text);font-weight:500}.info-value.muted[data-v-c378aa7f]{color:var(--c-text-muted);font-weight:400}.cls-chips[data-v-c378aa7f]{display:flex;flex-wrap:wrap;gap:6px}.cls-chip[data-v-c378aa7f]{padding:3px 12px;font-size:12px;font-weight:500;color:var(--c-text-secondary);background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-pill);cursor:pointer;transition:all var(--t-base)}.cls-chip[data-v-c378aa7f]:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary)}.cls-chip[data-v-c378aa7f]:disabled{cursor:not-allowed;opacity:.6}.cls-chip.active[data-v-c378aa7f]{background:var(--gradient-primary);border-color:var(--c-primary);color:#fff;box-shadow:var(--shadow-primary)}.nodes[data-v-c378aa7f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.node[data-v-c378aa7f]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-md);background:var(--c-bg-soft);color:var(--c-text-muted);font-size:13px;transition:all var(--t-base)}.node.active[data-v-c378aa7f]{background:var(--c-revenue-soft);color:var(--c-primary)}.node.current[data-v-c378aa7f]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);transform:scale(1.05)}.node-circle[data-v-c378aa7f]{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--c-text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.node.active .node-circle[data-v-c378aa7f]{color:var(--c-primary)}.node.current .node-circle[data-v-c378aa7f]{background:#fff;color:var(--c-primary)}.node-name[data-v-c378aa7f]{font-weight:600}.node-desc[data-v-c378aa7f]{font-size:11px;opacity:.85}.node-arrow[data-v-c378aa7f]{color:var(--c-text-muted);font-size:18px;margin:0 4px;opacity:.4}.actions[data-v-c378aa7f]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.success-banner[data-v-c378aa7f]{background:var(--c-income-soft);color:#047857;padding:10px 16px;border-radius:var(--r-md);font-weight:600;font-size:14px}.rejected-banner[data-v-c378aa7f]{background:var(--c-warn-soft);color:#b91c1c;padding:10px 16px;border-radius:var(--r-md);font-weight:600;font-size:14px}.cancelled-banner[data-v-c378aa7f]{background:var(--c-bg-soft);color:#475569;border:1px solid var(--c-border);padding:10px 16px;border-radius:var(--r-md);font-weight:600;font-size:14px}.advance-next-hint[data-v-c378aa7f]{display:flex;align-items:center;gap:8px;color:var(--c-text-muted);font-size:13px}.advance-next-hint b[data-v-c378aa7f]{color:var(--c-text)}.advance-tag[data-v-c378aa7f]{background:var(--c-primary-soft, rgba(99, 102, 241, .12));color:var(--c-primary);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.opp-tag-lead[data-v-c378aa7f]{background:#e0e7ff;color:#4338ca}.opp-tag-tracking[data-v-c378aa7f]{background:#fef3c7;color:#b45309}.opp-tag-quoted[data-v-c378aa7f]{background:#f3e8ff;color:#7e22ce}.opp-tag-won[data-v-c378aa7f]{background:#d1fae5;color:#047857}.opp-tag-lost[data-v-c378aa7f]{background:#fee2e2;color:#b91c1c}.opp-tag-cancelled[data-v-c378aa7f]{background:#f1f5f9;color:#475569}.topbar-back[data-v-c378aa7f]{margin-bottom:12px}@media (max-width: 768px){.info-grid[data-v-c378aa7f]{grid-template-columns:1fr}}.hero[data-v-28fe8e62]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-28fe8e62]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-28fe8e62]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-28fe8e62]{flex:1}.hero-num[data-v-28fe8e62]{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-label[data-v-28fe8e62]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-28fe8e62]{width:1px;height:48px;background:#ffffff40}.grid-2[data-v-28fe8e62]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-span-2[data-v-28fe8e62]{grid-column:1 / -1}.muted[data-v-28fe8e62]{color:var(--c-text-muted);font-size:13px}.funnel[data-v-28fe8e62]{display:flex;flex-direction:column;gap:10px;margin-top:12px}.funnel-row[data-v-28fe8e62]{display:grid;grid-template-columns:100px 1fr 130px;gap:12px;align-items:center}.funnel-label[data-v-28fe8e62]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-secondary);font-weight:500}.funnel-icon[data-v-28fe8e62]{font-size:14px}.funnel-bar-wrap[data-v-28fe8e62]{height:28px;background:var(--c-bg-soft);border-radius:var(--r-md);overflow:hidden}.funnel-bar[data-v-28fe8e62]{height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 10px;border-radius:var(--r-md);color:#fff;font-weight:600;font-size:12px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:40px}.bar-lead[data-v-28fe8e62]{background:linear-gradient(90deg,#a5b4fc,#6366f1)}.bar-tracking[data-v-28fe8e62]{background:linear-gradient(90deg,#fde68a,#f59e0b)}.bar-quoted[data-v-28fe8e62]{background:linear-gradient(90deg,#c4b5fd,#8b5cf6)}.bar-won[data-v-28fe8e62]{background:linear-gradient(90deg,#6ee7b7,#10b981)}.bar-lost[data-v-28fe8e62]{background:linear-gradient(90deg,#fca5a5,#ef4444)}.bar-cancelled[data-v-28fe8e62]{background:linear-gradient(90deg,#cbd5e1,#64748b)}.funnel-count[data-v-28fe8e62]{white-space:nowrap}.funnel-meta[data-v-28fe8e62]{font-size:12px;color:var(--c-text);text-align:right;font-family:var(--font-mono)}.funnel-meta .muted[data-v-28fe8e62]{font-size:10px;margin-left:2px}.chart-svg[data-v-28fe8e62]{width:100%;height:280px;margin-top:12px;color:var(--c-text-secondary)}.bar-chart-vertical[data-v-28fe8e62]{display:flex;align-items:flex-end;gap:16px;height:240px;padding:12px 0;margin-top:8px;border-bottom:2px solid var(--c-border-light)}.bar-col[data-v-28fe8e62]{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bar-value[data-v-28fe8e62]{font-size:11px;color:var(--c-text-secondary);font-weight:600;font-family:var(--font-mono)}.bar[data-v-28fe8e62]{width:100%;max-width:60px;background:var(--gradient-primary);border-radius:6px 6px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;color:#fff;font-weight:600;font-size:12px;transition:all var(--t-base);min-height:30px;box-shadow:0 2px 8px #6366f14d}.bar[data-v-28fe8e62]:hover{background:linear-gradient(180deg,#8b5cf6,#6366f1);transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.bar-count[data-v-28fe8e62]{font-size:11px}.bar-name[data-v-28fe8e62]{font-size:12px;color:var(--c-text-secondary);font-weight:500;text-align:center;margin-top:4px}.donut-wrap[data-v-28fe8e62]{display:flex;gap:24px;align-items:center;margin-top:12px}.donut[data-v-28fe8e62]{width:200px;height:200px;flex-shrink:0}.donut-legend[data-v-28fe8e62]{flex:1;display:flex;flex-direction:column;gap:8px}.legend-item[data-v-28fe8e62]{display:flex;align-items:center;gap:8px;font-size:13px}.legend-dot[data-v-28fe8e62]{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-label[data-v-28fe8e62]{color:var(--c-text);flex:1}.legend-value[data-v-28fe8e62]{color:var(--c-text-muted);font-family:var(--font-mono);font-size:12px}.industry-list[data-v-28fe8e62]{display:flex;flex-direction:column;gap:8px;margin-top:12px}.industry-row[data-v-28fe8e62]{display:grid;grid-template-columns:140px 1fr 100px;gap:12px;align-items:center}.ind-label[data-v-28fe8e62]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}.ind-icon[data-v-28fe8e62]{width:28px;height:28px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:14px}.ind-bg-government[data-v-28fe8e62]{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.ind-bg-construction[data-v-28fe8e62]{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.ind-bg-municipal[data-v-28fe8e62]{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.ind-bg-real_estate[data-v-28fe8e62]{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.ind-bg-infrastructure[data-v-28fe8e62]{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.ind-bg-manufacturing[data-v-28fe8e62]{background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.ind-bg-tech[data-v-28fe8e62]{background:linear-gradient(135deg,#ecfeff,#cffafe)}.ind-bg-other[data-v-28fe8e62]{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.ind-bar-wrap[data-v-28fe8e62]{height:16px;background:var(--c-bg-soft);border-radius:var(--r-pill);overflow:hidden}.ind-bar[data-v-28fe8e62]{height:100%;border-radius:var(--r-pill);transition:width .6s ease}.ind-bg-government[data-v-28fe8e62]{background:linear-gradient(90deg,#c7d2fe,#818cf8)}.ind-bg-construction[data-v-28fe8e62]{background:linear-gradient(90deg,#fde68a,#fbbf24)}.ind-bg-municipal[data-v-28fe8e62]{background:linear-gradient(90deg,#6ee7b7,#34d399)}.ind-bg-real_estate[data-v-28fe8e62]{background:linear-gradient(90deg,#fca5a5,#f87171)}.ind-bg-infrastructure[data-v-28fe8e62]{background:linear-gradient(90deg,#7dd3fc,#38bdf8)}.ind-bg-manufacturing[data-v-28fe8e62]{background:linear-gradient(90deg,#c4b5fd,#a78bfa)}.ind-bg-tech[data-v-28fe8e62]{background:linear-gradient(90deg,#67e8f9,#22d3ee)}.ind-bg-other[data-v-28fe8e62]{background:linear-gradient(90deg,#cbd5e1,#94a3b8)}.ind-meta[data-v-28fe8e62]{text-align:right;font-size:13px}.ind-meta b[data-v-28fe8e62]{color:var(--c-text);margin-right:4px}.ind-meta .muted[data-v-28fe8e62]{font-size:11px}@media (max-width: 1024px){.grid-2[data-v-28fe8e62]{grid-template-columns:1fr}.donut-wrap[data-v-28fe8e62]{flex-direction:column}.hero-inner[data-v-28fe8e62]{flex-wrap:wrap}.hero-divider[data-v-28fe8e62]{display:none}}.profile-page[data-v-5122e056]{max-width:720px;margin:0 auto}.page-head[data-v-5122e056]{margin-bottom:20px}.page-title[data-v-5122e056]{font-size:20px;font-weight:700;color:var(--c-text);margin:0}.page-desc[data-v-5122e056]{font-size:13px;color:var(--c-text-muted);margin:4px 0 0}.card[data-v-5122e056]{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:20px 24px;margin-bottom:16px;box-shadow:var(--shadow-card)}.card-title[data-v-5122e056]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--c-text);margin-bottom:16px}.card-title-bar[data-v-5122e056]{width:3px;height:16px;border-radius:2px;background:var(--gradient-primary)}.profile-info[data-v-5122e056]{display:flex;gap:32px;align-items:flex-start}.avatar-section[data-v-5122e056]{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.avatar-wrap[data-v-5122e056]{position:relative}.avatar-big[data-v-5122e056]{width:88px;height:88px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;overflow:hidden;box-shadow:var(--shadow-primary)}.avatar-img[data-v-5122e056]{width:100%;height:100%;object-fit:cover}.avatar-text[data-v-5122e056]{line-height:1}.avatar-upload-btn[data-v-5122e056]{position:absolute;right:-4px;bottom:-2px;width:28px;height:28px;border-radius:50%;background:var(--c-bg-card);border:2px solid var(--c-bg-card);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:transform var(--t-fast)}.avatar-upload-btn[data-v-5122e056]:hover{transform:scale(1.1)}.avatar-tip[data-v-5122e056]{font-size:12px;color:var(--c-text-muted);margin:0}.info-grid[data-v-5122e056]{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.info-item[data-v-5122e056]{display:flex;flex-direction:column;gap:2px}.info-label[data-v-5122e056]{font-size:12px;color:var(--c-text-muted)}.info-value[data-v-5122e056]{font-size:14px;color:var(--c-text);font-weight:500}.pwd-form[data-v-5122e056]{display:flex;flex-direction:column;gap:14px;max-width:420px}.form-row[data-v-5122e056]{display:flex;flex-direction:column;gap:6px}.form-row label[data-v-5122e056]{font-size:13px;color:var(--c-text-secondary);font-weight:500}.input-wrap[data-v-5122e056]{position:relative;display:flex;align-items:center}.input-wrap .input-icon[data-v-5122e056]{position:absolute;left:12px;font-size:14px;pointer-events:none}.input-wrap input[data-v-5122e056]{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:14px;background:var(--c-bg-soft);color:var(--c-text);transition:all var(--t-fast);box-sizing:border-box}.input-wrap input[data-v-5122e056]:focus{outline:none;border-color:var(--c-primary-light);background:var(--c-bg-card);box-shadow:0 0 0 3px var(--c-primary-soft)}.form-actions[data-v-5122e056]{display:flex;gap:10px;margin-top:4px}.btn[data-v-5122e056]{padding:9px 20px;border-radius:var(--r-md);font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all var(--t-fast)}.btn[data-v-5122e056]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-5122e056]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary-sm)}.btn-primary[data-v-5122e056]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary)}.btn-ghost[data-v-5122e056]{background:transparent;color:var(--c-text-secondary);border-color:var(--c-border)}.btn-ghost[data-v-5122e056]:hover:not(:disabled){background:var(--c-bg-soft);color:var(--c-text)}.err[data-v-5122e056]{font-size:13px;color:var(--c-danger);margin:0;padding:8px 12px;background:var(--c-danger-soft);border-radius:var(--r-md)}.success[data-v-5122e056]{font-size:13px;color:var(--c-success);margin:0;padding:8px 12px;background:var(--c-success-soft);border-radius:var(--r-md)}@media (max-width: 640px){.profile-info[data-v-5122e056]{flex-direction:column;align-items:center;gap:20px}.info-grid[data-v-5122e056]{grid-template-columns:1fr;width:100%}}.toolbar[data-v-2809b9d3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-2809b9d3]{margin-bottom:4px}.search[data-v-2809b9d3]{width:200px}.kanban[data-v-2809b9d3]{display:grid;grid-template-columns:repeat(var(--cols, 6),1fr);gap:12px;min-height:70vh}.kanban-col[data-v-2809b9d3]{background:var(--c-bg-soft);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;transition:all var(--t-base);border:2px solid transparent}.kanban-col.col-drop[data-v-2809b9d3]{border-color:var(--c-primary);background:var(--gradient-primary-soft);transform:scale(1.01)}.col-header[data-v-2809b9d3]{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--r-md);color:#fff;font-weight:600;font-size:14px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#94a3b8,#64748b)}.header-lead[data-v-2809b9d3]{background:linear-gradient(135deg,#818cf8,#6366f1)}.header-tracking[data-v-2809b9d3]{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.header-quoted[data-v-2809b9d3]{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.header-won[data-v-2809b9d3]{background:linear-gradient(135deg,#34d399,#10b981)}.header-lost[data-v-2809b9d3]{background:linear-gradient(135deg,#f87171,#ef4444)}.header-cancelled[data-v-2809b9d3]{background:linear-gradient(135deg,#94a3b8,#64748b)}.col-icon[data-v-2809b9d3]{font-size:16px}.col-label[data-v-2809b9d3]{flex:1}.col-count[data-v-2809b9d3]{background:#ffffff4d;padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600}.col-risk[data-v-2809b9d3]{background:#ffffffd9;color:#b91c1c;padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:700}.col-amount[data-v-2809b9d3]{font-size:11px;color:var(--c-text-muted);margin:8px 4px 4px;font-family:var(--font-mono);font-weight:500}.col-body[data-v-2809b9d3]{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-top:4px;min-height:200px}.opp-card[data-v-2809b9d3]{background:var(--c-bg-card);border-radius:var(--r-md);padding:12px;cursor:grab;transition:all var(--t-base);border:1px solid var(--c-border-light);box-shadow:var(--shadow-sm)}.opp-card[data-v-2809b9d3]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--c-primary-light)}.opp-card[data-v-2809b9d3]:active{cursor:grabbing}.opp-card.card-dragging[data-v-2809b9d3]{opacity:.4;transform:scale(.98)}.card-title[data-v-2809b9d3]{font-weight:600;color:var(--c-text);font-size:13px;margin-bottom:8px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-risk[data-v-2809b9d3]{display:inline-block;margin-bottom:6px;background:#fff1f2;border:1px solid #fecdd3;color:#b91c1c;font-size:11px;font-weight:700;border-radius:var(--r-pill);padding:1px 8px}.card-meta[data-v-2809b9d3]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--c-text-secondary);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-icon[data-v-2809b9d3]{opacity:.7;flex-shrink:0}.card-amount[data-v-2809b9d3]{color:var(--c-revenue);font-weight:600;font-family:var(--font-mono)}.card-foot[data-v-2809b9d3]{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed var(--c-border-light);font-size:11px;color:var(--c-text-muted)}.card-owner[data-v-2809b9d3]{display:flex;align-items:center;gap:4px}.mini-avatar[data-v-2809b9d3]{width:18px;height:18px;background:var(--gradient-primary-soft);color:var(--c-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:10px}.card-tracks[data-v-2809b9d3]{color:var(--c-accent);font-weight:500}.col-empty[data-v-2809b9d3]{text-align:center;color:var(--c-text-muted);padding:24px 0;border:2px dashed var(--c-border);border-radius:var(--r-md);font-size:12px}.col-empty div[data-v-2809b9d3]{font-size:24px;margin-bottom:4px}.col-empty p[data-v-2809b9d3]{margin:0}.lv-badge-row[data-v-2809b9d3]{margin-bottom:6px}.lv-chip[data-v-2809b9d3]{display:inline-flex;align-items:center;border-radius:var(--r-pill);padding:0 8px;font-size:10px;font-weight:700;line-height:1.8;white-space:nowrap}.lv-chip.lv-s[data-v-2809b9d3]{background:#e11d48;color:#fff}.lv-chip.lv-a[data-v-2809b9d3]{background:#f59e0b;color:#fff}.lv-chip.lv-b[data-v-2809b9d3]{background:#0ea5e9;color:#fff}.lv-chip.lv-c[data-v-2809b9d3]{background:#94a3b8;color:#fff}.lv-chip.lv-none[data-v-2809b9d3]{background:var(--c-bg-soft);color:var(--c-text-muted)}.toast[data-v-2809b9d3]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:var(--c-text);color:#fff;padding:12px 24px;border-radius:var(--r-pill);font-size:14px;box-shadow:var(--shadow-xl);z-index:200;font-weight:500}.toast-success[data-v-2809b9d3]{background:var(--c-income)}.toast-error[data-v-2809b9d3]{background:var(--c-warn)}.fade-enter-active[data-v-2809b9d3],.fade-leave-active[data-v-2809b9d3]{transition:opacity .2s,transform .2s}.fade-enter-from[data-v-2809b9d3],.fade-leave-to[data-v-2809b9d3]{opacity:0;transform:translate(-50%) translateY(10px)}@media (max-width: 1024px){.kanban[data-v-2809b9d3]{grid-template-columns:repeat(2,1fr)}}.form-card[data-v-bf0f97b9]{background:linear-gradient(135deg,#fafbff,#f8fafc);border:1px solid var(--c-border)}.form-grid[data-v-bf0f97b9]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid .full[data-v-bf0f97b9]{grid-column:1 / -1}.form-row[data-v-bf0f97b9]{margin-bottom:14px}.form-row label[data-v-bf0f97b9]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.form-row input[data-v-bf0f97b9],.form-row select[data-v-bf0f97b9],.form-row textarea[data-v-bf0f97b9]{width:100%;box-sizing:border-box}.form-row textarea[data-v-bf0f97b9]{resize:vertical;line-height:1.6;font-family:inherit;min-height:68px}.form-actions[data-v-bf0f97b9]{margin-top:20px;display:flex;gap:8px;justify-content:flex-end}.pending-files[data-v-bf0f97b9]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pending-file[data-v-bf0f97b9]{display:inline-flex;align-items:center;gap:6px;background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:var(--r-pill);padding:3px 10px;font-size:12px}.pending-file .x[data-v-bf0f97b9]{border:none;background:transparent;color:var(--c-warn);cursor:pointer;font-size:13px;line-height:1;padding:0}@media (max-width: 768px){.form-grid[data-v-bf0f97b9]{grid-template-columns:1fr}}.dialog-mask[data-v-8f76a0dc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.dialog[data-v-8f76a0dc]{background:#fff;border-radius:var(--r-xl);width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.dialog-head[data-v-8f76a0dc]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.dialog-head h3[data-v-8f76a0dc]{color:var(--c-text);font-size:16px}.btn-ghost-x[data-v-8f76a0dc]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.btn-ghost-x[data-v-8f76a0dc]:hover{background:var(--c-bg-soft);color:var(--c-text)}.form[data-v-8f76a0dc]{padding:20px 24px 24px}.form-grid-2[data-v-8f76a0dc]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row[data-v-8f76a0dc]{margin-bottom:14px}.form-row label[data-v-8f76a0dc]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.form-row input[data-v-8f76a0dc],.form-row select[data-v-8f76a0dc],.form-row textarea[data-v-8f76a0dc]{width:100%;box-sizing:border-box}.form-row textarea[data-v-8f76a0dc]{resize:vertical;line-height:1.6;font-family:inherit;min-height:68px}.period-picker[data-v-8f76a0dc]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.period-picker input[data-v-8f76a0dc]{flex:1 1 150px;width:auto;min-width:130px}.period-sep[data-v-8f76a0dc]{font-size:13px;color:var(--c-text-muted)}.period-err[data-v-8f76a0dc]{margin-top:4px;font-size:12px;color:var(--c-warn)}.dialog-actions[data-v-8f76a0dc]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.err[data-v-8f76a0dc]{color:var(--c-warn);font-size:13px;margin-top:4px}.report-mask[data-v-7642d55e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.report-dialog[data-v-7642d55e]{background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);width:100%;max-width:760px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #0000004d}.report-head[data-v-7642d55e]{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--c-border);background:var(--c-bg-card);z-index:2}.report-head h2[data-v-7642d55e]{font-size:18px;margin:0}.report-actions[data-v-7642d55e]{display:flex;gap:8px;align-items:center}.btn-ghost-x[data-v-7642d55e]{border:none;background:transparent;color:var(--c-text-muted);font-size:18px;cursor:pointer;line-height:1;padding:4px 8px}.btn-ghost-x[data-v-7642d55e]:hover{color:var(--c-text)}.report-body[data-v-7642d55e]{padding:24px}.report-company[data-v-7642d55e]{font-size:15px;font-weight:700;color:var(--c-primary);text-align:center;margin-bottom:4px}.report-meta[data-v-7642d55e]{text-align:center;font-size:12px;color:var(--c-text-muted);margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed var(--c-border)}.report-section[data-v-7642d55e]{margin-bottom:24px}.report-section h3[data-v-7642d55e]{font-size:15px;font-weight:700;margin:0 0 12px;padding-left:10px;border-left:3px solid var(--c-primary)}.report-grid[data-v-7642d55e]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px}.report-item[data-v-7642d55e]{display:flex;flex-direction:column;gap:2px}.report-item label[data-v-7642d55e]{font-size:12px;color:var(--c-text-muted)}.report-item span[data-v-7642d55e]{font-size:14px;font-weight:500}.report-track[data-v-7642d55e]{padding:12px 14px;border:1px solid var(--c-border);border-radius:var(--r-md);margin-bottom:10px;background:var(--c-bg-soft)}.report-track-head[data-v-7642d55e]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;margin-bottom:6px}.report-tag[data-v-7642d55e]{background:var(--c-primary-soft);color:var(--c-primary-dark);padding:2px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600}.report-track-content[data-v-7642d55e]{font-size:14px;margin:4px 0;line-height:1.6}.report-track-sent[data-v-7642d55e]{font-size:12px;color:var(--c-text-secondary);margin-top:4px}.report-track-att[data-v-7642d55e]{font-size:12px;color:var(--c-primary);margin-top:4px}.report-foot[data-v-7642d55e]{margin-top:8px;padding-top:16px;border-top:1px solid var(--c-border);font-size:12px;color:var(--c-text-muted);text-align:center}.muted[data-v-7642d55e]{color:var(--c-text-muted);font-size:13px}@media print{body.printing-report *{visibility:hidden}body.printing-report #follow-report,body.printing-report #follow-report *{visibility:visible}body.printing-report #follow-report{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;max-height:none;box-shadow:none;border-radius:0}body.printing-report .no-print{display:none!important}}.card-title-row[data-v-fb596c98]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.timeline[data-v-fb596c98]{display:flex;flex-direction:column;gap:0;margin-top:16px;position:relative}.timeline[data-v-fb596c98]:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:2px;background:var(--c-border)}.timeline-item[data-v-fb596c98]{display:flex;gap:16px;padding-bottom:20px;position:relative}.timeline-dot[data-v-fb596c98]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;flex-shrink:0;z-index:1;box-shadow:0 0 0 3px var(--c-bg-card)}.timeline-content[data-v-fb596c98]{flex:1;padding-top:2px}.timeline-header[data-v-fb596c98]{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--c-text-muted);margin-bottom:6px;flex-wrap:wrap}.timeline-date[data-v-fb596c98]{font-weight:600;color:var(--c-text)}.timeline-method[data-v-fb596c98]{background:var(--c-bg-soft);padding:2px 8px;border-radius:var(--r-pill);font-weight:500}.timeline-body[data-v-fb596c98]{color:var(--c-text);margin:4px 0 8px;line-height:1.5}.timeline-lead-time[data-v-fb596c98],.timeline-lead-source[data-v-fb596c98]{font-size:12px;color:var(--c-text-secondary)}.timeline-lead-source[data-v-fb596c98]{color:var(--c-accent-dark)}.sentiment-chips[data-v-fb596c98]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sent-chip[data-v-fb596c98]{padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500;background:var(--c-bg-soft);color:var(--c-text-secondary)}.sent-chip.trend[data-v-fb596c98]{background:#f3e8ff;color:#7e22ce}.sent-chip.comp[data-v-fb596c98]{background:var(--c-warn-soft);color:#b91c1c}.sent-chip.next[data-v-fb596c98]{background:var(--c-revenue-soft);color:var(--c-primary)}.track-attachments[data-v-fb596c98]{margin:8px 0;padding:8px 12px;background:var(--c-bg-soft);border-radius:var(--r-md)}.track-att-title[data-v-fb596c98]{font-size:12px;font-weight:600;color:var(--c-text-secondary);margin-bottom:6px}.track-att-link[data-v-fb596c98]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-primary);text-decoration:none;padding:2px 0}.track-att-link[data-v-fb596c98]:hover{text-decoration:underline}.track-att-size[data-v-fb596c98]{color:var(--c-text-muted);font-size:11px;margin-left:auto}.timeline-actions[data-v-fb596c98]{margin-top:8px;text-align:right}.att-hint[data-v-b6458685]{margin:0 0 12px}.att-toolbar[data-v-b6458685]{display:flex;gap:8px;align-items:center}.att-type-select[data-v-b6458685]{padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--c-border-light);background:var(--c-bg-card);color:var(--c-text);font-size:13px}.btn-upload-label[data-v-b6458685]{display:inline-block;padding:8px 14px;background:var(--gradient-primary);color:#fff;border-radius:var(--r-sm);cursor:pointer;font-size:13px;font-weight:600}.att-list[data-v-b6458685]{display:flex;flex-direction:column;gap:8px}.att-row[data-v-b6458685]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--c-bg-soft);border-radius:var(--r-md)}.att-icon[data-v-b6458685]{font-size:20px}.att-info[data-v-b6458685]{flex:1;min-width:0}.att-name[data-v-b6458685]{color:var(--c-primary);font-weight:500;text-decoration:none}.att-name[data-v-b6458685]:hover{text-decoration:underline}.att-meta[data-v-b6458685]{display:flex;gap:8px;font-size:12px;color:var(--c-text-muted);flex-wrap:wrap}.att-type-tag[data-v-b6458685]{padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;background:#f1f5f9;color:#475569}.att-type-contract[data-v-b6458685]{background:#e0e7ff;color:#4338ca}.att-type-document[data-v-b6458685]{background:#ecfdf5;color:#047857}.att-type-bid_doc[data-v-b6458685]{background:#fef3c7;color:#b45309}.att-type-budget[data-v-b6458685]{background:#fce7f3;color:#be185d}.att-type-winning_notice[data-v-b6458685]{background:#d1fae5;color:#047857}.att-type-ppt[data-v-b6458685]{background:#fee2e2;color:#b91c1c}.att-type-image[data-v-b6458685]{background:#dbeafe;color:#1e40af}.att-type-video[data-v-b6458685]{background:#f3e8ff;color:#7e22ce}.att-type-other[data-v-b6458685]{background:#f1f5f9;color:#475569}.att-type-customer_track[data-v-b6458685]{background:#e0f2fe;color:#0369a1}.btn-att-del[data-v-b6458685]{background:none;border:none;cursor:pointer;font-size:16px;opacity:.6}.btn-att-del[data-v-b6458685]:hover{opacity:1}.att-src[data-v-b6458685]{color:var(--c-text-secondary);font-weight:500}.card-title-row[data-v-ee6f16e2]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.note-empty[data-v-ee6f16e2]{padding:24px;text-align:center}.note-form[data-v-ee6f16e2]{margin:12px 0 16px;padding:14px 16px;background:linear-gradient(135deg,#fafbff,#f8fafc);border:1px solid var(--c-border);border-radius:var(--r-md)}.note-form-row[data-v-ee6f16e2]{margin-bottom:12px}.note-form-row label[data-v-ee6f16e2]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.note-form-row textarea[data-v-ee6f16e2]{width:100%;box-sizing:border-box;resize:vertical;line-height:1.6;font-family:inherit;min-height:88px}.note-form-actions[data-v-ee6f16e2]{display:flex;gap:8px;justify-content:flex-end}.note-list[data-v-ee6f16e2]{display:flex;flex-direction:column;gap:12px;margin-top:16px}.note-item[data-v-ee6f16e2]{padding:12px 14px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-card)}.note-item.editing[data-v-ee6f16e2]{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-revenue-soft)}.note-head[data-v-ee6f16e2]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.note-title[data-v-ee6f16e2]{font-weight:600;color:var(--c-text)}.note-time[data-v-ee6f16e2]{font-size:12px;color:var(--c-text-muted);flex-shrink:0}.note-content[data-v-ee6f16e2]{color:var(--c-text);line-height:1.6;white-space:pre-wrap;word-break:break-word;margin:0 0 8px}.note-foot[data-v-ee6f16e2]{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--c-text-muted)}.note-actions[data-v-ee6f16e2]{display:flex;gap:12px}.note-actions .danger[data-v-ee6f16e2]{color:var(--c-warn)}@media (max-width: 768px){.note-head[data-v-ee6f16e2]{flex-direction:column;align-items:flex-start;gap:4px}}.card-title-row[data-v-055fc70c]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.detail-hint[data-v-055fc70c]{font-size:12px;color:var(--c-text-muted)}.detail-grid[data-v-055fc70c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:12px}.detail-item[data-v-055fc70c]{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--c-border-light)}.detail-item.full[data-v-055fc70c]{grid-column:1 / -1}.detail-label[data-v-055fc70c]{flex:0 0 118px;font-size:13px;color:var(--c-text-muted)}.detail-value[data-v-055fc70c]{flex:1;font-size:13px;color:var(--c-text);line-height:1.6;white-space:pre-wrap;word-break:break-word}.detail-value.muted[data-v-055fc70c]{color:var(--c-text-muted)}.detail-foot[data-v-055fc70c]{margin:10px 0 0;font-size:12px;color:var(--c-text-muted)}@media (max-width: 768px){.detail-grid[data-v-055fc70c]{grid-template-columns:1fr}}.muted[data-v-6dab086a]{color:var(--c-text-muted);font-size:13px}.topbar-back[data-v-6dab086a]{margin-bottom:12px}.tabs[data-v-6dab086a]{display:flex;gap:4px;background:var(--c-bg-card);border-radius:var(--r-pill);padding:4px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid var(--c-border-light);width:fit-content;flex-wrap:wrap}.tab[data-v-6dab086a]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:all var(--t-base)}.tab[data-v-6dab086a]:hover{background:var(--c-bg-soft)}.tab.active[data-v-6dab086a]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.tab-icon[data-v-6dab086a]{font-size:14px}.tab-count[data-v-6dab086a]{background:var(--c-bg-soft);padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;color:var(--c-text-muted)}.tab.active .tab-count[data-v-6dab086a]{background:#ffffff40;color:#fff}.hero[data-v-6dab086a]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:28px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-6dab086a]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-row[data-v-6dab086a]{display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;z-index:1;flex-wrap:wrap}.hero-info[data-v-6dab086a]{flex:1;min-width:0}.hero-tag[data-v-6dab086a]{display:inline-block;background:#fff3;padding:4px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:600;margin-bottom:8px}.hero-title[data-v-6dab086a]{font-size:26px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.hero-meta[data-v-6dab086a]{display:flex;gap:10px;align-items:center;font-size:13px;opacity:.9;flex-wrap:wrap}.dot[data-v-6dab086a]{width:3px;height:3px;background:#ffffff80;border-radius:50%}.hero-amount[data-v-6dab086a]{text-align:right;flex-shrink:0}.hero-amount-label[data-v-6dab086a]{font-size:12px;opacity:.8;margin-bottom:4px}.hero-amount-num[data-v-6dab086a]{font-size:32px;font-weight:700;letter-spacing:-1px}.hero-actions[data-v-6dab086a]{margin-top:10px;display:flex;gap:6px;justify-content:flex-end}.btn-hero-edit[data-v-6dab086a],.btn-hero-cancel[data-v-6dab086a],.btn-hero-restore[data-v-6dab086a]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:5px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:12px;transition:all var(--t-base)}.btn-hero-edit[data-v-6dab086a]:hover{background:#ffffff4d}.btn-hero-cancel[data-v-6dab086a]:hover{background:#ffffff59;border-color:#ffffff80}.btn-hero-restore[data-v-6dab086a]{background:#10b981d9;border-color:#10b981;font-weight:600}.btn-hero-restore[data-v-6dab086a]:hover{background:#059669f2;border-color:#059669}.hero-actions[data-v-6dab086a] .ol-btn-hero{margin-left:0}.hero-actions[data-v-6dab086a] .ol-btn{font-size:12px;padding:5px 10px}.nodes[data-v-6dab086a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.node[data-v-6dab086a]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-md);background:var(--c-bg-soft);color:var(--c-text-muted);font-size:13px;transition:all var(--t-base)}.node.active[data-v-6dab086a]{background:var(--c-revenue-soft);color:var(--c-primary)}.node.current[data-v-6dab086a]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);transform:scale(1.05)}.node-circle[data-v-6dab086a]{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--c-text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.node.active .node-circle[data-v-6dab086a]{color:var(--c-primary)}.node.current .node-circle[data-v-6dab086a]{background:#fff;color:var(--c-primary)}.node-name[data-v-6dab086a]{font-weight:600}.node-desc[data-v-6dab086a]{font-size:11px;opacity:.85}.node-arrow[data-v-6dab086a]{color:var(--c-text-muted);font-size:18px;margin:0 4px;opacity:.4}.actions[data-v-6dab086a]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.success-banner[data-v-6dab086a]{background:var(--c-income-soft);color:#047857;padding:10px 16px;border-radius:var(--r-md);font-weight:600;font-size:14px}.success-banner.related[data-v-6dab086a]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.related-link[data-v-6dab086a]{color:var(--c-primary);text-decoration:none;font-weight:500;background:#fff9;padding:4px 10px;border-radius:var(--r-pill);font-size:13px}.related-link[data-v-6dab086a]:hover{background:#fffffff2;text-decoration:none}.lost-banner[data-v-6dab086a]{background:var(--c-warn-soft);color:#b91c1c;padding:10px 16px;border-radius:var(--r-md);font-weight:600;font-size:14px}.cancelled-banner[data-v-6dab086a]{background:var(--c-bg-soft);color:#475569;border:1px solid var(--c-border);padding:10px 16px;border-radius:var(--r-md);font-weight:600;font-size:14px}@media (max-width: 768px){.hero-row[data-v-6dab086a]{flex-direction:column;align-items:flex-start}.hero-amount[data-v-6dab086a]{text-align:left}}.card-title-row[data-v-6dab086a]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.node-actions[data-v-6dab086a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.node-actions a.btn-download[data-v-6dab086a]{text-decoration:none;background:var(--c-bg-card);color:var(--c-text-secondary);border:1px solid var(--c-border)}.node-actions a.btn-download[data-v-6dab086a]:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-revenue-soft)}.overdue-banner[data-v-6dab086a]{display:flex;align-items:center;gap:12px;background:#fff1f2;border:1px solid #fecdd3;border-left:4px solid #f43f5e;color:#7f1d1d;border-radius:var(--r-md);padding:10px 16px;margin-bottom:12px;flex-wrap:wrap}.overdue-banner.severe[data-v-6dab086a]{background:#fef2f2;border-color:#fca5a5;border-left-color:#dc2626}.ob-icon[data-v-6dab086a]{font-size:20px}.ob-text[data-v-6dab086a]{flex:1;min-width:220px;font-size:13px;line-height:1.6}.ob-text b[data-v-6dab086a]{color:#b91c1c}.ob-days[data-v-6dab086a]{font-size:15px}.ob-action[data-v-6dab086a]{background:#e11d48;border:none;color:#fff;font-weight:600}.ob-action[data-v-6dab086a]:hover{background:#be123c}.hero-tags[data-v-6dab086a]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lv-hero-tag[data-v-6dab086a]{color:#fff!important;border:1px solid rgba(255,255,255,.35)}.lv-hero-tag.lv-hero-s[data-v-6dab086a]{background:#e11d48}.lv-hero-tag.lv-hero-a[data-v-6dab086a]{background:#f59e0b}.lv-hero-tag.lv-hero-b[data-v-6dab086a]{background:#0ea5e9}.lv-hero-tag.lv-hero-c[data-v-6dab086a]{background:#64748b}.level-card .card-title-row[data-v-6dab086a]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.level-hint[data-v-6dab086a]{font-size:12px;color:var(--c-text-muted)}.level-options[data-v-6dab086a]{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 2px}.level-opt[data-v-6dab086a]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border:1.5px solid var(--c-border);background:var(--c-bg-soft);border-radius:var(--r-sm);cursor:pointer;text-align:left;transition:all var(--t-base);min-width:108px}.level-opt b[data-v-6dab086a]{font-size:13px;color:var(--c-text)}.level-opt span[data-v-6dab086a]{font-size:11px;color:var(--c-text-muted)}.level-opt[data-v-6dab086a]:hover{border-color:var(--c-primary-light)}.level-opt.active[data-v-6dab086a]{background:#fff}.qd-mask[data-v-6dab086a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--s-6);z-index:2200}.qd-dialog[data-v-6dab086a]{position:relative;width:100%;max-width:420px;padding:var(--s-6);background:var(--c-bg-card);color:var(--c-text);border-radius:var(--r-xl);box-shadow:0 24px 60px #0000004d}.qd-head[data-v-6dab086a]{display:flex;align-items:flex-start;gap:var(--s-3)}.qd-icon[data-v-6dab086a]{flex:none;width:44px;height:44px;border-radius:50%;background:var(--c-revenue-soft);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}.qd-text[data-v-6dab086a]{flex:1;min-width:0;padding-right:20px}.qd-title[data-v-6dab086a]{font-size:var(--fs-lg);font-weight:600;line-height:1.3;margin-bottom:6px}.qd-msg[data-v-6dab086a]{font-size:var(--fs-base);color:var(--c-text-secondary);line-height:1.6}.qd-x[data-v-6dab086a]{position:absolute;top:14px;right:14px;width:28px;height:28px;border:none;border-radius:var(--r-sm);background:none;color:var(--c-text-muted);font-size:15px;line-height:1;cursor:pointer;transition:all var(--t-base)}.qd-x[data-v-6dab086a]:hover{background:var(--c-bg-soft);color:var(--c-text)}.qd-field[data-v-6dab086a]{margin-top:var(--s-5)}.qd-field>label[data-v-6dab086a]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--c-text-secondary)}.qd-required[data-v-6dab086a]{color:var(--c-warn)}.qd-tip[data-v-6dab086a]{margin-top:6px;font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.6}.qd-actions[data-v-6dab086a]{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}.qd-actions .btn[data-v-6dab086a]{min-width:92px}.qd-spin[data-v-6dab086a]{width:13px;height:13px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:qd-spin-6dab086a .7s linear infinite}@keyframes qd-spin-6dab086a{to{transform:rotate(360deg)}}.qd-enter-active[data-v-6dab086a],.qd-leave-active[data-v-6dab086a]{transition:opacity var(--t-base)}.qd-enter-from[data-v-6dab086a],.qd-leave-to[data-v-6dab086a]{opacity:0}.qd-enter-active .qd-dialog[data-v-6dab086a]{transition:transform var(--t-base)}.qd-enter-from .qd-dialog[data-v-6dab086a]{transform:translateY(8px) scale(.96)}.level-opt.active.lv-s[data-v-6dab086a]{border-color:#e11d48;box-shadow:0 0 0 3px #ffe4e6}.level-opt.active.lv-s b[data-v-6dab086a]{color:#e11d48}.level-opt.active.lv-a[data-v-6dab086a]{border-color:#f59e0b;box-shadow:0 0 0 3px #fef3c7}.level-opt.active.lv-a b[data-v-6dab086a]{color:#b45309}.level-opt.active.lv-b[data-v-6dab086a]{border-color:#0ea5e9;box-shadow:0 0 0 3px #e0f2fe}.level-opt.active.lv-b b[data-v-6dab086a]{color:#0369a1}.level-opt.active.lv-c[data-v-6dab086a]{border-color:#94a3b8;box-shadow:0 0 0 3px #f1f5f9}.level-opt.active.lv-c b[data-v-6dab086a]{color:#475569}.level-opt.active.lv-none[data-v-6dab086a]{border-color:var(--c-border);box-shadow:0 0 0 3px var(--c-bg-soft)}.level-opt[data-v-6dab086a]:disabled{opacity:.6;cursor:wait}.level-tip[data-v-6dab086a]{margin:8px 0 0;font-size:13px;color:#047857}.topbar-back[data-v-6647750d]{margin-bottom:12px}.hero[data-v-6647750d]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:28px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-6647750d]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-6647750d]{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.hero-icon[data-v-6647750d]{font-size:48px;width:72px;height:72px;background:#ffffff26;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero-title[data-v-6647750d]{font-size:26px;font-weight:700;margin-bottom:6px;letter-spacing:-.5px}.hero-sub[data-v-6647750d]{font-size:14px;opacity:.9}.form-card[data-v-6647750d]{background:linear-gradient(135deg,#fafbff,#f8fafc);border:1px solid var(--c-border)}.form-grid-2[data-v-6647750d]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row[data-v-6647750d]{margin-bottom:0}.form-row label[data-v-6647750d]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.form-row input[data-v-6647750d],.form-row select[data-v-6647750d],.form-row textarea[data-v-6647750d]{width:100%;box-sizing:border-box;font:inherit;padding:9px 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-card);color:var(--c-text);outline:none;transition:border-color var(--t-base),box-shadow var(--t-base)}.form-row input[data-v-6647750d]:focus,.form-row select[data-v-6647750d]:focus,.form-row textarea[data-v-6647750d]:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}.form-row textarea[data-v-6647750d]{resize:vertical;line-height:1.6;min-height:68px}.hint[data-v-6647750d]{font-size:12px;color:var(--c-primary);margin-top:4px}.period-picker[data-v-6647750d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.period-picker input[data-v-6647750d]{flex:1 1 180px;min-width:150px}.period-sep[data-v-6647750d]{font-size:13px;color:var(--c-text-muted)}.period-days[data-v-6647750d]{font-size:12px;color:var(--c-primary);background:var(--c-primary-soft);border-radius:var(--r-pill);padding:2px 10px}.period-err[data-v-6647750d]{margin-top:4px;font-size:12px;color:var(--c-warn)}.amount-input[data-v-6647750d]{position:relative}.amount-prefix[data-v-6647750d]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--c-text-muted);font-size:14px;font-weight:600;z-index:1}.amount-input input[data-v-6647750d]{padding-left:28px}.flow-grid[data-v-6647750d]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.flow-item[data-v-6647750d]{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--c-bg-soft);border-radius:var(--r-md);border:1px solid var(--c-border-light)}.flow-icon[data-v-6647750d]{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--c-bg-card);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-shrink:0}.flow-label[data-v-6647750d]{font-size:12px;color:var(--c-text-muted);margin-bottom:2px}.flow-value[data-v-6647750d]{font-size:14px;color:var(--c-text);font-weight:600}.form-actions[data-v-6647750d]{display:flex;gap:12px;justify-content:flex-end}.btn-primary[data-v-6647750d]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.err[data-v-6647750d]{color:var(--c-warn);margin-top:12px;font-size:13px}.lv-form-row[data-v-6647750d]{margin-top:16px}.level-picker[data-v-6647750d]{display:flex;gap:8px;flex-wrap:wrap}.lv-option[data-v-6647750d]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border:1.5px solid var(--c-border);background:var(--c-bg-card);border-radius:var(--r-sm);cursor:pointer;text-align:left;transition:all var(--t-base);min-width:104px}.lv-option b[data-v-6647750d]{font-size:13px;color:var(--c-text)}.lv-option span[data-v-6647750d]{font-size:11px;color:var(--c-text-muted)}.lv-option[data-v-6647750d]:hover{border-color:var(--c-primary-light)}.lv-option.active[data-v-6647750d]{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}.lv-option.active.lv-s[data-v-6647750d]{border-color:#e11d48;box-shadow:0 0 0 3px #ffe4e6}.lv-option.active.lv-a[data-v-6647750d]{border-color:#f59e0b;box-shadow:0 0 0 3px #fef3c7}.lv-option.active.lv-b[data-v-6647750d]{border-color:#0ea5e9;box-shadow:0 0 0 3px #e0f2fe}.lv-option.active.lv-c[data-v-6647750d]{border-color:#94a3b8;box-shadow:0 0 0 3px #f1f5f9}@media (max-width: 768px){.form-grid-2[data-v-6647750d],.flow-grid[data-v-6647750d]{grid-template-columns:1fr}}.muted[data-v-e82ec50d]{color:var(--c-text-muted);font-size:13px}.center-pad[data-v-e82ec50d]{padding:48px 0;text-align:center}.err-box[data-v-e82ec50d]{background:var(--c-warn-soft);color:#b91c1c;padding:14px 18px;border-radius:var(--r-md);font-size:14px}.page-head[data-v-e82ec50d]{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-title[data-v-e82ec50d]{font-size:20px;font-weight:700;color:var(--c-text);margin:0}.page-sub[data-v-e82ec50d]{margin:4px 0 0;font-size:13px;color:var(--c-text-muted)}.range-pills[data-v-e82ec50d]{display:inline-flex;background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:var(--r-pill);padding:3px;gap:2px}.range-pill[data-v-e82ec50d]{border:none;background:transparent;color:var(--c-text-secondary);padding:6px 16px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:all var(--t-base);font-weight:500}.range-pill.active[data-v-e82ec50d]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.kpi-grid[data-v-e82ec50d]{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-bottom:16px}.kpi-tile[data-v-e82ec50d]{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:14px 14px 12px;transition:transform var(--t-base),box-shadow var(--t-base)}.kpi-tile[data-v-e82ec50d]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0f172a14}.kpi-tile.won[data-v-e82ec50d]{border-color:#a7f3d0;background:linear-gradient(160deg,#ecfdf5,var(--c-bg-card))}.kpi-tile.lost[data-v-e82ec50d]{border-color:#fecaca;background:linear-gradient(160deg,#fef2f2,var(--c-bg-card))}.kpi-label[data-v-e82ec50d]{font-size:12px;color:var(--c-text-muted);font-weight:500}.kpi-value[data-v-e82ec50d]{font-size:22px;font-weight:700;color:var(--c-text);margin-top:6px;letter-spacing:-.5px;line-height:1.15}.kpi-value.num[data-v-e82ec50d]{font-family:var(--font-mono)}.kpi-tile.won .kpi-value[data-v-e82ec50d]{color:#047857}.kpi-tile.lost .kpi-value[data-v-e82ec50d]{color:#b91c1c}.kpi-hint[data-v-e82ec50d]{margin-top:4px;font-size:11px;color:var(--c-text-muted)}.card[data-v-e82ec50d]{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:18px 20px;margin-bottom:16px}.card-title-row[data-v-e82ec50d]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.card-title[data-v-e82ec50d]{font-size:15px;font-weight:700;color:var(--c-text)}.card-hint[data-v-e82ec50d]{font-size:12px;color:var(--c-text-muted)}.funnel[data-v-e82ec50d]{display:flex;flex-direction:column;gap:9px}.funnel-row[data-v-e82ec50d]{display:grid;grid-template-columns:88px 1fr 180px;gap:12px;align-items:center}.funnel-label[data-v-e82ec50d]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-secondary);font-weight:500}.funnel-icon[data-v-e82ec50d]{font-size:14px}.funnel-bar-wrap[data-v-e82ec50d]{height:26px;background:var(--c-bg-soft);border-radius:var(--r-md);overflow:hidden}.funnel-bar[data-v-e82ec50d]{height:100%;border-radius:var(--r-md);display:flex;align-items:center;justify-content:flex-end;padding:0 8px;color:#fff;font-weight:700;font-size:12px;min-width:30px;transition:width .6s cubic-bezier(.4,0,.2,1)}.fb-lead[data-v-e82ec50d]{background:linear-gradient(90deg,#c7d2fe,#818cf8)}.fb-tracking[data-v-e82ec50d]{background:linear-gradient(90deg,#fde68a,#f59e0b)}.fb-quoted[data-v-e82ec50d]{background:linear-gradient(90deg,#c4b5fd,#8b5cf6)}.fb-won[data-v-e82ec50d]{background:linear-gradient(90deg,#6ee7b7,#10b981)}.funnel-count[data-v-e82ec50d]{white-space:nowrap}.funnel-meta[data-v-e82ec50d]{text-align:right;font-size:12px;color:var(--c-text);font-family:var(--font-mono)}.funnel-meta .muted[data-v-e82ec50d]{font-size:11px;margin-left:4px;color:#64748b}.funnel-note[data-v-e82ec50d]{margin-top:12px;font-size:12px;color:var(--c-text-muted)}.funnel-note b[data-v-e82ec50d]{color:var(--c-text-secondary)}.chart-svg[data-v-e82ec50d]{width:100%;height:300px;color:var(--c-text-secondary)}.legend[data-v-e82ec50d]{display:flex;gap:14px;font-size:12px;color:var(--c-text-secondary);flex-wrap:wrap}.lg[data-v-e82ec50d]{display:inline-flex;align-items:center;gap:6px}.dot[data-v-e82ec50d]{width:10px;height:10px;border-radius:3px;display:inline-block}.dot-open[data-v-e82ec50d]{background:#818cf8}.dot-won[data-v-e82ec50d]{background:#10b981}.dot-lost[data-v-e82ec50d]{background:#f87171}.grid-line[data-v-e82ec50d]{stroke:var(--c-border-light);stroke-width:1}.grid-top[data-v-e82ec50d]{stroke:var(--c-border);stroke-width:1.5}.axis-label[data-v-e82ec50d]{font-size:10px;fill:var(--c-text-muted)}.axis-month[data-v-e82ec50d]{font-size:11px;fill:var(--c-text-secondary);font-weight:500}.bar-slot[data-v-e82ec50d]{fill:var(--c-bg-soft)}.bar-fill[data-v-e82ec50d]{opacity:.95}.bar-open[data-v-e82ec50d]{fill:#818cf8}.bar-won[data-v-e82ec50d]{fill:#10b981}.bar-lost[data-v-e82ec50d]{fill:#f87171}.bar-total[data-v-e82ec50d]{font-size:11px;fill:var(--c-text);font-weight:700}.table-wrap[data-v-e82ec50d]{overflow-x:auto}.rank-table[data-v-e82ec50d]{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}.rank-table th[data-v-e82ec50d]{text-align:left;color:var(--c-text-muted);font-weight:600;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--c-border);white-space:nowrap;background:var(--c-bg-soft)}.rank-table th.sortable[data-v-e82ec50d]{cursor:pointer;-webkit-user-select:none;user-select:none}.rank-table th.sortable[data-v-e82ec50d]:hover,.rank-table th.active[data-v-e82ec50d]{color:var(--c-primary)}.rank-table th.col-num[data-v-e82ec50d],.rank-table td.col-num[data-v-e82ec50d]{text-align:right}.rank-table td[data-v-e82ec50d]{padding:9px 10px;border-bottom:1px solid var(--c-border-light);color:var(--c-text);vertical-align:middle}.rank-table tr.me td[data-v-e82ec50d]{background:#6366f10f}.col-rank[data-v-e82ec50d]{width:44px}.rank-badge[data-v-e82ec50d]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--c-bg-soft);color:var(--c-text-secondary);font-size:12px;font-weight:700}.rank-badge.gold[data-v-e82ec50d]{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#78350f}.rank-badge.silver[data-v-e82ec50d]{background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#1e293b}.rank-badge.bronze[data-v-e82ec50d]{background:linear-gradient(135deg,#fed7aa,#d97706);color:#7c2d12}.owner-cell[data-v-e82ec50d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.owner-name[data-v-e82ec50d]{font-weight:600;color:var(--c-text)}.me-tag[data-v-e82ec50d]{background:var(--gradient-primary-soft);color:var(--c-primary);font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--r-pill)}.owner-dept[data-v-e82ec50d]{font-size:11px;color:var(--c-text-muted);background:var(--c-bg-soft);padding:1px 8px;border-radius:var(--r-pill)}.num[data-v-e82ec50d]{font-family:var(--font-mono)}.amount[data-v-e82ec50d]{color:var(--c-text-secondary)}.won-text[data-v-e82ec50d]{color:#047857}.lost-text[data-v-e82ec50d]{color:#b91c1c}.track-cell[data-v-e82ec50d]{display:inline-flex;align-items:baseline;gap:4px}.track-sub[data-v-e82ec50d]{font-size:11px;color:var(--c-text-muted);font-family:var(--font-sans)}.foot-note[data-v-e82ec50d]{margin-top:12px;font-size:12px;color:var(--c-text-muted)}.lv-table[data-v-e82ec50d]{min-width:780px}.lv-badge[data-v-e82ec50d]{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}.lv-badge.lv-s[data-v-e82ec50d]{background:#fee2e2;color:#be123c;border-color:#fecdd3}.lv-badge.lv-a[data-v-e82ec50d]{background:#fef3c7;color:#b45309;border-color:#fde68a}.lv-badge.lv-b[data-v-e82ec50d]{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.lv-badge.lv-c[data-v-e82ec50d]{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.lv-badge.lv-none[data-v-e82ec50d]{background:transparent;color:var(--c-text-muted);border:1px dashed var(--c-border);font-weight:500}.lv-badge.mini[data-v-e82ec50d]{font-size:11px;padding:1px 7px}.regrade-layout[data-v-e82ec50d]{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.rg-kpis[data-v-e82ec50d]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rg-kpi[data-v-e82ec50d]{background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-md);padding:12px 10px;text-align:center}.rg-kpi .rg-num[data-v-e82ec50d]{font-size:22px;font-weight:800;color:var(--c-text);font-family:var(--font-mono)}.rg-kpi.up .rg-num[data-v-e82ec50d]{color:#047857}.rg-kpi.down .rg-num[data-v-e82ec50d]{color:#b91c1c}.rg-kpi .rg-label[data-v-e82ec50d]{font-size:11px;color:var(--c-text-muted);margin-top:4px}.rg-notes[data-v-e82ec50d]{margin-top:12px;display:flex;flex-direction:column;gap:6px}.rg-note[data-v-e82ec50d]{font-size:12px;color:var(--c-text-secondary)}.rg-note b[data-v-e82ec50d]{color:var(--c-text);font-family:var(--font-mono)}.rg-tags[data-v-e82ec50d]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rg-tag[data-v-e82ec50d]{background:var(--gradient-primary-soft);color:var(--c-primary);font-weight:600;font-size:11px;padding:2px 9px;border-radius:var(--r-pill)}.sub-title[data-v-e82ec50d]{font-size:13px;font-weight:700;color:var(--c-text);margin-bottom:8px}.small-pad[data-v-e82ec50d]{padding:10px 0}.regrade-side[data-v-e82ec50d]{border-left:1px solid var(--c-border-light);padding-left:18px}.flaky-item[data-v-e82ec50d]{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--c-border-light);font-size:12px}.flaky-name[data-v-e82ec50d]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--c-text)}.flaky-times[data-v-e82ec50d]{font-family:var(--font-mono);color:var(--c-text-secondary);white-space:nowrap}.flaky-net[data-v-e82ec50d]{font-size:11px;font-weight:700;white-space:nowrap}.health-row[data-v-e82ec50d]{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.health-chip[data-v-e82ec50d]{font-size:12px;padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--c-border-light)}.health-chip.ok[data-v-e82ec50d]{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.health-chip.info[data-v-e82ec50d]{background:var(--c-bg-soft);color:var(--c-text-secondary)}.health-chip.warn[data-v-e82ec50d]{background:#fef2f2;color:#b91c1c;border-color:#fecaca}@media (max-width: 1200px){.kpi-grid[data-v-e82ec50d]{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.kpi-grid[data-v-e82ec50d]{grid-template-columns:repeat(2,1fr)}.funnel-row[data-v-e82ec50d]{grid-template-columns:76px 1fr 130px}.page-head[data-v-e82ec50d]{align-items:flex-start;flex-direction:column}}.stat-row[data-v-9de6d811]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.stat-card[data-v-9de6d811]{background:var(--c-bg-card);border:1px solid var(--c-border-light);border-radius:var(--r-lg);padding:14px 16px;text-align:center;box-shadow:var(--shadow-sm)}.stat-num[data-v-9de6d811]{font-size:26px;font-weight:700;line-height:1.1;color:var(--c-text)}.stat-num.over[data-v-9de6d811]{color:#dc2626}.stat-num.primary[data-v-9de6d811]{color:var(--c-primary)}.stat-num.ok[data-v-9de6d811]{color:var(--c-income)}.stat-label[data-v-9de6d811]{font-size:12px;color:var(--c-text-muted);margin-top:4px}.toolbar[data-v-9de6d811]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.tabs[data-v-9de6d811]{display:flex;gap:6px;flex-wrap:wrap}.tab[data-v-9de6d811]{border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:6px 14px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:all var(--t-base)}.tab[data-v-9de6d811]:hover{border-color:var(--c-primary-light)}.tab.on[data-v-9de6d811]{background:var(--gradient-primary);color:#fff;border-color:transparent;font-weight:500}.tab-count[data-v-9de6d811]{display:inline-block;margin-left:5px;min-width:18px;padding:0 4px;border-radius:var(--r-pill);background:#0000001f;font-size:11px;text-align:center}.tab:not(.on) .tab-count[data-v-9de6d811]{background:var(--c-bg-hover);color:var(--c-text-muted)}.search[data-v-9de6d811]{width:240px}.quad-filter-bar[data-v-9de6d811]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:10px 12px;background:var(--c-bg-card);border:1px solid var(--c-border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.qf-label[data-v-9de6d811]{font-size:13px;color:var(--c-text-secondary);font-weight:600;margin-right:2px}.qf-chip[data-v-9de6d811]{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:4px 12px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:all var(--t-base)}.qf-chip[data-v-9de6d811]:hover{border-color:var(--c-primary-light);color:var(--c-text)}.qf-chip.on[data-v-9de6d811]{color:var(--c-primary);border-color:var(--c-primary);background:var(--c-primary-light-soft, var(--gradient-primary-soft));font-weight:600}.qf-dot[data-v-9de6d811]{width:8px;height:8px;border-radius:50%;flex:none}.qf-pct[data-v-9de6d811]{font-size:11px;font-weight:700;line-height:1;padding:3px 6px;border-radius:var(--r-pill)}.qf-count[data-v-9de6d811]{font-size:11px;font-weight:700;line-height:1;padding:3px 6px;border-radius:var(--r-pill);background:var(--c-bg-hover);color:var(--c-text-muted)}.qf-chip.on .qf-count[data-v-9de6d811]{background:var(--c-primary);color:#fff}.qf-item[data-v-9de6d811]{position:relative;display:inline-flex}.qf-tip[data-v-9de6d811]{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);width:320px;max-width:84vw;background:var(--c-bg-card);border:1px solid var(--c-border);border-top:3px solid;border-radius:var(--r-lg);box-shadow:var(--shadow-xl);padding:10px 12px;z-index:60;text-align:left;font-size:12px}.qf-tip[data-v-9de6d811]:before{content:"";position:absolute;top:-7px;left:50%;margin-left:-6px;border:6px solid transparent;border-bottom-color:inherit}.qt-head[data-v-9de6d811]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.qt-head b[data-v-9de6d811]{font-size:13px}.qt-count[data-v-9de6d811]{margin-left:auto;font-size:11px;color:var(--c-text-muted);background:var(--c-bg-soft);border:1px solid var(--c-border-light);padding:1px 8px;border-radius:var(--r-pill)}.qt-meaning[data-v-9de6d811]{margin:0 0 8px;line-height:1.6;color:var(--c-text-secondary);font-size:12px}.qt-stats[data-v-9de6d811]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:3px 0;color:var(--c-text-muted);font-size:12px}.qt-stats b[data-v-9de6d811]{color:var(--c-text);font-weight:700;font-size:13px}.qt-stats b.warn[data-v-9de6d811]{color:#dc2626}.qt-warn[data-v-9de6d811]{margin:8px 0 0;padding:7px 9px;background:var(--c-warn-soft);color:#b91c1c;border-radius:var(--r-md);line-height:1.6;font-size:12px}.qt-ok[data-v-9de6d811]{margin:8px 0 0;padding:7px 9px;background:var(--c-income-soft);color:#047857;border-radius:var(--r-md);line-height:1.6;font-size:12px}.task-list[data-v-9de6d811]{display:flex;flex-direction:column;gap:10px}.task-card[data-v-9de6d811]{display:flex;align-items:flex-start;gap:14px;background:var(--c-bg-card);border:1px solid var(--c-border-light);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--t-base),transform var(--t-base)}.task-card[data-v-9de6d811]:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.task-card.done[data-v-9de6d811]{opacity:.72}.task-card.done[data-v-9de6d811]:hover{opacity:1}.task-card.cancelled[data-v-9de6d811]{opacity:.55;background:var(--c-bg-soft)}.check[data-v-9de6d811]{flex:none;width:22px;height:22px;margin-top:2px;border:2px solid var(--c-border);border-radius:50%;background:var(--c-bg-card);color:#fff;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-base)}.check[data-v-9de6d811]:hover{border-color:var(--c-income)}.check.on[data-v-9de6d811]{background:var(--c-income);border-color:var(--c-income)}.check[data-v-9de6d811]:disabled{cursor:not-allowed}.task-body[data-v-9de6d811]{flex:1;min-width:0}.task-title-line[data-v-9de6d811]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prio-dot[data-v-9de6d811]{flex:none;width:10px;height:10px;border-radius:50%}.task-name[data-v-9de6d811]{font-size:15px;font-weight:600;color:var(--c-text)}.task-name.strike[data-v-9de6d811]{text-decoration:line-through}.task-detail[data-v-9de6d811]{margin-top:6px;color:var(--c-text-secondary);font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta[data-v-9de6d811]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.meta-chip[data-v-9de6d811]{font-size:12px;color:var(--c-text-secondary);background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-pill);padding:2px 10px}.meta-chip.late[data-v-9de6d811]{color:#b91c1c;background:var(--c-warn-soft);border-color:#fecaca}.meta-chip.muted[data-v-9de6d811]{color:var(--c-text-muted)}.meta-spacer[data-v-9de6d811]{flex:1}.prio-name[data-v-9de6d811]{font-size:12px;font-weight:600}.task-ops[data-v-9de6d811]{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.task-ops .btn-link[data-v-9de6d811]{white-space:nowrap}@media (max-width: 900px){.stat-row[data-v-9de6d811]{grid-template-columns:repeat(3,1fr)}}.detail-dlg[data-v-dcd8a315]{max-width:640px}.dt-hero[data-v-dcd8a315]{position:relative;padding:16px 20px 14px;background:var(--gradient-primary);color:#fff;overflow:hidden}.dt-hero[data-v-dcd8a315]:after{content:"";position:absolute;top:-60px;right:-30px;width:180px;height:180px;border-radius:50%;background:#ffffff1f;filter:blur(30px)}.dt-hero-tags[data-v-dcd8a315]{position:relative;z-index:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-right:32px}.dt-prio[data-v-dcd8a315]{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;background:#ffffff38;border:1px solid rgba(255,255,255,.28)}.dt-prio-dot[data-v-dcd8a315]{width:8px;height:8px;border-radius:50%;flex:none}.dt-x[data-v-dcd8a315]{position:absolute;top:12px;right:14px;z-index:2;width:26px;height:26px;border:none;border-radius:50%;background:#ffffff2e;color:#fff;font-size:13px;line-height:1;cursor:pointer;transition:background var(--t-base)}.dt-x[data-v-dcd8a315]:hover{background:#ffffff57}.dt-title[data-v-dcd8a315]{position:relative;z-index:1;margin-top:8px;font-size:17px;font-weight:600;line-height:1.4;color:#fff;word-break:break-word}.dt-title.strike[data-v-dcd8a315]{text-decoration:line-through;opacity:.85}.dt-hero-meta[data-v-dcd8a315]{position:relative;z-index:1;margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:#ffffffeb}.dt-hero-meta .dt-late[data-v-dcd8a315]{font-weight:600}.dt-dot[data-v-dcd8a315]{width:3px;height:3px;border-radius:50%;background:#ffffffa6;flex:none}.dt-grid[data-v-dcd8a315]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.dt-cell[data-v-dcd8a315]{min-width:0}.dt-k[data-v-dcd8a315]{font-size:11.5px;color:var(--c-text-muted);margin-bottom:3px}.dt-v[data-v-dcd8a315]{font-size:13.5px;color:var(--c-text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dt-link[data-v-dcd8a315]{color:var(--c-primary);cursor:pointer}.dt-link[data-v-dcd8a315]:hover{text-decoration:underline}.dt-sec[data-v-dcd8a315]{border-top:1px dashed var(--c-border);padding-top:12px}.dt-sec-title[data-v-dcd8a315]{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;font-weight:600;color:var(--c-text-secondary)}.dt-sec-title b[data-v-dcd8a315]{font-size:11px;font-weight:700;color:var(--c-text-muted);background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-pill);padding:0 6px}.dt-chips[data-v-dcd8a315]{display:flex;flex-wrap:wrap;gap:6px}.dt-chip[data-v-dcd8a315]{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 10px;background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-pill);font-size:12.5px;color:var(--c-text-secondary)}.dt-chip-duty[data-v-dcd8a315]{padding:1px 8px;background:var(--c-bg-card);border:1px dashed var(--c-border);border-radius:var(--r-pill);font-size:11.5px;line-height:1.5;color:var(--c-text-secondary)}.dt-chip-duty.none[data-v-dcd8a315]{color:var(--c-text-muted)}.dt-text[data-v-dcd8a315]{padding:10px 12px;background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-md);font-size:13.5px;line-height:1.65;color:var(--c-text-secondary);white-space:pre-wrap;max-height:220px;overflow-y:auto}.dt-foot[data-v-dcd8a315]{font-size:11.5px;color:var(--c-text-muted)}.dt-out-list[data-v-dcd8a315]{display:flex;flex-direction:column;gap:6px}.dt-out-item[data-v-dcd8a315]{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-md);font-size:13px;color:var(--c-primary);text-decoration:none;transition:all var(--t-base)}.dt-out-item[data-v-dcd8a315]:hover{border-color:var(--c-primary);background:var(--gradient-primary-soft)}.dt-out-name[data-v-dcd8a315]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-out-meta[data-v-dcd8a315]{flex:none;font-size:11.5px;color:var(--c-text-muted)}.dt-actions-spacer[data-v-dcd8a315]{flex:1}@media (max-width: 640px){.dt-grid[data-v-dcd8a315]{grid-template-columns:1fr}}.task-page .dlg-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.task-page .dlg{background:var(--c-bg-card);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.task-page .dlg-body{padding:14px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.task-page .dlg-actions{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--c-border-light);background:var(--c-bg-soft)}.task-page .err-tip{color:#b91c1c;background:var(--c-warn-soft);padding:8px 12px;border-radius:var(--r-md);font-size:13px;margin-bottom:10px}.task-page .ok-tip{color:#047857;background:var(--c-income-soft);padding:8px 12px;border-radius:var(--r-md);font-size:13px;margin-bottom:10px}.task-page .loading{text-align:center;color:var(--c-text-muted);padding:60px 0}.task-page .empty{background:var(--c-bg-card);border:1px dashed var(--c-border);border-radius:var(--r-lg);padding:56px 20px;text-align:center;color:var(--c-text-muted)}.task-page .empty-icon{font-size:34px;margin-bottom:8px}.task-page .tag-warn{background:#fef3c7;color:#b45309}.task-page .tag-info{background:#e0f2fe;color:#0369a1}.page-head[data-v-2aee016a]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-head h2[data-v-2aee016a]{font-size:24px;color:var(--c-text);margin-bottom:4px}.head-sub[data-v-2aee016a]{color:var(--c-text-muted);font-size:13px}.quad-desc[data-v-2aee016a]{margin-top:8px;max-width:820px;font-size:12.5px;line-height:1.75;color:var(--c-text-muted)}.quad-desc b[data-v-2aee016a]{color:var(--c-text-secondary);font-weight:600}.qd-tag[data-v-2aee016a]{display:inline-block;margin:0 3px;padding:0 7px;border-radius:var(--r-pill);font-weight:600;font-size:12px}.page-head[data-v-a363c662]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-head h2[data-v-a363c662]{font-size:24px;color:var(--c-text);margin-bottom:4px}.head-sub[data-v-a363c662]{color:var(--c-text-muted);font-size:13px;max-width:720px;line-height:1.6}.tabs[data-v-a363c662]{display:flex;gap:6px;flex-wrap:wrap}.tab[data-v-a363c662]{border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:7px 16px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:all var(--t-base)}.tab[data-v-a363c662]:hover{border-color:var(--c-primary-light)}.tab.on[data-v-a363c662]{background:var(--gradient-primary);color:#fff;border-color:transparent;font-weight:500}.period-bar[data-v-a363c662]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.period-label[data-v-a363c662]{padding:6px 12px;border-radius:var(--r-pill);background:var(--gradient-primary-soft);color:var(--c-primary);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.err-tip[data-v-a363c662]{color:#b91c1c;background:var(--c-warn-soft);padding:8px 12px;border-radius:var(--r-md);font-size:13px;margin-bottom:10px}.ok-tip[data-v-a363c662]{color:#047857;background:var(--c-income-soft);padding:8px 12px;border-radius:var(--r-md);font-size:13px;margin-bottom:10px}.card[data-v-a363c662]{padding:18px 20px;margin-bottom:16px}.card h3[data-v-a363c662]{font-size:var(--fs-md);color:var(--c-text)}.auto-head[data-v-a363c662]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.auto-actions[data-v-a363c662]{display:flex;gap:8px}.auto-stats[data-v-a363c662]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.stat-box[data-v-a363c662]{background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-md);padding:8px 12px;display:flex;flex-direction:column;gap:2px}.stat-label[data-v-a363c662]{font-size:var(--fs-xs);color:var(--c-text-muted)}.stat-value[data-v-a363c662]{font-size:var(--fs-base);font-weight:600;color:var(--c-text)}.auto-text[data-v-a363c662]{margin:0;padding:12px 14px;background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.9;color:var(--c-text-secondary);white-space:pre-wrap;word-break:break-word;font-family:inherit;max-height:320px;overflow-y:auto}.auto-note[data-v-a363c662]{margin-top:8px;font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.7}.form-card .field[data-v-a363c662]{margin-bottom:14px}.form-card .field label[data-v-a363c662]{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--c-text-secondary);margin-bottom:6px}.form-card textarea[data-v-a363c662]{width:100%;box-sizing:border-box;resize:vertical;line-height:1.7}.form-actions[data-v-a363c662]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.saved-at[data-v-a363c662]{font-size:var(--fs-xs);color:var(--c-text-muted)}.history-list[data-v-a363c662]{list-style:none;margin:10px 0 0;padding:0}.history-list li[data-v-a363c662]{display:flex;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--c-border-light);flex-wrap:wrap}.history-list li[data-v-a363c662]:last-child{border-bottom:none}.hist-range[data-v-a363c662]{color:var(--c-text-muted);font-size:var(--fs-xs)}.hist-summary[data-v-a363c662]{font-size:var(--fs-sm);color:var(--c-text-secondary)}.empty-line[data-v-a363c662]{color:var(--c-text-muted);font-size:var(--fs-sm);margin-top:8px}.incident-page[data-v-5ba35df3],.incident-form[data-v-5ba35df3]{display:flex;flex-direction:column;gap:16px}.page-head[data-v-5ba35df3]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h2[data-v-5ba35df3]{margin:0;font-size:20px;font-weight:700;color:var(--c-text)}.head-sub[data-v-5ba35df3]{margin:6px 0 0;font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.7;max-width:720px}.head-actions[data-v-5ba35df3]{display:flex;gap:8px}.toolbar[data-v-5ba35df3]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tool-right[data-v-5ba35df3]{display:flex;align-items:center;gap:12px}.tabs[data-v-5ba35df3]{display:flex;gap:6px;flex-wrap:wrap}.tab[data-v-5ba35df3]{border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:6px 14px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:all var(--t-base)}.tab[data-v-5ba35df3]:hover{border-color:var(--c-primary-light)}.tab.on[data-v-5ba35df3]{background:var(--gradient-primary);color:#fff;border-color:transparent;font-weight:500}.search[data-v-5ba35df3]{width:260px}.chk[data-v-5ba35df3]{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--c-text-secondary);cursor:pointer}.card[data-v-5ba35df3]{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:18px 20px}.sec-title[data-v-5ba35df3]{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--c-text)}.empty-line[data-v-5ba35df3]{margin:8px 0;font-size:var(--fs-sm);color:var(--c-text-muted)}.table-wrap[data-v-5ba35df3]{overflow-x:auto}.tbl[data-v-5ba35df3]{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tbl th[data-v-5ba35df3]{text-align:left;padding:10px 12px;font-size:var(--fs-xs);font-weight:600;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);white-space:nowrap}.tbl td[data-v-5ba35df3]{padding:10px 12px;border-bottom:1px solid var(--c-border-light);color:var(--c-text-secondary);vertical-align:middle}.tbl tbody tr:hover td[data-v-5ba35df3]{background:var(--c-bg-soft)}.col-narrow[data-v-5ba35df3]{width:110px}.col-act[data-v-5ba35df3]{width:110px;white-space:nowrap}.row-sub[data-v-5ba35df3]{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--c-text-muted)}.pager[data-v-5ba35df3]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.page-info[data-v-5ba35df3]{font-size:var(--fs-xs);color:var(--c-text-muted)}.grid-2[data-v-5ba35df3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px 18px}.field[data-v-5ba35df3]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.grid-2 .field[data-v-5ba35df3]{margin-bottom:0}.field>label[data-v-5ba35df3]{font-size:var(--fs-xs);font-weight:600;color:var(--c-text-secondary)}.field input[data-v-5ba35df3],.field textarea[data-v-5ba35df3]{border:1px solid var(--c-border);border-radius:var(--r-md);padding:8px 10px;font-size:var(--fs-sm);font-family:inherit;color:var(--c-text);background:var(--c-bg-card);transition:border-color var(--t-base)}.field input[data-v-5ba35df3]:focus,.field textarea[data-v-5ba35df3]:focus{outline:none;border-color:var(--c-primary)}.field textarea[data-v-5ba35df3]{resize:vertical;line-height:1.7}.field-hint[data-v-5ba35df3]{margin:6px 0 0;font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.6}.contacts[data-v-5ba35df3]{border:1px dashed var(--c-border);border-radius:var(--r-md);padding:12px 14px;margin-top:4px}.contacts-head[data-v-5ba35df3]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.contacts-head label[data-v-5ba35df3]{font-size:var(--fs-xs);font-weight:600;color:var(--c-text-secondary)}.contacts-empty[data-v-5ba35df3]{margin:0;font-size:var(--fs-xs);color:var(--c-text-muted)}.contact-row[data-v-5ba35df3]{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.contact-idx[data-v-5ba35df3]{width:68px;flex-shrink:0;font-size:var(--fs-xs);color:var(--c-text-muted)}.contact-name[data-v-5ba35df3]{flex:1;min-width:160px;border:1px solid var(--c-border);border-radius:var(--r-md);padding:8px 10px;font-size:var(--fs-sm);color:var(--c-text)}.contact-phone[data-v-5ba35df3]{width:150px;border:1px solid var(--c-border);border-radius:var(--r-md);padding:8px 10px;font-size:var(--fs-sm);color:var(--c-text);background:var(--c-bg-card)}.form-actions[data-v-5ba35df3]{display:flex;align-items:center;gap:10px;padding-bottom:8px}.saved-at[data-v-5ba35df3]{font-size:var(--fs-xs);color:var(--c-text-muted)}.err-tip[data-v-5ba35df3]{margin:0;padding:8px 12px;border-radius:var(--r-md);background:var(--c-warn-soft);color:#b91c1c;font-size:var(--fs-sm)}.ok-tip[data-v-5ba35df3]{margin:0;padding:8px 12px;border-radius:var(--r-md);background:var(--c-income-soft);color:#047857;font-size:var(--fs-sm)}.msel[data-v-a80e6f8b]{position:relative}.msel-box[data-v-a80e6f8b]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:5px 26px 5px 8px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-card);font-size:var(--fs-sm);color:var(--c-text);cursor:pointer;transition:border-color var(--t-base)}.msel-box[data-v-a80e6f8b]:hover{border-color:var(--c-primary-light)}.msel-box[data-v-a80e6f8b]:focus-visible{outline:none;border-color:var(--c-primary)}.msel-box.opened[data-v-a80e6f8b]{border-color:var(--c-primary)}.msel-box.disabled[data-v-a80e6f8b]{background:var(--c-bg-soft);cursor:not-allowed;opacity:.7}.msel-ph[data-v-a80e6f8b]{color:var(--c-text-muted);padding-left:2px}.msel-caret[data-v-a80e6f8b]{position:absolute;right:10px;top:12px;font-size:11px;color:var(--c-text-muted);pointer-events:none;transition:transform var(--t-base)}.msel-box.opened .msel-caret[data-v-a80e6f8b]{transform:rotate(180deg)}.msel-chip[data-v-a80e6f8b]{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 6px 3px 8px;border-radius:var(--r-pill);background:var(--c-primary-soft, rgba(37, 99, 235, .1));color:var(--c-primary);font-size:var(--fs-xs);line-height:1.5}.msel-chip-label[data-v-a80e6f8b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msel-chip-x[data-v-a80e6f8b]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:10px;color:var(--c-primary);opacity:.65;cursor:pointer}.msel-chip-x[data-v-a80e6f8b]:hover{background:var(--c-primary);color:#fff;opacity:1}.msel-panel[data-v-a80e6f8b]{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow-y:auto;background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:0 8px 24px #0f172a1f;padding:4px}.msel-panel.up[data-v-a80e6f8b]{top:auto;bottom:calc(100% + 4px)}.msel-opt[data-v-a80e6f8b]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:var(--fs-base);color:var(--c-text);cursor:pointer;white-space:nowrap}.msel-opt.active[data-v-a80e6f8b]{background:var(--c-bg-hover)}.msel-opt.on .msel-label[data-v-a80e6f8b]{font-weight:600;color:var(--c-primary)}.msel-check[data-v-a80e6f8b]{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex-shrink:0;border:1px solid var(--c-border);border-radius:4px;font-size:10px;color:transparent;background:var(--c-bg-card)}.msel-check.on[data-v-a80e6f8b]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.msel-label[data-v-a80e6f8b]{overflow:hidden;text-overflow:ellipsis}.msel-foot[data-v-a80e6f8b]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;padding:6px 8px 4px;border-top:1px solid var(--c-border-light)}.msel-count[data-v-a80e6f8b]{font-size:var(--fs-xs);color:var(--c-text-muted)}.msel-clear[data-v-a80e6f8b]{border:none;background:none;padding:0;font-size:var(--fs-xs);color:var(--c-primary);cursor:pointer}.msel-clear[data-v-a80e6f8b]:disabled{color:var(--c-text-muted);cursor:default;opacity:.6}.incident-page[data-v-cb43a957],.incident-form[data-v-cb43a957]{display:flex;flex-direction:column;gap:16px}.page-head[data-v-cb43a957]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h2[data-v-cb43a957]{margin:0;font-size:20px;font-weight:700;color:var(--c-text)}.head-sub[data-v-cb43a957]{margin:6px 0 0;font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.7;max-width:720px}.head-actions[data-v-cb43a957]{display:flex;gap:8px}.toolbar[data-v-cb43a957]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tool-right[data-v-cb43a957]{display:flex;align-items:center;gap:12px}.tabs[data-v-cb43a957]{display:flex;gap:6px;flex-wrap:wrap}.tab[data-v-cb43a957]{border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:6px 14px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:all var(--t-base)}.tab[data-v-cb43a957]:hover{border-color:var(--c-primary-light)}.tab.on[data-v-cb43a957]{background:var(--gradient-primary);color:#fff;border-color:transparent;font-weight:500}.search[data-v-cb43a957]{width:260px}.chk[data-v-cb43a957]{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--c-text-secondary);cursor:pointer}.card[data-v-cb43a957]{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:18px 20px}.sec-title[data-v-cb43a957]{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--c-text)}.empty-line[data-v-cb43a957]{margin:8px 0;font-size:var(--fs-sm);color:var(--c-text-muted)}.table-wrap[data-v-cb43a957]{overflow-x:auto}.tbl[data-v-cb43a957]{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tbl th[data-v-cb43a957]{text-align:left;padding:10px 12px;font-size:var(--fs-xs);font-weight:600;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);white-space:nowrap}.tbl td[data-v-cb43a957]{padding:10px 12px;border-bottom:1px solid var(--c-border-light);color:var(--c-text-secondary);vertical-align:middle}.tbl tbody tr:hover td[data-v-cb43a957]{background:var(--c-bg-soft)}.col-narrow[data-v-cb43a957]{width:110px}.col-act[data-v-cb43a957]{width:110px;white-space:nowrap}.row-sub[data-v-cb43a957]{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--c-text-muted)}.pager[data-v-cb43a957]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.page-info[data-v-cb43a957]{font-size:var(--fs-xs);color:var(--c-text-muted)}.grid-2[data-v-cb43a957]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px 18px}.field[data-v-cb43a957]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.grid-2 .field[data-v-cb43a957]{margin-bottom:0}.field>label[data-v-cb43a957]{font-size:var(--fs-xs);font-weight:600;color:var(--c-text-secondary)}.field input[data-v-cb43a957],.field textarea[data-v-cb43a957]{border:1px solid var(--c-border);border-radius:var(--r-md);padding:8px 10px;font-size:var(--fs-sm);font-family:inherit;color:var(--c-text);background:var(--c-bg-card);transition:border-color var(--t-base)}.field input[data-v-cb43a957]:focus,.field textarea[data-v-cb43a957]:focus{outline:none;border-color:var(--c-primary)}.field textarea[data-v-cb43a957]{resize:vertical;line-height:1.7}.field-hint[data-v-cb43a957]{margin:6px 0 0;font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.6}.contacts[data-v-cb43a957]{border:1px dashed var(--c-border);border-radius:var(--r-md);padding:12px 14px;margin-top:4px}.contacts-head[data-v-cb43a957]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.contacts-head label[data-v-cb43a957]{font-size:var(--fs-xs);font-weight:600;color:var(--c-text-secondary)}.contacts-empty[data-v-cb43a957]{margin:0;font-size:var(--fs-xs);color:var(--c-text-muted)}.contact-row[data-v-cb43a957]{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.contact-idx[data-v-cb43a957]{width:68px;flex-shrink:0;font-size:var(--fs-xs);color:var(--c-text-muted)}.contact-name[data-v-cb43a957]{flex:1;min-width:160px;border:1px solid var(--c-border);border-radius:var(--r-md);padding:8px 10px;font-size:var(--fs-sm);color:var(--c-text)}.contact-phone[data-v-cb43a957]{width:150px;border:1px solid var(--c-border);border-radius:var(--r-md);padding:8px 10px;font-size:var(--fs-sm);color:var(--c-text);background:var(--c-bg-card)}.form-actions[data-v-cb43a957]{display:flex;align-items:center;gap:10px;padding-bottom:8px}.saved-at[data-v-cb43a957]{font-size:var(--fs-xs);color:var(--c-text-muted)}.err-tip[data-v-cb43a957]{margin:0;padding:8px 12px;border-radius:var(--r-md);background:var(--c-warn-soft);color:#b91c1c;font-size:var(--fs-sm)}.ok-tip[data-v-cb43a957]{margin:0;padding:8px 12px;border-radius:var(--r-md);background:var(--c-income-soft);color:#047857;font-size:var(--fs-sm)}.hero[data-v-17274f73]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero[data-v-17274f73]:before{content:"";position:absolute;top:-50%;right:-10%;width:280px;height:280px;background:#ffffff1a;border-radius:50%;filter:blur(40px)}.hero-inner[data-v-17274f73]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-17274f73]{flex:1}.hero-num[data-v-17274f73]{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-num.danger[data-v-17274f73]{color:#fecaca}.hero-label[data-v-17274f73]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-17274f73]{width:1px;height:48px;background:#ffffff40}.toolbar[data-v-17274f73]{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.toolbar h2[data-v-17274f73]{margin-bottom:4px}.sub[data-v-17274f73]{color:var(--c-text-muted);font-size:13px}.search[data-v-17274f73]{width:260px}.filter-bar[data-v-17274f73]{margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.fb-row[data-v-17274f73]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fb-label[data-v-17274f73]{font-size:13px;font-weight:600;color:var(--c-text-secondary)}.fb-sep[data-v-17274f73]{color:var(--c-text-muted);font-size:13px}.fb-select[data-v-17274f73]{width:auto;min-width:150px;padding:5px 10px;font-size:13px}.fb-date[data-v-17274f73]{width:auto;padding:5px 8px;font-size:13px}.fb-check[data-v-17274f73]{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--c-text-secondary)}.chip[data-v-17274f73]{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);padding:4px 12px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:all var(--t-base)}.chip[data-v-17274f73]:hover{border-color:var(--c-primary-light);color:var(--c-text)}.chip.on[data-v-17274f73]{color:var(--c-primary);border-color:var(--c-primary);background:var(--gradient-primary-soft);font-weight:600}.chip-count[data-v-17274f73]{font-size:11px;font-weight:700;padding:2px 6px;border-radius:var(--r-pill);background:var(--c-bg-hover);color:var(--c-text-muted)}.chip.on .chip-count[data-v-17274f73]{background:var(--c-primary);color:#fff}.card.no-padding[data-v-17274f73]{padding:0}.card.no-padding table[data-v-17274f73]{margin-top:0}.cell-file[data-v-17274f73]{display:flex;align-items:center;gap:8px;min-width:0}.file-icon[data-v-17274f73]{font-size:16px;flex:none}.file-main[data-v-17274f73]{min-width:0}.file-name[data-v-17274f73]{font-weight:600;color:var(--c-text);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-sub[data-v-17274f73]{font-size:12px;color:var(--c-text-muted)}.cell-source[data-v-17274f73]{min-width:0}.src-tag[data-v-17274f73]{background:var(--c-bg-soft);color:var(--c-text-secondary)}.src-chain[data-v-17274f73]{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.src-sep[data-v-17274f73]{color:var(--c-text-muted);font-size:12px;flex:none}.src-link[data-v-17274f73]{color:var(--c-primary);font-weight:600}.src-link[data-v-17274f73]:hover{text-decoration:underline}.src-name[data-v-17274f73]{font-weight:600;color:var(--c-text)}.src-chain .src-link[data-v-17274f73],.src-chain .src-name[data-v-17274f73]{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-sub[data-v-17274f73]{font-size:12px;color:var(--c-text-muted);margin-top:2px}.muted[data-v-17274f73]{color:var(--c-text-muted);font-size:13px}.text-right[data-v-17274f73]{text-align:right}.empty[data-v-17274f73]{text-align:center;color:var(--c-text-muted);padding:40px}.err-text[data-v-17274f73]{color:var(--c-warn)}.row-missing td[data-v-17274f73]{background:var(--c-warn-soft)}.pager[data-v-17274f73]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--c-border)}.pager-info[data-v-17274f73]{font-size:13px;color:var(--c-text-muted)}.pager-ctrl[data-v-17274f73]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pager-size[data-v-17274f73]{width:auto;padding:4px 8px;font-size:13px}.pg[data-v-17274f73]{min-width:32px;height:30px;padding:0 8px;border:1px solid var(--c-border);background:var(--c-bg-card);color:var(--c-text-secondary);border-radius:var(--r-sm);font-size:13px;cursor:pointer;transition:all var(--t-base)}.pg[data-v-17274f73]:hover:not(:disabled){border-color:var(--c-primary-light);color:var(--c-text)}.pg[data-v-17274f73]:disabled{opacity:.45;cursor:not-allowed}.pg.on[data-v-17274f73]{background:var(--gradient-primary);border-color:var(--c-primary);color:#fff;font-weight:600}.pg-gap[data-v-17274f73]{color:var(--c-text-muted);padding:0 2px}.hero[data-v-0c565ca8]{background:var(--gradient-primary);border-radius:var(--r-xl);padding:24px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #6366f14d;position:relative;overflow:hidden}.hero-inner[data-v-0c565ca8]{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.hero-stat[data-v-0c565ca8]{flex:1}.hero-num[data-v-0c565ca8]{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-1px}.hero-label[data-v-0c565ca8]{font-size:13px;opacity:.9;margin-top:4px}.hero-divider[data-v-0c565ca8]{width:1px;height:48px;background:#ffffff40}.toolbar[data-v-0c565ca8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar h2[data-v-0c565ca8]{margin-bottom:4px}.search[data-v-0c565ca8]{width:220px}.card.no-padding[data-v-0c565ca8]{padding:0}.card.no-padding table[data-v-0c565ca8]{margin-top:0}.muted[data-v-0c565ca8]{color:var(--c-text-muted);font-size:13px}.empty[data-v-0c565ca8]{text-align:center;color:var(--c-text-muted);padding:40px}tr.row-group td[data-v-0c565ca8]{background:var(--c-bg-soft);font-weight:600}tr.row-child td[data-v-0c565ca8]:first-child{padding-left:32px;font-weight:400}.indent[data-v-0c565ca8]{color:var(--c-text-muted);margin-right:4px}.mi[data-v-0c565ca8]{margin-right:6px}tr.inactive td[data-v-0c565ca8]{color:var(--c-text-muted)}.builtin-chip[data-v-0c565ca8]{display:inline-block;margin-left:6px;background:var(--c-accent-light);color:var(--c-accent-dark);padding:1px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600}.key-chip[data-v-0c565ca8]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:var(--c-bg-soft);color:var(--c-text-secondary);padding:2px 8px;border-radius:var(--r-sm)}.usage-chip[data-v-0c565ca8]{display:inline-block;background:var(--gradient-primary-soft);color:var(--c-primary);padding:2px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600}.tag[data-v-0c565ca8]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500}.tag-success[data-v-0c565ca8]{background:var(--c-income-soft);color:#047857}.tag-warn[data-v-0c565ca8]{background:var(--c-accent-light);color:var(--c-accent-dark)}.dot-led[data-v-0c565ca8]{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor}.btn-link[data-v-0c565ca8]{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-0c565ca8]:hover{text-decoration:underline}.btn-link.warn[data-v-0c565ca8]{color:var(--c-accent-dark)}.btn-link.ok[data-v-0c565ca8]{color:#047857}.btn-link.danger[data-v-0c565ca8]{color:var(--c-warn)}.btn-link[data-v-0c565ca8]:disabled{color:var(--c-text-muted);cursor:not-allowed;text-decoration:none}.dialog-mask[data-v-0c565ca8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-0c565ca8 .2s ease}@keyframes fadeIn-0c565ca8{0%{opacity:0}to{opacity:1}}.dialog[data-v-0c565ca8]{background:#fff;border-radius:var(--r-xl);width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp-0c565ca8 .2s ease}@keyframes slideUp-0c565ca8{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-head[data-v-0c565ca8]{padding:20px 24px;border-bottom:1px solid var(--c-border-light);display:flex;justify-content:space-between;align-items:center}.dialog-head h3[data-v-0c565ca8]{color:var(--c-text);font-size:16px}.btn-ghost-x[data-v-0c565ca8]{background:none;border:none;color:var(--c-text-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:var(--r-sm)}.btn-ghost-x[data-v-0c565ca8]:hover{background:var(--c-bg-soft);color:var(--c-text)}.form[data-v-0c565ca8]{padding:20px 24px 24px}.form-row[data-v-0c565ca8]{margin-bottom:14px}.form-row label[data-v-0c565ca8]{display:block;margin-bottom:6px;color:var(--c-text-secondary);font-size:13px;font-weight:500}.form-row small[data-v-0c565ca8]{color:var(--c-text-muted);font-weight:400;margin-left:4px}.form-row input[data-v-0c565ca8],.form-row select[data-v-0c565ca8]{width:100%}.dialog-actions[data-v-0c565ca8]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.err[data-v-0c565ca8]{color:var(--c-warn);font-size:13px;margin-top:4px}:root{--c-primary: #6366f1;--c-primary-dark: #4f46e5;--c-primary-light: #a5b4fc;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--gradient-primary-soft: linear-gradient(135deg, #eef2ff 0%, #f3e8ff 100%);--gradient-primary-vert: linear-gradient(180deg, #818cf8 0%, #6366f1 100%);--c-accent: #f59e0b;--c-accent-dark: #d97706;--c-accent-light: #fde68a;--gradient-accent: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--gradient-accent-soft: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);--c-revenue: #3b82f6;--c-revenue-soft: #dbeafe;--c-income: #10b981;--c-income-soft: #d1fae5;--c-warn: #ef4444;--c-warn-soft: #fee2e2;--c-info: #06b6d4;--c-info-soft: #cffafe;--c-stage-lead: #6366f1;--c-stage-tracking: #f59e0b;--c-stage-quoted: #8b5cf6;--c-stage-won: #10b981;--c-stage-lost: #ef4444;--c-bg: #f5f7fa;--c-bg-card: #ffffff;--c-bg-soft: #f8fafc;--c-bg-hover: #f1f5f9;--c-text: #0f172a;--c-text-secondary: #475569;--c-text-muted: #94a3b8;--c-text-on-primary: #ffffff;--c-border: #e2e8f0;--c-border-light: #f1f5f9;--c-divider: #e2e8f0;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 1px 3px rgba(15, 23, 42, .05), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 4px 6px rgba(15, 23, 42, .05), 0 2px 4px rgba(15, 23, 42, .04);--shadow-xl: 0 10px 20px rgba(15, 23, 42, .06), 0 4px 6px rgba(15, 23, 42, .04);--shadow-primary: 0 4px 12px rgba(99, 102, 241, .25);--shadow-accent: 0 4px 12px rgba(245, 158, 11, .25);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Menlo, Monaco, Consolas, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 20px;--fs-3xl: 24px;--fs-4xl: 32px;--fs-5xl: 40px;--t-fast: .12s ease;--t-base: .2s ease;--t-slow: .32s ease}[data-theme=dark]{--c-bg: #0f172a;--c-bg-card: #1e293b;--c-bg-soft: #1e2a3d;--c-bg-hover: #293445;--c-text: #f1f5f9;--c-text-secondary: #cbd5e1;--c-text-muted: #94a3b8;--c-border: #334155;--c-border-light: #293445;--c-divider: #334155;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 1px 3px rgba(0, 0, 0, .25), 0 1px 2px rgba(0, 0, 0, .15);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-xl: 0 10px 20px rgba(0, 0, 0, .4), 0 4px 6px rgba(0, 0, 0, .2);--shadow-primary: 0 4px 12px rgba(99, 102, 241, .4);--shadow-accent: 0 4px 12px rgba(245, 158, 11, .3);--gradient-primary-soft: linear-gradient(135deg, #1e2a3d 0%, #2a1f3d 100%)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--c-bg-card);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-md);border:1px solid var(--c-border-light);margin-bottom:var(--s-4);transition:box-shadow var(--t-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-title{font-size:var(--fs-lg);font-weight:600;color:var(--c-text);margin-bottom:var(--s-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-card);color:var(--c-text);font-size:var(--fs-base);font-weight:500;cursor:pointer;transition:all var(--t-base);white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(.btn-primary):not(.btn-accent):not(.btn-success):not(.btn-danger):hover:not(:disabled){background:var(--c-bg-hover);border-color:#cbd5e1}.btn-sm{padding:5px 12px;font-size:13px;border-radius:var(--r-sm)}.btn-primary{background:var(--gradient-primary);color:var(--c-text-on-primary);border-color:transparent;box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){background:var(--gradient-primary);filter:brightness(1.08);box-shadow:0 6px 16px #6366f159}.btn-accent{background:var(--gradient-accent);color:#fff;border-color:transparent;box-shadow:var(--shadow-accent)}.btn-accent:hover:not(:disabled){background:var(--gradient-accent);filter:brightness(1.06);box-shadow:0 6px 16px #f59e0b52}.btn-success{background:var(--c-income);color:#fff;border-color:var(--c-income)}.btn-success:hover:not(:disabled){background:var(--c-income);filter:brightness(1.06);box-shadow:0 6px 14px #10b98152}.btn-danger{background:var(--c-warn);color:#fff;border-color:var(--c-warn)}.btn-danger:hover:not(:disabled){background:var(--c-warn);filter:brightness(1.08);box-shadow:0 6px 14px #ef444452}.btn-ghost{background:transparent;border-color:transparent;color:var(--c-text-secondary)}.btn-ghost:hover{background:var(--c-bg-hover);color:var(--c-text)}.btn-link{background:none;border:none;color:var(--c-primary);cursor:pointer;font-size:var(--fs-sm);padding:2px 6px;transition:color var(--t-base)}.btn-link:hover{color:var(--c-primary-dark);text-decoration:underline}.btn-link.danger{color:var(--c-warn)}.btn-link.warn{color:var(--c-accent-dark)}.btn-link.ok{color:var(--c-income)}.btn-link.cancel{color:var(--c-text-muted)}input,select,textarea{padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:var(--fs-base);font-family:inherit;background:var(--c-bg-card);color:var(--c-text);transition:all var(--t-base);width:100%}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--c-bg-soft)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #6366f11a}table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-base)}thead{background:var(--gradient-primary-soft)}th{padding:12px 16px;text-align:left;font-weight:600;color:var(--c-text-secondary);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--c-border)}th:first-child{border-top-left-radius:var(--r-md)}th:last-child{border-top-right-radius:var(--r-md)}td{padding:12px 16px;border-bottom:1px solid var(--c-border-light);color:var(--c-text)}tbody tr{transition:background var(--t-base)}tbody tr:hover{background:var(--c-bg-soft)}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:500;line-height:1.5}.tag-custom{background:var(--c-bg-soft);color:var(--c-text-secondary)}.tag-primary{background:var(--c-revenue-soft);color:var(--c-primary)}.tag-success{background:var(--c-income-soft);color:#047857}.tag-warn{background:var(--c-accent-light);color:var(--c-accent-dark)}.tag-danger{background:var(--c-warn-soft);color:#b91c1c}.tag-info{background:var(--c-info-soft);color:#0e7490}.tag-muted{background:var(--c-bg-hover);color:var(--c-text-secondary)}.big-number{font-size:var(--fs-3xl);font-weight:700;color:var(--c-text);line-height:1.1;letter-spacing:-.5px}.big-number.revenue{color:var(--c-revenue)}.big-number.income{color:var(--c-income)}.big-number.accent{color:var(--c-accent)}.big-number.primary{color:var(--c-primary)}.muted{color:var(--c-text-muted);font-size:var(--fs-sm)}.sub{color:var(--c-text-secondary);font-size:var(--fs-sm);margin-top:4px}.label-mini{font-size:var(--fs-xs);color:var(--c-text-muted)}.row{display:flex;align-items:center;gap:var(--s-3)}.col{display:flex;flex-direction:column;gap:var(--s-2)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.flex-1{flex:1}.text-right{text-align:right}.text-center{text-align:center}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
