.react-flow,.react-flow__background{background-color:var(--bg-primary)}.react-flow__background pattern circle{fill:var(--glass-border)}.react-flow__controls{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);overflow:hidden}.react-flow__controls-button{background:transparent;border:none;border-bottom:1px solid var(--glass-border);color:var(--text-secondary);width:28px;height:28px;padding:6px;transition:all var(--duration-normal) var(--ease-default)}.react-flow__controls-button:hover{background:var(--glass-bg);color:var(--text-primary)}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button svg{fill:currentColor;max-width:14px;max-height:14px}.react-flow__minimap{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);overflow:hidden}.react-flow__minimap-mask{fill:var(--bg-secondary);opacity:.8}.react-flow__minimap-node{fill:var(--accent-primary);stroke:none}.react-flow__attribution{display:none}.react-flow__edge-path{stroke:var(--glass-border);stroke-width:2;transition:stroke var(--duration-normal) var(--ease-default)}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:hover .react-flow__edge-path{stroke:var(--accent-primary);stroke-width:2.5}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:5;animation:flowAnimation .5s linear infinite}@keyframes flowAnimation{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}.react-flow__connection-path{stroke:var(--accent-primary);stroke-width:2;stroke-dasharray:5;animation:flowAnimation .5s linear infinite}.react-flow__edge-text{fill:var(--text-secondary);font-size:11px}.react-flow__edge-textbg{fill:var(--bg-secondary)}.react-flow__handle{width:12px;height:12px;background:var(--bg-tertiary);border:2px solid var(--glass-border);border-radius:50%;transition:all var(--duration-normal) var(--ease-default)}.react-flow__handle:hover{transform:scale(1.3);background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:var(--glow-primary)}.react-flow__handle.connecting{background:var(--accent-hover);border-color:var(--accent-hover)}.react-flow__handle.valid{background:var(--success);border-color:var(--success)}.react-flow__handle-bottom{bottom:-6px}.react-flow__handle-top{top:-6px}.workflow-node{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:2px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);min-width:200px;max-width:280px;transition:all var(--duration-normal) var(--ease-default)}.workflow-node:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg)}.workflow-node.selected{border-color:var(--accent-primary);box-shadow:var(--glow-primary)}.workflow-node.unconfigured{border-style:dashed;opacity:.85}.workflow-node.executing{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary),var(--glow-primary);animation:executingPulse 1.5s ease-in-out infinite}.workflow-node.execution-success{border-color:var(--success);box-shadow:0 0 0 2px var(--success),var(--glow-success)}.workflow-node.execution-failed{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger),0 0 20px rgba(239,68,68,.3)}@keyframes executingPulse{0%,to{box-shadow:0 0 0 2px var(--accent-primary),var(--glow-primary)}50%{box-shadow:0 0 0 4px var(--accent-primary),0 0 30px rgba(59,130,246,.4)}}.workflow-node__status{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0}.workflow-node__status--executing{background:var(--accent-primary)/10}.workflow-node__status--success{background:var(--success-subtle)}.workflow-node__status--error{background:var(--danger-subtle)}.workflow-node__errors{margin-top:8px}.workflow-node__error{padding:4px 0}.workflow-node__error,.workflow-node__execution-error{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--danger)}.workflow-node__execution-error{margin-top:6px;padding:6px 8px;background:var(--danger-subtle);border-radius:var(--radius-sm)}.workflow-node__header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--glass-border)}.workflow-node__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);flex-shrink:0}.workflow-node__info{flex:1;min-width:0}.workflow-node__type{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.workflow-node__label{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-node__body{padding:10px 14px}.workflow-node__description{font-size:12px;color:var(--text-secondary);line-height:1.4}.workflow-node__warning{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--warning);margin-top:6px}.workflow-node--trigger{--node-color:var(--success);--node-color-subtle:var(--success-subtle)}.workflow-node--trigger.selected{border-color:var(--success);box-shadow:var(--glow-success)}.workflow-node--trigger:hover{border-color:var(--success)}.workflow-node--trigger .workflow-node__icon{background:var(--success-subtle);color:var(--success)}.workflow-node--trigger .workflow-node__type{color:var(--success)}.workflow-node--trigger .react-flow__handle{background:var(--success);border-color:var(--success)}.workflow-node--action{--node-color:var(--info);--node-color-subtle:var(--info-subtle)}.workflow-node--action.selected{border-color:var(--info);box-shadow:0 0 20px rgba(59,130,246,.3)}.workflow-node--action:hover{border-color:var(--info)}.workflow-node--action .workflow-node__icon{background:var(--info-subtle);color:var(--info)}.workflow-node--action .workflow-node__type{color:var(--info)}.workflow-node--action .react-flow__handle{background:var(--info);border-color:var(--info)}.workflow-node--condition{--node-color:var(--warning);--node-color-subtle:var(--warning-subtle)}.workflow-node--condition.selected{border-color:var(--warning);box-shadow:var(--glow-warning)}.workflow-node--condition:hover{border-color:var(--warning)}.workflow-node--condition .workflow-node__icon{background:var(--warning-subtle);color:var(--warning)}.workflow-node--condition .workflow-node__type{color:var(--warning)}.workflow-node--condition .react-flow__handle{background:var(--warning);border-color:var(--warning)}.workflow-node--condition .workflow-node__branches{display:flex;justify-content:space-between;padding:8px 14px;border-top:1px solid var(--glass-border)}.workflow-node--condition .workflow-node__branch{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500}.workflow-node--condition .workflow-node__branch--yes{color:var(--success)}.workflow-node--condition .workflow-node__branch--no{color:var(--danger)}.workflow-node--delay{--node-color:#a855f7;--node-color-subtle:rgba(168,85,247,0.1)}.workflow-node--delay.selected{border-color:#a855f7;box-shadow:0 0 20px rgba(168,85,247,.3)}.workflow-node--delay:hover{border-color:#a855f7}.workflow-node--delay .workflow-node__icon{background:rgba(168,85,247,.1);color:#a855f7}.workflow-node--delay .workflow-node__type{color:#a855f7}.workflow-node--delay .react-flow__handle{background:#a855f7;border-color:#a855f7}.workflow-node--delay .workflow-node__duration{font-size:18px;font-weight:700;color:var(--text-primary)}.workflow-node--delay .workflow-node__unit{font-size:12px;color:var(--text-secondary);margin-left:4px}.workflow-node--webhook{--node-color:#f97316;--node-color-subtle:rgba(249,115,22,0.1)}.workflow-node--webhook.selected{border-color:#f97316;box-shadow:0 0 20px rgba(249,115,22,.3)}.workflow-node--webhook:hover{border-color:#f97316}.workflow-node--webhook .workflow-node__icon{background:rgba(249,115,22,.1);color:#f97316}.workflow-node--webhook .workflow-node__type{color:#f97316}.workflow-node--webhook .react-flow__handle{background:#f97316;border-color:#f97316}.workflow-node--webhook .workflow-node__method{display:inline-block;padding:2px 6px;font-size:10px;font-weight:600;background:rgba(249,115,22,.1);color:#f97316;border-radius:var(--radius-sm);margin-right:6px}.workflow-node--webhook .workflow-node__url{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-palette{width:var(--sidebar-width);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--glass-border);overflow-y:auto;overflow-x:hidden}.workflow-palette__header{padding:16px;border-bottom:1px solid var(--glass-border)}.workflow-palette__title{font-size:14px;font-weight:600;color:var(--text-primary)}.workflow-palette__search{margin-top:12px}.workflow-palette__section{border-bottom:1px solid var(--glass-border)}.workflow-palette__section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background var(--duration-normal) var(--ease-default)}.workflow-palette__section-header:hover{background:var(--glass-bg)}.workflow-palette__section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.workflow-palette__section-icon{color:var(--text-muted);transition:transform var(--duration-normal) var(--ease-default)}.workflow-palette__section.expanded .workflow-palette__section-icon{transform:rotate(180deg)}.workflow-palette__items{padding:8px 12px 16px}.workflow-palette__item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:6px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:grab;transition:all var(--duration-normal) var(--ease-default)}.workflow-palette__item:hover{background:var(--glass-bg);border-color:var(--accent-primary);transform:translateX(4px)}.workflow-palette__item:active{cursor:grabbing}.workflow-palette__item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);flex-shrink:0}.workflow-palette__item-info{flex:1;min-width:0}.workflow-palette__item-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-palette__item-desc{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-palette__item--trigger .workflow-palette__item-icon{background:var(--success-subtle);color:var(--success)}.workflow-palette__item--action .workflow-palette__item-icon{background:var(--info-subtle);color:var(--info)}.workflow-palette__item--condition .workflow-palette__item-icon{background:var(--warning-subtle);color:var(--warning)}.workflow-palette__item--delay .workflow-palette__item-icon{background:rgba(168,85,247,.1);color:#a855f7}.workflow-palette__item--webhook .workflow-palette__item-icon{background:rgba(249,115,22,.1);color:#f97316}.workflow-config{width:320px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-left:1px solid var(--glass-border);overflow-y:auto;overflow-x:hidden}.workflow-config__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--glass-border)}.workflow-config__title{display:flex;align-items:center;gap:10px}.workflow-config__title-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm)}.workflow-config__title-text{font-size:14px;font-weight:600;color:var(--text-primary)}.workflow-config__close{padding:6px;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--duration-normal) var(--ease-default)}.workflow-config__close:hover{background:var(--glass-bg);color:var(--text-primary)}.workflow-config__body{padding:16px}.workflow-config__section{margin-bottom:20px}.workflow-config__section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:10px}.workflow-config__field{margin-bottom:14px}.workflow-config__label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.workflow-config__label--required:after{content:"*";color:var(--danger);margin-left:4px}.workflow-config__hint{font-size:11px;color:var(--text-muted);margin-top:4px}.workflow-config__error{font-size:11px;color:var(--danger);margin-top:4px}.workflow-config__footer{display:flex;gap:10px;padding:16px;border-top:1px solid var(--glass-border)}.workflow-config__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center;color:var(--text-muted)}.workflow-config__empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.workflow-config__empty-text{font-size:13px}.workflow-toolbar{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border)}.workflow-toolbar__back{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px;transition:color var(--duration-normal) var(--ease-default)}.workflow-toolbar__back:hover{color:var(--text-primary)}.workflow-toolbar__divider{width:1px;height:24px;background:var(--glass-border)}.workflow-toolbar__name{flex:1}.workflow-toolbar__name-input{background:transparent;border:none;font-size:16px;font-weight:600;color:var(--text-primary);padding:4px 0;width:100%;max-width:300px}.workflow-toolbar__name-input::-moz-placeholder{color:var(--text-muted)}.workflow-toolbar__name-input::placeholder{color:var(--text-muted)}.workflow-toolbar__name-input:focus{outline:none;box-shadow:none}.workflow-toolbar__status{display:flex;align-items:center;gap:6px;font-size:12px}.workflow-toolbar__status-dot{width:8px;height:8px;border-radius:50%}.workflow-toolbar__status--valid .workflow-toolbar__status-dot{background:var(--success)}.workflow-toolbar__status--invalid .workflow-toolbar__status-dot{background:var(--danger)}.workflow-toolbar__status--draft .workflow-toolbar__status-dot{background:var(--warning)}.workflow-toolbar__actions{display:flex;align-items:center;gap:8px}.workflow-toolbar__btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-default)}.workflow-toolbar__btn--secondary{background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-secondary)}.workflow-toolbar__btn--secondary:hover{background:var(--glass-bg);color:var(--text-primary)}.workflow-toolbar__btn--secondary:disabled{opacity:.5;cursor:not-allowed}.workflow-toolbar__btn--primary{background:var(--accent-primary);border:none;color:white}.workflow-toolbar__btn--primary:hover{background:var(--accent-hover);box-shadow:var(--glow-primary)}.workflow-toolbar__btn--primary:disabled{opacity:.5;cursor:not-allowed}.node-library{width:600px;max-height:80vh}.node-library__search{padding:16px;border-bottom:1px solid var(--glass-border)}.node-library__categories{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--glass-border);overflow-x:auto}.node-library__category{padding:6px 12px;font-size:12px;font-weight:500;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:all var(--duration-normal) var(--ease-default)}.node-library__category:hover{background:var(--glass-bg);color:var(--text-primary)}.node-library__category.active{background:var(--accent-primary);border-color:var(--accent-primary);color:white}.node-library__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;overflow-y:auto;max-height:400px}.node-library__item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-default)}.node-library__item:hover{background:var(--glass-bg);border-color:var(--accent-primary)}.node-library__item-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0}.node-library__item-info{flex:1;min-width:0}.node-library__item-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.node-library__item-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.workflow-validation{padding:12px 16px;background:rgba(239,68,68,.1);border:1px solid var(--danger);border-radius:var(--radius-md);margin:12px}.workflow-validation__header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--danger);margin-bottom:8px}.workflow-validation__list{list-style:none;padding:0;margin:0}.workflow-validation__item{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--text-secondary);padding:4px 0}.workflow-validation__item:before{content:"\2022";color:var(--danger);font-weight:700}.react-flow__pane.drop-target{background:linear-gradient(45deg,var(--bg-primary) 25%,var(--bg-secondary) 25%,var(--bg-secondary) 50%,var(--bg-primary) 50%,var(--bg-primary) 75%,var(--bg-secondary) 75%);background-size:20px 20px}.workflow-palette__item.dragging{opacity:.5;transform:scale(.95)}.workflow-drag-preview{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border:2px solid var(--accent-primary);border-radius:var(--radius-lg);padding:12px 16px;box-shadow:var(--glow-primary);pointer-events:none}@media (max-width:1200px){.workflow-palette{width:240px}.workflow-config{width:280px}}@media (max-width:1024px){.workflow-palette{position:absolute;left:0;top:0;bottom:0;z-index:10;transform:translateX(-100%);transition:transform var(--duration-normal) var(--ease-default)}.workflow-palette.open{transform:translateX(0)}.workflow-config{position:absolute;right:0;top:0;bottom:0;z-index:10;transform:translateX(100%);transition:transform var(--duration-normal) var(--ease-default)}.workflow-config.open{transform:translateX(0)}}.light .react-flow,[data-theme=light] .react-flow{background-color:var(--bg-primary)}.light .workflow-node,[data-theme=light] .workflow-node{background:rgba(255,255,255,.8)}.light .react-flow__edge-path,[data-theme=light] .react-flow__edge-path{stroke:var(--border-color)}.light .workflow-config,.light .workflow-palette,.light .workflow-toolbar,[data-theme=light] .workflow-config,[data-theme=light] .workflow-palette,[data-theme=light] .workflow-toolbar{background:rgba(255,255,255,.8)}