.stat-card[data-v-08ac0a56]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--pad-card) var(--pad-card-lg);box-shadow:var(--shadow-card);transition:box-shadow .18s,transform .18s;position:relative;overflow:hidden}.stat-card[data-v-08ac0a56]:before{content:"";border-radius:var(--radius-md) var(--radius-md) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-card.acc-neutral[data-v-08ac0a56]:before{background:var(--accent-neutral)}.stat-card.acc-blue[data-v-08ac0a56]:before{background:var(--accent-blue)}.stat-card.acc-orange[data-v-08ac0a56]:before{background:var(--accent-orange)}.stat-card.acc-red[data-v-08ac0a56]:before{background:var(--accent-red)}.stat-card.acc-green[data-v-08ac0a56]:before{background:var(--accent-green)}.stat-card.acc-purple[data-v-08ac0a56]:before{background:var(--accent-purple)}.stat-card.acc-blue[data-v-08ac0a56]{background:linear-gradient(#fff 60%,#3b82f60d)}.stat-card.acc-orange[data-v-08ac0a56]{background:linear-gradient(#fff 60%,#f59e0b0f)}.stat-card.acc-red[data-v-08ac0a56]{background:linear-gradient(#fff 60%,#ef44440d)}.stat-card.acc-green[data-v-08ac0a56]{background:linear-gradient(#fff 60%,#10b9810d)}.stat-card.acc-purple[data-v-08ac0a56]{background:linear-gradient(#fff 60%,#8b5cf60d)}.stat-card.hover[data-v-08ac0a56]{cursor:pointer}.stat-card.hover[data-v-08ac0a56]:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.ic-badge[data-v-08ac0a56]{top:var(--pad-card);right:var(--pad-card-lg);border-radius:10px;place-items:center;width:36px;height:36px;display:grid;position:absolute}.ic-badge[data-v-08ac0a56] svg,.ic-badge svg[data-v-08ac0a56]{width:19px;height:19px}.acc-neutral .ic-badge[data-v-08ac0a56]{color:var(--accent-neutral);background:#94a3b824}.acc-blue .ic-badge[data-v-08ac0a56]{color:var(--accent-blue);background:#3b82f61f}.acc-orange .ic-badge[data-v-08ac0a56]{color:var(--accent-orange);background:#f59e0b24}.acc-red .ic-badge[data-v-08ac0a56]{color:var(--accent-red);background:#ef44441f}.acc-green .ic-badge[data-v-08ac0a56]{color:var(--accent-green);background:#10b9811f}.acc-purple .ic-badge[data-v-08ac0a56]{color:var(--accent-purple);background:#8b5cf61f}.mom-badge[data-v-08ac0a56]{background:var(--bg-tag,#f1f5f9);color:var(--text-mute);white-space:nowrap;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.mom-badge.up[data-v-08ac0a56]{color:#059669;background:#10b98124}.mom-badge.down[data-v-08ac0a56]{color:#dc2626;background:#ef444424}.title[data-v-08ac0a56]{font-size:var(--fs-body);color:var(--text-sub);align-items:center;gap:6px;padding-right:42px;font-weight:500;display:flex}.num[data-v-08ac0a56]{font-size:var(--fs-kpi);color:var(--text-primary);letter-spacing:.3px;font-variant-numeric:tabular-nums;margin-top:8px;font-weight:700;line-height:1.1}.acc-blue .num[data-v-08ac0a56]{color:var(--accent-blue)}.acc-orange .num[data-v-08ac0a56]{color:var(--accent-orange)}.acc-red .num[data-v-08ac0a56]{color:var(--accent-red)}.acc-green .num[data-v-08ac0a56]{color:var(--accent-green)}.acc-purple .num[data-v-08ac0a56]{color:var(--accent-purple)}.num small[data-v-08ac0a56]{color:var(--text-mute);margin-left:2px;font-size:14px;font-weight:500}.sub[data-v-08ac0a56]{font-size:var(--fs-sub);color:var(--text-mute);margin-top:6px}.sub.danger[data-v-08ac0a56]{color:var(--accent-red)}.sub.success[data-v-08ac0a56]{color:var(--accent-green)}.spark[data-v-08ac0a56]{height:26px;margin-top:10px;line-height:0}.spark svg[data-v-08ac0a56]{display:block}.stat-tile[data-v-705ee449]{padding:18px var(--pad-card-lg);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.label[data-v-705ee449]{font-size:var(--fs-sub);color:var(--text-sub);align-items:center;gap:6px;display:flex}.label .dot[data-v-705ee449]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.value[data-v-705ee449]{font-size:var(--fs-tile);color:var(--text-primary);letter-spacing:.3px;font-variant-numeric:tabular-nums;margin-top:6px;font-weight:700;line-height:1.1}.acc-blue .value[data-v-705ee449]{color:var(--accent-blue)}.acc-orange .value[data-v-705ee449]{color:var(--accent-orange)}.acc-red .value[data-v-705ee449]{color:var(--accent-red)}.acc-green .value[data-v-705ee449]{color:var(--accent-green)}.acc-purple .value[data-v-705ee449]{color:var(--accent-purple)}.sub[data-v-705ee449]{font-size:var(--fs-mute);color:var(--text-mute);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;overflow:hidden}.sub.up[data-v-705ee449]{color:var(--status-up)}.sub.down[data-v-705ee449]{color:var(--status-down)}.panel-card[data-v-86e42048]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--gap-card);box-shadow:var(--shadow-card)}.panel-head[data-v-86e42048]{padding:14px var(--pad-card-lg);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;display:flex}.panel-head .left[data-v-86e42048]{min-width:0}.panel-title[data-v-86e42048]{font-size:var(--fs-title);color:var(--text-primary);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.panel-sub[data-v-86e42048]{font-size:var(--fs-sub);color:var(--text-mute);margin-top:4px;font-weight:400}.panel-head .right[data-v-86e42048]{flex-shrink:0;align-items:center;gap:8px;display:flex}.panel-tag[data-v-86e42048]{font-size:var(--fs-sub);color:var(--text-mute);background:var(--bg-tag);border-radius:var(--radius-sm);padding:3px 8px}.panel-tag--warn[data-v-86e42048]{color:var(--accent-red);background:#fef2f2}.home-page[data-v-d6c4c500]{width:100%}.hero-banner[data-v-d6c4c500]{background:var(--grad-greet);color:#fff;border-radius:var(--radius-lg);margin-bottom:var(--gap-card);justify-content:space-between;align-items:center;gap:24px;padding:22px 28px;display:flex;position:relative;overflow:hidden}.hero-banner[data-v-d6c4c500]:before{content:"";pointer-events:none;background:radial-gradient(420px at 88% -10%,#ffffff38,#0000 60%),radial-gradient(320px at 12% 120%,#ffffff1f,#0000 55%);position:absolute;inset:0}.hero-left[data-v-d6c4c500],.hero-right[data-v-d6c4c500]{z-index:1;position:relative}.hero-left[data-v-d6c4c500]{flex:1}.hero-greeting[data-v-d6c4c500]{margin-bottom:6px;font-size:20px;font-weight:600}.hero-date[data-v-d6c4c500]{font-size:var(--fs-sub);color:#fffc;margin-bottom:10px}.hero-motivate-row[data-v-d6c4c500]{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.hero-motivate[data-v-d6c4c500],.hero-rank[data-v-d6c4c500]{font-size:var(--fs-body);color:#fff;background:#ffffff24;border-radius:14px;padding:5px 12px;font-weight:600}.hero-rank[data-v-d6c4c500]{background:#ffffff38;align-items:center;gap:6px;display:inline-flex}.hero-rank .medal-ic[data-v-d6c4c500]{width:15px;height:15px}.hero-rank.gold[data-v-d6c4c500]{background:#fbbf2452}.hero-rank.gold .medal-ic[data-v-d6c4c500]{color:#fde047}.hero-rank.silver .medal-ic[data-v-d6c4c500]{color:#e5e7eb}.hero-rank.bronze .medal-ic[data-v-d6c4c500]{color:#fdba74}.hero-commission[data-v-d6c4c500]{font-size:var(--fs-body);color:#fff;background:#10b9814d;border-radius:14px;padding:5px 12px;font-weight:700}.hero-quick[data-v-d6c4c500]{flex-wrap:wrap;gap:22px;display:flex}.quick-item[data-v-d6c4c500]{font-size:var(--fs-body);color:#ffffffd9;align-items:center;gap:6px;display:inline-flex}.quick-item strong[data-v-d6c4c500]{color:#fff;margin-left:2px;font-weight:600}.quick-item .dot[data-v-d6c4c500]{background:#fff9;border-radius:50%;width:6px;height:6px;display:inline-block}.hero-right[data-v-d6c4c500]{text-align:right}.year-amount-label[data-v-d6c4c500]{font-size:var(--fs-mute);color:#fffc}.year-amount-value[data-v-d6c4c500]{justify-content:flex-end;align-items:baseline;gap:2px;margin:2px 0;display:flex}.year-amount-value .big[data-v-d6c4c500]{letter-spacing:.5px;color:#fff;font-size:28px;font-weight:700}.year-amount-value small[data-v-d6c4c500]{color:#ffffffe6;font-size:14px;font-weight:500}.year-amount-sub[data-v-d6c4c500]{font-size:var(--fs-mute);color:#ffffffb3}.kpi-set-btn[data-v-d6c4c500]{color:#94a3b8;border:1px solid var(--border-light,#e2e8f0);cursor:pointer;background:#fff;border-radius:6px;flex:none;justify-content:center;align-self:flex-start;align-items:center;width:26px;height:26px;margin-left:-6px;transition:color .15s;display:flex}.kpi-set-btn[data-v-d6c4c500]:hover{color:#4f46e5}.kpi-row[data-v-d6c4c500]{gap:var(--gap-card);margin-bottom:var(--gap-card);grid-template-columns:repeat(5,1fr);display:grid}.overview-tiles[data-v-d6c4c500]{grid-template-columns:repeat(4,1fr);display:grid}.overview-tiles[data-v-d6c4c500] .stat-tile:nth-child(4n){border-right:none}.overview-tiles[data-v-d6c4c500] .stat-tile:nth-last-child(-n+4){border-bottom:none}.risk-grid[data-v-d6c4c500]{padding:14px var(--pad-card-lg);grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.risk-tile[data-v-d6c4c500]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:14px 16px 12px;transition:box-shadow .15s;position:relative}.risk-tile[data-v-d6c4c500]:hover{box-shadow:0 2px 8px #0f172a0f}.risk-tile .dot[data-v-d6c4c500]{border-radius:50%;width:8px;height:8px;position:absolute;top:14px;right:14px}.risk-tile .lab[data-v-d6c4c500]{font-size:var(--fs-sub);color:var(--text-sub);font-weight:500}.risk-tile .num[data-v-d6c4c500]{color:var(--text-primary);letter-spacing:.3px;margin-top:6px;font-size:24px;font-weight:700;line-height:1.1}.risk-tile .sub[data-v-d6c4c500]{font-size:var(--fs-mute);color:var(--text-mute);margin-top:4px}.risk-tile.red[data-v-d6c4c500]{background:#fef2f2;border-color:#fee2e2}.risk-tile.red .dot[data-v-d6c4c500]{background:var(--accent-red)}.risk-tile.red .num[data-v-d6c4c500]{color:var(--accent-red)}.risk-tile.orange[data-v-d6c4c500]{background:#fffbeb;border-color:#fde68a}.risk-tile.orange .dot[data-v-d6c4c500]{background:var(--accent-orange)}.risk-tile.blue[data-v-d6c4c500]{background:#eff6ff;border-color:#dbeafe}.risk-tile.blue .dot[data-v-d6c4c500]{background:var(--accent-blue)}.risk-tile.neutral[data-v-d6c4c500]{background:var(--bg-soft);border-color:var(--border-light)}.risk-tile.neutral .dot[data-v-d6c4c500]{background:var(--accent-neutral)}.risk-tile.empty[data-v-d6c4c500]{background:var(--bg-card);border-color:var(--border-light);opacity:.6}.risk-tile.empty .dot[data-v-d6c4c500]{background:var(--text-mute)}.risk-tile.empty .num[data-v-d6c4c500]{color:var(--text-mute);font-weight:600}.risk-tile.empty[data-v-d6c4c500]:hover{box-shadow:none}.top-list[data-v-d6c4c500]{padding:6px 0}.top-row[data-v-d6c4c500]{padding:10px var(--pad-card-lg);align-items:center;gap:12px;transition:background .15s;display:flex}.top-row[data-v-d6c4c500]:hover{background:var(--bg-soft)}.top-row .rank[data-v-d6c4c500]{background:var(--bg-tag);width:22px;height:22px;color:var(--text-sub);font-size:var(--fs-mute);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid}.top-row .rank.rank-top[data-v-d6c4c500]{background:linear-gradient(135deg, #fbbf24, var(--accent-orange));color:#fff}.top-row .info[data-v-d6c4c500]{flex:1;min-width:0}.top-row .name[data-v-d6c4c500]{font-size:var(--fs-body);color:var(--text-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-row .meta[data-v-d6c4c500]{font-size:var(--fs-mute);color:var(--text-mute);margin-top:2px}.top-row .amount[data-v-d6c4c500]{font-size:var(--fs-body);color:var(--text-primary);flex-shrink:0;font-weight:600}.compact[data-v-d6c4c500]{padding:24px 0}.section-row[data-v-d6c4c500]{margin-bottom:14px}.panel[data-v-d6c4c500]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:16px}.panel-title[data-v-d6c4c500]{color:#1e293b;align-items:center;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.chart-box[data-v-d6c4c500]{width:100%;height:360px}.chart-box-md[data-v-d6c4c500]{width:100%;height:320px}.chart-panel[data-v-d6c4c500]{padding:14px 16px}.chart-panel .panel-title[data-v-d6c4c500]{align-items:center;display:flex}.chart-panel .panel-title .muted[data-v-d6c4c500]{color:#94a3b8;margin-left:8px;font-size:12px;font-weight:400}@media (width<=1200px){.kpi-row[data-v-d6c4c500],.overview-grid[data-v-d6c4c500],.risk-home-grid[data-v-d6c4c500]{grid-template-columns:repeat(2,1fr)}.hero-quick[data-v-d6c4c500]{gap:14px}.hero-quick .quick-item[data-v-d6c4c500]{font-size:12px}}.sprint-dual[data-v-d6c4c500]{padding:16px var(--pad-card-lg);grid-template-columns:1fr 1fr;gap:14px;display:grid}.sprint-lane[data-v-d6c4c500]{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:14px 16px}.sprint-lane.lane-signed[data-v-d6c4c500]{background:linear-gradient(#3b82f60f,#3b82f605);border-color:#dbeafe}.sprint-lane.lane-payment[data-v-d6c4c500]{background:linear-gradient(#10b9810f,#10b98105);border-color:#d1fae5}.lane-head[data-v-d6c4c500]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.lane-name[data-v-d6c4c500]{font-size:var(--fs-body);color:var(--text-primary);font-weight:700}.lane-status[data-v-d6c4c500]{font-size:var(--fs-mute);border-radius:10px;padding:2px 9px;font-weight:700}.st-ahead[data-v-d6c4c500]{color:#15803d;background:#dcfce7}.st-behind[data-v-d6c4c500]{color:#c2410c;background:#ffedd5}.st-done[data-v-d6c4c500]{color:#1d4ed8;background:#dbeafe}.st-flat[data-v-d6c4c500]{background:var(--bg-tag);color:var(--text-sub)}.st-none[data-v-d6c4c500]{background:var(--bg-tag);color:var(--text-mute)}.lane-body[data-v-d6c4c500]{align-items:center;gap:14px;display:flex}.sprint-ring[data-v-d6c4c500]{flex-shrink:0;width:92px;height:92px;position:relative}.sprint-ring svg[data-v-d6c4c500]{width:100%;height:100%}.sprint-ring .ring-prog[data-v-d6c4c500]{transition:stroke-dasharray .8s cubic-bezier(.22,1,.36,1)}.sprint-ring .ring-text[data-v-d6c4c500]{color:var(--text-primary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex;position:absolute;inset:0}.sprint-ring .ring-text small[data-v-d6c4c500]{color:var(--text-mute);margin-left:1px;font-size:11px;font-weight:600}.lane-main[data-v-d6c4c500]{flex:1;min-width:0}.lane-remain[data-v-d6c4c500]{align-items:baseline;gap:3px;display:flex}.lane-remain .rl[data-v-d6c4c500]{font-size:var(--fs-sub);color:var(--text-sub)}.lane-remain b[data-v-d6c4c500]{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.3px;font-size:24px;font-weight:800}.lane-remain .ru[data-v-d6c4c500]{font-size:var(--fs-sub);color:var(--text-sub)}.lane-kv[data-v-d6c4c500]{font-size:var(--fs-mute);color:var(--text-mute);margin-top:4px}.lane-bar[data-v-d6c4c500]{background:var(--border-light);border-radius:4px;height:7px;margin-top:12px;position:relative;overflow:visible}.lane-bar .bar-fill[data-v-d6c4c500]{border-radius:4px;transition:width .8s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;left:0}.lane-bar .bar-time[data-v-d6c4c500]{background:var(--text-sub);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.lane-bar .bar-time[data-v-d6c4c500]:after{content:"";background:var(--text-sub);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:-2px}.lane-bar .bar-time .bt-tag[data-v-d6c4c500]{color:var(--text-sub);background:var(--bg-card);border:1px solid var(--border-light);white-space:nowrap;border-radius:6px;padding:1px 4px;font-size:9px;line-height:1;position:absolute;bottom:10px;left:1px;transform:translate(-50%)}.lane-legend[data-v-d6c4c500]{font-size:var(--fs-mute);align-items:center;gap:8px;margin-top:7px;display:flex}.lane-legend .lg-done[data-v-d6c4c500]{font-weight:700}.lane-legend .lg-sep[data-v-d6c4c500],.lane-legend .lg-time[data-v-d6c4c500]{color:var(--text-mute)}.more-toggle[data-v-d6c4c500]{margin-top:var(--gap-card);background:var(--bg-soft);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-body);color:var(--text-sub);justify-content:space-between;align-items:center;padding:10px 16px;font-weight:600;display:flex}.more-toggle[data-v-d6c4c500]:hover{background:var(--bg-tag)}.more-toggle .muted[data-v-d6c4c500]{font-weight:400}.more-toggle .arrow[data-v-d6c4c500]{color:var(--text-mute);transition:transform .18s}.more-toggle .arrow.open[data-v-d6c4c500]{transform:rotate(90deg)}.pace-section[data-v-d6c4c500]{border-top:1px dashed var(--border);margin-top:14px;padding-top:12px}.pace-head[data-v-d6c4c500]{cursor:pointer;font-size:var(--fs-body);color:var(--text-body);justify-content:space-between;align-items:center;font-weight:600;display:flex}.pace-head small[data-v-d6c4c500]{color:var(--text-mute);margin-left:6px;font-weight:400}.pace-head .arrow[data-v-d6c4c500]{width:14px;height:14px;color:var(--text-mute);transition:transform .18s}.pace-head .arrow.open[data-v-d6c4c500]{transform:rotate(90deg)}.pace-list[data-v-d6c4c500]{flex-direction:column;gap:5px;margin-top:8px;display:flex}.pace-row[data-v-d6c4c500]{border-radius:6px;grid-template-columns:78px 1fr 44px 110px 40px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:grid}.pace-row.st-behind[data-v-d6c4c500]{background:#fef2f2}.pace-row.st-done[data-v-d6c4c500]{background:#f0f9eb}.pace-name[data-v-d6c4c500]{text-overflow:ellipsis;white-space:nowrap;color:var(--text-body);font-weight:500;overflow:hidden}.pace-bar[data-v-d6c4c500]{background:var(--border-light);border-radius:4px;height:8px;position:relative;overflow:visible}.pace-bar .pf[data-v-d6c4c500]{background:linear-gradient(90deg,#6366f1,#4f46e5);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.pace-bar .pt[data-v-d6c4c500]{background:var(--text-sub);border-radius:1px;width:2px;position:absolute;top:-2px;bottom:-2px}.pace-pct[data-v-d6c4c500]{text-align:right;color:var(--text-body);font-weight:600}.pace-need[data-v-d6c4c500]{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pace-status[data-v-d6c4c500]{text-align:center;font-weight:700}.pace-status.s-behind[data-v-d6c4c500]{color:var(--accent-red)}.pace-status.s-ahead[data-v-d6c4c500],.pace-status.s-done[data-v-d6c4c500]{color:var(--accent-green)}.pace-status.s-notarget[data-v-d6c4c500]{color:var(--text-mute)}.todo-list[data-v-d6c4c500]{flex-direction:column;gap:10px;padding:14px 18px;display:flex}.todo-group[data-v-d6c4c500]{border-radius:var(--radius-sm);border:1px solid #0000;overflow:hidden}.todo-row[data-v-d6c4c500]{cursor:pointer;font-size:var(--fs-body);align-items:center;gap:10px;padding:12px 16px;transition:box-shadow .15s;display:flex}.todo-row[data-v-d6c4c500]:hover{box-shadow:0 2px 8px #0f172a0f}.todo-row .dot[data-v-d6c4c500]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.todo-row .text[data-v-d6c4c500]{color:var(--text-body);flex:1;font-weight:500}.todo-row .qty[data-v-d6c4c500]{font-size:var(--fs-body);color:var(--text-sub);text-align:right;min-width:24px;font-weight:600}.todo-row .arrow[data-v-d6c4c500]{width:14px;height:14px;color:var(--text-mute);transition:transform .18s}.todo-row .arrow.open[data-v-d6c4c500]{transform:rotate(90deg)}.todo-group.danger[data-v-d6c4c500]{background:#fef2f2;border-color:#fee2e2}.todo-group.danger .dot[data-v-d6c4c500]{background:var(--accent-red)}.todo-group.warn[data-v-d6c4c500]{background:#fffbeb;border-color:#fde68a}.todo-group.warn .dot[data-v-d6c4c500]{background:var(--accent-orange)}.todo-group.info[data-v-d6c4c500]{background:#eff6ff;border-color:#dbeafe}.todo-group.info .dot[data-v-d6c4c500]{background:var(--accent-blue)}.todo-group.neutral[data-v-d6c4c500]{background:var(--bg-soft);border-color:var(--border-light)}.todo-group.neutral .dot[data-v-d6c4c500]{background:var(--accent-neutral)}.todo-detail[data-v-d6c4c500]{flex-direction:column;gap:4px;padding:2px 12px 10px 26px;display:flex}.td-item[data-v-d6c4c500]{cursor:pointer;background:#ffffff8c;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.td-item[data-v-d6c4c500]:hover{background:#fff;box-shadow:0 1px 4px #0f172a14}.td-name[data-v-d6c4c500]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-body);flex:1;font-size:13px;overflow:hidden}.td-meta[data-v-d6c4c500]{color:var(--text-sub);white-space:nowrap;font-size:12px}.td-meta.danger[data-v-d6c4c500]{color:var(--accent-red);font-weight:600}.td-meta.warn[data-v-d6c4c500]{color:#b45309;font-weight:600}.td-all[data-v-d6c4c500]{color:var(--accent-blue);cursor:pointer;text-align:right;padding:4px 8px;font-size:12px}.td-all[data-v-d6c4c500]:hover{text-decoration:underline}.todos-empty[data-v-d6c4c500]{text-align:center;color:var(--text-mute);padding:36px 20px 28px}.todos-empty svg[data-v-d6c4c500]{opacity:.5;margin-bottom:10px}.todos-empty .t[data-v-d6c4c500]{font-size:var(--fs-body);color:var(--text-sub);font-weight:500}.todos-empty .s[data-v-d6c4c500]{font-size:var(--fs-sub);margin-top:4px}.loading-tip[data-v-d6c4c500]{text-align:center;color:#94a3b8;padding:60px 0}.todo-panel[data-v-d6c4c500]{padding:12px 14px 6px}.todo-panel .panel-title[data-v-d6c4c500]{margin-bottom:8px;font-size:14px}.todo-panel .panel-title .muted[data-v-d6c4c500]{color:#94a3b8;margin-left:6px;font-size:12px;font-weight:400}.todo-panel.danger[data-v-d6c4c500]{background:#fef2f2;border-color:#fecaca}.todo-panel.warn[data-v-d6c4c500]{background:#fffbeb;border-color:#fde68a}.todo-panel.info[data-v-d6c4c500]{background:#f5f3ff;border-color:#c7d2fe}.todo-panel.approve[data-v-d6c4c500]{background:#f0f9ff;border-color:#bae6fd}.todo-list[data-v-d6c4c500]{margin:0;padding:0;list-style:none}.todo-list li[data-v-d6c4c500]{cursor:pointer;border-bottom:1px dashed #0000000f;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.todo-list li[data-v-d6c4c500]:last-child{border-bottom:0}.todo-list li[data-v-d6c4c500]:hover{color:#2563eb}.todo-list .t-name[data-v-d6c4c500]{text-overflow:ellipsis;white-space:nowrap;color:#1e293b;flex:1;min-width:0;overflow:hidden}.todo-list .t-meta[data-v-d6c4c500]{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.todo-list .t-meta b[data-v-d6c4c500]{color:#b91c1c;font-size:13px;font-weight:700}.todo-list .t-meta i[data-v-d6c4c500]{color:#64748b;font-size:11px;font-style:normal}.capital-input[data-v-ce7b7d08]{align-items:center;gap:6px;width:100%;display:flex}.capital-input[data-v-ce7b7d08] .el-input-number{flex:1;min-width:0}.capital-input span[data-v-ce7b7d08]{color:#64748b;white-space:nowrap;font-size:12px}.prod-images[data-v-bd4511f7]{flex-wrap:wrap;gap:8px;display:flex}.pi-thumb[data-v-bd4511f7]{border:1px solid var(--border,#e5e7eb);border-radius:6px;width:76px;height:76px;position:relative;overflow:hidden}.pi-thumb img[data-v-bd4511f7]{object-fit:cover;cursor:zoom-in;width:100%;height:100%}.pi-del[data-v-bd4511f7]{text-align:center;color:#fff;cursor:pointer;background:#00000080;border-bottom-left-radius:6px;width:18px;height:18px;font-size:14px;line-height:16px;position:absolute;top:0;right:0}.pi-add[data-v-bd4511f7]{border:1px dashed var(--border,#c0c4cc);color:#909399;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:76px;height:76px;display:flex}.pi-add[data-v-bd4511f7]:hover{border-color:var(--color-brand-primary,#6366f1);color:var(--color-brand-primary,#6366f1)}.pi-hint[data-v-bd4511f7]{color:var(--text-sub,#909399);margin-top:4px;font-size:12px}.block-title[data-v-ddc52329]{color:#1e293b;margin:10px 0 8px;font-weight:600}.preview[data-v-ddc52329]{margin-top:6px}.muted[data-v-ddc52329]{color:#94a3b8;font-size:12px}.warn[data-v-ddc52329]{color:#e6a23c;margin-top:8px}:root{--color-brand-primary:#6366f1;--color-brand-dark:#4f46e5;--color-brand-light:#a5b4fc;--accent-neutral:#94a3b8;--accent-blue:#3b82f6;--accent-orange:#f59e0b;--accent-red:#ef4444;--accent-green:#10b981;--accent-purple:#8b5cf6;--bg-page:#f5f7fa;--bg-card:#fff;--bg-soft:#f8fafc;--bg-tag:#f1f5f9;--border:#e5e7eb;--border-light:#f1f5f9;--text-primary:#0f172a;--text-body:#1f2937;--text-sub:#6b7280;--text-mute:#94a3b8;--status-up:#10b981;--status-down:#ef4444;--fs-display:28px;--fs-kpi:26px;--fs-tile:22px;--fs-title:14px;--fs-body:13px;--fs-sub:12px;--fs-mute:11px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--gap-card:16px;--pad-card:18px;--pad-card-lg:20px;--shadow-card:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-card-hover:0 8px 24px #0f172a1a;--grad-bar:linear-gradient(180deg, var(--color-brand-light), var(--color-brand-dark));--grad-progress:linear-gradient(90deg, var(--color-brand-primary), var(--color-brand-dark));--grad-greet:linear-gradient(135deg, var(--color-brand-primary) 0%, var(--color-brand-dark) 100%)}html.dark{--bg-page:#0f172a;--bg-card:#1e293b;--bg-soft:#243349;--bg-tag:#2b3a52;--border:#334155;--border-light:#2b3a52;--text-primary:#e2e8f0;--text-body:#cbd5e1;--text-sub:#94a3b8;--text-mute:#64748b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.tpl-product-suggest.el-autocomplete__popper{min-width:340px!important}:root{--brand-primary:#1e3a8a;--brand-primary-gradient:linear-gradient(90deg, #1e3a8a 0%, #3730a3 100%);--brand-accent:#2563eb;--brand-accent-hover:#1d4ed8;--color-success:#10b981;--color-success-bg:#f0fdf4;--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-info:#0ea5e9;--color-info-bg:#f0f9ff;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--bg-page:#f8fafc;--bg-card:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e1;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:16px;--shadow-sm:0 1px 3px #0f172a0a;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 10px 25px #0f172a1f;--shadow-xl:0 25px 50px #0f172a2e;--el-color-primary:#2563eb;--el-color-primary-light-3:#60a5fa;--el-color-primary-light-5:#93c5fd;--el-color-primary-light-7:#bfdbfe;--el-color-primary-light-9:#dbeafe;--el-color-primary-dark-2:#1d4ed8}*{box-sizing:border-box}body{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,Inter,Arial,sans-serif}.login-page{background:#070b1f;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.lp-rain{z-index:0;opacity:.5;position:absolute;inset:0}.lp-net{z-index:0;position:absolute;inset:0}.lp-orb{filter:blur(90px);opacity:.55;z-index:0;pointer-events:none;border-radius:50%;animation:18s ease-in-out infinite alternate lp-drift;position:absolute}.lp-orb-1{background:radial-gradient(circle,#312e81 0%,#0000 70%);width:560px;height:560px;top:-160px;left:-140px}.lp-orb-2{background:radial-gradient(circle,#6d28d9 0%,#0000 70%);width:640px;height:640px;animation-duration:22s;animation-delay:-6s;bottom:-220px;right:-180px}.lp-orb-3{opacity:.35;background:radial-gradient(circle,#0e7490 0%,#0000 70%);width:420px;height:420px;animation-delay:-12s;top:56%;left:38%}@keyframes lp-drift{0%{transform:translate(0)scale(1)}to{transform:translate(60px,-40px)scale(1.12)}}.lp-grid-floor{z-index:0;transform-origin:bottom;pointer-events:none;background:linear-gradient(#0000 0%,#6366f112 100%),repeating-linear-gradient(90deg,#6366f11f 0 1px,#0000 1px 64px),repeating-linear-gradient(0deg,#6366f11a 0 1px,#0000 1px 44px);height:42vh;position:absolute;bottom:0;left:0;right:0;transform:perspective(420px)rotateX(58deg);-webkit-mask-image:linear-gradient(#0000,#000 55%);mask-image:linear-gradient(#0000,#000 55%)}.login-card{z-index:2;-webkit-backdrop-filter:blur(22px)saturate(140%);background:#0d122c94;border:1px solid #818cf838;border-radius:22px;width:min(432px,100vw - 32px);padding:44px 42px 36px;position:relative;box-shadow:0 0 0 1px #070b1f66,0 24px 80px #020617a6,0 0 120px #4f46e52e}.login-card:before{content:"";background:linear-gradient(90deg,#0000,#818cf8 30%,#22d3ee 55%,#a78bfa 75%,#0000) 0 0/220% 100%;border-radius:2px;height:1.5px;animation:5s linear infinite lp-flow;position:absolute;top:0;left:24px;right:24px}@keyframes lp-flow{to{background-position:-220% 0}}.lp-corner{z-index:3;border:2px solid #818cf88c;width:16px;height:16px;position:absolute}.lp-corner.tl{border-bottom:0;border-right:0;border-radius:8px 0 0;top:-2px;left:-2px}.lp-corner.tr{border-bottom:0;border-left:0;border-radius:0 8px 0 0;top:-2px;right:-2px}.lp-corner.bl{border-top:0;border-right:0;border-radius:0 0 0 8px;bottom:-2px;left:-2px}.lp-corner.br{border-top:0;border-left:0;border-radius:0 0 8px;bottom:-2px;right:-2px}.login-logo{justify-content:center;margin-bottom:16px;display:flex}.login-logo-mark{filter:drop-shadow(0 0 18px #7c3aed8c)drop-shadow(0 0 36px #22d3ee33)}.login-card-logo{object-fit:contain;background:#fffffff2;border-radius:14px;width:60px;height:60px;box-shadow:0 0 28px #7c3aed73}.login-card h2{text-align:center;letter-spacing:1px;background:linear-gradient(110deg,#f8fafc 20%,#a5b4fc 60%,#67e8f9 95%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px;font-weight:800;animation:6s infinite lp-glitch}@keyframes lp-glitch{0%,91%,94.5%,to{filter:none;transform:none}92%{filter:drop-shadow(2px 0 #f0f)drop-shadow(-2px 0 #0ff);transform:translate(-2px)skew(-3deg)}93%{filter:drop-shadow(-2px 0 #f0f)drop-shadow(2px 0 #0ff);transform:translate(2px)}94%{filter:none;transform:none}}.login-subtitle{text-align:center;letter-spacing:4px;text-transform:uppercase;color:#a5b4fca6;margin:8px 0 4px;font-size:12px}.login-slogan{text-align:center;color:#94a3b8cc;margin:0 0 28px;font-size:12.5px}.login-card .el-input__wrapper{background-color:#070b1f8c;border-radius:12px;padding:5px 13px;transition:all .2s;box-shadow:inset 0 0 0 1px #94a3b838!important}.login-card .el-input__wrapper.is-focus{background-color:#070b1fbf;box-shadow:inset 0 0 0 1px #818cf8,0 0 0 3px #6366f12e,0 0 24px #6366f140!important}.login-card .el-input__inner{color:#e2e8f0}.login-card .el-input__inner::placeholder{color:#64748be6}.login-card .el-input__prefix .el-icon,.login-card .el-input__suffix .el-icon{color:#94a3b8cc}.login-submit{letter-spacing:6px;border-radius:12px;width:100%;height:48px;margin-top:8px;font-size:15.5px;font-weight:600;transition:background-position .4s,box-shadow .25s,transform .15s;position:relative;overflow:hidden;background:linear-gradient(120deg,#4f46e5,#7c3aed 55%,#2563eb) 0 0/200% 100%!important;border:0!important;box-shadow:0 10px 30px #4f46e573!important}.login-submit:hover{transform:translateY(-1px);background-position:100% 0!important;box-shadow:0 14px 40px #7c3aed99,0 0 40px #22d3ee33!important}.login-submit:after{content:"";background:linear-gradient(100deg,#0000,#ffffff59,#0000);width:60px;animation:3.2s ease-in-out infinite lp-shine;position:absolute;top:0;bottom:0;left:-80px;transform:skew(-20deg)}@keyframes lp-shine{0%,55%{left:-80px}85%,to{left:130%}}.login-safe-tip{text-align:center;color:#64748be6;margin:24px 0 0;font-size:12px}.login-captcha-row{align-items:center;gap:10px;width:100%;display:flex}.login-captcha-row .el-input{flex:1}.login-captcha-img{cursor:pointer;background:#e2e8f0eb;border:1px solid #94a3b838;border-radius:12px;flex:none;justify-content:center;align-items:center;width:130px;height:40px;display:flex;overflow:hidden}.login-captcha-img svg{display:block}.login-dingtalk-tip{text-align:center;color:#7dd3fc;margin:12px 0 0;font-size:13px;font-weight:500}.login-copyright{z-index:2;text-align:center;letter-spacing:1px;color:#64748b8c;margin:0;font-size:12px;position:absolute;bottom:22px;left:0;right:0}.dingtalk-bind-intro{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;margin-bottom:20px;padding:14px 16px;font-size:14px;line-height:1.7}.dingtalk-bind-intro b{color:#1d4ed8}.dingtalk-bind-intro .muted{color:#64748b;margin-top:4px;font-size:13px}.layout{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--brand-primary-gradient);color:#fff;z-index:10;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:relative;box-shadow:0 2px 8px #0f172a1f}.brand{align-items:center;gap:12px;display:flex}.brand-logo{background:linear-gradient(135deg,#60a5fa,#c084fc);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden;box-shadow:0 4px 10px #0000002e}.topbar-logo-img{object-fit:contain;background:#fff;width:100%;height:100%}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-text .brand-main{letter-spacing:.3px;font-size:16px;font-weight:700}.brand-text .brand-sub{color:#ffffffa6;letter-spacing:.5px;font-size:11px;font-weight:400}.user-trigger{cursor:pointer;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;color:#fff;align-items:center;gap:10px;padding:6px 12px;transition:background .15s;display:flex}.user-trigger:hover{background:#ffffff1a}.user-avatar{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 6px #00000026}.user-name{color:#fff;font-size:14px;font-weight:500}.user-arrow{color:#ffffffbf;font-size:12px}.shell{grid-template-columns:220px minmax(0,1fr);height:calc(100vh - 60px);display:grid}.sidebar{background:#1e293b;border-right:1px solid #0f172a;padding:14px 0 24px;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.menu-group{margin-bottom:4px}.menu-group .group-title{color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:11px 16px 11px 20px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:flex;position:relative}.menu-group .group-title:hover{color:#fff;background:#ffffff0d}.menu-group .group-title .group-icon{color:#818cf8;flex-shrink:0;font-size:16px}.menu-group .group-title .group-name{letter-spacing:.3px;flex:1}.menu-group .group-title .group-badge{background:#6366f1;border-radius:50%;width:6px;height:6px;margin-right:6px;box-shadow:0 0 6px #6366f1b3}.menu-group .group-title .group-arrow{color:#94a3b8;font-size:12px;transition:transform .25s}.menu-group.collapsed .group-title .group-arrow{transform:rotate(-90deg)}.menu-group:not(.collapsed) .group-title{color:#fff}.menu-group .group-title:has(.group-badge){color:#fff}.menu-group .group-items{opacity:1;max-height:800px;padding:2px 0 6px;transition:max-height .3s,padding .25s,opacity .2s;overflow:hidden}.menu-group.collapsed .group-items{opacity:0;max-height:0;padding:0}.menu-item{color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;margin:1px 10px;padding:8px 12px 8px 22px;font-size:13.5px;transition:background .15s,color .15s;display:flex;position:relative}.menu-item:hover{color:#fff;background:#ffffff12}.menu-item.active{color:#fff;background:#6366f13d;font-weight:600}.menu-bullet{opacity:.35;background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.menu-item:hover .menu-bullet{opacity:.7}.menu-item.active .menu-bullet{opacity:1;background:#818cf8;box-shadow:0 0 6px #818cf8cc}.content{background:var(--bg-page);padding:18px 20px;overflow:auto}.page-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.page-title h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.panel{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:14px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stats{grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px;display:grid}.stat-card{text-align:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:18px}.stat-card strong{font-size:26px;display:block}.muted{color:#667085}.quote-paper{border-radius:var(--radius-md);background:#fff;min-width:1120px;padding:18px;box-shadow:0 8px 24px #0f172a1a}.quote-title{text-align:center;margin-bottom:14px;font-size:26px;font-weight:800}.amount-cell{text-align:right;font-weight:700}.bottom-actions{z-index:10;background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 14px #0f172a14}.product-picker{grid-template-columns:230px minmax(0,1fr);gap:12px;min-height:520px;display:grid}.category-list{border-right:1px solid #e2e8f0;max-height:520px;padding-right:10px;overflow:auto}.category-button{justify-content:space-between;width:100%;margin-bottom:6px}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.danger-zone{background:#fff7f7;border-color:#fecaca}.pagination-wrap{justify-content:flex-end;margin-top:14px;display:flex}@media (width<=980px){.login-card{padding:36px 26px 30px}.lp-orb{filter:blur(70px)}.lp-grid-floor{height:32vh}.shell{grid-template-columns:1fr}.sidebar{display:none}.stats,.product-picker{grid-template-columns:1fr}}.detail-drawer{--el-color-primary:#6366f1;--el-color-primary-light-3:#818cf8;--el-color-primary-light-5:#a5b4fc;--el-color-primary-light-7:#c7d2fe;--el-color-primary-light-9:#eef2ff;--el-color-primary-dark-2:#4f46e5}.detail-drawer .el-drawer__header{background:var(--grad-greet,linear-gradient(135deg, #6366f1 0%, #4f46e5 100%));color:#fff;margin-bottom:0;padding:18px 20px}.detail-drawer .el-drawer__close-btn{color:#ffffffd9}.detail-drawer .el-drawer__close-btn:hover{color:#fff}.detail-drawer .el-drawer__body{background:var(--bg-page,#f5f7fa);padding:16px 20px}.detail-drawer .el-drawer__footer{border-top:1px solid var(--border-light,#f1f5f9);background:#fff;padding:12px 20px}.detail-dialog{--el-color-primary:#6366f1;--el-color-primary-light-3:#818cf8;--el-color-primary-light-5:#a5b4fc;--el-color-primary-light-7:#c7d2fe;--el-color-primary-light-9:#eef2ff;--el-color-primary-dark-2:#4f46e5;border-radius:12px;flex-direction:column;max-height:90vh;padding:0;display:flex;overflow:hidden}.detail-dialog .el-dialog__header{background:var(--grad-greet,linear-gradient(135deg, #6366f1 0%, #4f46e5 100%));color:#fff;flex-shrink:0;margin-right:0;padding:18px 20px}.detail-dialog .el-dialog__headerbtn{top:14px;right:12px}.detail-dialog .el-dialog__headerbtn .el-dialog__close{color:#ffffffd9}.detail-dialog .el-dialog__headerbtn:hover .el-dialog__close{color:#fff}.detail-dialog .el-dialog__body{background:var(--bg-page,#f5f7fa);flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.detail-dialog .el-dialog__footer{border-top:1px solid var(--border-light,#f1f5f9);background:#fff;flex-shrink:0;padding:12px 20px}.stat-cards{gap:14px;margin-bottom:10px;display:flex}.stat-cards .scard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex:1;gap:7px;padding:16px 20px;transition:box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 4px 16px #0f172a12}.stat-cards .scard:before{content:"";background:var(--accent-neutral);width:4px;position:absolute;top:0;bottom:0;left:0}.stat-cards .scard:hover{transform:translateY(-3px);box-shadow:0 8px 26px #0f172a24}.stat-cards .scard .lbl{color:var(--text-sub);font-size:12.5px;font-weight:500}.stat-cards .scard .val{color:var(--text-primary);letter-spacing:-.3px;font-size:26px;font-weight:700}.stat-cards .scard.paid .val,.stat-cards .scard.green .val{color:var(--accent-green)}.stat-cards .scard.paid:before,.stat-cards .scard.green:before{background:var(--accent-green)}.stat-cards .scard.unpaid .val,.stat-cards .scard.red .val{color:var(--accent-red)}.stat-cards .scard.unpaid:before,.stat-cards .scard.red:before{background:var(--accent-red)}.stat-cards .scard.blue .val{color:var(--accent-blue)}.stat-cards .scard.blue:before{background:var(--accent-blue)}.stat-cards .scard.orange .val{color:var(--accent-orange)}.stat-cards .scard.orange:before{background:var(--accent-orange)}.stat-cards .scard.purple .val{color:var(--accent-purple)}.stat-cards .scard.purple:before{background:var(--accent-purple)}.global-search{width:min(400px,32vw);position:relative}.global-search .el-input__wrapper{background:#ffffff1f;border-radius:8px;transition:background .15s;box-shadow:none!important}.global-search .el-input__wrapper:hover,.global-search .el-input__wrapper.is-focus{background:#fff3}.global-search .el-input__inner{color:#fff}.global-search .el-input__inner::placeholder{color:#ffffff8c}.global-search .el-input__prefix,.global-search .el-input__suffix{color:#ffffffa6}.gs-panel{z-index:3000;color:#0f172a;background:#fff;border:1px solid #f1f5f9;border-radius:10px;max-height:70vh;padding:6px;position:absolute;top:42px;left:0;right:0;overflow:auto;box-shadow:0 12px 32px #0f172a29}.gs-group+.gs-group{border-top:1px solid #f8fafc;margin-top:2px}.gs-group-title{color:#94a3b8;padding:8px 10px 4px;font-size:12px;font-weight:600}.gs-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.gs-item:hover{background:#eef2ff}.gs-item-main{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.gs-item-sub{color:#94a3b8;white-space:nowrap;flex-shrink:0;font-size:12px}.gs-empty{text-align:center;color:#94a3b8;padding:18px;font-size:13px}@media (width<=980px){.global-search{display:none}}.approval-bell{color:#ffffffd9;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;margin-right:6px;transition:background .15s;display:inline-flex;position:relative}.approval-bell:hover,.approval-bell.active{color:#fff;background:#ffffff29}.approval-badge{color:#fff;text-align:center;background:#ef4444;border-radius:9px;min-width:16px;height:16px;padding:0 4px;font-size:11px;font-style:normal;font-weight:700;line-height:16px;position:absolute;top:1px;right:-1px;box-shadow:0 0 0 2px #1e293b73}.ac-panel{z-index:3000;color:#0f172a;cursor:default;background:#fff;border:1px solid #f1f5f9;border-radius:10px;width:340px;max-height:72vh;padding:6px;position:absolute;top:44px;right:0;overflow:auto;box-shadow:0 12px 32px #0f172a29}.ac-head{color:#1e293b;align-items:center;gap:8px;padding:8px 10px 6px;font-size:14px;font-weight:700;display:flex}.ac-total{color:#4f46e5;background:#eef2ff;border-radius:9px;padding:0 8px;font-size:12px;font-weight:700;line-height:18px}.ac-group+.ac-group{border-top:1px solid #f8fafc;margin-top:2px}.ac-group-title{color:#94a3b8;align-items:center;gap:6px;padding:8px 10px 4px;font-size:12px;font-weight:600;display:flex}.ac-group-title span{color:#4f46e5}.ac-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.ac-item:hover{background:#eef2ff}.ac-item-main{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.ac-item-sub{color:#94a3b8;white-space:nowrap;flex-shrink:0;font-size:12px}.ac-empty{text-align:center;color:#94a3b8;padding:22px;font-size:13px}html.dark .ac-panel{background:var(--bg-card);border-color:var(--border)}html.dark .ac-head,html.dark .ac-item-main{color:var(--text-primary)}html.dark .ac-item:hover{background:#243349}html.dark .ac-group-title{color:var(--text-mute)}html.dark .ac-total{color:#c7d2fe;background:#312e81}.ai-fab{z-index:2100;color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:26px;right:26px;box-shadow:0 6px 20px #4f46e559}.ai-fab:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 10px 26px #4f46e573}.ai-fab.open{transform:scale(.92)}.ai-panel{z-index:2100;background:#fff;border-radius:16px;flex-direction:column;width:420px;max-width:calc(100vw - 40px);height:min(620px,100vh - 130px);display:flex;position:fixed;bottom:90px;right:26px;overflow:hidden;box-shadow:0 18px 50px #0f172a38}.ai-pop-enter-active,.ai-pop-leave-active{transition:opacity .18s,transform .18s}.ai-pop-enter-from,.ai-pop-leave-to{opacity:0;transform:translateY(14px)scale(.97)}.ai-head{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);flex:none;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.ai-title{font-size:15px;font-weight:600}.ai-actions{align-items:center;gap:12px;display:flex}.ai-icon-btn{cursor:pointer;opacity:.85;-webkit-user-select:none;user-select:none;font-size:12.5px}.ai-icon-btn:hover{opacity:1}.ai-body{background:#f8fafc;flex:1;padding:16px 14px;overflow-y:auto}.ai-welcome{color:#475569;padding:8px 4px;font-size:13.5px;line-height:1.7}.ai-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ai-chip{color:#4f46e5;cursor:pointer;background:#eef2ff;border-radius:999px;padding:5px 13px;font-size:12.5px;transition:background .15s}.ai-chip:hover{background:#e0e7ff}.ai-msg{margin-bottom:12px;display:flex}.ai-msg.user{justify-content:flex-end}.ai-msg.assistant{justify-content:flex-start}.ai-bubble{word-break:break-word;border-radius:12px;max-width:86%;padding:9px 13px;font-size:13.5px;line-height:1.65}.ai-msg.user .ai-bubble{color:#fff;background:linear-gradient(135deg,#4f46e5,#6d28d9);border-bottom-right-radius:4px}.ai-msg.assistant .ai-bubble{color:#1e293b;background:#fff;border:1px solid #eef0f4;border-bottom-left-radius:4px;box-shadow:0 1px 2px #0f172a0a}.ai-bubble.md p{margin:.35em 0}.ai-bubble.md h1,.ai-bubble.md h2,.ai-bubble.md h3,.ai-bubble.md h4{color:#0f172a;margin:.6em 0 .3em;font-size:14px}.ai-bubble.md ul,.ai-bubble.md ol{margin:.3em 0;padding-left:1.3em}.ai-bubble.md li{margin:.15em 0}.ai-bubble.md strong{color:#1d4ed8}.ai-bubble.md blockquote{color:#64748b;background:#f8faff;border-left:3px solid #c7d2fe;border-radius:0 6px 6px 0;margin:.5em 0 0;padding:.3em .8em}.ai-bubble.md table{border-collapse:collapse;margin:.4em 0;font-size:12.5px}.ai-bubble.md th,.ai-bubble.md td{border:1px solid #e2e8f0;padding:4px 9px}.ai-bubble.md code{background:#f1f5f9;border-radius:4px;padding:1px 5px;font-size:12.5px}.ai-typing{align-items:center;gap:5px;padding:13px 16px;display:flex}.ai-typing span{background:#a5b4fc;border-radius:50%;width:7px;height:7px;animation:1.2s infinite aiTyping}.ai-typing span:nth-child(2){animation-delay:.18s}.ai-typing span:nth-child(3){animation-delay:.36s}@keyframes aiTyping{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.ai-input{background:#fff;border-top:1px solid #eef0f4;flex:none;gap:8px;padding:11px 12px;display:flex}.ai-input .el-input{flex:1}.ai-typing .ai-status{color:#818cf8;margin-left:6px;font-size:12px;font-style:normal}.ai-stream-status{color:#818cf8;padding:0 4px 8px;font-size:12px}.ai-bubble.md a{color:#4f46e5;cursor:pointer;border-bottom:1px dashed #a5b4fc;font-weight:600;text-decoration:none}.ai-bubble.md a:hover{color:#4338ca;border-bottom-style:solid}.ai-fab{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.ai-fab.dragging{cursor:grabbing;opacity:.85;transition:none}.scard.clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.scard.clickable:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0f172a1a}.scard.clickable.active{outline-offset:-2px;outline:2px solid #4f46e5}.chart-dl-btn{z-index:10;color:#64748b;cursor:pointer;opacity:0;background:#ffffffeb;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .15s,color .15s;display:flex;position:absolute;top:6px;right:6px}[_echarts_instance_]:hover .chart-dl-btn{opacity:1}.chart-dl-btn:hover{color:#4f46e5;border-color:#c7d2fe}.kpi-set{font-size:13px}.kpi-set-head{color:#1e293b;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600;display:flex}.kpi-set-row{justify-content:space-between;align-items:center;height:28px;display:flex}.kpi-set-arrows{gap:2px;display:flex}html.dark body{background:var(--bg-page);color:var(--text-body)}html.dark .panel,html.dark .chart-panel,html.dark .panel-card,html.dark .home-panel,html.dark .scard,html.dark .case-card,html.dark .case-empty,html.dark .m-card,html.dark .m-form-card,html.dark .m-more-item,html.dark .dingtalk-card{background:var(--bg-card);border-color:var(--border);color:var(--text-body)}html.dark .page-title h2,html.dark .panel-title,html.dark .case-title,html.dark .m-card-title,html.dark .m-more-label,html.dark .m-dt-title,html.dark .kpi-set-head,html.dark .col-set-head,html.dark .scard .val{color:var(--text-primary)}html.dark .scard .lbl{color:var(--text-sub)}.el-table{--el-table-header-bg-color:var(--bg-soft);--el-table-header-text-color:var(--text-sub);--el-table-row-hover-bg-color:#eef2ff;--el-table-border-color:var(--border-light)}.el-table thead th.el-table__cell{font-weight:500}html.dark .el-table{--el-table-tr-bg-color:var(--bg-card);--el-table-header-bg-color:#243349;--el-table-row-hover-bg-color:#2b3a52}.el-dialog__header{border-bottom:.5px solid var(--border-light);margin-right:16px;padding-bottom:14px}.el-dialog__footer{border-top:.5px solid var(--border-light);padding-top:14px}.el-tag{border-radius:6px;font-weight:500}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}::-webkit-scrollbar-track{background:0 0}.el-button:active{transform:scale(.97)}html.dark .ai-panel{background:var(--bg-card)}html.dark .ai-body{background:#182236}html.dark .ai-msg.assistant .ai-bubble{background:var(--bg-card);border-color:var(--border);color:var(--text-body)}html.dark .ai-bubble.md h1,html.dark .ai-bubble.md h2,html.dark .ai-bubble.md h3,html.dark .ai-bubble.md h4{color:var(--text-primary)}html.dark .ai-bubble.md strong{color:#93c5fd}html.dark .ai-bubble.md blockquote{color:var(--text-sub);background:#243349;border-left-color:#4f46e5}html.dark .ai-bubble.md code{background:#243349}html.dark .ai-input{background:var(--bg-card);border-top-color:var(--border)}html.dark .ai-chip{color:#c7d2fe;background:#312e81}html.dark .ai-welcome{color:var(--text-sub)}html.dark .ai-stream-status{color:#a5b4fc}html.dark .gs-panel{background:var(--bg-card);border-color:var(--border)}html.dark .gs-item-main{color:var(--text-primary)}html.dark .gs-item:hover{background:#243349}html.dark .gs-group-title{color:var(--text-mute)}html.dark .chart-dl-btn{border-color:var(--border);color:var(--text-sub);background:#1e293beb}html.dark .kpi-set-btn,html.dark .col-set-btn{background:var(--bg-card);border-color:var(--border);color:var(--text-sub)}html.dark .case-cust{color:var(--text-body)}html.dark .case-snippet{color:var(--text-sub)}html.dark .case-amount{color:#c7d2fe;background:#312e81}html.dark .case-detail-meta{color:var(--text-body);background:#243349}html.dark .case-sec h4{color:var(--text-primary)}html.dark .case-sec p{color:var(--text-body)}html.dark .m-shell{background:var(--bg-page)}html.dark .m-tabbar{background:var(--bg-card);border-top-color:var(--border)}html.dark .m-content{background:var(--bg-page)}html.dark .m-ai-panel{background:#182236}html.dark .m-card-line{color:var(--text-body)}html.dark .m-dt-kv{color:var(--text-body);border-bottom-color:var(--border-light)}html.dark .m-chip{color:var(--text-sub);background:#2b3a52}html.dark .m-chip.active{color:#fff;background:#4f46e5}html.dark .m-item{background:#243349}html.dark .m-item.group{color:#c7d2fe;background:#312e81}html.dark .m-sec-title{color:var(--text-primary)}html.dark .stat-card.acc-blue,html.dark .stat-card.acc-orange,html.dark .stat-card.acc-red,html.dark .stat-card.acc-green,html.dark .stat-card.acc-purple{background:var(--bg-card)}
