html,body,#root{min-height:100%;margin:0}body{color:#1f2937;background:#f3f5f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-screen{background:linear-gradient(135deg,#103d54 0%,#2f6f5f 52%,#f2b84b 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border-radius:8px;gap:24px;width:min(440px,100%);padding:32px;display:grid;box-shadow:0 24px 64px #0f172a47}.app-shell{min-height:100vh}.sidebar{background:#123040!important}.brand{color:#fff;align-items:center;gap:10px;height:64px;padding:0 20px;font-size:18px;font-weight:700;display:flex}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:12px;padding:0 20px;display:flex}.content{padding:20px}.page-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-row{margin-top:12px}.metric-row,.channel-row{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.sales-app-form,.api-key-alert,.connector-alert{margin-bottom:16px}.api-key-alert pre{white-space:pre-wrap;word-break:break-word;margin:8px 0 0}.inbox-grid{grid-template-columns:minmax(280px,360px) minmax(420px,1fr) minmax(260px,320px);gap:12px;min-height:calc(100vh - 150px);display:grid}.conversation-list .ant-list-item{cursor:pointer;border-radius:6px;padding-inline:8px}.active-row{background:#e8f4ff}.chat-window .ant-card-body{grid-template-rows:1fr auto;gap:12px;height:calc(100vh - 250px);display:grid}.messages{flex-direction:column;gap:10px;padding-right:4px;display:flex;overflow:auto}.bubble{background:#eef2f7;border-radius:8px;gap:4px;width:fit-content;max-width:78%;padding:10px 12px;display:grid}.bubble.out{background:#d9f7be;align-self:flex-end}.bubble small{color:#64748b}.composer{grid-template-columns:1fr auto;gap:8px;display:grid}.full{width:100%}.workflow-builder{background:#f8fafc;height:calc(100vh - 104px);min-height:720px;margin:-20px;overflow:hidden}.workflow-topbar{background:#fff;border-bottom:1px solid #e5e7eb;grid-template-columns:minmax(250px,1fr) auto minmax(160px,1fr);align-items:center;gap:18px;height:68px;padding:0 24px;display:grid}.workflow-topbar .ant-typography{margin:0}.workflow-topbar>.ant-btn{justify-self:end}.workflow-steps{white-space:nowrap;color:#8a94a3;align-items:center;gap:18px;font-weight:600;display:flex}.workflow-steps span{align-items:center;gap:8px;display:flex}.workflow-steps b{color:#7b8794;background:#eef2f7;border-radius:999px;place-items:center;width:30px;height:30px;display:grid}.workflow-steps .active{color:#1677ff}.workflow-steps .active b{color:#fff;background:#1677ff}.workflow-layout{grid-template-columns:292px minmax(640px,1fr) 360px;height:calc(100% - 68px);display:grid}.component-panel,.step-config{background:#fff;overflow:auto}.component-panel{border-right:1px solid #e5e7eb;padding:20px 16px}.component-panel .ant-typography{margin:0}.component-panel>.ant-btn{margin-top:18px}.component-panel>.ant-btn+.ant-btn{margin-top:10px}.palette-group{margin-top:22px}.palette-group h3,.config-title{color:#7a7f87;letter-spacing:.04em;margin:0 0 12px;font-size:13px;font-weight:800}.palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.palette-item{color:#111827;min-height:88px;font:inherit;cursor:grab;background:#fff;border:1px solid #e5e7eb;border-radius:8px;place-items:center;gap:8px;padding:12px 8px;font-weight:700;display:grid;box-shadow:0 1px 2px #0f172a0a}.palette-item span,.flow-node-icon,.config-summary>span{border-radius:14px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.palette-blue span,.flow-node-blue .flow-node-icon{color:#2563eb;background:#dbeafe}.palette-mint span{color:#0f766e;background:#ccfbf1}.palette-green span,.flow-node-green .flow-node-icon,.config-green>span{color:#059669;background:#d1fae5}.palette-orange span,.flow-node-orange .flow-node-icon,.config-orange>span{color:#d97706;background:#fef3c7}.palette-purple span{color:#7c3aed;background:#ede9fe}.palette-red span{color:#e11d48;background:#ffe4e6}.palette-gray span{color:#475569;background:#e5e7eb}.workflow-canvas{background-color:#f8fbff;min-width:0}.flow-node{background:#fff;border:2px solid #e4eaf2;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:18px;min-width:420px;min-height:96px;padding:22px 24px;display:grid;position:relative;box-shadow:0 10px 26px #0f172a14}.flow-node.selected{border-color:#1677ff;box-shadow:0 0 0 4px #1677ff1f,0 12px 30px #0f172a1f}.flow-node-orange{background:#fffbea;border-color:#fde68a}.flow-node-copy{gap:2px;min-width:0;display:grid}.flow-node-copy strong{color:#182235;font-size:28px;line-height:1.05}.flow-node-copy span{color:#758195;font-size:22px;line-height:1.2}.flow-node-copy em{color:#c27a11;background:#fff7cc;border-radius:6px;width:max-content;margin-top:2px;padding:5px 9px;font-size:14px;font-style:normal;font-weight:800}.flow-handle{background:#94a3b8;border:0;width:14px;height:14px}.flow-handle-yes{background:#10b981}.flow-handle-no{background:#ef4444;right:-8px}.branch-labels{justify-content:space-between;font-size:18px;font-weight:900;display:flex;position:absolute;bottom:16px;left:24px;right:24px}.branch-labels .yes{color:#059669}.branch-labels .no{color:#ef4444}.step-config{border-left:1px solid #e5e7eb}.config-title{border-bottom:1px solid #eef2f7;padding:18px 20px}.config-summary{grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:20px;display:grid}.config-summary strong,.config-summary small{display:block}.config-summary strong{color:#111827;font-size:20px}.config-summary small{color:#8a94a3;font-size:14px}.step-config .ant-form,.step-config>.ant-btn{margin:0 20px 18px}.empty-config{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:20px;padding:18px}.runtime-panel{border-top:1px solid #eef2f7;gap:10px;margin:20px;padding-top:18px;display:grid}.runtime-panel h3{color:#7a7f87;letter-spacing:.04em;margin:0;font-size:13px;font-weight:800}.run-log{color:#dbeafe;background:#0f172a;border:1px solid #e5e7eb;border-radius:8px;max-height:220px;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.run-log p{margin:0 0 8px}.run-log span{color:#94a3b8}@media (width<=1100px){.inbox-grid{grid-template-columns:1fr}.workflow-builder{height:auto;min-height:0;overflow:visible}.workflow-topbar,.workflow-layout{flex-direction:column;align-items:stretch;height:auto;display:flex}.workflow-steps{padding-bottom:4px;overflow-x:auto}.component-panel,.step-config{max-height:none}.workflow-canvas{height:640px}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;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:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray: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;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.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{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.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{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.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:#0059dc14;border:1px dotted #0059dccc}.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{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.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{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
