.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.trading-calendar-page{padding:24px}.calendar-cell{position:absolute;bottom:4px;right:4px;display:flex;align-items:center;justify-content:center}.calendar-cell .ant-badge-status-dot{width:8px;height:8px}.ant-picker-cell:has(.trading-day) .ant-picker-cell-inner{background-color:#f6ffed;border:1px solid #b7eb8f}.ant-picker-cell:has(.trading-day):hover .ant-picker-cell-inner{background-color:#d9f7be!important;border-color:#52c41a!important;cursor:pointer}.ant-picker-cell:has(.non-trading-day) .ant-picker-cell-inner{background-color:#fafafa;color:#bfbfbf}.ant-picker-cell:has(.non-trading-day):hover .ant-picker-cell-inner{background-color:#f0f0f0!important;border:1px solid #d9d9d9!important;cursor:default}.ant-picker-cell:has(.today) .ant-picker-cell-inner{font-weight:700;box-shadow:0 0 0 2px #1890ff inset}.ant-picker-cell-selected .ant-picker-cell-inner{background-color:#e6f7ff!important;color:#1890ff!important;border:1px solid #91d5ff!important}@media (max-width: 768px){.trading-calendar-page{padding:12px}.ant-calendar{font-size:12px}}.workspace-container{display:flex;height:100vh;background-color:#f7f7f8;overflow:hidden}.workspace-sidebar{width:260px;background-color:#202123;display:flex;flex-direction:column;transition:all .3s ease;border-right:1px solid #2a2b2e}.workspace-sidebar.collapsed{width:0;overflow:hidden}.sidebar-header{padding:12px;border-bottom:1px solid #2a2b2e}.sidebar-header .ant-btn-primary{background-color:transparent;border:1px solid #565869;color:#fff;height:44px;font-size:14px;font-weight:500}.sidebar-header .ant-btn-primary:hover{background-color:#2a2b32;border-color:#565869}.sidebar-conversations{flex:1;overflow-y:auto;padding:8px 8px 0}.sidebar-conversations::-webkit-scrollbar{width:6px}.sidebar-conversations::-webkit-scrollbar-track{background:transparent}.sidebar-conversations::-webkit-scrollbar-thumb{background:#565869;border-radius:3px}.sidebar-footer{border-top:1px solid #2a2b2e;padding:12px;margin-top:auto}.user-profile{display:flex;align-items:center;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .2s}.user-profile:hover{background-color:#2a2b32}.user-avatar{flex-shrink:0;background-color:#10a37f}.user-info{flex:1;margin-left:12px;margin-right:8px;overflow:hidden}.user-name{color:#ececf1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#8e8ea0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.user-menu-icon{color:#8e8ea0;font-size:16px;flex-shrink:0}.conversation-item{display:flex;align-items:center;justify-content:space-between;padding:12px;margin-bottom:4px;border-radius:6px;cursor:pointer;color:#ececf1;font-size:14px;transition:background-color .2s;position:relative}.conversation-item:hover{background-color:#2a2b32}.conversation-item.active{background-color:#343541}.conversation-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.conversation-menu-btn{opacity:0;color:#ececf1;transition:opacity .2s}.conversation-item:hover .conversation-menu-btn{opacity:1}.workspace-main{flex:1;display:flex;flex-direction:column;background-color:#fff;position:relative}.workspace-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;background-color:#fff;height:60px}.sidebar-toggle{margin-right:12px;font-size:18px;color:#6b7280}.workspace-title{margin:0;font-size:18px;font-weight:600;color:#111827}.workspace-messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column}.workspace-messages::-webkit-scrollbar{width:8px}.workspace-messages::-webkit-scrollbar-track{background:transparent}.workspace-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.workspace-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280}.empty-icon{font-size:64px;margin-bottom:24px;color:#d1d5db}.empty-state h2{font-size:24px;font-weight:600;color:#111827;margin-bottom:8px}.empty-state p{font-size:14px;color:#6b7280}.message-wrapper{display:flex;margin-bottom:24px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.user{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.message-wrapper.user .message-avatar{background-color:#10a37f;color:#fff;margin-left:12px}.message-wrapper.agent .message-avatar{background-color:#5436da;color:#fff;margin-right:12px}.message-content{max-width:70%;display:flex;flex-direction:column}.message-wrapper.user .message-content{align-items:flex-end}.message-text{padding:12px 16px;border-radius:12px;line-height:1.6;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.message-wrapper.user .message-text{background-color:#10a37f;color:#fff;border-bottom-right-radius:4px}.message-wrapper.agent .message-text{background-color:#f7f7f8;color:#111827;border-bottom-left-radius:4px}.message-time{font-size:12px;color:#9ca3af;margin-top:4px;padding:0 4px}.workspace-input-area{padding:16px 24px 24px;background-color:#fff;border-top:1px solid #e5e7eb}.input-container{max-width:900px;margin:0 auto;display:flex;align-items:flex-end;gap:12px;background-color:#fff;border:1px solid #d1d5db;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000d;transition:border-color .2s,box-shadow .2s}.input-container:focus-within{border-color:#10a37f;box-shadow:0 2px 12px #10a37f26}.message-input{flex:1;border:none;outline:none;resize:none;font-size:14px;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:#111827;min-height:24px;max-height:200px;overflow-y:auto}.message-input::placeholder{color:#9ca3af}.message-input::-webkit-scrollbar{width:6px}.message-input::-webkit-scrollbar-track{background:transparent}.message-input::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.send-button{background-color:#10a37f;border:none;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-button:hover:not(:disabled){background-color:#0d8c6d}.send-button:disabled{background-color:#d1d5db;cursor:not-allowed}@media (max-width: 768px){.workspace-sidebar{position:absolute;left:0;top:0;bottom:0;z-index:100;box-shadow:2px 0 8px #00000026}.workspace-sidebar.collapsed{left:-260px}.message-content{max-width:85%}.workspace-messages{padding:16px}.workspace-input-area{padding:12px 16px 16px}}@media (prefers-color-scheme: dark){.workspace-main{background-color:#343541}.workspace-header{background-color:#343541;border-bottom-color:#4d4d4f}.workspace-title,.sidebar-toggle{color:#ececf1}.workspace-messages{background-color:#343541}.message-wrapper.agent .message-text{background-color:#444654;color:#ececf1}.workspace-input-area{background-color:#343541;border-top-color:#4d4d4f}.input-container{background-color:#40414f;border-color:#565869}.message-input{background-color:transparent;color:#ececf1}.empty-state h2{color:#ececf1}.empty-state p{color:#9ca3af}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.app-layout{height:100vh}.app-header{background:#fff;padding:0 24px;box-shadow:0 1px 4px #00152914;display:flex;align-items:center;justify-content:space-between}.app-logo{font-size:20px;font-weight:700;color:#1890ff}.app-content{padding:24px;background:#f0f2f5;min-height:calc(100vh - 64px)}.page-card{background:#fff;border-radius:8px;box-shadow:0 1px 2px #00000008,0 1px 6px -1px #00000005,0 2px 4px #00000005}.ant-table-thead>tr>th{background:#fafafa;font-weight:600}.ant-table-tbody>tr{transition:box-shadow .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 0 #1890ff}.ant-table-tbody>tr:hover>td{background-color:transparent!important}.ant-table-tbody>tr:hover{box-shadow:inset 4px 0 #1890ff,0 6px 16px #00000026,0 3px 6px #0000001f!important}.task-row-recent-2h{background-color:#ffccc7!important}.task-row-recent-2h:hover{box-shadow:inset 4px 0 #ff4d4f,0 6px 16px #ff4d4f33,0 3px 6px #ff4d4f26!important}.task-row-recent-12h{background-color:#fff1f0!important}.task-row-recent-12h:hover{box-shadow:inset 4px 0 #ff7875,0 6px 16px #ff4d4f1f,0 3px 6px #ff4d4f14!important}.status-success{color:#52c41a}.status-error{color:#ff4d4f}.status-warning{color:#faad14}.status-processing{color:#1890ff}.code-editor{border:1px solid #d9d9d9;border-radius:6px;overflow:hidden}.code-editor:focus-within{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}@media (max-width: 768px){.app-content{padding:16px}.ant-table{font-size:12px}}.text-center{text-align:center}.text-right{text-align:right}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.full-width{width:100%}.full-height{height:100%}
