.command-center-page{padding:16px;min-height:calc(100vh - 64px);background:#f9fafb}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.kpi-card{display:flex;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #f3f4f6;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;transition:all .2s ease}.kpi-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;transform:translateY(-2px)}.kpi-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#2563eb14;border-radius:8px}.kpi-content{flex:1}.kpi-label{font-size:12px;color:#6b7280;margin-bottom:4px}.kpi-value{font-size:20px;font-weight:700;color:#111827;margin-bottom:4px}.kpi-trend{display:flex;align-items:center;gap:4px;font-size:12px}.kpi-trend.up{color:#059669}.kpi-trend.down{color:#dc2626}.kpi-trend .vs-text{color:#9ca3af;margin-left:4px}.echarts-container{width:100%;height:320px}.sales-funnel-card{grid-column:span 4}.funnel-bar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-radius:8px;transition:all .2s ease;min-width:100px}.funnel-label{font-size:12px;font-weight:500;color:#fff}.funnel-value{font-size:14px;font-weight:700;color:#fff}.rate-value{font-size:14px;font-weight:600;color:#059669}.rate-label{font-size:11px;color:#9ca3af}.category-chart-card,.regional-performance{grid-column:span 4}.region-rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#2563eb14;border-radius:4px;font-size:12px;font-weight:600;color:#2563eb}.region-name{font-size:12px;color:#111827;margin-bottom:4px;display:block}.region-bar-container{height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.region-bar{height:100%;background:linear-gradient(135deg,#2563eb,#1d4ed8,#1e40af);border-radius:3px;transition:width .5s ease}.region-value{font-size:12px;font-weight:600;color:#111827;min-width:90px;text-align:right}.product-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.product-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;transition:all .15s ease}.product-item:hover{background:#f3f4f6}.product-rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;font-weight:700;background:#e5e7eb;color:#6b7280}.product-name{font-size:12px;color:#111827}.product-sales{font-size:11px;color:#9ca3af}.product-trend{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:500}.product-trend.up{color:#059669}.product-trend.down{color:#dc2626}.order-id{font-size:12px;font-weight:500;color:#2563eb}.order-amount{font-size:12px;font-weight:600;color:#111827}.alerts-card{grid-column:span 6}.alert-item{display:flex;gap:12px;padding:16px;border-radius:8px;border-left:3px solid;background:#f9fafb}.alert-item.warning{border-left-color:#d97706}.alert-item.danger{border-left-color:#dc2626}.alert-item.info{border-left-color:#0891b2}.alert-icon{font-size:20px}.alert-title{font-size:12px;font-weight:600;color:#111827;margin-bottom:4px}.alert-time{font-size:11px;color:#9ca3af}.target-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.target-item{padding:16px;background:#f9fafb;border-radius:8px}.target-name{font-size:12px;color:#111827}.target-value{font-size:12px;color:#9ca3af}.target-percentage{font-size:12px;font-weight:600;color:#2563eb;text-align:right;margin-top:8px}.target-percentage.warning{color:#d97706}@media(max-width:1200px){.chart-grid{grid-template-columns:repeat(6,1fr)}.revenue-chart,.sales-funnel-card,.category-chart-card,.regional-performance,.top-products,.recent-orders,.alerts-card,.target-progress{grid-column:span 6}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.kpi-strip{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}.revenue-chart,.sales-funnel-card,.category-chart-card,.regional-performance,.top-products,.recent-orders,.alerts-card,.target-progress{grid-column:span 1}}.navigation-workbench[data-v-b0cc65a0]{margin-bottom:24px}.workbench-header[data-v-b0cc65a0]{margin-bottom:16px}.workbench-title[data-v-b0cc65a0]{margin:0 0 4px;font-size:20px;font-weight:700;color:#303133}.workbench-subtitle[data-v-b0cc65a0]{margin:0;font-size:13px;color:#909399}.workbench-section+.workbench-section[data-v-b0cc65a0]{margin-top:20px}.section-title[data-v-b0cc65a0]{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:600;color:#606266}.shortcut-grid[data-v-b0cc65a0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.shortcut-grid.compact[data-v-b0cc65a0]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.shortcut-card[data-v-b0cc65a0]{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #ebeef5;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.shortcut-card[data-v-b0cc65a0]:hover{border-color:#c6e2ff;box-shadow:0 8px 20px #2563eb1f;transform:translateY(-1px)}.shortcut-icon[data-v-b0cc65a0]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#eef4ff;color:var(--el-color-primary);flex-shrink:0}.shortcut-body[data-v-b0cc65a0]{display:flex;flex-direction:column;gap:2px;min-width:0}.shortcut-body strong[data-v-b0cc65a0]{font-size:14px;color:#303133}.shortcut-body small[data-v-b0cc65a0]{font-size:12px;color:#909399}.shortcut-chip[data-v-b0cc65a0]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #ebeef5;border-radius:999px;background:#fff;color:#606266;font-size:13px;cursor:pointer}.shortcut-chip[data-v-b0cc65a0]:hover{border-color:#c6e2ff;color:var(--el-color-primary)}.workflow-grid[data-v-b0cc65a0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.workflow-card[data-v-b0cc65a0]{padding:14px 16px;border:1px solid #ebeef5;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.workflow-card[data-v-b0cc65a0]:hover{border-color:#c6e2ff;box-shadow:0 8px 20px #2563eb1a}.workflow-head[data-v-b0cc65a0]{display:flex;align-items:flex-start;gap:12px}.workflow-head strong[data-v-b0cc65a0]{display:block;font-size:14px;color:#303133}.workflow-head p[data-v-b0cc65a0]{margin:4px 0 0;font-size:12px;color:#909399}.workflow-icon[data-v-b0cc65a0]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#f0f9eb;color:#67c23a;flex-shrink:0}.workflow-arrow[data-v-b0cc65a0]{margin-left:auto;color:#c0c4cc}.workflow-steps[data-v-b0cc65a0]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:12px;padding-top:12px;border-top:1px dashed #ebeef5}.workflow-step[data-v-b0cc65a0]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#606266}html.dark .workbench-title[data-v-b0cc65a0]{color:#e5eaf3}html.dark .workbench-subtitle[data-v-b0cc65a0],html.dark .section-title[data-v-b0cc65a0],html.dark .shortcut-body small[data-v-b0cc65a0],html.dark .workflow-head p[data-v-b0cc65a0],html.dark .workflow-step[data-v-b0cc65a0]{color:#a6a8ad}html.dark .shortcut-card[data-v-b0cc65a0],html.dark .shortcut-chip[data-v-b0cc65a0],html.dark .workflow-card[data-v-b0cc65a0]{background:#1d1e1f;border-color:#363637}html.dark .shortcut-body strong[data-v-b0cc65a0],html.dark .workflow-head strong[data-v-b0cc65a0]{color:#e5eaf3}[data-v-d627a2f8]:root{--color-primary: #2563eb;--color-primary-light-1: #1d4ed8;--color-primary-light-2: #3b82f6;--color-primary-light-3: #60a5fa;--color-primary-light-4: #93c5fd;--color-primary-light-5: #bfdbfe;--color-primary-light-6: #dbeafe;--color-primary-light-7: #eff6ff;--color-primary-light-8: #f8fafc;--color-primary-light-9: #f1f5f9;--color-primary-dark-1: #1e40af;--color-primary-dark-2: #1e3a8a;--color-primary-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 50%, #1e40af 100%);--color-primary-gradient-light: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);--color-success: #059669;--color-success-light: #10b981;--color-success-lighter: #34d399;--color-success-bg: rgba(5, 150, 105, .08);--color-success-border: rgba(5, 150, 105, .2);--color-warning: #d97706;--color-warning-light: #f59e0b;--color-warning-lighter: #fbbf24;--color-warning-bg: rgba(217, 119, 6, .08);--color-warning-border: rgba(217, 119, 6, .2);--color-danger: #dc2626;--color-danger-light: #ef4444;--color-danger-lighter: #f87171;--color-danger-bg: rgba(220, 38, 38, .08);--color-danger-border: rgba(220, 38, 38, .2);--color-info: #0891b2;--color-info-light: #06b6d4;--color-info-lighter: #22d3ee;--color-info-bg: rgba(8, 145, 178, .08);--color-info-border: rgba(8, 145, 178, .2);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-text-primary: #111827;--color-text-regular: #374151;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-placeholder: #d1d5db;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-lighter: #f9fafb;--color-border-dark: #d1d5db;--color-border-focus: #3b82f6;--color-border-success: #059669;--color-border-warning: #d97706;--color-border-danger: #dc2626;--color-bg: #ffffff;--color-bg-page: #f9fafb;--color-bg-hover: rgba(59, 130, 246, .04);--color-bg-active: rgba(59, 130, 246, .08);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-primary: 0 4px 14px 0 rgba(37, 99, 235, .25);--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--font-family-base: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Microsoft YaHei, Arial, sans-serif;--font-family-heading: Inter, Microsoft YaHei, PingFang SC, Arial, sans-serif;--font-family-mono: JetBrains Mono, Fira Code, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--shell-sidebar: 260px;--shell-sidebar-collapsed: 72px;--shell-header: 64px;--shell-tabs: 44px;--filter-width-xs: 120px;--filter-width-sm: 144px;--filter-width-md: 168px;--filter-width-lg: 200px;--filter-width-xl: 320px;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-drawer: 1050;--z-modal: 1060;--z-popover: 1070;--z-tooltip: 1080}html.dark[data-v-d627a2f8]{--color-text-primary: #f9fafb;--color-text-regular: #e5e7eb;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-text-placeholder: #4b5563;--color-border: #374151;--color-border-light: #4b5563;--color-border-lighter: #1f2937;--color-bg: #1f2937;--color-bg-page: #111827;--color-bg-hover: rgba(59, 130, 246, .08);--color-bg-active: rgba(59, 130, 246, .12);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3)}.dashboard-page[data-v-d627a2f8]{padding:16px;min-height:calc(100vh - 64px);background:#f9fafb}.header-card[data-v-d627a2f8]{margin-bottom:24px;border:none;border-radius:12px}.header-card[data-v-d627a2f8] .el-card__header{padding:20px 24px;border-bottom:1px solid #f3f4f6}.header-card[data-v-d627a2f8] .el-card__body{padding:0}.page-header[data-v-d627a2f8]{display:flex;justify-content:space-between;align-items:center}.header-title .title[data-v-d627a2f8]{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px;line-height:1.25}.header-title .subtitle[data-v-d627a2f8]{font-size:12px;color:#6b7280;margin:0;letter-spacing:.5px}.header-info .current-time[data-v-d627a2f8]{font-size:12px;color:#6b7280}.dashboard-grid[data-v-d627a2f8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:24px}.dashboard-item[data-v-d627a2f8]{cursor:pointer;transition:transform .2s ease}.dashboard-item[data-v-d627a2f8]:hover{transform:translateY(-4px)}.dashboard-card[data-v-d627a2f8]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:16px;position:relative;overflow:hidden;transition:all .3s ease}.dashboard-card[data-v-d627a2f8]:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease}.dashboard-card[data-v-d627a2f8]:hover:before{opacity:1}.card-icon[data-v-d627a2f8]{font-size:48px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:12px;position:relative;z-index:1}.card-content[data-v-d627a2f8]{flex:1;position:relative;z-index:1}.card-title[data-v-d627a2f8]{font-size:18px;font-weight:600;color:#fff;margin-bottom:4px}.card-desc[data-v-d627a2f8]{font-size:12px;color:#fffc}.card-arrow[data-v-d627a2f8]{font-size:20px;color:#fff9;position:relative;z-index:1;transition:transform .2s ease}.dashboard-item:hover .card-arrow[data-v-d627a2f8]{transform:translate(4px)}.command-center[data-v-d627a2f8]{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 24px #667eea59}.command-center[data-v-d627a2f8]:before{background:linear-gradient(135deg,#7c8ff5,#9d6bc2)}.command-center .card-icon[data-v-d627a2f8]{background:#ffffff26}.sales-funnel[data-v-d627a2f8]{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 8px 24px #f5576c59}.sales-funnel[data-v-d627a2f8]:before{background:linear-gradient(135deg,#f5a8c7,#f77d8c)}.sales-funnel .card-icon[data-v-d627a2f8]{background:#ffffff26}.inventory-warning[data-v-d627a2f8]{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 8px 24px #4facfe59}.inventory-warning[data-v-d627a2f8]:before{background:linear-gradient(135deg,#7fc8ff,#5ffbf1)}.inventory-warning .card-icon[data-v-d627a2f8]{background:#ffffff26}.project-progress[data-v-d627a2f8]{background:linear-gradient(135deg,#43e97b,#38f9d7);box-shadow:0 8px 24px #38f9d759}.project-progress[data-v-d627a2f8]:before{background:linear-gradient(135deg,#7df5a8,#6ff9e2)}.project-progress .card-icon[data-v-d627a2f8]{background:#ffffff26}.purchase-management[data-v-d627a2f8]{background:linear-gradient(135deg,#fa709a,#fee140);box-shadow:0 8px 24px #fa709a59}.purchase-management[data-v-d627a2f8]:before{background:linear-gradient(135deg,#fb8cb3,#fee86f)}.purchase-management .card-icon[data-v-d627a2f8]{background:#ffffff26}.order-management[data-v-d627a2f8]{background:linear-gradient(135deg,#a18cd1,#fbc2eb);box-shadow:0 8px 24px #a18cd159}.order-management[data-v-d627a2f8]:before{background:linear-gradient(135deg,#b9a4db,#fcd6ef)}.order-management .card-icon[data-v-d627a2f8]{background:#ffffff26}.quick-stats[data-v-d627a2f8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.stat-card[data-v-d627a2f8]{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #f3f4f6;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;transition:all .2s ease}.stat-card[data-v-d627a2f8]:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;transform:translateY(-2px)}.stat-card.warning[data-v-d627a2f8]{background:linear-gradient(135deg,#d9770614,#fbbf240d);border-color:#d9770633}.stat-icon[data-v-d627a2f8]{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#2563eb14;border-radius:8px;font-size:28px}.stat-info[data-v-d627a2f8]{flex:1}.stat-value[data-v-d627a2f8]{font-size:20px;font-weight:700;color:#111827;line-height:1.25}.stat-label[data-v-d627a2f8]{font-size:12px;color:#6b7280;margin-top:4px}.stat-trend[data-v-d627a2f8]{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 8px;border-radius:9999px}.stat-trend.up[data-v-d627a2f8]{color:#059669;background:#05966914}.stat-trend.down[data-v-d627a2f8]{color:#0891b2;background:#0891b214}.stat-trend.alert[data-v-d627a2f8]{color:#d97706;background:#d9770614}@media(max-width:768px){.dashboard-page[data-v-d627a2f8]{padding:16px}.page-header[data-v-d627a2f8]{flex-direction:column;gap:12px;align-items:flex-start}.dashboard-grid[data-v-d627a2f8]{grid-template-columns:1fr}.quick-stats[data-v-d627a2f8]{grid-template-columns:repeat(2,1fr)}}.command-center{min-height:100vh;background:#f5f7fb;padding:24px 32px;color:#1f2937}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.header-left .main-title{font-size:32px;font-weight:700;margin:0 0 8px;color:#3b82f6}.header-left .subtitle{font-size:14px;color:#9ca3af;margin:0;letter-spacing:1px}.refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:14px;cursor:pointer;transition:all .2s ease}.refresh-btn .icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.refresh-btn .icon svg{width:100%;height:100%}.refresh-btn:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.refresh-btn.spinning .icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.main-content{margin-top:24px}.chart-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px #0000000d}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.chart-title{font-size:16px;font-weight:600;margin:0;color:#1f2937}.chart-subtitle{font-size:12px;color:#9ca3af}.chart-actions{display:flex;gap:8px}.period-btn{padding:6px 12px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:12px;cursor:pointer;transition:all .2s ease}.period-btn:hover{background:#f9fafb}.period-btn.active,.period-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.revenue-chart{grid-column:span 8}.chart-container{width:100%;height:300px}.echarts-container{width:100%;height:100%}.sales-funnel{grid-column:span 4}.funnel-container{display:flex;flex-direction:column;gap:12px}.funnel-stage{display:flex;align-items:center;gap:12px}.funnel-bar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-radius:8px;transition:all .3s ease;min-width:80px}.funnel-label{font-size:13px;font-weight:500;color:#1f2937}.funnel-value{font-size:14px;font-weight:700;color:#1f2937}.funnel-rate{display:flex;flex-direction:column;align-items:center;min-width:70px}.rate-value{font-size:14px;font-weight:600;color:#3b82f6}.rate-label{font-size:12px;color:#9ca3af}.category-distribution{grid-column:span 4;height:380px}.regional-performance{grid-column:span 4}.region-list{display:flex;flex-direction:column;gap:16px}.region-item{display:flex;align-items:center;gap:12px}.region-rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#eff6ff;border-radius:6px;font-size:12px;font-weight:600;color:#3b82f6}.region-info{flex:1}.region-name{font-size:13px;color:#6b7280;margin-bottom:6px;display:block}.region-bar-container{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.region-bar{height:100%;background:#3b82f6;border-radius:3px;transition:width .5s ease}.region-value{font-size:13px;font-weight:600;color:#1f2937;min-width:90px;text-align:right}.top-products{grid-column:span 4}.product-list{display:flex;flex-direction:column;gap:10px;max-height:350px;overflow-y:auto}.product-list::-webkit-scrollbar{width:4px}.product-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.product-item{display:flex;align-items:center;gap:12px;padding:10px;background:#fff;border-radius:8px;transition:all .2s ease;cursor:default}.product-item:hover{background:#f9fafb}.product-rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:12px;font-weight:700;background:#f3f4f6;color:#6b7280}.product-rank.rank-1{background:linear-gradient(135deg,gold,#ffb700);color:#000}.product-rank.rank-2{background:linear-gradient(135deg,silver,#a8a8a8);color:#000}.product-rank.rank-3{background:linear-gradient(135deg,#cd7f32,#b5651d);color:#fff}.product-info{flex:1;display:flex;flex-direction:column}.product-name{font-size:13px;color:#1f2937}.product-sales{font-size:12px;color:#9ca3af}.product-trend{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.product-trend svg{width:14px;height:14px}.product-trend.up{color:#10b981}.product-trend.down{color:#ef4444}.recent-orders{grid-column:span 6}.order-list{display:flex;flex-direction:column;gap:8px}.order-item{display:flex;align-items:center;padding:12px;background:#fff;border-radius:8px;gap:16px}.order-id{font-size:12px;font-weight:600;color:#667eea;min-width:120px}.order-customer{flex:1;font-size:13px;color:#fffc}.order-amount{font-size:13px;font-weight:600;color:#1f2937;min-width:90px;text-align:right}.order-status{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;min-width:60px;text-align:center}.order-status.status-pending{background:#fbbf2433;color:#fbbf24}.order-status.status-confirmed{background:#60a5fa33;color:#60a5fa}.order-status.status-processing{background:#a78bfa33;color:#a78bfa}.order-status.status-shipped{background:#34d39933;color:#34d399}.order-status.status-completed{background:#4ade8033;color:#4ade80}.alerts{grid-column:span 6}.alert-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.alert-list{display:flex;flex-direction:column;gap:12px}.alert-item{display:flex;gap:12px;padding:14px;background:#fff;border-radius:10px;border-left:3px solid}.alert-item.warning{border-left-color:#f59e0b}.alert-item.danger{border-left-color:#ef4444}.alert-item.info{border-left-color:#60a5fa}.alert-icon{width:24px;height:24px;flex-shrink:0}.alert-icon svg{width:100%;height:100%}.warning .alert-icon{color:#f59e0b}.danger .alert-icon{color:#ef4444}.info .alert-icon{color:#60a5fa}.alert-content{flex:1}.alert-title{font-size:13px;font-weight:600;color:#1f2937;margin-bottom:4px}.alert-desc{font-size:12px;color:#6b7280;margin-bottom:4px}.alert-time{font-size:12px;color:#9ca3af}.target-progress{grid-column:span 12}.target-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.target-item{background:#fff;border-radius:12px}.target-header{display:flex;justify-content:space-between;margin-bottom:12px}.target-name{font-size:14px;color:#fffc}.target-value{font-size:13px;color:#9ca3af}.progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:4px;transition:width .5s ease}.progress-fill.warning{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.target-percentage{font-size:14px;font-weight:700;color:#667eea;text-align:right}.target-percentage.warning{color:#f59e0b}@media(max-width:1200px){.chart-grid{grid-template-columns:repeat(6,1fr)}.revenue-chart,.sales-funnel,.category-distribution,.regional-performance,.top-products,.recent-orders,.alerts,.target-progress{grid-column:span 6}}@media(max-width:768px){.header{flex-direction:column;gap:16px}.chart-grid{grid-template-columns:1fr}.revenue-chart,.sales-funnel,.category-distribution,.regional-performance,.top-products,.recent-orders,.alerts,.target-progress{grid-column:span 1}}.inventory-warning-page{padding:16px;min-height:calc(100vh - 64px);background:#f9fafb}.stat-card{display:flex;gap:16px;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.stat-card.critical{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5}.stat-card.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.stat-card.normal{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7}.stat-card.overstock{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #a5b4fc}.stat-icon{font-size:36px}.stat-value{font-size:20px;font-weight:700;color:#111827;margin-bottom:4px}.stat-label{font-size:12px;color:#6b7280}.main-content{display:grid;grid-template-columns:1fr 380px;gap:24px}.chart-card{border:none;border-radius:12px;margin-bottom:20px}.stock-value{font-weight:600;color:#111827}.safe-stock{color:#6b7280}.echarts-container{width:100%;height:200px}.task-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:20px}.task-icon.critical{background:#ef44441a}.task-icon.warning{background:#f59e0b1a}.task-icon.normal{background:#10b9811a}.task-title{font-size:12px;font-weight:500;color:#111827}.task-desc{font-size:11px;color:#9ca3af;margin-top:2px}.health-score{display:flex;justify-content:center;padding:16px 0}.score-value{font-size:20px;font-weight:700;color:#111827;display:block}.score-label{font-size:12px;color:#6b7280}.health-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.health-item{display:flex;align-items:center;gap:8px;font-size:12px}.health-item .dot{width:8px;height:8px;border-radius:50%}.health-item .dot.critical{background:#ef4444}.health-item .dot.warning{background:#f59e0b}.health-item .dot.success{background:#10b981}.health-item .dot.danger{background:#6366f1}.health-item .label{flex:1;color:#6b7280}.health-item .value{font-weight:600;color:#111827}@media(max-width:1200px){.main-content{grid-template-columns:1fr}.right-section{display:grid;grid-template-columns:1fr 1fr;gap:20px}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.stats-overview{grid-template-columns:repeat(2,1fr)}.right-section{grid-template-columns:1fr}}[data-v-8abb5ba3]:root{--color-primary: #2563eb;--color-primary-light-1: #1d4ed8;--color-primary-light-2: #3b82f6;--color-primary-light-3: #60a5fa;--color-primary-light-4: #93c5fd;--color-primary-light-5: #bfdbfe;--color-primary-light-6: #dbeafe;--color-primary-light-7: #eff6ff;--color-primary-light-8: #f8fafc;--color-primary-light-9: #f1f5f9;--color-primary-dark-1: #1e40af;--color-primary-dark-2: #1e3a8a;--color-primary-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 50%, #1e40af 100%);--color-primary-gradient-light: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);--color-success: #059669;--color-success-light: #10b981;--color-success-lighter: #34d399;--color-success-bg: rgba(5, 150, 105, .08);--color-success-border: rgba(5, 150, 105, .2);--color-warning: #d97706;--color-warning-light: #f59e0b;--color-warning-lighter: #fbbf24;--color-warning-bg: rgba(217, 119, 6, .08);--color-warning-border: rgba(217, 119, 6, .2);--color-danger: #dc2626;--color-danger-light: #ef4444;--color-danger-lighter: #f87171;--color-danger-bg: rgba(220, 38, 38, .08);--color-danger-border: rgba(220, 38, 38, .2);--color-info: #0891b2;--color-info-light: #06b6d4;--color-info-lighter: #22d3ee;--color-info-bg: rgba(8, 145, 178, .08);--color-info-border: rgba(8, 145, 178, .2);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-text-primary: #111827;--color-text-regular: #374151;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-placeholder: #d1d5db;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-lighter: #f9fafb;--color-border-dark: #d1d5db;--color-border-focus: #3b82f6;--color-border-success: #059669;--color-border-warning: #d97706;--color-border-danger: #dc2626;--color-bg: #ffffff;--color-bg-page: #f9fafb;--color-bg-hover: rgba(59, 130, 246, .04);--color-bg-active: rgba(59, 130, 246, .08);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-primary: 0 4px 14px 0 rgba(37, 99, 235, .25);--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--font-family-base: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Microsoft YaHei, Arial, sans-serif;--font-family-heading: Inter, Microsoft YaHei, PingFang SC, Arial, sans-serif;--font-family-mono: JetBrains Mono, Fira Code, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--shell-sidebar: 260px;--shell-sidebar-collapsed: 72px;--shell-header: 64px;--shell-tabs: 44px;--filter-width-xs: 120px;--filter-width-sm: 144px;--filter-width-md: 168px;--filter-width-lg: 200px;--filter-width-xl: 320px;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-drawer: 1050;--z-modal: 1060;--z-popover: 1070;--z-tooltip: 1080}html.dark[data-v-8abb5ba3]{--color-text-primary: #f9fafb;--color-text-regular: #e5e7eb;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-text-placeholder: #4b5563;--color-border: #374151;--color-border-light: #4b5563;--color-border-lighter: #1f2937;--color-bg: #1f2937;--color-bg-page: #111827;--color-bg-hover: rgba(59, 130, 246, .08);--color-bg-active: rgba(59, 130, 246, .12);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3)}.personal-dashboard[data-v-8abb5ba3]{padding:20px;background:#f5f7fa;min-height:calc(100vh - 60px)}.dashboard-header[data-v-8abb5ba3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dashboard-header .page-title[data-v-8abb5ba3]{font-size:24px;font-weight:600;color:#303133;margin:0}.dashboard-header .page-subtitle[data-v-8abb5ba3]{font-size:14px;color:#909399;margin:5px 0 0}.stats-row[data-v-8abb5ba3]{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:20px}@media(max-width:1200px){.stats-row[data-v-8abb5ba3]{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.stats-row[data-v-8abb5ba3]{grid-template-columns:repeat(2,1fr)}}.stat-card .stat-content[data-v-8abb5ba3]{display:flex;align-items:center;gap:16px}.stat-card .stat-icon[data-v-8abb5ba3]{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-card .stat-icon.pending[data-v-8abb5ba3]{background:#ecf5ff;color:#409eff}.stat-card .stat-icon.project[data-v-8abb5ba3]{background:#f0f9eb;color:#67c23a}.stat-card .stat-icon.approval[data-v-8abb5ba3]{background:#fdf6ec;color:#e6a23c}.stat-card .stat-icon.overdue[data-v-8abb5ba3]{background:#fef0f0;color:#909399}.stat-card .stat-icon.overdue.has-overdue[data-v-8abb5ba3]{background:#fef0f0;color:#f56c6c}.stat-card .stat-icon.completed[data-v-8abb5ba3]{background:#f0f9eb;color:#67c23a}.stat-card .stat-icon.rate[data-v-8abb5ba3]{background:#ecf5ff;color:#409eff}.stat-card .stat-info[data-v-8abb5ba3]{flex:1}.stat-card .stat-value[data-v-8abb5ba3]{font-size:28px;font-weight:700;color:#303133;line-height:1.2}.stat-card .stat-label[data-v-8abb5ba3]{font-size:14px;color:#909399;margin-top:4px}.dashboard-content[data-v-8abb5ba3]{display:grid;grid-template-columns:300px 1fr 320px;gap:20px}@media(max-width:1400px){.dashboard-content[data-v-8abb5ba3]{grid-template-columns:280px 1fr}}@media(max-width:1024px){.dashboard-content[data-v-8abb5ba3]{grid-template-columns:1fr}}.left-column[data-v-8abb5ba3],.center-column[data-v-8abb5ba3],.right-column[data-v-8abb5ba3]{display:flex;flex-direction:column;gap:20px}.module-card .card-header[data-v-8abb5ba3]{display:flex;justify-content:space-between;align-items:center}.module-card .card-title[data-v-8abb5ba3]{font-size:16px;font-weight:600;color:#303133}.quick-actions[data-v-8abb5ba3]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-item[data-v-8abb5ba3]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#f5f7fa;border-radius:8px;cursor:pointer;transition:all .3s}.quick-action-item[data-v-8abb5ba3]:hover{background:#ecf5ff;transform:translateY(-2px)}.quick-action-item .action-icon[data-v-8abb5ba3]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.quick-action-item .action-name[data-v-8abb5ba3]{font-size:13px;color:#606266}.attention-list[data-v-8abb5ba3]{display:flex;flex-direction:column;gap:12px}.attention-item[data-v-8abb5ba3]{display:flex;gap:12px;padding:12px;background:#f5f7fa;border-radius:8px;cursor:pointer;transition:all .3s}.attention-item[data-v-8abb5ba3]:hover{background:#ecf5ff}.attention-item.unread[data-v-8abb5ba3]{background:#fdf6ec;border-left:3px solid #E6A23C}.attention-item .attention-badge[data-v-8abb5ba3]{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.attention-item .attention-title[data-v-8abb5ba3]{font-size:14px;font-weight:500;color:#303133;margin-bottom:4px}.attention-item .attention-desc[data-v-8abb5ba3]{font-size:12px;color:#909399;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.attention-item .attention-time[data-v-8abb5ba3]{font-size:12px;color:#c0c4cc}.todo-list[data-v-8abb5ba3]{display:flex;flex-direction:column;gap:8px}.todo-item[data-v-8abb5ba3]{display:flex;gap:12px;padding:12px;background:#f5f7fa;border-radius:8px;transition:all .3s}.todo-item[data-v-8abb5ba3]:hover{background:#ecf5ff}.todo-item.overdue[data-v-8abb5ba3]{background:#fef0f0}.todo-item .todo-check[data-v-8abb5ba3]{padding-top:2px}.todo-item .todo-content[data-v-8abb5ba3]{flex:1;cursor:pointer}.todo-item .todo-title[data-v-8abb5ba3]{font-size:14px;color:#303133;margin-bottom:8px;display:flex;align-items:center;gap:8px}.todo-item .todo-meta[data-v-8abb5ba3]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.todo-item .todo-meta .todo-project[data-v-8abb5ba3],.todo-item .todo-meta .todo-due[data-v-8abb5ba3]{font-size:12px;color:#909399}.project-list[data-v-8abb5ba3]{display:flex;flex-direction:column;gap:12px}.project-item[data-v-8abb5ba3]{padding:16px;background:#f5f7fa;border-radius:8px;cursor:pointer;transition:all .3s}.project-item[data-v-8abb5ba3]:hover{background:#ecf5ff;transform:translate(4px)}.project-item .project-header[data-v-8abb5ba3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.project-item .project-name[data-v-8abb5ba3]{font-size:15px;font-weight:600;color:#303133}.project-item .project-progress[data-v-8abb5ba3]{margin-bottom:12px}.project-item .project-meta[data-v-8abb5ba3]{display:flex;gap:16px;font-size:12px;color:#909399}.project-item .project-meta span[data-v-8abb5ba3]{display:flex;align-items:center;gap:4px}.notification-list[data-v-8abb5ba3]{display:flex;flex-direction:column;gap:12px}.notification-item[data-v-8abb5ba3]{display:flex;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .3s}.notification-item[data-v-8abb5ba3]:hover{background:#f5f7fa}.notification-item.unread[data-v-8abb5ba3]{background:#fdf6ec}.notification-item.unread .notification-title[data-v-8abb5ba3]{font-weight:600}.notification-item .notification-dot[data-v-8abb5ba3]{width:8px;height:8px;border-radius:50%;background:#f56c6c;margin-top:6px;flex-shrink:0}.notification-item .notification-title[data-v-8abb5ba3]{font-size:14px;color:#303133;margin-bottom:4px}.notification-item .notification-desc[data-v-8abb5ba3]{font-size:12px;color:#909399;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item .notification-time[data-v-8abb5ba3]{font-size:12px;color:#c0c4cc}.empty-text[data-v-8abb5ba3]{text-align:center;padding:20px;color:#909399;font-size:14px}.project-progress-page{padding:16px;min-height:calc(100vh - 64px);background:#f9fafb}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #f3f4f6;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.stat-card.running{background:linear-gradient(135deg,#10b98114,#10b98105);border-color:#10b98133}.stat-card.pending{background:linear-gradient(135deg,#3b82f614,#3b82f605);border-color:#3b82f633}.stat-card.delayed{background:linear-gradient(135deg,#f59e0b14,#f59e0b05);border-color:#f59e0b33}.stat-icon{font-size:28px}.stat-value{font-size:20px;font-weight:700;color:#111827}.main-content{display:flex;flex-direction:column;gap:24px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px}.project-card{border:none;border-radius:12px;transition:all .2s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.project-card :deep(.el-card__body){padding:20px}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.project-name{font-size:18px;font-weight:700;color:#111827;margin:0 0 8px}.project-customer{font-size:12px;color:#6b7280;margin:0 0 16px}.project-progress-section{margin-bottom:16px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px}.progress-label{font-size:12px;color:#6b7280}.progress-value{font-size:12px;font-weight:600;color:#111827}.project-meta{display:flex;gap:20px;margin:16px 0}.meta-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.project-timeline{margin-bottom:16px}.timeline-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#6b7280;margin-bottom:12px}.milestone-list{display:flex;flex-direction:column;gap:12px}.milestone-item{display:flex;align-items:center;gap:12px}.milestone-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;flex-shrink:0}.milestone-dot.completed{background:#059669}.milestone-info{flex:1;display:flex;justify-content:space-between}.milestone-name{font-size:12px;color:#111827}.milestone-date{font-size:11px;color:#9ca3af}.check-icon,.pending-icon{font-size:16px}.project-actions{display:flex;gap:8px}.bottom-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.panel-card{border:none;border-radius:12px}.panel-card :deep(.el-card__header){padding:16px 20px;border-bottom:1px solid #f3f4f6}.panel-card :deep(.el-card__body){padding:20px}.panel-header{display:flex;justify-content:space-between;align-items:center}.panel-title{font-size:16px;font-weight:600;color:#111827;margin:0}.echarts-container{width:100%;height:220px}.task-list{display:flex;flex-direction:column;gap:12px}.task-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px}.task-content{flex:1}.task-name{font-size:12px;color:#111827;margin-bottom:4px}.task-meta{display:flex;align-items:center;gap:8px}.task-deadline{font-size:11px;color:#9ca3af}.update-list{display:flex;flex-direction:column;gap:16px}.update-item{display:flex;gap:12px}.update-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#1d4ed8,#1e40af);border-radius:50%;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.update-content{flex:1}.update-text{font-size:12px;color:#6b7280;margin-bottom:2px}.update-user{font-weight:600;color:#2563eb}.update-target{color:#111827}.update-time{font-size:11px;color:#9ca3af}@media(max-width:1200px){.bottom-panels{grid-template-columns:1fr}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.stats-overview{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}}.chart-container[data-v-a3776b64]{height:280px}.chart-sm[data-v-a3776b64]{height:220px}.card-header-row[data-v-a3776b64]{display:flex;justify-content:space-between;align-items:center}.pending-list[data-v-70edd131]{display:flex;flex-direction:column;gap:12px}.pending-item[data-v-70edd131]{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;background:var(--el-fill-color-lighter)}.budget-item[data-v-70edd131]{margin-bottom:16px}.budget-header[data-v-70edd131]{display:flex;justify-content:space-between;margin-bottom:6px;font-size:14px}.budget-detail[data-v-70edd131]{margin-top:4px;font-size:12px;color:var(--el-text-color-secondary)}.purchase-management-page{padding:16px;min-height:calc(100vh - 64px);background:#f9fafb}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.stat-card{display:flex;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #f3f4f6;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.stat-card.success{background:linear-gradient(135deg,#10b98114,#10b98105);border-color:#10b98133}.stat-card.warning{background:linear-gradient(135deg,#f59e0b14,#f59e0b05);border-color:#f59e0b33}.stat-icon{font-size:32px}.stat-content{flex:1}.stat-label{font-size:12px;color:#6b7280;margin-bottom:2px}.stat-value{font-size:20px;font-weight:700;color:#111827;margin-bottom:2px}.stat-trend{display:flex;align-items:center;gap:2px;font-size:12px}.stat-trend.up{color:#059669}.stat-trend.down{color:#dc2626}.main-content{display:grid;grid-template-columns:1fr 420px;gap:24px}.echarts-container{width:100%;height:280px}.order-no{font-weight:500;color:#2563eb}.order-amount{font-weight:600;color:#111827}.supplier-list{display:flex;flex-direction:column;gap:12px}.supplier-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;transition:all .15s ease}.supplier-item:hover{background:#f3f4f6}.supplier-rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;font-weight:700;background:#e5e7eb;color:#6b7280}.supplier-rank.rank-1{background:linear-gradient(135deg,gold,#ffb700);color:#000}.supplier-rank.rank-2{background:linear-gradient(135deg,silver,#a8a8a8);color:#000}.supplier-rank.rank-3{background:linear-gradient(135deg,#cd7f32,#b5651d);color:#fff}.supplier-info{flex:1}.supplier-name{font-size:12px;font-weight:500;color:#111827}.supplier-category{font-size:11px;color:#9ca3af}.supplier-stats{text-align:right}.supplier-amount{font-size:12px;font-weight:700;color:#111827;margin-bottom:2px}.pending-list{display:flex;flex-direction:column;gap:12px}.pending-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px}.pending-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:20px}.pending-icon.warning{background:#f59e0b1a}.pending-icon.info{background:#3b82f61a}.pending-icon.danger{background:#ef44441a}.pending-content{flex:1}.pending-title{font-size:12px;font-weight:500;color:#111827}.pending-desc{font-size:11px;color:#9ca3af}@media(max-width:1200px){.main-content{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.stats-overview{grid-template-columns:repeat(2,1fr)}.right-column{grid-template-columns:1fr}}.source-chart[data-v-9f529784]{height:280px}.funnel-visual[data-v-9f529784]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}.funnel-stage[data-v-9f529784]{min-width:120px;padding:10px 16px;border-radius:8px;color:var(--el-color-white);display:flex;justify-content:space-between;align-items:center;gap:8px}:root{--color-primary: #2563eb;--color-primary-light-1: #1d4ed8;--color-primary-light-2: #3b82f6;--color-primary-light-3: #60a5fa;--color-primary-light-4: #93c5fd;--color-primary-light-5: #bfdbfe;--color-primary-light-6: #dbeafe;--color-primary-light-7: #eff6ff;--color-primary-light-8: #f8fafc;--color-primary-light-9: #f1f5f9;--color-primary-dark-1: #1e40af;--color-primary-dark-2: #1e3a8a;--color-primary-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 50%, #1e40af 100%);--color-primary-gradient-light: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);--color-success: #059669;--color-success-light: #10b981;--color-success-lighter: #34d399;--color-success-bg: rgba(5, 150, 105, .08);--color-success-border: rgba(5, 150, 105, .2);--color-warning: #d97706;--color-warning-light: #f59e0b;--color-warning-lighter: #fbbf24;--color-warning-bg: rgba(217, 119, 6, .08);--color-warning-border: rgba(217, 119, 6, .2);--color-danger: #dc2626;--color-danger-light: #ef4444;--color-danger-lighter: #f87171;--color-danger-bg: rgba(220, 38, 38, .08);--color-danger-border: rgba(220, 38, 38, .2);--color-info: #0891b2;--color-info-light: #06b6d4;--color-info-lighter: #22d3ee;--color-info-bg: rgba(8, 145, 178, .08);--color-info-border: rgba(8, 145, 178, .2);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-text-primary: #111827;--color-text-regular: #374151;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-placeholder: #d1d5db;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-lighter: #f9fafb;--color-border-dark: #d1d5db;--color-border-focus: #3b82f6;--color-border-success: #059669;--color-border-warning: #d97706;--color-border-danger: #dc2626;--color-bg: #ffffff;--color-bg-page: #f9fafb;--color-bg-hover: rgba(59, 130, 246, .04);--color-bg-active: rgba(59, 130, 246, .08);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-primary: 0 4px 14px 0 rgba(37, 99, 235, .25);--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--font-family-base: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Microsoft YaHei, Arial, sans-serif;--font-family-heading: Inter, Microsoft YaHei, PingFang SC, Arial, sans-serif;--font-family-mono: JetBrains Mono, Fira Code, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--shell-sidebar: 260px;--shell-sidebar-collapsed: 72px;--shell-header: 64px;--shell-tabs: 44px;--filter-width-xs: 120px;--filter-width-sm: 144px;--filter-width-md: 168px;--filter-width-lg: 200px;--filter-width-xl: 320px;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-drawer: 1050;--z-modal: 1060;--z-popover: 1070;--z-tooltip: 1080}html.dark{--color-text-primary: #f9fafb;--color-text-regular: #e5e7eb;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-text-placeholder: #4b5563;--color-border: #374151;--color-border-light: #4b5563;--color-border-lighter: #1f2937;--color-bg: #1f2937;--color-bg-page: #111827;--color-bg-hover: rgba(59, 130, 246, .08);--color-bg-active: rgba(59, 130, 246, .12);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3)}.sales-funnel-page{padding:16px;min-height:calc(100vh - 64px);background:#f9fafb}.header-card{margin-bottom:24px;border:none;border-radius:12px}.header-card :deep(.el-card__header){padding:20px 24px;border-bottom:1px solid #f3f4f6}.header-card :deep(.el-card__body){padding:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start}.header-right{display:flex;gap:16px;align-items:center}.page-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px;line-height:1.25}.page-subtitle{font-size:12px;color:#6b7280;margin:0}.funnel-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px}.overview-card{display:flex;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #f3f4f6;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.overview-icon{font-size:36px}.overview-content{flex:1}.overview-label{font-size:12px;color:#6b7280;margin-bottom:4px}.overview-value{font-size:20px;font-weight:700;color:#111827}.main-grid{display:grid;grid-template-columns:1fr 420px;gap:24px}.left-column,.right-column{display:flex;flex-direction:column;gap:20px}.chart-card{border:none;border-radius:12px}.chart-card :deep(.el-card__header){padding:16px 20px;border-bottom:1px solid #f3f4f6}.chart-card :deep(.el-card__body){padding:20px}.chart-header{display:flex;justify-content:space-between;align-items:center}.chart-title{font-size:16px;font-weight:600;color:#111827;margin:0}.funnel-visual{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0}.funnel-stage{display:flex;flex-direction:column;align-items:center;width:100%}.funnel-shape{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-radius:8px;transition:all .2s ease}.funnel-info{display:flex;flex-direction:column}.stage-name{font-size:14px;font-weight:600;color:#fff}.stage-value{font-size:12px;color:#ffffffe6}.stage-percentage{font-size:18px;font-weight:700;color:#fff}.stage-connector{display:flex;align-items:center;gap:12px;padding:8px 0}.connector-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,#d1d5db,transparent)}.conversion-info{display:flex;flex-direction:column;align-items:center}.conversion-rate{font-size:14px;font-weight:600;color:#059669}.conversion-label{font-size:11px;color:#9ca3af}.echarts-container{width:100%;height:260px}.rate-high{color:#059669}.rate-medium{color:#d97706}.rate-low{color:#dc2626}.opportunity-list{display:flex;flex-direction:column;gap:12px}.opportunity-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;transition:all .15s ease}.opportunity-item:hover{background:#f3f4f6}.opp-rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#1d4ed8,#1e40af);border-radius:4px;font-size:12px;font-weight:700;color:#fff}.opp-info{flex:1}.opp-name{font-size:12px;font-weight:500;color:#111827;margin-bottom:2px}.opp-customer{font-size:11px;color:#9ca3af}.opp-amount{font-size:12px;font-weight:700;color:#2563eb}.rep-list{display:flex;flex-direction:column;gap:16px}.rep-item{display:flex;align-items:center;gap:12px}.rep-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#1d4ed8,#1e40af);border-radius:50%;font-size:16px;font-weight:700;color:#fff}.rep-info{flex:1}.rep-name{font-size:12px;font-weight:500;color:#111827;margin-bottom:8px}.rep-progress{display:flex;align-items:center;gap:12px}.rep-progress :deep(.el-progress){flex:1}.rep-progress .completion-rate{font-size:12px;font-weight:600;color:#059669;min-width:40px;text-align:right}.rep-amount{font-size:12px;font-weight:700;color:#111827}@media(max-width:1200px){.main-grid{grid-template-columns:1fr}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.funnel-overview{grid-template-columns:repeat(2,1fr)}}
