.dashboard-editor-container[data-v-1d248d41]{background-color:#f0f2f5;position:relative;max-height:calc(100vh - 84px);overflow:auto}.dashboard-editor-container .chart-wrapper[data-v-1d248d41]{background:#fff;padding:16px 16px 0;margin-bottom:32px}@media (max-width:1024px){.chart-wrapper[data-v-1d248d41]{padding:8px}}.text-ruoyi[data-v-1d248d41]{color:#1890ff}.bg-ruoyi[data-v-1d248d41]{background:#1890ff}.border-ruoyi[data-v-1d248d41]{border-color:#1890ff}.hover\:bg-ruoyi-light[data-v-1d248d41]:hover{background:#e6f4ff}.card[data-v-1d248d41]{background:#fff;border-radius:12px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);-webkit-transition:-webkit-box-shadow .25s ease,-webkit-transform .2s ease;transition:-webkit-box-shadow .25s ease,-webkit-transform .2s ease;transition:box-shadow .25s ease,transform .2s ease;transition:box-shadow .25s ease,transform .2s ease,-webkit-box-shadow .25s ease,-webkit-transform .2s ease}.card[data-v-1d248d41]:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px rgba(0,0,0,.08)}.card-header[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 20px 0 20px;font-size:15px;font-weight:600;color:#1d2129}.card-header .more-link[data-v-1d248d41]{font-size:13px;font-weight:400;color:#1890ff;cursor:pointer;-webkit-transition:color .2s;transition:color .2s}.card-header .more-link[data-v-1d248d41]:hover{color:#096dd9}.card-body[data-v-1d248d41]{padding:16px 20px 20px 20px}.msg-list .msg-item[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid #f5f6f8;cursor:pointer;-webkit-transition:background .15s;transition:background .15s;padding-left:4px;padding-right:4px;border-radius:6px}.msg-list .msg-item[data-v-1d248d41]:hover{background:#f7f9fc}.msg-list .msg-item[data-v-1d248d41]:last-child{border-bottom:none}.msg-list .msg-item .msg-icon[data-v-1d248d41]{width:36px;height:36px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:16px;-ms-flex-negative:0;flex-shrink:0}.msg-icon-blue[data-v-1d248d41]{background:#e6f4ff;color:#1890ff}.msg-icon-green[data-v-1d248d41]{background:#f6ffed;color:#52c41a}.msg-icon-orange[data-v-1d248d41]{background:#fff7e6;color:#fa8c16}.msg-list .msg-item .msg-content[data-v-1d248d41]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.msg-list .msg-item .msg-content .msg-title[data-v-1d248d41]{font-size:14px;font-weight:500;color:#1d2129;margin-bottom:2px}.msg-list .msg-item .msg-content .msg-desc[data-v-1d248d41]{font-size:13px;color:#4e5969;line-height:1.4}.msg-list .msg-item .msg-time[data-v-1d248d41]{font-size:12px;color:#c9cdd4;-ms-flex-negative:0;flex-shrink:0;margin-top:2px;white-space:nowrap}.msg-badge[data-v-1d248d41]{font-size:10px;background:#ff4d4f;color:#fff;padding:0 8px;border-radius:10px;font-weight:600;line-height:18px;margin-left:8px;-ms-flex-negative:0;flex-shrink:0;display:inline-block}.app-grid .app-item[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:14px 8px;border-radius:10px;cursor:pointer;-webkit-transition:background .2s,-webkit-transform .15s;transition:background .2s,-webkit-transform .15s;transition:background .2s,transform .15s;transition:background .2s,transform .15s,-webkit-transform .15s;text-decoration:none;color:#1d2129}.app-grid .app-item[data-v-1d248d41]:hover{background:#e6f4ff;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.app-grid .app-item .app-icon[data-v-1d248d41]{width:48px;height:48px;border-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:22px;color:#fff;margin-bottom:8px;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.app-grid .app-item:hover .app-icon[data-v-1d248d41]{-webkit-transform:scale(1.05);transform:scale(1.05)}.app-grid .app-item .app-name[data-v-1d248d41]{font-size:13px;font-weight:500;color:#1d2129;text-align:center}.quick-flow .flow-item[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:14px;padding:14px 16px;border-radius:10px;background:#fafbfc;cursor:pointer;-webkit-transition:background .2s,-webkit-transform .15s;transition:background .2s,-webkit-transform .15s;transition:background .2s,transform .15s;transition:background .2s,transform .15s,-webkit-transform .15s;border:1px solid transparent}.quick-flow .flow-item[data-v-1d248d41]:hover{background:#e6f4ff;border-color:#1890ff;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.quick-flow .flow-item .flow-icon[data-v-1d248d41]{width:40px;height:40px;border-radius:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:18px;color:#fff;-ms-flex-negative:0;flex-shrink:0}.quick-flow .flow-item .flow-info .flow-name[data-v-1d248d41]{font-size:14px;font-weight:500;color:#1d2129}.quick-flow .flow-item .flow-info .flow-desc[data-v-1d248d41]{font-size:12px;color:#86909c}.todo-list .todo-item[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f5f6f8;cursor:pointer;-webkit-transition:background .15s;transition:background .15s;padding-left:4px;padding-right:4px;border-radius:6px}.todo-list .todo-item[data-v-1d248d41]:hover{background:#f7f9fc}.todo-list .todo-item[data-v-1d248d41]:last-child{border-bottom:none}.todo-list .todo-item .todo-dot[data-v-1d248d41]{width:8px;height:8px;border-radius:50%;-ms-flex-negative:0;flex-shrink:0}.todo-list .todo-item .todo-content[data-v-1d248d41]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.todo-list .todo-item .todo-content .todo-title[data-v-1d248d41]{font-size:13px;color:#1d2129;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-list .todo-item .todo-content .todo-meta[data-v-1d248d41]{font-size:12px;color:#86909c;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-top:2px}.todo-list .todo-item .todo-tag[data-v-1d248d41]{font-size:11px;padding:2px 10px;border-radius:12px;font-weight:500;-ms-flex-negative:0;flex-shrink:0}.todo-tag-urgent[data-v-1d248d41]{background:#fff1f0;color:#ff4d4f}.todo-tag-pending[data-v-1d248d41]{background:#fff7e6;color:#fa8c16}.todo-tag-progress[data-v-1d248d41]{background:#e6f4ff;color:#1890ff}.todo-tag-normal[data-v-1d248d41]{background:#f5f5f5;color:#8c8c8c}.ring-wrapper[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:32px;-ms-flex-wrap:wrap;flex-wrap:wrap}.ring-chart-inner[data-v-1d248d41]{position:relative;width:100%;height:240px;-ms-flex-negative:0;flex-shrink:0}.ring-chart-inner .ring-bg[data-v-1d248d41]{position:absolute;inset:0;border-radius:50%}.ring-chart-inner .ring-center[data-v-1d248d41]{position:absolute;top:18px;left:18px;right:18px;bottom:18px;background:#fff;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:1}.ring-chart-inner .ring-center .ring-number[data-v-1d248d41]{font-size:20px;font-weight:700;color:#1d2129;line-height:1.2}.ring-chart-inner .ring-center .ring-label[data-v-1d248d41]{font-size:11px;color:#86909c;font-weight:400}.ring-legend[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:120px}.ring-legend .legend-item[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;font-size:13px;color:#4e5969}.ring-legend .legend-item .legend-color[data-v-1d248d41]{width:12px;height:12px;border-radius:3px;-ms-flex-negative:0;flex-shrink:0}.ring-legend .legend-item .legend-label[data-v-1d248d41]{-webkit-box-flex:1;-ms-flex:1;flex:1}.ring-legend .legend-item .legend-value[data-v-1d248d41]{font-weight:600;color:#1d2129}.announce-list .announce-item[data-v-1d248d41]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f5f6f8;cursor:pointer;-webkit-transition:background .15s;transition:background .15s;padding-left:4px;padding-right:4px;border-radius:6px}.announce-list .announce-item[data-v-1d248d41]:hover{background:#f7f9fc}.announce-list .announce-item[data-v-1d248d41]:last-child{border-bottom:none}.announce-list .announce-item .announce-title[data-v-1d248d41]{font-size:13px;color:#1d2129;font-weight:500;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.announce-list .announce-item .announce-title .tag-top[data-v-1d248d41]{font-size:10px;background:#ff4d4f;color:#fff;padding:0 8px;border-radius:10px;font-weight:600;line-height:18px}.announce-list .announce-item .announce-title .tag-new[data-v-1d248d41]{font-size:10px;background:#1890ff;color:#fff;padding:0 8px;border-radius:10px;font-weight:600;line-height:18px}.announce-list .announce-item .announce-time[data-v-1d248d41]{font-size:12px;color:#c9cdd4;-ms-flex-negative:0;flex-shrink:0;margin-left:12px}.market-grid .market-item[data-v-1d248d41]{background:#fafbfc;border-radius:12px;padding:18px 16px;text-align:center;cursor:pointer;-webkit-transition:background .2s,-webkit-transform .15s,-webkit-box-shadow .2s;transition:background .2s,-webkit-transform .15s,-webkit-box-shadow .2s;transition:background .2s,transform .15s,box-shadow .2s;transition:background .2s,transform .15s,box-shadow .2s,-webkit-transform .15s,-webkit-box-shadow .2s;border:1px solid transparent}.market-grid .market-item[data-v-1d248d41]:hover{background:#fff;border-color:#1890ff;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px rgba(0,0,0,.08);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.market-grid .market-item .market-icon[data-v-1d248d41]{width:52px;height:52px;border-radius:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:24px;color:#fff;margin:0 auto 10px auto;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.market-grid .market-item:hover .market-icon[data-v-1d248d41]{-webkit-transform:scale(1.06);transform:scale(1.06)}.market-grid .market-item .market-name[data-v-1d248d41]{font-size:14px;font-weight:600;color:#1d2129}.market-grid .market-item .market-desc[data-v-1d248d41]{font-size:12px;color:#86909c;margin:4px 0 12px 0}.market-grid .market-item .market-btn[data-v-1d248d41]{font-size:12px;padding:4px 18px;border-radius:20px;border:1px solid #1890ff;color:#1890ff;background:transparent;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;font-weight:500}.market-grid .market-item .market-btn[data-v-1d248d41]:hover:not(.installed){background:#1890ff;color:#fff}.market-grid .market-item .market-btn.installed[data-v-1d248d41]{border-color:#d9d9d9;color:#86909c;background:transparent;cursor:default}.market-grid .market-item .market-btn.installed[data-v-1d248d41]:hover{background:transparent;color:#86909c}.scroll-container[data-v-1d248d41]{max-height:240px;overflow-y:auto;padding-right:4px}.scroll-container-sm[data-v-1d248d41]{max-height:200px;overflow-y:auto;padding-right:4px}.fade-enter-active[data-v-1d248d41],.fade-leave-active[data-v-1d248d41]{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.fade-enter[data-v-1d248d41],.fade-leave-to[data-v-1d248d41]{opacity:0;-webkit-transform:translateX(-50%) translateY(-16px);transform:translateX(-50%) translateY(-16px)}.toast-tip[data-v-1d248d41]{-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media (max-width:1024px){.ring-wrapper[data-v-1d248d41]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ring-legend[data-v-1d248d41]{width:100%}}@media (max-width:768px){.card-header[data-v-1d248d41]{padding:14px 16px 0 16px;font-size:14px}.card-body[data-v-1d248d41]{padding:12px 16px 16px 16px}.app-grid .app-item .app-icon[data-v-1d248d41]{width:40px;height:40px;font-size:18px}.app-grid .app-item .app-name[data-v-1d248d41]{font-size:12px}.quick-flow .flow-item[data-v-1d248d41]{padding:12px 14px}.market-grid .market-item[data-v-1d248d41]{padding:14px 12px}.ring-chart-inner[data-v-1d248d41]{width:110px;height:110px}.ring-chart-inner .ring-center[data-v-1d248d41]{top:16px;left:16px;right:16px;bottom:16px}.ring-chart-inner .ring-center .ring-number[data-v-1d248d41]{font-size:16px}}@media (max-width:480px){.app-grid[data-v-1d248d41]{grid-template-columns:repeat(4,1fr)!important}.quick-flow .flow-item .flow-info .flow-desc[data-v-1d248d41]{display:none}.msg-list .msg-item .msg-time[data-v-1d248d41]{font-size:10px}}