@import "https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap";
:root{--color-main-white:#fff;--color-off-white:#fafafa;--color-light-grey:#f5f5f5;--color-soft-grey:#e8e8e8;--color-text-grey:#333;--color-primary-accent:#4bacc6;--color-secondary-accent:#f79646;--color-border:#e8e8e8;--color-shadow:#00000014;--color-shadow-hover:#0000001f;--font-family:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;--transition-base:all .3s cubic-bezier(.4,0,.2,1);--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}[data-theme=dark]{--color-main-white:#0a1929;--color-off-white:#071318;--color-light-grey:#0f2537;--color-soft-grey:#1a3a52;--color-text-grey:#e3f2fd;--color-primary-accent:#00d9ff;--color-secondary-accent:#ff9100;--color-border:#1a4d6d;--color-shadow:#00d9ff26;--color-shadow-hover:#00d9ff40}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--color-off-white);color:var(--color-text-grey);min-height:100vh;margin:0;padding:0;line-height:1.6;display:flex}.app-container{width:100%;height:100vh;display:flex;overflow:hidden}.chat-panel{padding:var(--spacing-lg);flex:1;justify-content:center;align-items:center;min-width:0;transition:width .1s;display:flex;position:relative;container-type:inline-size}.app-container.flowchart-open .chat-panel{flex:none;width:33%}.flowchart-panel{background:var(--color-main-white);border-left:1px solid var(--color-soft-grey);flex-direction:column;flex:none;width:67%;min-width:0;transition:width .1s;display:none;position:relative}.app-container.flowchart-open .flowchart-panel{display:flex}.resizer{background:var(--color-soft-grey);z-index:10;transition:background .2s;position:relative}.resizer:hover{background:var(--color-primary-accent)}.resizer:active{background:var(--color-secondary-accent)}.resizer-horizontal{cursor:col-resize;flex-shrink:0;width:4px;display:none}.app-container.flowchart-open .resizer-horizontal{display:block}.resizer-horizontal:hover:after{content:"";background:0 0;position:absolute;inset:0 -2px}.resizer-vertical{cursor:row-resize;flex-shrink:0;height:4px}.resizer-vertical:hover:after{content:"";background:0 0;position:absolute;inset:-2px 0}.focus-toggle-btn{border-radius:var(--radius-md);background:var(--color-light-grey);width:36px;height:36px;color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);z-index:100;opacity:.6;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.focus-toggle-btn:hover{opacity:1;background:var(--color-primary-accent);color:var(--color-main-white);transform:scale(1.05);box-shadow:0 4px 12px #4bacc64d}.focus-toggle-btn.active{background:var(--color-secondary-accent);color:var(--color-main-white);opacity:1}.focus-toggle-btn-inline{border-radius:var(--radius-sm);background:var(--color-main-white);width:28px;height:28px;color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);border:none;border:1px solid var(--color-soft-grey);justify-content:center;align-items:center;display:flex}.focus-toggle-btn-inline:hover{background:var(--color-primary-accent);color:var(--color-main-white);border-color:var(--color-primary-accent);transform:scale(1.05);box-shadow:0 2px 8px #4bacc64d}.focus-toggle-btn-inline.active{background:var(--color-secondary-accent);color:var(--color-main-white);border-color:var(--color-secondary-accent)}.app-container.chat-focused .chat-panel{flex:1!important}.app-container.chat-focused .flowchart-panel{overflow:hidden;flex:0 0 60px!important}.app-container.chat-focused .resizer-horizontal{display:none}.app-container.flowchart-focused .chat-panel{display:none!important}.app-container.flowchart-focused .flowchart-panel{flex:1!important;width:100%!important}.app-container.flowchart-focused .resizer-horizontal{display:none}.flowchart-content.diagram-focused .diagram-preview{flex:1!important}.flowchart-content.diagram-focused .diagram-editor{display:none!important}.flowchart-content.diagram-focused .resizer-vertical,.flowchart-content.diagram-focused .export-buttons{display:none}.flowchart-content.editor-focused .diagram-preview{display:none!important}.flowchart-content.editor-focused .diagram-editor{flex:1!important}.flowchart-content.editor-focused .resizer-vertical,.flowchart-content.editor-focused .export-buttons{display:none}.flowchart-content.workflow-execution-focused .diagram-editor{display:none!important}.flowchart-content.workflow-execution-focused .resizer-vertical,.flowchart-content.workflow-execution-focused .export-buttons{display:none}.flowchart-content.workflow-execution-focused #flowchartDiagramContainer,.flowchart-content.workflow-execution-focused #flowchartSpecContainer,.flowchart-content.workflow-execution-focused #flowchartCodeContainer{min-height:0;overflow-y:auto;flex:0 0 40%!important}.flowchart-content.workflow-execution-focused .workflow-execution-panel{min-height:0;overflow-y:auto;flex:1 1 0!important}.wf-tab-expand-btn{width:28px;height:28px;color:var(--color-text-grey);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:opacity .15s,background .15s,color .15s;display:flex}.wf-tab-expand-btn:hover,.wf-tab-expand-btn.active{opacity:1;background:var(--color-soft-grey);color:var(--color-primary-accent)}.flowchart-content.section-expanded-tabs #flowchartDiagramContainer,.flowchart-content.section-expanded-tabs #flowchartSpecContainer,.flowchart-content.section-expanded-tabs #flowchartCodeContainer{min-height:0;overflow-y:auto;flex:1 1 0!important}.flowchart-content.section-expanded-tabs .workflow-execution-panel,.flowchart-content.section-expanded-exec #flowchartDiagramContainer,.flowchart-content.section-expanded-exec #flowchartSpecContainer,.flowchart-content.section-expanded-exec #flowchartCodeContainer,.flowchart-content.section-expanded-exec .wf-tab-bar{display:none!important}.flowchart-content.section-expanded-exec .workflow-execution-panel{min-height:0;overflow-y:auto;flex:1 1 0!important}.container{background:var(--color-main-white);border-radius:var(--radius-xl);width:100%;max-width:1200px;height:90vh;box-shadow:0 4px 24px var(--color-shadow);transition:var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.container:hover{box-shadow:0 8px 32px var(--color-shadow-hover)}.header{text-align:center;padding:var(--spacing-2xl)var(--spacing-lg)var(--spacing-xl);background:var(--color-main-white);border-bottom:1px solid var(--color-soft-grey);position:relative}.header:after{content:"";background:linear-gradient(90deg,var(--color-primary-accent),var(--color-secondary-accent));border-radius:var(--radius-full);width:60px;height:3px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.samples-link,.execute-link{top:var(--spacing-lg);padding:var(--spacing-xs)var(--spacing-md);background:var(--color-light-grey);color:var(--color-text-grey);border-radius:var(--radius-md);transition:var(--transition-base);border:2px solid var(--color-soft-grey);font-size:clamp(10px,1.9cqw,14px);font-weight:600;text-decoration:none;position:absolute}.samples-link{right:280px}.drafts-link{right:180px}.execute-link:not(.drafts-link){right:80px}.samples-link:hover,.execute-link:hover{background:var(--color-primary-accent);color:var(--color-main-white);border-color:var(--color-primary-accent);transform:translateY(-2px);box-shadow:0 4px 12px #4bacc633}.logo{letter-spacing:2px;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(24px,7cqw,54px);font-weight:700;animation:.6s ease-out fadeInDown}.subtitle{color:var(--color-text-grey);opacity:.7;letter-spacing:1px;font-size:clamp(10px,2cqw,16px);font-weight:400;animation:.6s ease-out .2s both fadeInUp}.mode-selector{gap:var(--spacing-sm);padding:var(--spacing-md)var(--spacing-lg);background:var(--color-off-white);border-bottom:1px solid var(--color-soft-grey);justify-content:center;display:flex}.mode-button{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-lg);background:var(--color-main-white);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);font-size:clamp(11px,2cqw,16px);font-weight:600;display:flex}.mode-button:hover{background:var(--color-light-grey);border-color:var(--color-primary-accent);transform:translateY(-1px)}.mode-button.active{background:var(--color-primary-accent);color:var(--color-main-white);border-color:var(--color-primary-accent);box-shadow:0 2px 8px #4bacc64d}.mode-button svg{opacity:.8}.mode-button.active svg{opacity:1}.chat-container{padding:var(--spacing-xl);background:var(--color-off-white);gap:var(--spacing-lg);flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.welcome-message{text-align:center;color:var(--color-text-grey);margin-top:var(--spacing-2xl);opacity:.6;font-size:clamp(12px,2.3cqw,18px);animation:.8s ease-out .4s both fadeIn}.drop-zone-overlay{border:2px dashed var(--color-primary-accent);border-radius:var(--radius-lg);z-index:100;pointer-events:none;background:#4bacc61f;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.drop-zone-overlay.active{display:flex}.drop-zone-content{align-items:center;gap:var(--spacing-md);color:var(--color-primary-accent);flex-direction:column;font-size:16px;font-weight:600;display:flex}.message{gap:var(--spacing-sm);animation:.4s cubic-bezier(.4,0,.2,1) slideInUp;display:flex}.message.user{justify-content:flex-end}.message-content{max-width:75%;padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-lg);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;min-width:0;transition:var(--transition-base);box-shadow:0 2px 8px var(--color-shadow);font-size:clamp(13px,2.2cqw,17px);line-height:1.7;overflow:hidden}.message-content pre{white-space:pre;word-break:normal;background:var(--color-light-grey,#f5f5f5);border-radius:6px;max-width:100%;margin:8px 0;padding:12px;font-size:.85em;line-height:1.5;overflow-x:auto}.message-content code{word-break:break-all;overflow-wrap:break-word;background:var(--color-light-grey,#f5f5f5);border-radius:3px;padding:1px 5px;font-size:.9em}.message-content pre code{font-size:inherit;word-break:normal;background:0 0;border-radius:0;padding:0}.message-content a{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));-webkit-text-fill-color:transparent;transition:var(--transition-base);-webkit-background-clip:text;background-clip:text;font-weight:600;text-decoration:none;position:relative}.message-content a:after{content:"";background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));width:100%;height:2px;transition:transform .3s;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.message-content a:hover:after{transform:scaleX(1)}.message.user .message-content{background:var(--color-primary-accent);color:var(--color-main-white);border-bottom-right-radius:var(--radius-sm)}.message.user .message-content:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4bacc64d}.message.assistant .message-content{background:var(--color-main-white);color:var(--color-text-grey);border:1px solid var(--color-soft-grey);border-bottom-left-radius:var(--radius-sm)}.message.assistant .message-content:hover{box-shadow:0 4px 12px var(--color-shadow-hover);border-color:var(--color-primary-accent);transform:translateY(-2px)}.file-preview-container{padding:var(--spacing-sm)var(--spacing-lg);background:var(--color-main-white);border-top:1px solid var(--color-soft-grey);gap:var(--spacing-sm);scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.file-preview-container::-webkit-scrollbar{height:4px}.file-preview-container::-webkit-scrollbar-track{background:0 0}.file-preview-container::-webkit-scrollbar-thumb{background:var(--color-soft-grey);border-radius:2px}.file-preview-card{background:var(--color-light-grey);border:1px solid var(--color-soft-grey);border-radius:var(--radius-lg);width:96px;min-width:96px;padding:var(--spacing-sm);transition:var(--transition-base);flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.file-preview-card:hover{border-color:var(--color-primary-accent);box-shadow:0 2px 8px #4bacc626}.file-thumbnail{border-radius:var(--radius-md);background:var(--color-main-white);border:1px solid var(--color-soft-grey);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.file-thumbnail img{object-fit:cover;width:100%;height:100%}.file-thumbnail svg{width:30px;height:30px;color:var(--color-primary-accent)}.file-info{flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;display:flex}.file-name{color:var(--color-text-grey);text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;font-weight:500;overflow:hidden}.file-size{color:var(--color-text-grey);opacity:.6;font-size:10px}.file-status{color:var(--color-text-grey);font-size:10px}.file-status.ready{color:#4caf50;font-weight:500}.status-icon{margin-right:2px;font-weight:700}.remove-file-btn{color:#fff;cursor:pointer;background:#78787859;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:1;transition:background .15s;display:flex;position:absolute;top:4px;right:4px}.remove-file-btn:hover{background:#dc3232cc}.input-container{padding:var(--spacing-lg);background:var(--color-main-white);border-top:1px solid var(--color-soft-grey);gap:var(--spacing-sm);align-items:flex-end;display:flex}#messageInput{border:2px solid var(--color-soft-grey);border-radius:var(--radius-xl);padding:var(--spacing-md)var(--spacing-lg);font-size:15px;font-family:var(--font-family);resize:none;background:var(--color-light-grey);max-height:120px;color:var(--color-text-grey);flex:1;transition:border-color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);overflow-y:hidden}#messageInput:focus{border-color:var(--color-primary-accent);background:var(--color-main-white);outline:none;box-shadow:0 0 0 3px #4bacc61a}#messageInput::placeholder{color:var(--color-text-grey);opacity:.5}.workflow-button,.file-upload-button,.voice-button,.send-button{border-radius:var(--radius-full);cursor:pointer;width:52px;height:52px;transition:var(--transition-base);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.workflow-button,.file-upload-button{background:var(--color-light-grey);color:var(--color-text-grey);border:2px solid var(--color-soft-grey)}.workflow-button:hover,.file-upload-button:hover{background:var(--color-main-white);border-color:var(--color-primary-accent);color:var(--color-primary-accent);transform:translateY(-2px);box-shadow:0 4px 12px #4bacc633}.workflow-button:active,.file-upload-button:active{transform:translateY(0)}.workflow-button.has-instruction{color:#fff;background:linear-gradient(135deg,#4bacc6 0%,#f79646 100%);border-color:#0000;position:relative;box-shadow:0 4px 12px #4bacc64d}.workflow-button.has-instruction:after{content:"!";color:#fff;background:#f79646;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 8px #f7964666}.workflow-button.has-instruction:hover{background:linear-gradient(135deg,#5bb8d0 0%,#ff9f5c 100%);transform:translateY(-2px);box-shadow:0 6px 16px #4bacc666}.voice-button{background:var(--color-light-grey);color:var(--color-text-grey);border:2px solid var(--color-soft-grey)}.voice-button:hover{background:var(--color-main-white);border-color:var(--color-secondary-accent);color:var(--color-secondary-accent);transform:translateY(-2px);box-shadow:0 4px 12px #f7964633}.voice-button:active{transform:translateY(0)}.voice-button.recording{background:var(--color-secondary-accent);color:var(--color-main-white);border-color:var(--color-secondary-accent);animation:1.5s infinite pulseRecord}@keyframes pulseRecord{0%,to{transform:scale(1);box-shadow:0 0 #f79646b3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #f7964600}}.send-button{background:var(--color-primary-accent);color:var(--color-main-white)}.send-button:hover:not(:disabled){background:var(--color-secondary-accent);transform:translateY(-2px);box-shadow:0 6px 16px #4bacc64d}.send-button:active:not(:disabled){transform:translateY(0)scale(.95)}.send-button:disabled,.voice-button:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.loading{gap:var(--spacing-xs);padding:var(--spacing-md)var(--spacing-lg);display:flex}.loading-dot{border-radius:var(--radius-full);background:var(--color-primary-accent);width:10px;height:10px;animation:1.4s ease-in-out infinite both bounceLoading}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){background:var(--color-secondary-accent);animation-delay:-.16s}.loading-dot:nth-child(3){background:var(--color-primary-accent)}@keyframes bounceLoading{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.chat-container::-webkit-scrollbar{width:8px}.chat-container::-webkit-scrollbar-track{background:var(--color-off-white)}.chat-container::-webkit-scrollbar-thumb{background:var(--color-soft-grey);border-radius:var(--radius-full);transition:var(--transition-base)}.chat-container::-webkit-scrollbar-thumb:hover{background:var(--color-primary-accent)}.flowchart-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-soft-grey);background:var(--color-main-white);justify-content:space-between;align-items:center;display:flex}.flowchart-header h2{color:var(--color-text-grey);margin:0;font-size:20px;font-weight:700}.flowchart-header-buttons{align-items:center;gap:8px;display:flex}.focus-toggle-btn-header{border-radius:var(--radius-md);background:var(--color-main-white);width:36px;height:36px;color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);border:none;border:1px solid var(--color-soft-grey);justify-content:center;align-items:center;display:flex}.focus-toggle-btn-header:hover{background:var(--color-primary-accent);color:var(--color-main-white);border-color:var(--color-primary-accent);transform:scale(1.05);box-shadow:0 2px 8px #4bacc64d}.focus-toggle-btn-header.active{background:var(--color-secondary-accent);color:var(--color-main-white);border-color:var(--color-secondary-accent);box-shadow:0 2px 8px #f796464d}.undo-edit-btn{border:1px solid var(--color-soft-grey);border-radius:var(--radius-md);background:var(--color-light-grey);height:32px;color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);white-space:nowrap;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:500;display:flex}.undo-edit-btn:not([disabled]):hover{background:var(--color-primary-accent);color:var(--color-main-white);border-color:var(--color-primary-accent);box-shadow:0 2px 8px #4bacc64d}.undo-edit-btn[disabled]{opacity:.4;cursor:not-allowed}.close-flowchart-button{border-radius:var(--radius-md);background:var(--color-light-grey);width:36px;height:36px;color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);border:none;justify-content:center;align-items:center;display:flex}.close-flowchart-button:hover{background:var(--color-secondary-accent);color:var(--color-main-white);transform:translateY(-2px);box-shadow:0 4px 12px #f7964633}.flowchart-content{padding:var(--spacing-lg);gap:var(--spacing-lg);background:var(--color-off-white);flex-direction:column;flex:1;display:flex;overflow-y:auto}.diagram-preview{border-radius:var(--radius-md);box-shadow:0 2px 8px var(--color-shadow);border:1px solid var(--color-soft-grey);background:linear-gradient(135deg,#fafafa 0%,#fff 100%);flex-direction:column;flex:auto;min-height:200px;display:flex;overflow:hidden}.diagram-preview>.mermaid{padding:var(--spacing-xl);flex:1;justify-content:center;align-items:flex-start;display:flex;overflow:auto}[data-theme=dark] .diagram-preview{background:linear-gradient(135deg,#1a1a1a 0%,#252525 100%);border:1px solid #404040}.diagram-preview .mermaid{min-width:100%}.diagram-preview svg{filter:drop-shadow(0 2px 4px #0000000d);margin-top:16px}.diagram-preview .node rect,.diagram-preview .node circle,.diagram-preview .node ellipse,.diagram-preview .node polygon{stroke-width:2px;filter:drop-shadow(0 1px 2px #0000001a);transition:filter .2s}.diagram-preview .node rect:hover,.diagram-preview .node circle:hover,.diagram-preview .node ellipse:hover,.diagram-preview .node polygon:hover{filter:drop-shadow(0 2px 4px #4bacc64d)}.diagram-preview .edgePath path{stroke-width:2px;filter:drop-shadow(0 1px 1px #0000000d)}.diagram-preview .edgeLabel{background:var(--color-main-white);border-radius:var(--radius-sm);box-shadow:0 1px 3px #0000001a;font-weight:400!important}.diagram-preview g.edgeLabel span.edgeLabel{padding:0!important;display:inline!important}.diagram-preview g.edgeLabel foreignObject{overflow:visible}.diagram-preview g.edgeLabel foreignObject p,.diagram-preview g.edgeLabel foreignObject span{color:#2c3e50!important}.diagram-preview .node polygon{stroke-width:2.5px}.diagram-preview .nodeLabel,.diagram-preview .edgeLabel{font-family:var(--font-family);font-weight:500}.diagram-preview .node:first-of-type rect{fill:linear-gradient(135deg,var(--color-primary-accent),#3a92a6);stroke:var(--color-primary-accent)}@keyframes diagramFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.diagram-preview .mermaid{animation:.5s ease-out diagramFadeIn}.diagram-preview .node.type-round rect{fill:url(#gradient-primary)}.diagram-preview g.nodes g.node rect{fill:#e8f5f9;stroke:#4bacc6;stroke-width:2.5px;rx:8px;ry:8px}.diagram-preview g.nodes g.node:nth-child(4n+1) rect{fill:#e3f2fd;stroke:#4bacc6}.diagram-preview g.nodes g.node:nth-child(4n+2) rect{fill:#fff3e0;stroke:#f79646}.diagram-preview g.nodes g.node:nth-child(4n+3) rect{fill:#e8f5f9;stroke:#5bb8d0}.diagram-preview g.nodes g.node:nth-child(4n+4) rect{fill:#f3e5f5;stroke:#9c27b0}.diagram-preview g.nodes g.node polygon{fill:#fffbea;stroke:#f79646;stroke-width:3px;filter:drop-shadow(0 2px 4px #f7964633)}.diagram-preview marker path{fill:#4bacc6}.diagram-preview .edgeLabel span{color:#2c3e50;font-size:13px;font-weight:400}.diagram-preview g.node{cursor:pointer}.diagram-preview g.node:hover rect,.diagram-preview g.node:hover polygon{filter:drop-shadow(0 3px 6px #4bacc64d)}.diagram-preview g.node:focus-visible{outline:3px solid var(--color-primary-accent);outline-offset:4px;border-radius:var(--radius-sm)}.diagram-preview .nodeLabel{letter-spacing:.3px;font-size:13px;font-weight:500;fill:#2c3e50!important}.diagram-preview .edgeLabel rect{stroke:var(--color-soft-grey);stroke-width:1px;rx:4px;ry:4px;filter:drop-shadow(0 1px 3px #0000001a);fill:#fffffff2!important}.diagram-preview .edgeLabel .label{font-size:12px;font-weight:600;fill:#f79646!important}@keyframes nodePopIn{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.diagram-preview g.node{animation:.4s ease-out backwards nodePopIn}.diagram-preview g.node:first-child{animation-delay:50ms}.diagram-preview g.node:nth-child(2){animation-delay:.1s}.diagram-preview g.node:nth-child(3){animation-delay:.15s}.diagram-preview g.node:nth-child(4){animation-delay:.2s}.diagram-preview g.node:nth-child(5){animation-delay:.25s}.diagram-preview g.node:nth-child(6){animation-delay:.3s}.diagram-preview g.node:nth-child(n+7){animation-delay:.35s}@keyframes edgeDraw{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}.diagram-preview .edgePath path{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:1.5s ease-out .5s forwards edgeDraw}.diagram-preview g.node rect:after,.diagram-preview g.node polygon:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff4d,#0000);height:50%;position:absolute;top:0;left:0;right:0}[data-theme=dark] .diagram-preview g.nodes g.node:nth-child(4n+1) rect{fill:#0a3a52;stroke:#00d9ff;stroke-width:2.5px;filter:drop-shadow(0 4px 12px #00d9ff80)}[data-theme=dark] .diagram-preview g.nodes g.node:nth-child(4n+2) rect{fill:#0d2537;stroke:#00d9ff;stroke-width:2.5px;filter:drop-shadow(0 4px 12px #00d9ff66)}[data-theme=dark] .diagram-preview g.nodes g.node:nth-child(4n+3) rect{fill:#0f3547;stroke:#00b8d9;stroke-width:2.5px;filter:drop-shadow(0 4px 12px #00b8d966)}[data-theme=dark] .diagram-preview g.nodes g.node:nth-child(4n+4) rect{fill:#0a4d6d;stroke:#5dd9c1;stroke-width:2.5px;filter:drop-shadow(0 4px 12px #5dd9c166)}[data-theme=dark] .diagram-preview g.nodes g.node polygon{fill:#1a3020;stroke:#ff9100;stroke-width:3px;filter:drop-shadow(0 4px 12px #ff910099)}[data-theme=dark] .diagram-preview .edgePath path{stroke:#00d9ff;stroke-width:2.5px}[data-theme=dark] .diagram-preview marker path{fill:#00d9ff}[data-theme=dark] .diagram-preview .edgeLabel .label{color:#e3f2fd;text-shadow:0 2px 4px #00000080;font-weight:600}[data-theme=dark] .diagram-preview .edgeLabel rect{fill:#0a1929;stroke:#1a4d6d}.diagram-editor{background:var(--color-main-white);border-radius:var(--radius-md);box-shadow:0 2px 8px var(--color-shadow);border:1px solid var(--color-soft-grey);flex-direction:column;flex:auto;min-height:250px;display:flex;position:relative;overflow:hidden}.diagram-header{padding:var(--spacing-md)var(--spacing-lg);background:var(--color-light-grey);border-bottom:1px solid var(--color-soft-grey);justify-content:space-between;align-items:center;display:flex}.diagram-header span{color:var(--color-text-grey);min-width:150px;font-size:14px;font-weight:600}.editor-header{padding:var(--spacing-md)var(--spacing-lg);background:var(--color-light-grey);border-bottom:1px solid var(--color-soft-grey);justify-content:space-between;align-items:center;display:flex}.editor-header-left{align-items:center;gap:8px;display:flex}.editor-header span{color:var(--color-text-grey);min-width:150px;font-size:14px;font-weight:600}.update-button{padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--radius-md);background:var(--color-primary-accent);color:var(--color-main-white);font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);border:none;font-size:13px;font-weight:600}.update-button:hover{background:var(--color-secondary-accent);transform:translateY(-2px);box-shadow:0 4px 12px #4bacc633}.mermaid-editor{width:100%;min-height:200px;padding:var(--spacing-lg);color:var(--color-text-grey);resize:none;background:var(--color-main-white);border:none;flex:1;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.mermaid-editor:focus{background:var(--color-off-white);outline:none}.export-buttons{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.export-button{min-width:120px;padding:var(--spacing-md)var(--spacing-lg);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);background:var(--color-main-white);color:var(--color-text-grey);font-family:var(--font-family);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-xs);transition:var(--transition-base);flex:1;font-size:14px;font-weight:600;display:flex}.export-button:hover{border-color:var(--color-primary-accent);color:var(--color-primary-accent);transform:translateY(-2px);box-shadow:0 4px 12px #4bacc633}.export-button svg{flex-shrink:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){body{padding:var(--spacing-sm)}.container{border-radius:0;height:100vh}.logo{font-size:36px}.chat-container{padding:var(--spacing-lg)}.message-content{max-width:85%}.input-container{padding:var(--spacing-md);gap:var(--spacing-xs)}.workflow-button,.file-upload-button,.voice-button,.send-button{width:48px;height:48px}.app-container.flowchart-open{flex-direction:column}.app-container.flowchart-open .chat-panel{flex:0 0 40%}.app-container.flowchart-open .flowchart-panel{flex:0 0 60%}.flowchart-header{padding:var(--spacing-md)}.flowchart-header h2{font-size:18px}.flowchart-content{padding:var(--spacing-md)}.export-buttons{flex-direction:column}.export-button{width:100%}}@media (max-width:480px){.logo{font-size:32px}.subtitle{font-size:12px}.message-content{max-width:90%;font-size:14px}.workflow-button,.voice-button,.send-button{width:44px;height:44px}.diagram-preview{padding:var(--spacing-md);min-height:200px}.mermaid-editor{min-height:150px;font-size:12px}}.fade-in{animation:.4s ease-out fadeIn}.slide-up{animation:.4s ease-out slideInUp}:focus-visible{outline:2px solid var(--color-primary-accent);outline-offset:2px}button:focus-visible{outline-offset:4px}.toast{padding:var(--spacing-md)var(--spacing-lg);background:var(--color-main-white);color:var(--color-text-grey);border-radius:var(--radius-md);box-shadow:0 4px 16px var(--color-shadow-hover);font-family:var(--font-family);z-index:9999;opacity:0;transition:var(--transition-base);border-left:4px solid var(--color-primary-accent);max-width:300px;font-size:14px;position:fixed;top:20px;right:20px;transform:translateY(-20px)}.toast.show{opacity:1;transform:translateY(0)}.toast.toast-info{border-left-color:var(--color-primary-accent);background:linear-gradient(135deg,#4bacc61a,#4bacc60d)}.toast.toast-error{border-left-color:var(--color-secondary-accent);background:linear-gradient(135deg,#f796461a,#f796460d)}.toast.toast-success{background:linear-gradient(135deg,#4caf501a,#4caf500d);border-left-color:#4caf50}@media (max-width:768px){.toast{right:var(--spacing-md);left:var(--spacing-md);max-width:calc(100% - 32px)}}.theme-toggle-btn{top:var(--spacing-lg);right:var(--spacing-lg);background:var(--color-main-white);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;width:44px;height:44px;transition:var(--transition-base);box-shadow:0 2px 8px var(--color-shadow);color:var(--color-text-grey);z-index:100;justify-content:center;align-items:center;display:flex;position:absolute}.theme-toggle-btn:hover{background:var(--color-light-grey);box-shadow:0 4px 12px var(--color-shadow-hover);transform:scale(1.05)}.theme-toggle-btn:active{transform:scale(.95)}.theme-toggle-btn .icon-sun{display:block}.theme-toggle-btn .icon-moon,[data-theme=dark] .theme-toggle-btn .icon-sun{display:none}[data-theme=dark] .theme-toggle-btn .icon-moon{display:block}@keyframes theme-toggle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-toggle-btn.spinning{pointer-events:none;animation:.5s linear theme-toggle-spin}[data-theme=dark] .mode-selector{background:var(--color-main-white);border-bottom:1px solid var(--color-border)}[data-theme=dark] .mode-button{background:var(--color-off-white);border-color:var(--color-border);color:#e3f2fd}[data-theme=dark] .mode-button:hover{border-color:var(--color-primary-accent);background:#0d2537}[data-theme=dark] .mode-button.active{background:var(--color-primary-accent);color:var(--color-main-white);border-color:var(--color-primary-accent);box-shadow:0 2px 8px #00d9ff66}[data-theme=dark] .chat-container{background:var(--color-off-white)}[data-theme=dark] .welcome-message{color:var(--color-primary-accent);opacity:.8}[data-theme=dark] .message.user .message-content{color:#fff;border:1px solid var(--color-primary-accent);background:linear-gradient(135deg,#0a4d6d,#0d5f84);box-shadow:0 4px 16px #00d9ff33}[data-theme=dark] .message.user .message-content:hover{border-color:var(--color-primary-accent);box-shadow:0 6px 20px #00d9ff4d}[data-theme=dark] .message.assistant .message-content{background:var(--color-main-white);color:var(--color-text-grey);border:1px solid var(--color-border);box-shadow:0 4px 16px #00d9ff1a}[data-theme=dark] .message.assistant .message-content:hover{border-color:var(--color-primary-accent);box-shadow:0 6px 20px #00d9ff33}[data-theme=dark] .file-preview-container{background:var(--color-main-white);border-top:1px solid var(--color-border)}[data-theme=dark] .file-preview-card{background:var(--color-off-white);border-color:var(--color-border)}[data-theme=dark] .file-preview-card:hover{border-color:var(--color-primary-accent);box-shadow:0 2px 8px #00d9ff26}[data-theme=dark] .file-thumbnail{background:var(--color-main-white);border-color:var(--color-border)}[data-theme=dark] .file-name{color:var(--color-text-grey)}[data-theme=dark] .remove-file-btn{background:#ffffff26}[data-theme=dark] .input-container{background:var(--color-main-white);border-top:1px solid var(--color-border);box-shadow:0 -4px 16px #00d9ff1a}[data-theme=dark] #messageInput{background:var(--color-off-white);color:var(--color-text-grey);border:1px solid var(--color-border)}[data-theme=dark] #messageInput:focus{background:var(--color-main-white);border-color:var(--color-primary-accent);box-shadow:0 0 0 3px #00d9ff26}[data-theme=dark] #messageInput::placeholder{color:#e3f2fd66}[data-theme=dark] .send-button{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);box-shadow:0 4px 12px #00d9ff4d}[data-theme=dark] .send-button:hover{background:linear-gradient(135deg,#00b8d9,var(--color-primary-accent));box-shadow:0 6px 16px #00d9ff66}[data-theme=dark] .voice-button,[data-theme=dark] .workflow-button{background:var(--color-main-white);border:1px solid var(--color-border);color:var(--color-primary-accent)}[data-theme=dark] .voice-button:hover,[data-theme=dark] .workflow-button:hover,[data-theme=dark] .file-upload-button:hover{background:var(--color-light-grey);border-color:var(--color-primary-accent);box-shadow:0 4px 12px #00d9ff33}[data-theme=dark] .workflow-button.has-instruction{color:#0a1929;background:linear-gradient(135deg,#00d9ff 0%,#ff9100 100%);border-color:#0000;box-shadow:0 4px 12px #00d9ff4d}[data-theme=dark] .workflow-button.has-instruction:after{background:#ff9100;box-shadow:0 2px 8px #ff910066}[data-theme=dark] .workflow-button.has-instruction:hover{background:linear-gradient(135deg,#00e8ff 0%,#ffa21a 100%);box-shadow:0 6px 16px #00d9ff66}[data-theme=dark] .voice-button.recording{background:linear-gradient(135deg,var(--color-secondary-accent),#f70);border-color:var(--color-secondary-accent)}[data-theme=dark] .flowchart-panel{background:var(--color-main-white);border-left:1px solid var(--color-border)}[data-theme=dark] .flowchart-header{background:var(--color-off-white);border-bottom:1px solid var(--color-border)}[data-theme=dark] .flowchart-header h2{color:var(--color-primary-accent)}[data-theme=dark] .close-flowchart-button{color:var(--color-text-grey);border:1px solid var(--color-border);background:0 0}[data-theme=dark] .close-flowchart-button:hover{background:var(--color-light-grey);color:var(--color-primary-accent);border-color:var(--color-primary-accent)}[data-theme=dark] .focus-toggle-btn-header{background:var(--color-main-white);border:1px solid var(--color-border);color:var(--color-primary-accent)}[data-theme=dark] .focus-toggle-btn-header:hover{background:var(--color-light-grey);border-color:var(--color-primary-accent);box-shadow:0 2px 8px #00d9ff33}[data-theme=dark] .focus-toggle-btn-header.active{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);border-color:var(--color-primary-accent);color:#fff;box-shadow:0 2px 8px #00d9ff4d}[data-theme=dark] .diagram-editor{background:var(--color-main-white);border:1px solid var(--color-border)}[data-theme=dark] .diagram-header{background:var(--color-off-white);border-bottom:1px solid var(--color-border)}[data-theme=dark] .diagram-header span{color:var(--color-primary-accent)}[data-theme=dark] .editor-header{background:var(--color-off-white);border-bottom:1px solid var(--color-border)}[data-theme=dark] .editor-header span{color:var(--color-primary-accent)}[data-theme=dark] .update-button{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);border:none;box-shadow:0 4px 12px #00d9ff4d}[data-theme=dark] .update-button:hover{background:linear-gradient(135deg,#00b8d9,var(--color-primary-accent));box-shadow:0 6px 16px #00d9ff66}[data-theme=dark] .mermaid-editor{background:var(--color-off-white);color:var(--color-text-grey);border:1px solid var(--color-border)}[data-theme=dark] .mermaid-editor:focus{background:var(--color-main-white);border-color:var(--color-primary-accent);box-shadow:0 0 0 3px #00d9ff26}[data-theme=dark] .export-buttons{background:var(--color-off-white);border-top:1px solid var(--color-border)}[data-theme=dark] .export-button{background:var(--color-main-white);border:1px solid var(--color-border);color:var(--color-text-grey)}[data-theme=dark] .export-button:hover{background:var(--color-light-grey);border-color:var(--color-primary-accent);color:var(--color-primary-accent);box-shadow:0 4px 12px #00d9ff33}[data-theme=dark] .samples-link{background:var(--color-main-white);border-color:var(--color-border);color:var(--color-primary-accent)}[data-theme=dark] .samples-link:hover,[data-theme=dark] .execute-link:hover{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);color:#fff;border-color:var(--color-primary-accent);box-shadow:0 4px 12px #00d9ff4d}[data-theme=dark] .focus-toggle-btn{background:var(--color-main-white);border:1px solid var(--color-border);color:var(--color-primary-accent)}[data-theme=dark] .focus-toggle-btn:hover{background:var(--color-light-grey);border-color:var(--color-primary-accent);box-shadow:0 4px 12px #00d9ff33}[data-theme=dark] .focus-toggle-btn.active{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);border-color:var(--color-primary-accent);color:#fff;box-shadow:0 4px 16px #00d9ff4d}[data-theme=dark] .focus-toggle-btn-inline{background:var(--color-main-white);border:1px solid var(--color-border);color:var(--color-primary-accent)}[data-theme=dark] .focus-toggle-btn-inline:hover{background:var(--color-light-grey);border-color:var(--color-primary-accent);box-shadow:0 2px 8px #00d9ff33}[data-theme=dark] .focus-toggle-btn-inline.active{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);border-color:var(--color-primary-accent);color:#fff;box-shadow:0 2px 8px #00d9ff4d}[data-theme=dark] .resizer{background:var(--color-border)}[data-theme=dark] .resizer:hover{background:var(--color-primary-accent);box-shadow:0 0 8px #00d9ff80}[data-theme=dark] .loading-dots span{background:var(--color-primary-accent)}[data-theme=dark] code,[data-theme=dark] pre{background:var(--color-off-white);border:1px solid var(--color-border);color:var(--color-primary-accent)}[data-theme=dark] ::-webkit-scrollbar{width:12px;height:12px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--color-off-white)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:6px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-primary-accent)}.workflow-content-container{gap:var(--spacing-lg);flex:1;min-height:0;display:flex;overflow:hidden}.workflow-diagram-container{flex:1;min-width:0;overflow:auto}.workflow-execution-panel{background:var(--color-main-white);border-radius:var(--radius-md);min-height:200px;box-shadow:0 2px 8px var(--color-shadow);border:1px solid var(--color-soft-grey);flex-direction:column;flex:none;display:flex;overflow-y:auto}[data-theme=dark] .workflow-execution-panel{background:linear-gradient(135deg,#1a1a1a 0%,#252525 100%);border:1px solid #404040}.workflow-execution-header{padding:var(--spacing-md)var(--spacing-lg);background:var(--color-light-grey);border-bottom:1px solid var(--color-soft-grey);justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.workflow-execution-header-left{align-items:center;gap:8px;display:flex}.workflow-execution-header h3{color:var(--color-text-grey);min-width:150px;margin:0;font-size:14px;font-weight:600}[data-theme=dark] .workflow-execution-header{background:var(--color-off-white);border-bottom:1px solid var(--color-border)}[data-theme=dark] .workflow-execution-header h3{color:var(--color-primary-accent)}.workflow-status-badge{border-radius:var(--radius-full);padding:4px 12px;font-size:12px;font-weight:600}.workflow-status-badge.created{background:var(--color-soft-grey);color:var(--color-text-grey)}.workflow-status-badge.running{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);color:#fff;animation:2s ease-in-out infinite pulse}.workflow-status-badge.waiting_approval{background:linear-gradient(135deg,var(--color-secondary-accent),#f70);color:#fff;animation:2s ease-in-out infinite pulse}.workflow-status-badge.completed{color:#fff;background:linear-gradient(135deg,#4caf50,#45a049)}.workflow-status-badge.error{color:#fff;background:linear-gradient(135deg,#f44336,#d32f2f)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.65}}.workflow-execution-actions{gap:var(--spacing-md);padding:var(--spacing-md)var(--spacing-lg);display:flex}.workflow-action-button{padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);color:#fff;font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);align-items:center;gap:var(--spacing-xs);border:none;font-size:14px;font-weight:600;display:flex;box-shadow:0 4px 12px #4bacc64d}[data-theme=dark] .workflow-action-button{box-shadow:0 4px 12px #00d9ff4d}.workflow-action-button:hover{background:linear-gradient(135deg,#00b8d9,var(--color-primary-accent));transform:translateY(-2px);box-shadow:0 6px 16px #4bacc666}[data-theme=dark] .workflow-action-button:hover{box-shadow:0 6px 16px #00d9ff66}.workflow-action-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.workflow-action-button.register-button{background:linear-gradient(135deg,var(--color-secondary-accent),#f70);box-shadow:0 4px 12px #f796464d}[data-theme=dark] .workflow-action-button.register-button{box-shadow:0 4px 12px #ff91004d}.workflow-action-button.register-button:hover{background:linear-gradient(135deg,#f70,var(--color-secondary-accent));box-shadow:0 6px 16px #f7964666}[data-theme=dark] .workflow-action-button.register-button:hover{box-shadow:0 6px 16px #ff910066}.workflow-action-button.draft-button{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 12px #28a7454d}[data-theme=dark] .workflow-action-button.draft-button{box-shadow:0 4px 12px #20c9974d}.workflow-action-button.draft-button:hover{background:linear-gradient(135deg,#20c997,#28a745);box-shadow:0 6px 16px #28a74566}[data-theme=dark] .workflow-action-button.draft-button:hover{box-shadow:0 6px 16px #20c99766}.approval-buttons{gap:var(--spacing-sm);padding:8px 14px 12px;display:flex}.approve-button,.reject-button{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.approve-button{color:#fff;background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 12px #4caf504d}.approve-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.approve-button:disabled,.manual-input-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;background:#9e9e9e;transform:none}.manual-input-submit{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;color:#fff;background:linear-gradient(135deg,#4caf50,#45a049);border:none;align-items:center;gap:6px;font-weight:600;display:flex;box-shadow:0 4px 12px #4caf504d}.manual-input-submit:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#4caf50);transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.reject-button{color:#fff;background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 4px 12px #f443364d}.reject-button:hover{background:linear-gradient(135deg,#d32f2f,#f44336);transform:translateY(-2px);box-shadow:0 6px 16px #f4433666}.workflow-progress{gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--color-light-grey);border-top:1px solid var(--color-soft-grey);flex-direction:column;flex:1;max-height:none;display:flex;overflow-y:visible}.workflow-step-item{padding:var(--spacing-sm)var(--spacing-md);background:var(--color-main-white);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);transition:var(--transition-base);align-items:center;display:flex}[data-theme=dark] .workflow-step-item{background:var(--color-main-white);border-color:var(--color-border)}.workflow-step-item.pending{opacity:.5}.workflow-step-item.running{border-color:var(--color-primary-accent);box-shadow:0 0 0 3px #4bacc633}[data-theme=dark] .workflow-step-item.running{border-color:var(--color-primary-accent);box-shadow:0 0 0 3px #00d9ff33}.workflow-step-item.completed{border-color:#4caf50}.workflow-step-item.waiting_approval{border-color:var(--color-secondary-accent);animation:2s ease-in-out infinite pulse;box-shadow:0 0 0 3px #f7964633}[data-theme=dark] .workflow-step-item.waiting_approval{border-color:var(--color-secondary-accent);box-shadow:0 0 0 3px #ff910033}.workflow-step-item.error{border-color:#f44336}.workflow-step-icon{border-radius:var(--radius-full);width:32px;height:32px;margin-right:var(--spacing-md);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.workflow-step-item.pending .workflow-step-icon{background:var(--color-soft-grey);color:var(--color-text-grey)}.workflow-step-item.running .workflow-step-icon{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);color:#fff}.workflow-step-item.completed .workflow-step-icon{color:#fff;background:linear-gradient(135deg,#4caf50,#45a049)}.workflow-step-item.waiting_approval .workflow-step-icon{background:linear-gradient(135deg,var(--color-secondary-accent),#f70);color:#fff}.workflow-step-item.error .workflow-step-icon{color:#fff;background:linear-gradient(135deg,#f44336,#d32f2f)}.workflow-step-details{flex:1}.workflow-step-name{color:var(--color-text-grey);margin-bottom:4px;font-size:14px;font-weight:600}.workflow-step-result{color:var(--color-text-grey);opacity:.9;white-space:pre-wrap;word-break:break-word;background:0 0;border-radius:4px;margin-top:8px;padding:0;font-family:monospace;font-size:13px;line-height:1.5}.sr-card{background:var(--color-light-grey);border:1px solid var(--color-border);border-radius:6px;margin-top:8px;padding:10px 12px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px}[data-theme=dark] .sr-card{background:#ffffff0a;border-color:#ffffff1a}.sr-card-title{color:var(--color-primary);border-bottom:1px solid var(--color-border);margin-bottom:6px;padding-bottom:4px;font-size:12px;font-weight:600}.sr-row{justify-content:space-between;align-items:baseline;gap:8px;padding:2px 0;line-height:1.6;display:flex}.sr-key{color:var(--color-text-grey);white-space:nowrap;flex-shrink:0;min-width:130px}.sr-val{color:var(--color-text);text-align:right;word-break:break-all}.sr-highlight{color:var(--color-primary);font-size:13px;font-weight:700}.sr-mono{font-family:monospace;font-size:11px}.sr-badge{background:var(--color-light-grey);border-radius:10px;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.sr-comment{color:var(--color-text-grey);margin-top:4px;font-size:12px}.sr-section-title{color:var(--color-text-grey);text-transform:uppercase;letter-spacing:.05em;margin-top:10px;margin-bottom:2px;font-size:11px;font-weight:600}.sr-summary{background:var(--color-light-grey);border-left:3px solid var(--color-primary-accent)}[data-theme=dark] .sr-summary{border-left-color:var(--color-primary-accent);background:#4bacc614}.sr-s3-bar{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:6px 10px;display:flex}[data-theme=dark] .sr-s3-bar{background:#bae6fd14;border-color:#bae6fd40}.sr-s3-label{color:#fff;letter-spacing:.05em;background:#0284c7;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:700}.sr-s3-uri{color:var(--color-text-grey);word-break:break-all;flex:1;font-size:11px}.sr-s3-size{color:#64748b;flex-shrink:0;font-size:11px}.sr-empty{color:var(--color-text-grey);padding:6px 0;font-size:12px}.sr-json-details{margin-top:8px}.sr-json-details summary{color:var(--color-text-grey);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 4px;font-size:12px}.sr-json-details summary:hover{color:var(--color-primary)}.sr-json{white-space:pre-wrap;word-break:break-word;background:var(--color-light-grey);border-radius:4px;max-height:300px;margin-top:4px;padding:8px;font-family:monospace;font-size:11px;line-height:1.5;overflow-y:auto}.manual-input-panel{border:2px solid var(--color-primary-accent);border-radius:10px;margin-bottom:12px;overflow:hidden}.manual-input-header{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));color:#fff;align-items:center;gap:7px;padding:9px 14px;font-size:12px;font-weight:700;display:flex}.manual-input-instruction{color:var(--color-text-grey);border-bottom:1px solid var(--color-soft-grey);margin:0;padding:10px 14px 4px;font-size:13px}.manual-input-fields{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.manual-input-row{flex-direction:column;gap:4px;display:flex}.manual-input-label{color:var(--color-text-grey);font-size:12px;font-weight:600}.manual-input-required{color:#f44336;margin-left:3px}.manual-input-control{border:1px solid var(--color-soft-grey);font-size:13px;font-family:var(--font-family);background:var(--color-main-white);color:var(--color-text-grey);box-sizing:border-box;border-radius:6px;width:100%;padding:7px 10px;transition:border-color .2s}.manual-input-control:focus{border-color:var(--color-primary-accent);outline:none;box-shadow:0 0 0 2px #4bacc62e}textarea.manual-input-control{resize:vertical}.manual-input-actions{border-top:1px solid var(--color-soft-grey);padding:10px 14px 14px}[data-theme=dark] .manual-input-control{background:var(--color-off-white);border-color:var(--color-soft-grey);color:var(--color-text-grey)}[data-theme=dark] .manual-input-control:focus{border-color:var(--color-primary-accent);box-shadow:0 0 0 2px #4bacc640}.manual-input-panel~.approval-buttons{display:none!important}.modal{z-index:10000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--color-main-white);border-radius:var(--radius-xl);width:90%;max-width:500px;animation:.3s slideIn;box-shadow:0 8px 32px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--spacing-xl);border-bottom:2px solid var(--color-soft-grey);justify-content:space-between;align-items:center;display:flex}.modal-header h3{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px;font-weight:700}.modal-close{color:var(--color-text-grey);cursor:pointer;border-radius:var(--radius-full);width:32px;height:32px;transition:var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:32px;line-height:1;display:flex}.modal-close:hover{background:var(--color-light-grey);color:var(--color-secondary-accent)}.modal-body{padding:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--color-text-grey);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;display:block}.form-group .required{color:var(--color-secondary-accent)}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:var(--spacing-md);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);font-size:15px;font-family:var(--font-family);color:var(--color-text-grey);background:var(--color-main-white);transition:var(--transition-base)}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary-accent);outline:none;box-shadow:0 0 0 3px #4bacc61a}.form-group textarea{resize:vertical;min-height:80px}.modal-footer{padding:var(--spacing-lg)var(--spacing-xl);border-top:1px solid var(--color-soft-grey);justify-content:flex-end;gap:var(--spacing-md);display:flex}.modal-btn{padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-size:15px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);border:none}.cancel-btn{background:var(--color-light-grey);color:var(--color-text-grey)}.cancel-btn:hover{background:var(--color-soft-grey)}.primary-btn{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));color:#fff;box-shadow:0 4px 12px #4bacc64d}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4bacc666}.primary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}[data-theme=dark] .modal{background:#000c}[data-theme=dark] .modal-content{background:var(--color-main-white)}[data-theme=dark] .modal-header{border-bottom-color:var(--color-border)}[data-theme=dark] .modal-close:hover{background:var(--color-light-grey)}[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group textarea,[data-theme=dark] .form-group select{background:var(--color-off-white);border-color:var(--color-border)}[data-theme=dark] .form-group input[type=text]:focus,[data-theme=dark] .form-group textarea:focus,[data-theme=dark] .form-group select:focus{border-color:var(--color-primary-accent);box-shadow:0 0 0 3px #00d9ff1a}[data-theme=dark] .cancel-btn{background:var(--color-light-grey)}[data-theme=dark] .cancel-btn:hover{background:var(--color-soft-grey)}[data-theme=dark] .primary-btn{background:linear-gradient(135deg,var(--color-primary-accent),#00b8d9);box-shadow:0 4px 12px #00d9ff4d}[data-theme=dark] .primary-btn:hover{box-shadow:0 6px 16px #00d9ff66}[data-theme=dark] .active-workflow-step rect,[data-theme=dark] .active-workflow-step polygon,[data-theme=dark] .active-workflow-step circle,[data-theme=dark] .active-workflow-step ellipse{animation:1.2s ease-in-out infinite pulse-glow-dark;stroke:#00d9ff!important;stroke-width:6px!important;fill:#00d9ff40!important;filter:drop-shadow(0 0 30px #00d9ff)drop-shadow(0 0 15px #00d9ff)!important}@keyframes pulse-glow-dark{0%,to{stroke-width:6px;filter:drop-shadow(0 0 30px #00d9ff)drop-shadow(0 0 15px #00d9ff);transform:scale(1)}50%{stroke-width:7px;filter:drop-shadow(0 0 40px #00d9ff)drop-shadow(0 0 20px #00d9ff);transform:scale(1.02)}}[data-theme=dark] .active-workflow-step .nodeLabel{text-shadow:0 0 15px #00d9ff,0 0 8px #00d9ff;fill:#00d9ff!important;font-size:16px!important}[data-theme=light] .active-workflow-step rect,[data-theme=light] .active-workflow-step polygon,[data-theme=light] .active-workflow-step circle,[data-theme=light] .active-workflow-step ellipse,.active-workflow-step rect,.active-workflow-step polygon,.active-workflow-step circle,.active-workflow-step ellipse{animation:1.2s ease-in-out infinite pulse-glow-light;stroke:#ff9100!important;stroke-width:6px!important;fill:#ff91004d!important;filter:drop-shadow(0 0 30px #ff9100e6)drop-shadow(0 0 15px #ff9100e6)!important}@keyframes pulse-glow-light{0%,to{stroke-width:6px;filter:drop-shadow(0 0 30px #ff9100e6)drop-shadow(0 0 15px #ff9100e6);transform:scale(1)}50%{stroke-width:7px;filter:drop-shadow(0 0 40px #ff9100)drop-shadow(0 0 20px #ff9100);transform:scale(1.02)}}[data-theme=light] .active-workflow-step .nodeLabel,.active-workflow-step .nodeLabel{text-shadow:0 0 8px #ff910099;fill:#d97700!important;font-size:16px!important}.hamburger-btn{z-index:1001;background:var(--color-main-white);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);cursor:pointer;width:48px;height:48px;transition:var(--transition-base);box-shadow:0 2px 8px var(--color-shadow);color:var(--color-text-grey);justify-content:center;align-items:center;display:flex;position:fixed;top:20px;left:20px}.hamburger-btn:hover{background:var(--color-primary-accent);color:var(--color-main-white);border-color:var(--color-primary-accent);transform:scale(1.05);box-shadow:0 4px 12px #4bacc64d}.sidebar,.nav-sidebar{background:var(--color-main-white);border-right:1px solid var(--color-soft-grey);width:280px;height:100vh;box-shadow:4px 0 12px var(--color-shadow);z-index:1002;transition:transform .3s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open,.nav-sidebar.open{transform:translate(0)}.sidebar-header,.nav-sidebar-header{padding:var(--spacing-xl)var(--spacing-lg);border-bottom:1px solid var(--color-soft-grey);background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));justify-content:space-between;align-items:center;display:flex}.sidebar-header h2,.nav-sidebar-header h2{color:var(--color-main-white);margin:0;font-size:24px;font-weight:700}.sidebar-close,.nav-sidebar-close{color:var(--color-main-white);cursor:pointer;transition:var(--transition-base);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.sidebar-close:hover,.nav-sidebar-close:hover{background:#fff3;transform:rotate(90deg)}.sidebar-nav,.nav-sidebar-nav{padding:var(--spacing-lg)0}.sidebar-link,.nav-sidebar-link{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)var(--spacing-lg);color:var(--color-text-grey);transition:var(--transition-base);border-left:3px solid #0000;font-size:16px;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover,.nav-sidebar-link:hover{background:var(--color-light-grey);border-left-color:var(--color-primary-accent);color:var(--color-primary-accent)}.sidebar-link svg{opacity:.7;transition:var(--transition-base)}.sidebar-link:hover svg{opacity:1;transform:translate(4px)}.sidebar-overlay,.nav-sidebar-overlay{z-index:1000;opacity:0;visibility:hidden;background:#00000080;width:100%;height:100vh;transition:opacity .3s,visibility .3s;position:fixed;top:0;left:0}.sidebar-overlay.show,.nav-sidebar-overlay.show{opacity:1;visibility:visible}[data-theme=dark] .hamburger-btn{background:var(--color-off-white);border-color:var(--color-border);color:#e3f2fd}[data-theme=dark] .hamburger-btn:hover{background:var(--color-primary-accent);color:var(--color-main-white)}[data-theme=dark] .sidebar,[data-theme=dark] .nav-sidebar{background:var(--color-main-white);border-right-color:var(--color-border)}[data-theme=dark] .sidebar-link{color:#e3f2fd}[data-theme=dark] .sidebar-link:hover{color:var(--color-primary-accent);background:#0d2537}[data-theme=dark] .completed-workflow-step rect,[data-theme=dark] .completed-workflow-step polygon,[data-theme=dark] .completed-workflow-step circle,[data-theme=dark] .completed-workflow-step ellipse{animation:1.5s ease-in-out infinite pulse-glow-completed-dark;stroke:#4caf50!important;stroke-width:6px!important;fill:#4caf5040!important;filter:drop-shadow(0 0 30px #4caf50)drop-shadow(0 0 15px #4caf50)!important}@keyframes pulse-glow-completed-dark{0%,to{stroke-width:6px;filter:drop-shadow(0 0 30px #4caf50)drop-shadow(0 0 15px #4caf50);transform:scale(1)}50%{stroke-width:7px;filter:drop-shadow(0 0 40px #4caf50)drop-shadow(0 0 20px #4caf50);transform:scale(1.02)}}[data-theme=dark] .completed-workflow-step .nodeLabel{text-shadow:0 0 15px #4caf50,0 0 8px #4caf50;fill:#4caf50!important;font-size:16px!important;font-weight:700!important}[data-theme=light] .completed-workflow-step rect,[data-theme=light] .completed-workflow-step polygon,[data-theme=light] .completed-workflow-step circle,[data-theme=light] .completed-workflow-step ellipse,.completed-workflow-step rect,.completed-workflow-step polygon,.completed-workflow-step circle,.completed-workflow-step ellipse{animation:1.5s ease-in-out infinite pulse-glow-completed-light;stroke:#ffc107!important;stroke-width:6px!important;fill:#ffc1074d!important;filter:drop-shadow(0 0 30px #ffc107e6)drop-shadow(0 0 15px #ffc107e6)!important}@keyframes pulse-glow-completed-light{0%,to{stroke-width:6px;filter:drop-shadow(0 0 30px #ffc107e6)drop-shadow(0 0 15px #ffc107e6);transform:scale(1)}50%{stroke-width:7px;filter:drop-shadow(0 0 40px #ffc107)drop-shadow(0 0 20px #ffc107);transform:scale(1.02)}}[data-theme=light] .completed-workflow-step .nodeLabel,.completed-workflow-step .nodeLabel{text-shadow:0 0 8px #ffc10799;fill:#f57c00!important;font-size:16px!important;font-weight:700!important}.execute-container{width:100%;max-width:95vw;padding:88px var(--spacing-lg)var(--spacing-lg);gap:var(--spacing-xl);height:calc(100vh - 88px - var(--spacing-lg));margin:0 auto;display:flex}.execute-sidebar{background:var(--color-main-white);border-radius:var(--radius-xl);width:350px;height:auto;padding:var(--spacing-xl);box-shadow:0 4px 24px var(--color-shadow);z-index:auto;border-right:none;flex-direction:column;max-height:100%;transition:none;display:flex;position:relative;top:auto;left:auto;overflow-y:auto;transform:none}.execute-sidebar .sidebar-header{margin-bottom:var(--spacing-xl);background:0 0;border-bottom:none;justify-content:space-between;align-items:center;padding:0;display:flex}.execute-sidebar .sidebar-header h1{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:700}.category-filter{margin-bottom:var(--spacing-lg);flex-shrink:0}.category-filter label{color:var(--color-text-grey);margin-bottom:var(--spacing-sm);font-size:13px;font-weight:600;display:block}.category-filter select{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);font-size:14px;font-family:var(--font-family);color:var(--color-text-grey);background:var(--color-main-white);cursor:pointer;transition:var(--transition-base)}.category-filter select:focus{border-color:var(--color-primary-accent);outline:none;box-shadow:0 0 0 3px #4bacc61a}[data-theme=dark] .category-filter select{background:var(--color-off-white);border-color:var(--color-border)}[data-theme=dark] .category-filter select:focus{border-color:var(--color-primary-accent);box-shadow:0 0 0 3px #00d9ff1a}.workflow-list{gap:var(--spacing-sm);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.workflow-item{padding:var(--spacing-md);background:var(--color-off-white);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);position:relative}.workflow-item-delete{width:22px;height:22px;color:var(--color-text-grey);opacity:0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:opacity .2s,background .2s;display:flex;position:absolute;top:8px;right:8px}.workflow-item:hover .workflow-item-delete{opacity:.5}.workflow-item-delete:hover{color:#dc3c3c;background:#dc3c3c1f;opacity:1!important}.workflow-item:hover{border-color:var(--color-primary-accent);box-shadow:0 4px 12px var(--color-shadow-hover);transform:translateY(-2px)}.workflow-item.selected{border-color:var(--color-primary-accent);background:linear-gradient(135deg,#4bacc61a,#4bacc60d);box-shadow:0 0 0 3px #4bacc633}[data-theme=dark] .workflow-item.selected{background:linear-gradient(135deg,#00d9ff1a,#00d9ff0d);box-shadow:0 0 0 3px #00d9ff33}.workflow-item-name{color:var(--color-text-grey);margin-bottom:6px;font-size:16px;font-weight:600}.workflow-item-description{color:var(--color-text-grey);opacity:.7;font-size:13px}.workflow-item-date{color:var(--color-text-grey);opacity:.5;margin-top:6px;font-size:11px}.workflow-item-category{border-radius:var(--radius-full);color:var(--color-primary-accent);border:1px solid var(--color-primary-accent);background:linear-gradient(135deg,#4bacc61a,#f796461a);margin-top:8px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}[data-theme=dark] .workflow-item-category{color:var(--color-primary-accent);border-color:var(--color-primary-accent);background:linear-gradient(135deg,#00d9ff1a,#ff91001a)}.main-content{background:var(--color-main-white);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:0 4px 24px var(--color-shadow);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.content-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-soft-grey);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.content-header h2{color:var(--color-text-grey);margin:0;font-size:28px;font-weight:700}.workflow-detail{flex-direction:column;display:flex}.workflow-detail .workflow-execution-panel{flex:none;overflow-y:visible}.workflow-description-text{color:var(--color-text-grey);opacity:.8;margin-bottom:var(--spacing-md);flex-shrink:0;font-size:15px;line-height:1.8}.workflow-diagram-container{background:linear-gradient(135deg,var(--color-off-white)0%,var(--color-main-white)100%);border-radius:var(--radius-lg);padding:calc(var(--spacing-xl)*1.5)var(--spacing-xl)var(--spacing-xl)var(--spacing-xl);box-shadow:0 2px 8px var(--color-shadow);border:1px solid var(--color-soft-grey);justify-content:center;align-items:flex-start;display:flex;overflow:visible}[data-theme=dark] .workflow-diagram-container{background:linear-gradient(135deg,var(--color-light-grey)0%,var(--color-off-white)100%);border-color:var(--color-border)}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-grey);opacity:.5}.empty-state-icon{margin-bottom:var(--spacing-lg);font-size:64px}.workflow-content-container .workflow-diagram-container{flex:1;min-width:0}.workflow-content-container .workflow-execution-panel{border-left:1px solid var(--color-soft-grey);border-top:none;flex:0 0 600px;margin-top:0}[data-theme=dark] .workflow-content-container .workflow-execution-panel{border-left:1px solid var(--color-border)}.workflow-diagram-container .node .nodeLabel,.workflow-diagram-container .node .label{max-width:160px;word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important}.workflow-diagram-container .node rect,.workflow-diagram-container .node polygon,.workflow-diagram-container .node circle,.workflow-diagram-container .node ellipse{overflow:visible}.workflow-diagram-container g.node[data-has-handler],.diagram-preview g.node[data-has-handler],#workflowDiagramContainer g.node[data-has-handler]{cursor:help}#workflowDiagramContainer g.node[data-no-handler]{cursor:help;opacity:.65}#workflowDiagramContainer g.node[data-no-handler] rect,#workflowDiagramContainer g.node[data-no-handler] polygon{stroke-dasharray:5 3;stroke:#f79646!important}#node-handler-tooltip .tooltip-warn{color:#f79646}#node-handler-tooltip .tooltip-flow{color:#5c6bc0}.tooltip-kind-badge{vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;margin-right:4px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.tooltip-kind-handler{color:#1565c0;background:#e3f2fd}.tooltip-kind-module{color:#7b1fa2;background:#f3e5f5}.tooltip-kind-table-budget{color:#2980b9;background:#e8f5f9}.tooltip-kind-table-contract{color:#c0632c;background:#fff4e6}.tooltip-kind-table-payment{color:#1e8449;background:#e8f8f5}.tooltip-kind-table-income{color:#76448a;background:#fdf2f8}.execute-container.process-exec-fullscreen{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);gap:0;max-width:100%}.execute-container.process-exec-fullscreen .main-content{border-radius:var(--radius-xl);box-shadow:0 4px 24px var(--color-shadow);overflow:hidden}.main-content.process-exec-mode{flex-direction:row;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.process-exec-left{border-right:1px solid var(--color-soft-grey);background:var(--color-light-grey);flex-direction:column;flex:0 0 36%;min-width:260px;max-width:460px;display:flex}.process-exec-left-header{border-bottom:1px solid var(--color-soft-grey);background:var(--color-main-white);flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.process-exec-back-btn{color:var(--color-primary-accent);border:1.5px solid var(--color-primary-accent);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:5px 14px;font-size:12px;font-weight:600;transition:background .15s}.process-exec-back-btn:hover{background:#4bacc61a}.process-exec-right{background:var(--color-main-white);flex-direction:column;flex:1;min-width:0;padding:0;display:flex;overflow-y:auto}.process-exec-step-header{border-bottom:1px solid var(--color-soft-grey);background:var(--color-main-white);flex-shrink:0;align-items:center;gap:10px;padding:12px 20px;display:flex}.process-exec-step-badge{border-radius:var(--radius-full);color:#fff;white-space:nowrap;letter-spacing:.3px;background:#7e57c2;padding:3px 10px;font-size:10px;font-weight:700}.process-exec-step-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.process-exec-left-diagram{background:var(--color-main-white);border-radius:var(--radius-lg);min-height:0;box-shadow:0 2px 8px var(--color-shadow);flex:1;margin:10px;overflow:auto}.process-exec-left-subprocess{border-radius:var(--radius-lg);min-height:0;box-shadow:0 2px 8px var(--color-shadow);background:var(--color-main-white);flex-direction:column;flex:1;margin:0 10px 10px;display:flex;overflow:hidden}.process-exec-left-subprocess-header{background:var(--color-main-white);border-bottom:1px solid var(--color-soft-grey);border-left:3px solid #ff6f00;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;display:flex}.process-exec-subprocess-label{border-radius:var(--radius-full);color:#fff;white-space:nowrap;letter-spacing:.3px;background:#ff6f00;flex-shrink:0;padding:3px 9px;font-size:10px;font-weight:700}.process-exec-subprocess-name{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-grey);font-size:12px;font-weight:600;overflow:hidden}.process-exec-active-step>rect,.process-exec-active-step>polygon{filter:drop-shadow(0 0 5px #ff6f0080);stroke:#ff6f00!important;stroke-width:3px!important}.tooltip-kind-subprocess{color:#2e7d32;background:#e8f5e9}#workflowDiagramContainer g.node[data-flow-node]{cursor:default}#reviewPanel{border:2px solid var(--color-primary-accent);border-radius:var(--radius-lg);background:var(--color-main-white);margin:12px 16px;overflow:hidden}[data-theme=dark] #reviewPanel{background:var(--color-off-white)}.review-panel-header{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));color:#fff;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;display:flex}.review-body{gap:0;max-height:360px;display:flex;overflow:hidden}.review-file-preview{border-right:1px solid var(--color-soft-grey);flex-direction:column;flex:50%;min-width:0;display:flex;overflow:hidden}[data-theme=dark] .review-file-preview{border-right-color:var(--color-border)}.review-file-preview-label{color:var(--color-text-grey);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;padding:6px 12px 4px;font-size:11px;font-weight:700}.review-file-preview iframe,.review-file-preview img{object-fit:contain;background:#f8f8f8;border:none;flex:1;width:100%}[data-theme=dark] .review-file-preview iframe,[data-theme=dark] .review-file-preview img{background:#1a1a1a}.review-file-tabs{flex-wrap:wrap;flex-shrink:0;gap:4px;padding:4px 12px 0;display:flex}.review-file-tab{border:1px solid var(--color-soft-grey);cursor:pointer;color:var(--color-text-grey);font-size:11px;font-family:var(--font-family);background:0 0;border-radius:4px;padding:2px 8px}.review-file-tab.active{background:var(--color-primary-accent);color:#fff;border-color:var(--color-primary-accent)}.review-file-content{flex:1;min-height:0;position:relative;overflow:hidden}.review-data-panel{flex:50%;min-width:0;padding:8px 12px;overflow-y:auto}.review-section-title{color:var(--color-primary-accent);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 6px;font-size:11px;font-weight:700}.review-kv-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:12px}.review-kv-table td{border-bottom:1px solid var(--color-soft-grey);vertical-align:top;padding:4px 6px}.review-kv-table td:first-child{color:var(--color-text-grey);white-space:nowrap;width:45%;font-weight:600}.review-kv-table td:last-child{color:var(--color-text-main);word-break:break-word}.review-rule-badge{background:var(--color-primary-accent);color:#fff;border-radius:20px;margin-bottom:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.review-rule-desc{color:var(--color-text-grey);font-size:12px;line-height:1.5}.review-excel-table-wrap{max-height:160px;overflow:auto}.review-excel-table{border-collapse:collapse;white-space:nowrap;font-size:11px}.review-excel-table th,.review-excel-table td{border:1px solid var(--color-soft-grey);padding:3px 6px}.review-excel-table th{background:var(--color-light-grey);font-weight:700;position:sticky;top:0}.review-comment-area{margin:8px 16px}.review-comment-area textarea{border:1px solid var(--color-soft-grey);border-radius:var(--radius-md);width:100%;font-family:var(--font-family);resize:vertical;background:var(--color-main-white);color:var(--color-text-main);box-sizing:border-box;padding:8px;font-size:13px}[data-theme=dark] .review-comment-area textarea{background:var(--color-off-white);border-color:var(--color-border)}.review-comment-area label{color:var(--color-text-grey);margin-bottom:4px;font-size:12px;font-weight:600;display:block}#node-handler-tooltip{z-index:9999;pointer-events:none;background:var(--color-main-white);border:1.5px solid var(--color-primary-accent);max-width:280px;font-family:var(--font-family);border-radius:10px;padding:10px 14px;display:none;position:fixed;box-shadow:0 6px 20px #00000026}[data-theme=dark] #node-handler-tooltip{box-shadow:0 6px 20px #0006}#node-handler-tooltip .tooltip-label{color:var(--color-primary-accent);margin-bottom:3px;font-size:13px;font-weight:700}#node-handler-tooltip .tooltip-type{color:var(--color-text-grey);margin-bottom:7px;font-family:Courier New,monospace;font-size:11px}#node-handler-tooltip .tooltip-desc{color:var(--color-text-main);font-size:12px;line-height:1.55}.execute-empty-state{flex:1;justify-content:center;align-items:center;display:flex}#executePreparation{gap:var(--spacing-lg);padding:var(--spacing-xl)0 0;flex-direction:column;flex-shrink:0;display:flex}.execute-file-section{background:var(--color-main-white);border-radius:var(--radius-lg);border:1px solid var(--color-soft-grey);overflow:hidden}[data-theme=dark] .execute-file-section{background:var(--color-off-white);border-color:var(--color-border)}.execute-file-section-header{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm)var(--spacing-xl);background:var(--color-off-white);border-bottom:1px solid var(--color-soft-grey);display:flex}[data-theme=dark] .execute-file-section-header{background:var(--color-light-grey);border-bottom-color:var(--color-border)}.execute-file-section-title{color:var(--color-text-grey);font-size:15px;font-weight:600}.execute-file-hint{border-radius:var(--radius-full);color:var(--color-secondary-accent);border:1px solid var(--color-secondary-accent);background:linear-gradient(135deg,#f7964626,#f796460d);padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.execute-upload-area{padding:var(--spacing-xl);border:2px dashed var(--color-soft-grey);cursor:pointer;transition:var(--transition-base);background:var(--color-main-white)}[data-theme=dark] .execute-upload-area{background:var(--color-off-white);border-color:var(--color-border)}.execute-upload-area:hover,.execute-upload-area.dragover{border-color:var(--color-primary-accent);background:#4bacc60a}[data-theme=dark] .execute-upload-area:hover,[data-theme=dark] .execute-upload-area.dragover{background:#00d9ff0d}.execute-upload-prompt{align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.execute-upload-icon{opacity:.5}.execute-upload-text{color:var(--color-text-grey);margin:0;font-size:.95em;font-weight:500}.execute-upload-subtext{opacity:.7;color:var(--color-text-grey);margin:0;font-size:.85em}.execute-file-select-btn{margin-top:var(--spacing-xs);background:var(--color-primary-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:.9em;font-family:var(--font-family);transition:var(--transition-base);border:none;padding:6px 16px;font-weight:600}.execute-file-select-btn:hover{opacity:.85}.execute-file-list{padding:0 var(--spacing-xl)var(--spacing-md)}.execute-file-item{padding:var(--spacing-xs)var(--spacing-sm);background:var(--color-light-grey);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs);display:flex}.execute-file-item-info{align-items:center;gap:var(--spacing-xs);flex:1;min-width:0;display:flex}.execute-file-item-name{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-grey);font-size:.9em;overflow:hidden}.execute-file-item-size{opacity:.6;color:var(--color-text-grey);flex-shrink:0;font-size:.8em}.execute-file-remove-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.85em;font-family:var(--font-family);transition:var(--transition-base);background:#e74c3c;border:none;flex-shrink:0;padding:4px 8px}.execute-file-remove-btn:hover{opacity:.85}.exec-file-with-preview{border-top:1px solid var(--color-soft-grey);min-height:220px;max-height:340px;display:flex}.exec-file-list-col{border-right:1px solid var(--color-soft-grey);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow-y:auto}.exec-file-row{cursor:pointer;border-bottom:1px solid var(--color-soft-grey);align-items:center;gap:6px;padding:9px 10px;font-size:12px;transition:background .15s;display:flex}.exec-file-row:hover{background:#4bacc60f}.exec-file-row.active{border-left:3px solid var(--color-primary-accent);background:#4bacc61f}.exec-file-row-name{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-grey);flex:1;font-weight:500;overflow:hidden}.exec-file-row-size{opacity:.55;flex-shrink:0;font-size:10px}.exec-file-add-btn{border:1px dashed var(--color-primary-accent);color:var(--color-primary-accent);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-family);background:0 0;margin:8px;padding:6px 10px;transition:background .15s}.exec-file-add-btn:hover{background:#4bacc614}.exec-file-preview-col{background:var(--color-light-grey);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}[data-theme=dark] .exec-file-preview-col{background:#ffffff08}.exec-file-no-preview{opacity:.45;color:var(--color-text-grey);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px;font-size:13px;display:flex}.exec-file-no-preview p{word-break:break-all;margin:0;font-weight:500}.exec-file-no-preview span{font-size:11px}.exec-panel-body{border-top:1px solid var(--color-soft-grey);min-height:300px;max-height:480px;display:flex}.exec-panel-steps{border-right:1px solid var(--color-soft-grey);flex-shrink:0;width:260px;padding:6px 0;overflow-y:auto}.exec-panel-steps .workflow-step-item{border-radius:var(--radius-sm);align-items:center;margin:3px 6px}.exec-panel-steps .workflow-step-item.exec-step-selected{border-color:var(--color-primary-accent);background:#4bacc61a}.exec-panel-data{flex:1;min-width:0;overflow-y:auto}.exec-panel-data-stepname{color:var(--color-primary-accent);border-bottom:1px solid var(--color-soft-grey);letter-spacing:.2px;background:var(--color-main-white);z-index:1;padding:10px 16px 8px;font-size:12px;font-weight:700;position:sticky;top:0}[data-theme=dark] .exec-panel-data-stepname{background:var(--color-off-white)}.exec-panel-data-empty{opacity:.38;min-height:120px;color:var(--color-text-grey);justify-content:center;align-items:center;font-size:13px;display:flex}.execute-action-area{padding-bottom:var(--spacing-xl);justify-content:flex-end;display:flex}.execute-run-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));color:#fff;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-base);font-size:15px;font-weight:600;font-family:var(--font-family);border:none;display:flex;box-shadow:0 4px 15px #4bacc64d}[data-theme=dark] .execute-run-btn{box-shadow:0 4px 15px #00d9ff4d}.execute-run-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4bacc666}[data-theme=dark] .execute-run-btn:hover{box-shadow:0 6px 20px #00d9ff66}.execute-run-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.config-panel{padding:var(--spacing-xl);background:var(--color-off-white);flex-direction:column;flex:1;display:flex;overflow-y:auto}.config-header{padding-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-soft-grey);margin-bottom:var(--spacing-xl);flex-shrink:0}.config-header h2{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:28px;font-weight:700}[data-theme=dark] .config-header{border-bottom-color:var(--color-border)}.config-content{width:100%;max-width:720px;margin:0 auto}.config-section{background:var(--color-main-white);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:0 4px 24px var(--color-shadow);margin-bottom:var(--spacing-xl)}.config-section h3{color:var(--color-text-grey);margin:0 0 var(--spacing-xs)0;font-size:18px;font-weight:700}.config-description{color:var(--color-text-grey);opacity:.7;margin:0 0 var(--spacing-lg)0;font-size:14px}.model-selector-container{gap:var(--spacing-sm);flex-direction:column;display:flex}.model-option{padding:var(--spacing-md);border:2px solid var(--color-soft-grey);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-base);background:var(--color-off-white);align-items:flex-start;gap:var(--spacing-sm);display:flex}.model-option:hover{border-color:var(--color-primary-accent);box-shadow:0 4px 12px var(--color-shadow-hover)}.model-option.selected{border-color:var(--color-primary-accent);background:linear-gradient(135deg,#4bacc614,#4bacc608);box-shadow:0 0 0 3px #4bacc626}[data-theme=dark] .model-option.selected{background:linear-gradient(135deg,#00d9ff1a,#00d9ff0a);box-shadow:0 0 0 3px #00d9ff33}.model-option input[type=radio]{accent-color:var(--color-primary-accent);cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:3px}.model-option-label{cursor:pointer;flex:1}.model-header{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:6px;display:flex}.model-name{color:var(--color-text-grey);font-size:16px;font-weight:700}.model-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.model-badge.new{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.model-badge.standard{color:var(--color-primary-accent);border:1px solid var(--color-primary-accent);background:linear-gradient(135deg,#4bacc626,#4bacc614)}.model-badge.power{color:var(--color-secondary-accent);border:1px solid var(--color-secondary-accent);background:linear-gradient(135deg,#f7964626,#f7964614)}.model-badge.lite,.model-badge.economy{color:#4caf50;background:linear-gradient(135deg,#64c86426,#64c86414);border:1px solid #4caf50}.model-description{color:var(--color-text-grey);opacity:.75;margin-bottom:var(--spacing-xs);font-size:13px;line-height:1.6}.model-specs{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.model-spec{color:var(--color-text-grey);opacity:.6;align-items:center;gap:4px;font-size:12px;display:flex}.model-spec svg{flex-shrink:0;width:12px;height:12px}.pick-for-you-panel{padding:var(--spacing-xl);background:var(--color-off-white);flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.pick-back-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-md);color:var(--color-primary-accent);font-size:14px;font-weight:600;font-family:var(--font-family);cursor:pointer;border-radius:var(--radius-md);transition:var(--transition-base);margin-bottom:var(--spacing-md);background:0 0;border:none;align-self:flex-start;display:inline-flex}.pick-back-btn:hover{background:#4bacc61a}[data-theme=dark] .pick-back-btn:hover{background:#00d9ff1a}.pick-header{margin-bottom:var(--spacing-xl)}.pick-header h2{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));-webkit-text-fill-color:transparent;margin:0 0 var(--spacing-xs)0;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.pick-subtitle{color:var(--color-text-grey);opacity:.7;margin:0;font-size:15px}.pick-content{gap:var(--spacing-xl);flex-direction:column;display:flex}.pick-section{background:var(--color-main-white);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:0 4px 24px var(--color-shadow)}.pick-section-title{color:var(--color-text-grey);margin:0 0 var(--spacing-lg)0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-soft-grey);font-size:16px;font-weight:700}[data-theme=dark] .pick-section-title{border-bottom-color:var(--color-border)}.workflow-cards{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.workflow-card{border:2px solid var(--color-soft-grey);border-radius:var(--radius-lg);padding:var(--spacing-lg);background:var(--color-off-white);gap:var(--spacing-sm);transition:var(--transition-base);flex-direction:column;display:flex}.workflow-card:hover{border-color:var(--color-primary-accent);box-shadow:0 6px 20px var(--color-shadow-hover);transform:translateY(-2px)}.workflow-card.urgent{background:linear-gradient(135deg,#e74c3c0a,var(--color-off-white));border-color:#e74c3c}[data-theme=dark] .workflow-card.urgent{background:linear-gradient(135deg,#ff6b6b0f,var(--color-off-white));border-color:#ff6b6b}.workflow-card.suggested{border-color:var(--color-secondary-accent);background:linear-gradient(135deg,#f796460a,var(--color-off-white))}.workflow-card-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-xs);display:flex}.workflow-card-title{color:var(--color-text-grey);font-size:16px;font-weight:700}.workflow-badge{border-radius:var(--radius-full);white-space:nowrap;color:var(--color-primary-accent);border:1px solid var(--color-primary-accent);background:linear-gradient(135deg,#4bacc626,#4bacc60d);padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.workflow-badge.urgent{color:#e74c3c;background:linear-gradient(135deg,#e74c3c26,#e74c3c0d);border-color:#e74c3c}[data-theme=dark] .workflow-badge.urgent{color:#ff6b6b;background:linear-gradient(135deg,#ff6b6b26,#ff6b6b0d);border-color:#ff6b6b}.workflow-badge.suggested{color:var(--color-secondary-accent);border-color:var(--color-secondary-accent);background:linear-gradient(135deg,#f7964626,#f796460d)}.workflow-card-description{color:var(--color-text-grey);opacity:.75;flex:1;font-size:13px;line-height:1.6}.workflow-card-meta{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.workflow-meta-item{color:var(--color-text-grey);opacity:.6;font-size:12px}.workflow-card-actions{gap:var(--spacing-xs);margin-top:var(--spacing-xs);display:flex}.workflow-exec-btn{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);background:var(--color-primary-accent);color:#fff;font-size:13px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);border:none;flex:1}.workflow-exec-btn.primary{background:linear-gradient(135deg,#e74c3c,#c0392b)}[data-theme=dark] .workflow-exec-btn.primary{background:linear-gradient(135deg,#ff6b6b,#e74c3c)}.workflow-exec-btn:hover{opacity:.85;transform:translateY(-1px)}.workflow-detail-btn{padding:var(--spacing-xs)var(--spacing-sm);border:2px solid var(--color-soft-grey);border-radius:var(--radius-md);color:var(--color-text-grey);font-size:13px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);background:0 0}.workflow-detail-btn:hover{border-color:var(--color-primary-accent);color:var(--color-primary-accent)}[data-theme=dark] .workflow-detail-btn{border-color:var(--color-border)}.workflow-suggestion{color:var(--color-secondary-accent);border-radius:var(--radius-sm);padding:var(--spacing-xs);margin-top:var(--spacing-xs);background:#f7964614;font-size:12px}.wf-tab-bar{border-bottom:2px solid var(--color-border);gap:4px;margin-bottom:12px;padding-bottom:0;display:flex}.wf-tab{color:var(--color-text-grey);opacity:.65;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:8px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s,opacity .15s;display:flex}.wf-tab:hover{opacity:1}.wf-tab.active{opacity:1;color:var(--color-primary-accent);border-bottom-color:var(--color-primary-accent)}.wf-spec-container{flex-direction:column;gap:20px;padding:4px 0 16px;display:flex}.wf-spec-overview-title{color:var(--color-text-grey);margin-bottom:10px;font-size:17px;font-weight:700}.wf-spec-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-grey);margin-bottom:8px;font-size:14px;font-weight:700}.wf-spec-kv-table{border-collapse:collapse;width:100%;font-size:14px}.wf-spec-overview-kv{width:auto}.wf-spec-kv-table th{text-align:left;white-space:nowrap;min-width:148px;color:var(--color-text-grey);vertical-align:top;padding:6px 16px 6px 0;font-weight:600}.wf-spec-kv-table td{color:var(--color-text-grey);padding:6px 0}.wf-spec-step{background:var(--color-light-grey);border:1px solid var(--color-border);border-radius:8px;margin-bottom:8px;padding:12px 16px}.wf-spec-step-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.wf-spec-step-num{background:var(--color-primary-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.wf-spec-step-name{color:var(--color-text-grey);flex:1;font-size:14px;font-weight:600}.wf-spec-step-type{color:var(--color-primary-accent);border:1px solid var(--color-primary-accent);background:0 0;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:500}.wf-spec-step-desc{color:var(--color-text-grey);opacity:.8;margin-bottom:6px;font-size:13px}.wf-spec-step-nohandler{opacity:.6;background:0 0;border-style:dashed}.wf-spec-step-type-none{color:var(--color-text-muted);border-color:var(--color-border);opacity:.6}.wf-spec-code{color:var(--color-text-grey);background:var(--color-light-grey);border:1px solid var(--color-border);white-space:pre;border-radius:6px;padding:12px 14px;font-family:Courier New,Consolas,monospace;font-size:12px;line-height:1.6;overflow-x:auto}.wf-spec-json{color:var(--color-text-grey);background:var(--color-off-white);white-space:pre-wrap;word-break:break-all;border-radius:4px;margin:0;padding:4px 8px;font-family:Courier New,Consolas,monospace;font-size:11px;line-height:1.5}.wf-spec-null{color:var(--color-text-grey);opacity:.35;font-style:italic}.wf-spec-step-fields{margin-top:8px}.wf-spec-step-fields th{color:var(--color-primary-accent);opacity:.85;white-space:nowrap;font-family:Courier New,Consolas,monospace;font-size:11px;font-weight:600}.wf-spec-config-label{color:var(--color-secondary-accent);margin-top:10px;margin-bottom:2px;font-family:Courier New,Consolas,monospace;font-size:11px;font-weight:700}.wf-spec-config-table th{color:var(--color-secondary-accent);opacity:.85;white-space:nowrap;font-family:Courier New,Consolas,monospace;font-size:11px;font-weight:600}.wf-raw-container{padding:4px 0 16px}.wf-raw-code{background:var(--color-light-grey);border:1px solid var(--color-border);border-radius:8px;margin:0;padding:8px 0;font-family:Courier New,Consolas,monospace;font-size:12px;line-height:1.65;overflow-x:auto}.wf-raw-line{align-items:flex-start;min-height:1.65em;display:flex}.wf-raw-line:hover,[data-theme=dark] .wf-raw-line:hover{background:var(--color-soft-grey)}.wf-raw-ln{text-align:right;min-width:44px;color:var(--color-text-grey);opacity:.3;-webkit-user-select:none;user-select:none;border-right:1px solid var(--color-border);white-space:pre;flex-shrink:0;margin-right:14px;padding:0 12px 0 16px}.wf-raw-content{white-space:pre-wrap;word-break:break-all;flex:1;padding-right:16px}.wf-raw-d0{color:var(--color-text-grey)}.wf-raw-d1{color:var(--color-primary-accent)}.wf-raw-d2{color:var(--color-secondary-accent)}.wf-raw-d3{color:#7cb87c}[data-theme=dark] .wf-raw-d3{color:#88d498}.wf-node-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.wf-badge-start{color:#155724;background:#d4edda}.wf-badge-end{color:#383d41;background:#d6d8db}.wf-badge-approval{color:#856404;background:#fff3cd}.wf-badge-decision{color:#0c5460;background:#d1ecf1}.wf-badge-terminal{color:#383d41;background:#e2e3e5}.wf-badge-auto{color:#004085;background:#cce5ff}[data-theme=dark] .wf-badge-start{color:#74d99f;background:#1a3d26}[data-theme=dark] .wf-badge-end{color:#adb5bd;background:#2a2d30}[data-theme=dark] .wf-badge-approval{color:#ffc947;background:#3d3300}[data-theme=dark] .wf-badge-decision{color:#70d9ee;background:#003340}[data-theme=dark] .wf-badge-terminal{color:#adb5bd;background:#2a2d30}[data-theme=dark] .wf-badge-auto{color:#70b0ff;background:#024}.pick-count-badge{background:var(--color-primary-accent);color:#fff;vertical-align:middle;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.pick-loading,.pick-empty,.pick-error{text-align:center;color:var(--color-text-grey);opacity:.6;padding:24px 16px;font-size:14px}.pick-error{color:#c0392b;opacity:1}.pick-waiting-list{flex-direction:column;gap:12px;display:flex}.pick-approval-card{background:var(--color-main-white);border:1px solid var(--color-border);border-left:4px solid var(--color-soft-grey);border-radius:10px;padding:16px 20px;transition:box-shadow .15s}.pick-approval-card:hover{box-shadow:0 4px 12px var(--color-shadow-hover)}.pick-approval-card.risk-high{border-left-color:#e74c3c}.pick-approval-card.risk-medium{border-left-color:#f39c12}.pick-approval-card.risk-low{border-left-color:#27ae60}.pick-approval-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pick-approval-name{color:var(--color-text-grey);flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.pick-step-badge{border-radius:var(--radius-full);color:var(--color-primary-accent);border:1px solid var(--color-primary-accent);background:#4bacc61f;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.pick-risk-badge{white-space:nowrap;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.pick-risk-badge.risk-high{color:#c0392b;background:#fde8e8}.pick-risk-badge.risk-medium{color:#d68910;background:#fef3e2}.pick-risk-badge.risk-low{color:#1e8449;background:#e8f8f0}.pick-approval-sub{color:#888;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;display:flex}.pick-submitter{color:#555;font-weight:500}.pick-dot{color:#bbb;margin:0 2px}.pick-step-name{color:#555;background:#f5f7fa;border-radius:4px;margin-bottom:8px;padding:4px 8px;font-size:12px;display:inline-block}.pick-step-name strong{color:#2c3e50}.pick-approval-meta{color:#666;gap:20px;margin-bottom:12px;font-size:13px;display:flex}.pick-meta-item strong{color:var(--color-text-grey)}.pick-approval-actions{gap:10px;display:flex}.pick-count-badge-error{background:#d94f4f}.pick-error-card{border-left-color:#d94f4f!important}.pick-error-msg{color:#d94f4f;margin:4px 0 6px;font-size:12px;line-height:1.4}.pick-goto-btn{background:var(--color-primary-accent);color:#fff;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.pick-goto-btn:hover{opacity:.85}.pick-retry-btn{background:#d94f4f}.pick-stats-container{overflow-x:auto}.pick-stats-table{border-collapse:collapse;width:100%;font-size:13px}.pick-stats-table th{background:var(--color-light-grey);text-align:left;color:#555;border-bottom:2px solid var(--color-border);white-space:nowrap;padding:8px 12px;font-weight:600}.pick-stats-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-grey);padding:9px 12px}.pick-stats-table tr:last-child td{border-bottom:none}.pick-stats-table tr:hover td{background:var(--color-off-white)}.pick-stat-name{font-weight:500}.pick-stat-num{text-align:right;font-variant-numeric:tabular-nums}.pick-success{color:#1e8449;font-weight:600}.pick-rejected{color:#d68910;font-weight:600}.pick-error{color:#c0392b;font-weight:600}[data-theme=dark] .pick-approval-card{background:var(--color-dark-surface,#1e1e1e);border-color:var(--color-dark-border,#333)}[data-theme=dark] .pick-approval-card.risk-high{border-left-color:#e74c3c}[data-theme=dark] .pick-approval-card.risk-medium{border-left-color:#f39c12}[data-theme=dark] .pick-approval-card.risk-low{border-left-color:#27ae60}[data-theme=dark] .pick-approval-name{color:#e0e0e0}[data-theme=dark] .pick-approval-sub{color:#888}[data-theme=dark] .pick-submitter{color:#bbb}[data-theme=dark] .pick-step-name{color:#aaa;background:#2a2a2a}[data-theme=dark] .pick-step-name strong{color:#e0e0e0}[data-theme=dark] .pick-approval-meta{color:#aaa}[data-theme=dark] .pick-meta-item strong{color:#e0e0e0}[data-theme=dark] .pick-risk-badge.risk-high{color:#ff6b6b;background:#3d0a0a}[data-theme=dark] .pick-risk-badge.risk-medium{color:#ffb347;background:#3d2600}[data-theme=dark] .pick-risk-badge.risk-low{color:#5dde8a;background:#0a2d1a}[data-theme=dark] .pick-stats-table th{color:#ccc;background:#2a2a2a;border-color:#444}[data-theme=dark] .pick-stats-table td{color:#ddd;border-color:#333}[data-theme=dark] .pick-stats-table tr:hover td{background:#252525}[data-theme=dark] .pick-count-badge{background:var(--color-primary-accent)}#flowchartDiagramContainer{gap:var(--spacing-lg);flex-direction:column;flex:1;padding:8px 0;display:flex;overflow-y:auto}#flowchartDiagramContainer .diagram-preview{flex:none}#flowchartDiagramContainer .diagram-preview>.mermaid{flex:none;height:auto;min-height:160px;overflow:visible}#flowchartSpecContainer,#flowchartCodeContainer{padding:8px 0;overflow-y:auto}#flowchartCodeContainer .diagram-editor{border-top:none}.save-draft-btn{background:var(--color-light-grey);border:2px solid var(--color-soft-grey);color:var(--color-text-grey);transition:var(--transition-base)}.save-draft-btn:not(:disabled):hover{background:var(--color-primary-accent);border-color:var(--color-primary-accent);color:var(--color-main-white)}.save-draft-btn:disabled{opacity:.4;cursor:not-allowed}.drafts-container{max-width:800px;padding:88px var(--spacing-lg)var(--spacing-xl);margin:0 auto}.drafts-header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.drafts-header h1{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:28px;font-weight:700}.drafts-back-link{color:var(--color-primary-accent);transition:var(--transition-base);font-size:14px;font-weight:600;text-decoration:none}.drafts-back-link:hover{opacity:.75}.draft-card{background:var(--color-main-white);border:2px solid var(--color-soft-grey);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:0 2px 8px var(--color-shadow);transition:var(--transition-base)}.draft-card:hover{box-shadow:0 4px 16px var(--color-shadow-hover);border-color:var(--color-primary-accent)}.draft-card-header{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.draft-name{color:var(--color-text-grey);font-size:16px;font-weight:700}.draft-date{color:var(--color-primary-accent);white-space:nowrap;flex-shrink:0;font-size:12px}.draft-card-meta{color:var(--color-text-grey);opacity:.65;margin-bottom:var(--spacing-md);font-size:13px}.draft-card-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.btn-resume{padding:var(--spacing-xs)var(--spacing-md);background:var(--color-primary-accent);color:var(--color-main-white);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);font-size:13px;font-weight:600;font-family:var(--font-family);border:none}.btn-resume:hover{opacity:.85;transform:translateY(-1px)}.btn-delete{padding:var(--spacing-xs)var(--spacing-md);color:#e74c3c;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);font-size:13px;font-weight:600;font-family:var(--font-family);background:0 0;border:2px solid #e74c3c}.btn-delete:hover{color:var(--color-main-white);background:#e74c3c;transform:translateY(-1px)}.no-drafts{color:var(--color-text-grey);opacity:.6;text-align:center;padding:var(--spacing-2xl);font-size:15px}[data-theme=dark] .draft-card{background:var(--color-dark-surface,#1e1e1e);border-color:var(--color-dark-border,#333)}[data-theme=dark] .draft-card:hover{border-color:var(--color-primary-accent)}[data-theme=dark] .draft-name{color:#e0e0e0}[data-theme=dark] .draft-card-meta{color:#aaa}[data-theme=dark] .save-draft-btn{background:var(--color-dark-surface,#1e1e1e);border-color:var(--color-dark-border,#333);color:#e0e0e0}:root{--mon-completed:#4caf82;--mon-error:#d94f4f;--mon-waiting:var(--color-secondary-accent,#f79646);--mon-running:var(--color-primary-accent,#4bacc6);--mon-rejected:#8c9ab0}.mon-layout{padding:var(--spacing-md)var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;flex:1;width:100%;max-width:1400px;margin:0 auto;padding-top:60px;display:flex;overflow-y:auto}.mon-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.mon-header-right{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.mon-title{color:var(--color-text-grey);align-items:center;gap:8px;font-size:1.3rem;font-weight:700;display:flex}.mon-last-updated{opacity:.55;white-space:nowrap;font-size:.75rem}.mon-select{background:var(--color-main-white);color:var(--color-text-grey);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-family);cursor:pointer;padding:6px 10px}.mon-select-sm{padding:4px 8px;font-size:.8rem}.mon-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-main-white);color:var(--color-text-grey);font-size:.875rem;font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);white-space:nowrap;align-items:center;gap:5px;padding:6px 14px;display:inline-flex}.mon-btn:hover{border-color:var(--color-primary-accent);color:var(--color-primary-accent)}.mon-btn-sm{padding:4px 10px;font-size:.8rem}.mon-btn-primary{background:var(--color-primary-accent);color:#fff;border-color:var(--color-primary-accent)}.mon-btn-primary:hover{opacity:.85;color:#fff}.mon-btn-outline{background:0 0}.mon-btn-auto{opacity:.6}.mon-btn-auto.active{opacity:1;color:var(--mon-completed);border-color:var(--mon-completed)}.mon-tabs{border-bottom:2px solid var(--color-border);flex-wrap:wrap;gap:2px;display:flex}.mon-tab{color:var(--color-text-grey);font-size:.875rem;font-family:var(--font-family);cursor:pointer;opacity:.65;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:8px 18px;transition:color .15s,border-color .15s}.mon-tab:hover{opacity:1}.mon-tab.active{border-bottom-color:var(--color-primary-accent);color:var(--color-primary-accent);opacity:1;font-weight:700}.mon-tab-panel{gap:var(--spacing-md);flex-direction:column;display:flex}.mon-section{background:var(--color-main-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:0 1px 4px var(--color-shadow)}.mon-section-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.mon-section-title{color:var(--color-text-grey);align-items:center;gap:6px;font-size:.95rem;font-weight:700;display:flex}.mon-subsection-title{opacity:.65;margin-bottom:6px;font-size:.8rem;font-weight:600}.mon-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mon-filter-label{opacity:.7;font-size:.8rem}.mon-2col{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.mon-2col-30-70{grid-template-columns:220px 1fr}.mon-3col{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:900px){.mon-2col,.mon-2col-30-70,.mon-3col{grid-template-columns:1fr}}.mon-kpi-bar{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.mon-kpi-card{background:var(--color-main-white);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:130px;padding:var(--spacing-sm)var(--spacing-md);box-shadow:0 1px 4px var(--color-shadow);flex:1;position:relative}.mon-kpi-card-critical{border-top:3px solid var(--mon-error)}.mon-kpi-card-warning{border-top:3px solid var(--mon-waiting)}.mon-kpi-card-info{border-top:3px solid var(--color-border)}.mon-kpi-clickable{cursor:pointer}.mon-kpi-clickable:hover{border-color:var(--color-primary-accent)}.mon-kpi-label{color:var(--color-text-grey);opacity:.65;margin-bottom:2px;font-size:.72rem}.mon-kpi-value{color:var(--color-text-grey);font-size:1.6rem;font-weight:700}.mon-kpi-sub{opacity:.6;margin-top:2px;font-size:.72rem}.mon-kpi-alerts{color:var(--color-text-grey)}.mon-kpi-danger{color:var(--mon-error)}.mon-kpi-warn{color:var(--mon-waiting)}.mon-kpi-spark{margin-top:4px;display:block}.mon-health-map{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.mon-health-cell{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;transition:box-shadow .15s;display:flex}.mon-health-cell:hover{box-shadow:0 2px 8px var(--color-shadow)}.mon-health-good{border-left:4px solid var(--mon-completed)}.mon-health-warn{border-left:4px solid var(--mon-waiting)}.mon-health-critical{border-left:4px solid var(--mon-error)}.mon-health-name{font-size:.85rem;font-weight:600}.mon-health-rate{font-size:1rem;font-weight:700}.mon-health-total{opacity:.65;font-size:.72rem}.mon-chart-container{width:100%;position:relative}.mon-cat-list{flex-direction:column;gap:2px;display:flex}.mon-cat-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:7px 10px;font-size:.85rem;transition:background .12s;display:flex}.mon-cat-item:hover{background:var(--color-light-grey)}.mon-cat-item.active{background:var(--color-primary-accent);color:#fff;font-weight:700}.mon-cat-badge{background:var(--color-light-grey);border-radius:var(--radius-full);opacity:.7;padding:1px 6px;font-size:.7rem}.mon-trend{font-size:1rem;font-weight:700}.mon-trend-up{color:var(--mon-completed)}.mon-trend-down{color:var(--mon-error)}.mon-step-error-list{flex-direction:column;gap:8px;max-height:200px;display:flex;overflow-y:auto}.mon-step-error-item{border-left:3px solid var(--mon-error);border-radius:0 var(--radius-sm)var(--radius-sm)0;background:#ef44440a;padding:6px 10px;font-size:.82rem}.mon-step-error-name{font-weight:700}.mon-step-error-handler{opacity:.65;font-size:.75rem}.mon-step-error-count{margin:2px 0;font-weight:700}.mon-step-error-msg{opacity:.7;word-break:break-word;font-family:monospace;font-size:.75rem}.mon-chip{border-radius:var(--radius-full);white-space:nowrap;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.mon-chip-completed{color:#2e7d56;background:#4caf821f}.mon-chip-error{color:#b71c1c;background:#d94f4f1f}.mon-chip-running{color:#1e6e8a;background:#4bacc624}.mon-chip-waiting_approval{color:#a0530a;background:#f7964624}.mon-chip-rejected{color:#4a5568;background:#8c9ab024}[data-theme=dark] .mon-chip-completed{color:#81c995;background:#4caf822e}[data-theme=dark] .mon-chip-error{color:#ef9a9a;background:#d94f4f33}[data-theme=dark] .mon-chip-running{color:#80d8f0;background:#4bacc633}[data-theme=dark] .mon-chip-waiting_approval{color:#ffcc80;background:#f7964633}[data-theme=dark] .mon-chip-rejected{color:#a0aec0;background:#8c9ab02e}.mon-alerts-list{flex-direction:column;gap:8px;display:flex}.mon-alert{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);border-left:4px solid #0000;display:flex}.mon-alert-critical{border-color:var(--mon-error);background:#d94f4f0d}.mon-alert-warning{border-color:var(--mon-waiting);background:#f796460d}.mon-alert-info{border-color:var(--mon-running);background:0 0}.mon-alert-body{flex:1;min-width:0}.mon-alert-title{font-size:.88rem;font-weight:600}.mon-alert-msg{opacity:.8;word-break:break-word;margin-top:2px;font-size:.8rem}.mon-alert-meta{opacity:.55;margin-top:4px;font-size:.72rem}.mon-resolved-badge{color:#888;white-space:nowrap;font-size:.72rem}.mon-exec-stream{flex-direction:column;gap:6px;max-height:260px;display:flex;overflow-y:auto}.mon-stream-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;font-size:.85rem;transition:background .12s;display:flex}.mon-stream-item:hover{background:var(--color-light-grey)}.mon-stream-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mon-stream-time{opacity:.55;white-space:nowrap;font-size:.72rem}.mon-table-wrap{overflow-x:auto}.mon-table-scroll{max-height:340px;overflow-y:auto}.mon-table{border-collapse:collapse;width:100%;font-size:.875rem}.mon-table thead th{text-align:left;border-bottom:2px solid var(--color-border);opacity:.75;white-space:nowrap;padding:8px 10px;font-size:.78rem;font-weight:700}.mon-table tbody td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:8px 10px}.mon-exec-row{cursor:pointer;transition:background .12s}.mon-exec-row:hover{background:var(--color-light-grey)}.mon-id{opacity:.65;font-family:monospace;font-size:.78rem}.mon-error-cell{color:var(--mon-error);word-break:break-word;max-width:240px;font-size:.78rem}.mon-kv-table{border-collapse:collapse;width:100%;font-size:.85rem}.mon-kv-table th{text-align:left;opacity:.6;white-space:nowrap;width:110px;padding:4px 8px;font-weight:600}.mon-kv-table td{padding:4px 8px}.mon-exec-meta{flex-direction:column;gap:2px;display:flex}.mon-pagination{margin-top:var(--spacing-sm);justify-content:flex-end;align-items:center;gap:8px;display:flex}.mon-page-info{opacity:.65;font-size:.82rem}.mon-toggle-label{cursor:pointer;color:var(--color-text-grey);align-items:center;gap:6px;font-size:.8rem;display:flex}.mon-sla-over{color:var(--mon-error);font-weight:700}.mon-sla-warn{color:var(--mon-waiting);font-weight:600}.mon-sla-ok{color:var(--mon-completed)}.mon-ai-hint{opacity:.6;font-size:.78rem}.mon-ai-input-row{margin-bottom:var(--spacing-sm);align-items:flex-start;gap:8px;display:flex}.mon-ai-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-off-white);color:var(--color-text-grey);font-family:var(--font-family);resize:vertical;flex:1;min-height:52px;padding:8px 10px;font-size:.9rem}.mon-ai-chat{flex-direction:column;gap:10px;max-height:400px;padding-right:4px;display:flex;overflow-y:auto}.mon-ai-bubble{border-radius:var(--radius-md);max-width:90%;padding:10px 14px;font-size:.875rem;line-height:1.6}.mon-ai-bubble-user{background:var(--color-primary-accent);color:#fff;border-radius:var(--radius-md)var(--radius-md)2px var(--radius-md);align-self:flex-end}.mon-ai-bubble-assistant{background:var(--color-light-grey);color:var(--color-text-grey);border-radius:2px var(--radius-md)var(--radius-md)var(--radius-md);align-self:flex-start}.mon-ai-bubble.thinking{opacity:.6;font-style:italic}.mon-insight-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.mon-insight-chip{border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:700}.mon-insight-chip-warn{color:var(--mon-error);background:#d94f4f1f}.mon-insight-chip-rec{color:var(--mon-running);background:#4bacc61f}.mon-insight-chip-ok{color:var(--mon-completed);background:#4caf821f}.mon-insight-ts{opacity:.45;margin-left:auto;font-size:.75rem}.mon-insight-list{flex-direction:column;gap:6px;max-height:360px;display:flex;overflow-y:auto}.mon-insight-row{background:var(--color-light-grey);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.mon-insight-row-ok{align-items:center}.mon-insight-tag{white-space:nowrap;border-radius:20px;flex-shrink:0;margin-top:2px;padding:2px 8px;font-size:.7rem;font-weight:700}.mon-insight-tag-warn{color:var(--mon-error);background:#d94f4f26}.mon-insight-tag-rec{color:var(--mon-running);background:#4bacc626}.mon-insight-tag-ok{color:var(--mon-completed);background:#4caf8226}.mon-insight-msg{font-size:.875rem;font-weight:600}.mon-insight-detail{opacity:.65;margin-top:2px;font-size:.8rem}.mon-user-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.78rem;overflow:hidden}.mon-empty{text-align:center;opacity:.45;padding:var(--spacing-md)0;font-size:.875rem;display:block}.mon-error{color:var(--mon-error)!important}.mon-success{color:var(--mon-completed)}.mon-error-text{color:var(--mon-error)}.nav-sidebar-link.active{color:var(--color-primary-accent);font-weight:700}.nav-sidebar-group-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)var(--spacing-lg);margin-top:var(--spacing-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted,#888);border-left:3px solid #0000;font-size:11px;font-weight:700;display:flex}.nav-sidebar-sublink{padding-left:calc(var(--spacing-lg) + 16px);font-size:14px}@media (max-width:768px){.mon-kpi-value{font-size:1.2rem}.mon-tabs{flex-wrap:nowrap;overflow-x:auto}.mon-tab{flex-shrink:0;padding:8px 12px;font-size:.8rem}.mon-health-map{grid-template-columns:1fr 1fr}}.approve-page{box-sizing:border-box;flex-direction:column;gap:10px;padding:68px 20px 16px;display:flex;position:fixed;inset:0;overflow:hidden}.apv-context-bar{background:var(--color-main-white);border-radius:var(--radius-xl);height:52px;box-shadow:0 2px 10px var(--color-shadow);flex-shrink:0;align-items:center;gap:14px;min-width:0;padding:0 18px;display:flex}.apv-context-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.apv-back-link{color:var(--color-primary-accent);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;text-decoration:none;display:inline-flex}.apv-back-link:hover{text-decoration:underline}.apv-title{color:var(--color-text-grey);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:700;line-height:1.2;overflow:hidden}.apv-step-badge{border-radius:var(--radius-full);background:var(--color-primary-accent);color:#fff;white-space:nowrap;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.apv-meta{color:var(--color-text-grey);opacity:.55;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:12px}.apv-body{flex:1;gap:12px;min-height:0;display:flex;overflow:hidden}.apv-preview-pane{background:var(--color-main-white);border-radius:var(--radius-xl);min-width:0;box-shadow:0 4px 24px var(--color-shadow);flex-direction:column;flex:1;display:flex;overflow:hidden}.apv-file-tabs{border-bottom:1px solid var(--color-soft-grey);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:8px 14px;display:flex}.apv-file-tab{border:1px solid var(--color-soft-grey);border-radius:var(--radius-md);background:var(--color-light-grey);color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);padding:5px 14px;font-size:12px;font-weight:600}.apv-file-tab.active,.apv-file-tab:hover{background:var(--color-primary-accent);color:#fff;border-color:var(--color-primary-accent)}.apv-file-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.apv-no-file{color:var(--color-text-grey);opacity:.5;padding:var(--spacing-md);align-self:center;font-size:13px}.apv-right-pane{flex-direction:column;flex-shrink:0;gap:10px;width:400px;display:flex;overflow-y:auto}.apv-data-panel{background:var(--color-main-white);border-radius:var(--radius-xl);box-shadow:0 4px 24px var(--color-shadow);flex:1;min-height:80px;padding:16px;overflow-y:auto}.apv-section-title{color:var(--color-primary-accent);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-soft-grey);margin:14px 0 6px;padding-bottom:4px;font-size:11px;font-weight:700}.apv-section-title:first-child{margin-top:0}.apv-kv-table{border-collapse:collapse;width:100%;font-size:13px}.apv-kv-table td{vertical-align:top;border-bottom:1px solid var(--color-soft-grey);padding:5px 8px}.apv-kv-table td:first-child{color:var(--color-text-grey);opacity:.7;white-space:nowrap;width:40%;font-weight:600}.apv-kv-table tr:last-child td{border-bottom:none}.apv-rule-badge{border-radius:var(--radius-full);background:var(--color-secondary-accent);color:#fff;margin:var(--spacing-xs)0;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.apv-rule-desc{color:var(--color-text-grey);opacity:.8;margin-bottom:var(--spacing-xs);font-size:12px}.apv-comment-section{background:var(--color-main-white);border-radius:var(--radius-xl);box-shadow:0 4px 24px var(--color-shadow);flex-direction:column;flex-shrink:0;gap:6px;padding:14px 16px;display:flex}.apv-comment-label{color:var(--color-text-grey);opacity:.7;font-size:12px;font-weight:700}.apv-comment-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-soft-grey);border-radius:var(--radius-md);font-family:var(--font-family);color:var(--color-text-grey);background:var(--color-off-white);resize:vertical;transition:var(--transition-base);box-sizing:border-box;font-size:13px}.apv-comment-input:focus{border-color:var(--color-primary-accent);outline:none;box-shadow:0 0 0 3px #4bacc626}.apv-action-buttons{flex-shrink:0;gap:10px;display:flex}.apv-approve-btn,.apv-reject-btn{border-radius:var(--radius-lg);font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:700;display:flex}.apv-approve-btn{color:#fff;background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 4px 12px #2ecc7159}.apv-approve-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #2ecc7173}.apv-reject-btn{color:#fff;background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 4px 12px #e74c3c59}.apv-reject-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #e74c3c73}.apv-approve-btn:disabled,.apv-reject-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.apv-loading,.apv-error,.apv-done{justify-content:center;align-items:center;gap:var(--spacing-lg);text-align:center;flex-direction:column;flex:1;display:flex}.apv-done-icon{color:#fff;background:linear-gradient(135deg,#2ecc71,#27ae60);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:36px;font-weight:700;display:flex}.apv-done-msg{color:var(--color-text-grey);font-size:16px;font-weight:600}[data-theme=dark] .apv-context-bar,[data-theme=dark] .apv-preview-pane,[data-theme=dark] .apv-data-panel,[data-theme=dark] .apv-comment-section{background:var(--color-main-white);box-shadow:0 4px 24px var(--color-shadow)}[data-theme=dark] .apv-comment-input{background:var(--color-light-grey);border-color:var(--color-border);color:var(--color-text-grey)}[data-theme=dark] .apv-file-tab{background:var(--color-soft-grey);border-color:var(--color-border);color:var(--color-text-grey)}.apv-wf-info{background:var(--color-main-white);border-radius:var(--radius-xl);box-shadow:0 2px 10px var(--color-shadow);flex-shrink:0;overflow:hidden}.apv-wf-info-toggle{width:100%;font-family:var(--font-family);color:var(--color-text-grey);cursor:pointer;text-align:left;transition:var(--transition-base);background:0 0;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;display:flex}.apv-wf-info-toggle:hover{background:var(--color-light-grey)}.apv-wf-info-chevron{margin-left:auto;transition:transform .2s}.apv-wf-info.open .apv-wf-info-chevron{transform:rotate(180deg)}.apv-wf-info-content{border-top:1px solid var(--color-soft-grey);height:300px;padding:12px 16px;overflow-y:auto}.wf-detail-tabs-wrap{flex-direction:column;gap:12px;display:flex}.wf-detail-tabs-content{overflow:auto}@media (max-width:900px){.approve-page{height:auto;padding:68px 12px 20px;position:static}.apv-body{flex-direction:column;overflow:visible}.apv-preview-pane{min-height:400px}.apv-right-pane{width:100%}.apv-wf-info-content{height:auto;max-height:400px}}.role-badge{border-radius:var(--radius-full);color:#fff;white-space:nowrap;letter-spacing:.02em;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.sidebar-user-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);flex-direction:column;gap:8px;margin-top:auto;display:flex}.sidebar-user-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sidebar-user-name{color:var(--color-text-grey);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;font-weight:700;overflow:hidden}.sidebar-logout-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-grey);cursor:pointer;transition:var(--transition-base);background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;padding:6px 12px;font-size:.8rem;display:flex}.sidebar-logout-btn:hover{background:var(--color-light-grey);border-color:var(--color-primary-accent);color:var(--color-primary-accent)}[data-theme=dark] .sidebar-logout-btn:hover{background:var(--color-soft-grey)}.nav-sidebar{flex-direction:column;display:flex}.nav-sidebar-nav{flex:1}.login-page{background:var(--color-off-white);width:100%;min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-main-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl)var(--spacing-2xl);width:100%;max-width:840px;box-shadow:0 4px 24px var(--color-shadow)}.login-logo{margin-bottom:var(--spacing-lg);align-items:center;gap:10px;display:flex}.login-logo-text{color:var(--color-text-grey);font-size:1.4rem;font-weight:700}.login-title{color:var(--color-text-grey);margin-bottom:4px;font-size:1.3rem;font-weight:700}.login-subtitle{color:var(--color-text-grey);opacity:.6;margin-bottom:var(--spacing-lg);font-size:.85rem}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--color-text-grey);font-size:.82rem;font-weight:700}.login-field input{padding:10px var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-family);color:var(--color-text-grey);background:var(--color-off-white);transition:var(--transition-base)}.login-field input:focus{border-color:var(--color-primary-accent);outline:none;box-shadow:0 0 0 3px #4bacc626}.login-error{color:#d94f4f;border-radius:var(--radius-sm);background:#d94f4f14;border:1px solid #d94f4f33;padding:8px 12px;font-size:.82rem}.login-btn{background:var(--color-primary-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base);font-size:.95rem;font-weight:700;font-family:var(--font-family);border:none;padding:11px}.login-btn:hover:not(:disabled){opacity:.88}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-hint-note{color:var(--color-text-grey);opacity:.5;margin-top:var(--spacing-sm);text-align:center;font-size:.78rem}.login-toggle-ref{margin:var(--spacing-sm)auto 0;color:var(--color-primary-accent);cursor:pointer;font-size:.82rem;font-family:var(--font-family);background:0 0;border:none;display:block}.login-toggle-ref:hover{text-decoration:underline}.login-ref-table-wrap{margin-top:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:340px;overflow:hidden auto}.login-ref-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.78rem}.login-ref-table th{background:var(--color-light-grey);text-align:left;color:var(--color-text-grey);white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;font-weight:700;position:sticky;top:0;overflow:hidden}.login-ref-table td{border-top:1px solid var(--color-border);color:var(--color-text-grey);word-break:break-all;padding:6px 10px;overflow:hidden}.login-ref-table td:last-child,.login-ref-table th:last-child{white-space:nowrap;word-break:normal}.login-ref-row{cursor:pointer;transition:background .15s}.login-ref-row:hover{background:var(--color-light-grey)}.login-ref-row:hover td:first-child{color:var(--color-primary-accent)}.login-ref-table code{background:var(--color-light-grey);border-radius:4px;padding:1px 5px;font-size:.76rem}.users-container{max-width:1100px;padding:80px var(--spacing-lg)var(--spacing-xl);margin:0 auto}.users-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.users-header h1{color:var(--color-text-grey);font-size:1.4rem;font-weight:700}.users-scope-note{color:var(--color-text-grey);opacity:.6;margin-top:4px;font-size:.82rem}.users-create-btn{padding:9px var(--spacing-md);background:var(--color-primary-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.88rem;font-weight:700;font-family:var(--font-family);transition:var(--transition-base);white-space:nowrap;border:none;align-items:center;gap:6px;display:flex}.users-create-btn:hover{opacity:.85}.users-msg{text-align:center;color:var(--color-text-grey);opacity:.55;padding:var(--spacing-xl)}.users-error{color:#d94f4f!important;opacity:1!important}.users-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.85rem}.users-table th{background:var(--color-light-grey);text-align:left;color:var(--color-text-grey);white-space:nowrap;padding:10px 14px;font-size:.78rem;font-weight:700}.users-table td{border-top:1px solid var(--color-border);color:var(--color-text-grey);padding:10px 14px}.users-table tr:hover td{background:var(--color-off-white)}.users-table code{background:var(--color-light-grey);border-radius:4px;padding:2px 6px;font-size:.78rem}.users-role-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.82rem;font-family:var(--font-family);background:var(--color-main-white);color:var(--color-text-grey);cursor:pointer;padding:4px 8px}.users-delete-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:#d94f4f;cursor:pointer;transition:var(--transition-base);background:0 0;align-items:center;padding:5px 8px;display:flex}.users-delete-btn:hover{background:#d94f4f14;border-color:#d94f4f}.modal-overlay{z-index:1000;padding:var(--spacing-md);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--color-main-white);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:420px;box-shadow:0 8px 32px #0000002e}.modal-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--color-text-grey);font-size:1.1rem;font-weight:700}.modal-close{cursor:pointer;color:var(--color-text-grey);opacity:.5;background:0 0;border:none;padding:4px}.modal-close:hover{opacity:1}.modal-form{gap:var(--spacing-md);flex-direction:column;display:flex}.modal-field{flex-direction:column;gap:6px;display:flex}.modal-field label{color:var(--color-text-grey);font-size:.82rem;font-weight:700}.modal-field input,.modal-field select{padding:9px var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.88rem;font-family:var(--font-family);color:var(--color-text-grey);background:var(--color-off-white)}.modal-field input:focus,.modal-field select:focus{border-color:var(--color-primary-accent);outline:none;box-shadow:0 0 0 3px #4bacc61f}.modal-id-note{color:var(--color-text-grey);opacity:.6;background:var(--color-light-grey);border-radius:var(--radius-sm);padding:8px 12px;font-size:.8rem}.modal-error{color:#d94f4f;border-radius:var(--radius-sm);background:#d94f4f14;padding:8px 12px;font-size:.82rem}.modal-actions{gap:var(--spacing-sm);justify-content:flex-end;margin-top:4px;display:flex}.modal-cancel{padding:8px var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-grey);cursor:pointer;font-size:.88rem;font-family:var(--font-family);transition:var(--transition-base);background:0 0}.modal-cancel:hover{background:var(--color-light-grey)}.modal-submit{padding:8px var(--spacing-md);background:var(--color-primary-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.88rem;font-weight:700;font-family:var(--font-family);transition:var(--transition-base);border:none}.modal-submit:hover:not(:disabled){opacity:.85}.modal-submit:disabled{opacity:.55;cursor:not-allowed}.topbar{z-index:200;background:var(--color-main-white);border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow);border-radius:999px;align-items:center;gap:8px;padding:5px 0 5px 6px;display:flex;position:fixed;top:12px;right:16px;overflow:hidden}.topbar-home{width:32px;height:32px;color:var(--color-text-grey);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,color .15s;display:flex}.topbar-home:hover{background:var(--color-hover-bg,#0000000f);color:var(--color-primary-accent)}.topbar-user{align-items:center;gap:7px;display:flex}.topbar-avatar{background:var(--color-primary-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.topbar-name{color:var(--color-text-grey);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;font-weight:500;overflow:hidden}.topbar-badge{color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.topbar .theme-toggle-btn{width:42px;min-width:42px;height:36px;top:unset;right:unset;box-shadow:none;border:none;border-left:1px solid var(--color-border);background:0 0;border-radius:0;justify-content:center;align-items:center;margin-left:4px;padding:0;display:flex;position:static}.topbar .theme-toggle-btn:hover{background:var(--color-light-grey);box-shadow:none;transform:none}.portal-page{background:var(--color-off-white);width:100%;min-height:100vh;display:flex}.portal-main{flex:1;min-height:100vh;overflow-y:auto}.portal-search-section{background:linear-gradient(135deg,var(--color-off-white)0%,var(--color-light-grey)100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative}.portal-search-inner{text-align:center;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:600px;display:flex}.portal-search-title{color:var(--color-primary-accent);letter-spacing:-.02em;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1}.portal-search-subtitle{color:var(--color-text-grey);opacity:.6;margin-top:-16px;font-size:1rem}.portal-search-bar-wrap{width:100%;max-width:540px;position:relative}.portal-search-input-row{align-items:center;gap:8px;display:flex}.portal-search-input-wrap{flex:1;position:relative}.portal-search-icon{color:var(--color-primary-accent);opacity:.6;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.portal-search-input{width:100%;font-size:1rem;font-family:var(--font-family);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-main-white);color:var(--color-text-grey);box-shadow:0 2px 8px var(--color-shadow);transition:var(--transition-base);outline:none;padding:14px 16px 14px 44px}.portal-search-input:focus{border-color:var(--color-primary-accent);box-shadow:0 0 0 3px #4bacc61f,0 2px 8px var(--color-shadow)}.portal-search-interim{color:var(--color-text-grey);opacity:.7;background:var(--color-main-white);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:4px 8px;font-size:.75rem;font-style:italic;position:absolute;top:calc(100% + 4px);left:0;right:0}.portal-search-voice-btn{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-main-white);width:44px;height:44px;color:var(--color-primary-accent);cursor:pointer;transition:var(--transition-base);box-shadow:0 2px 6px var(--color-shadow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-search-voice-btn:hover:not(:disabled){border-color:var(--color-primary-accent);box-shadow:0 2px 8px #4bacc633}.portal-search-voice-btn--active{color:#fff;background:#ef4444;border-color:#ef4444;animation:1.2s infinite pulse}.portal-search-btn{border-radius:var(--radius-md);background:var(--color-primary-accent);color:#fff;font-size:.9rem;font-family:var(--font-family);cursor:pointer;transition:var(--transition-base);white-space:nowrap;border:none;padding:10px 20px;font-weight:700;box-shadow:0 2px 6px #4bacc64d}.portal-search-btn:hover{background:#3a9bb5;box-shadow:0 4px 12px #4bacc666}.portal-search-suggestions{background:var(--color-main-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px var(--color-shadow-hover);z-index:100;max-height:360px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto}.portal-suggestions-label{color:var(--color-text-grey);opacity:.6;background:var(--color-light-grey);border-bottom:1px solid var(--color-border);padding:8px 16px;font-size:.75rem;font-weight:700}.portal-suggestion-item{cursor:pointer;border-bottom:1px solid var(--color-border);text-align:left;align-items:flex-start;gap:10px;padding:12px 16px;transition:background .15s;display:flex}.portal-suggestion-item:last-child{border-bottom:none}.portal-suggestion-item:hover,.portal-suggestion-item--selected{background:#4bacc60f}.portal-suggestion-item--selected{border-left:3px solid var(--color-primary-accent)}.portal-suggestion-name{color:var(--color-text-grey);font-size:.9rem;font-weight:600}.portal-suggestion-desc{color:var(--color-text-grey);opacity:.6;margin-top:2px;font-size:.78rem}.portal-suggestion-cat{color:var(--color-primary-accent);margin-top:3px;font-size:.72rem}.portal-search-error{color:#ef4444;border-radius:var(--radius-md);text-align:left;background:#fef2f2;border:1px solid #fecaca;width:100%;max-width:540px;padding:10px 16px;font-size:.85rem}.portal-scroll-indicator{cursor:pointer;opacity:.5;flex-direction:column;align-items:center;gap:4px;margin-top:16px;transition:opacity .2s;display:flex}.portal-scroll-indicator:hover{opacity:.9}.portal-scroll-mouse{border:1.5px solid var(--color-text-grey);border-radius:9px;justify-content:center;align-items:flex-start;width:18px;height:32px;padding-top:5px;display:flex}.portal-scroll-dot{background:var(--color-text-grey);border-radius:50%;width:4px;height:4px;animation:2s ease-out infinite scrollDotMove;display:block}@keyframes scrollDotMove{0%{opacity:.8;transform:translateY(0)}50%{opacity:1}to{opacity:.2;transform:translateY(14px)}}.portal-scroll-arrow{background:var(--color-text-grey);width:1px;height:24px;position:relative}.portal-scroll-arrow:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:7px solid var(--color-text-grey);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.portal-services-section{background:var(--color-off-white);padding:64px 24px}.portal-services-inner{flex-direction:column;gap:56px;max-width:1100px;margin:0 auto;display:flex}.portal-services-result-count{text-align:center;color:var(--color-text-grey);opacity:.6;margin-bottom:-32px;font-size:.9rem}.portal-services-empty{text-align:center;color:var(--color-text-grey);opacity:.6;padding:64px 0;font-size:1.1rem}.portal-services-category{flex-direction:column;gap:24px;display:flex}.portal-services-category-title{text-align:center;letter-spacing:.01em;font-size:1.3rem;font-weight:700}.portal-services-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.portal-service-card{background:var(--color-main-white);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 2px 8px var(--color-shadow);transition:var(--transition-base)}.portal-service-card:hover{box-shadow:0 8px 24px var(--color-shadow-hover);border-color:var(--color-soft-grey);transform:translateY(-2px)}.portal-service-card-inner{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.portal-service-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:64px;height:64px;transition:transform .3s;display:flex}.portal-service-card:hover .portal-service-icon{transform:scale(1.05)}.portal-service-info{flex:1}.portal-service-name{color:var(--color-text-grey);font-size:.95rem;font-weight:700;line-height:1.4}.portal-service-desc{color:var(--color-text-grey);opacity:.6;margin-top:4px;font-size:.82rem;line-height:1.5}.portal-service-btn{border-radius:var(--radius-md);font-size:.85rem;font-family:var(--font-family);transition:var(--transition-base);cursor:pointer;background:0 0;border:1.5px solid;align-items:center;gap:6px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.portal-service-btn:hover{filter:brightness(.92);background:currentColor}.portal-ai-result{background:var(--color-main-white);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:540px;box-shadow:0 4px 16px var(--color-shadow);text-align:left;padding:20px 24px}.portal-ai-loading{color:var(--color-text-grey);opacity:.6;align-items:center;gap:10px;font-size:.9rem;display:flex}.portal-ai-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary-accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.portal-ai-content{color:var(--color-text-grey);font-size:.92rem;line-height:1.75}.portal-ai-content p{margin:0 0 8px}.portal-ai-content p:last-child{margin-bottom:0}.portal-ai-content a{color:var(--color-primary-accent);font-weight:700;text-decoration:none}.portal-ai-content a:hover{text-decoration:underline}.portal-ai-content ol,.portal-ai-content ul{margin:4px 0 8px;padding-left:20px}.portal-ai-content li{margin-bottom:6px}[data-theme=dark] .portal-ai-result{background:var(--color-main-white);border-color:var(--color-border)}[data-theme=dark] .portal-search-section{background:linear-gradient(135deg,var(--color-off-white)0%,var(--color-light-grey)100%)}[data-theme=dark] .portal-search-input{background:var(--color-main-white);color:var(--color-text-grey);border-color:var(--color-border)}[data-theme=dark] .portal-search-voice-btn,[data-theme=dark] .portal-search-suggestions,[data-theme=dark] .portal-service-card{background:var(--color-main-white);border-color:var(--color-border)}[data-theme=dark] .portal-suggestions-label{background:var(--color-light-grey)}[data-theme=dark] .portal-services-section{background:var(--color-off-white)}.diagram-controls{gap:var(--spacing-md);padding:var(--spacing-md)var(--spacing-lg);background:var(--color-main-white);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);box-shadow:0 2px 8px var(--color-shadow);align-items:center;display:flex}.control-label{align-items:center;gap:var(--spacing-sm);color:var(--color-text-grey);cursor:pointer;font-size:14px;display:flex}.control-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.control-select{padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-light-grey);border-radius:var(--radius-sm);background:var(--color-main-white);color:var(--color-text-grey);cursor:pointer;font-size:14px}.diagram-container{background:linear-gradient(135deg,var(--color-off-white)0%,var(--color-main-white)100%);border:1px solid var(--color-soft-grey);border-radius:var(--radius-lg);padding:calc(var(--spacing-xl)*1.5)var(--spacing-xl);box-shadow:0 4px 24px var(--color-shadow);margin-bottom:var(--spacing-xl);justify-content:center;align-items:flex-start;min-height:500px;display:flex;overflow-x:auto}.diagram-legend{background:var(--color-light-grey);border-radius:var(--radius-md);padding:var(--spacing-lg)}.diagram-legend h3{margin-bottom:var(--spacing-md);color:var(--color-text-grey);font-size:16px}.legend-items{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.legend-items--grid{gap:var(--spacing-sm)var(--spacing-lg);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.legend-notes{gap:var(--spacing-xs);border-top:1px solid var(--color-soft-grey);padding-top:var(--spacing-md);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.legend-item{align-items:center;gap:var(--spacing-sm);color:var(--color-text-grey);font-size:14px;display:flex}.legend-icon{border-radius:4px;flex-shrink:0;width:24px;height:24px}.legend-icon--domain{border-style:solid;border-width:2px;border-radius:6px;flex-shrink:0;width:28px;height:22px}.legend-icon.table-icon{background:var(--color-primary-accent)}.legend-icon.relationship-icon{background:var(--color-primary-accent);height:3px}.legend-icon.workflow-icon{background:linear-gradient(135deg,var(--color-primary-accent),var(--color-secondary-accent))}.legend-note{color:var(--color-text-grey);opacity:.8;margin-top:var(--spacing-sm);font-size:13px}.workflow-relationship-diagram-wrapper{justify-content:center;width:100%;display:flex}.diagram-filter-label{color:var(--color-text-grey);font-size:14px;font-weight:500}.workflow-relationship-tooltip{background:var(--color-main-white);border:2px solid var(--color-primary-accent);border-radius:var(--radius-sm);padding:var(--spacing-sm)var(--spacing-md);box-shadow:0 4px 16px var(--color-shadow);z-index:10000;pointer-events:none;max-width:400px;font-size:13px;position:fixed}.tooltip-title{color:var(--color-primary-accent);margin-bottom:var(--spacing-xs);font-size:14px;font-weight:700}.tooltip-description{color:var(--color-text-grey);margin-bottom:var(--spacing-xs);line-height:1.4}.tooltip-meta{color:var(--color-text-grey);opacity:.7;font-size:12px}[data-theme=dark] .workflow-relationship-tooltip{background:var(--color-off-white);border-color:var(--color-primary-accent)}[data-theme=dark] .tooltip-title{color:var(--color-primary-accent)}[data-theme=dark] .tooltip-description,[data-theme=dark] .tooltip-meta{color:var(--color-text-grey)}[data-theme=dark] .diagram-controls{background:var(--color-main-white);border-color:var(--color-border)}[data-theme=dark] .diagram-container{background:linear-gradient(135deg,var(--color-light-grey)0%,var(--color-off-white)100%);border-color:var(--color-border)}[data-theme=dark] .control-select{background:var(--color-main-white);border-color:var(--color-border)}[data-theme=dark] .diagram-legend{background:var(--color-light-grey)}.contacts-page-wrapper{min-height:100vh;display:flex}.contacts-container{max-width:1100px;padding:80px var(--spacing-lg)var(--spacing-xl);flex:1;width:100%;margin:0 auto}.contacts-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.contacts-title{color:var(--color-text-grey);align-items:center;gap:8px;margin:0 0 4px;font-size:1.4rem;font-weight:700;display:flex}.contacts-subtitle{color:var(--color-text-grey);opacity:.6;margin:0;font-size:.82rem}.contacts-header-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.contacts-scan-error{color:var(--color-danger,#ef4444);font-size:.82rem}.contacts-scan-btn{background:var(--color-primary-accent,#0284c7);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:600;transition:opacity .15s;display:flex}.contacts-scan-btn:hover:not(:disabled){opacity:.85}.contacts-scan-btn:disabled{opacity:.55;cursor:not-allowed}.contacts-search-bar{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.contacts-search-input-wrap{flex:1;min-width:200px;position:relative}.contacts-search-input-wrap svg{color:var(--color-text-grey);opacity:.45;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.contacts-search-input{border:1px solid var(--color-soft-grey);background:var(--color-main-white);width:100%;color:var(--color-text-grey);box-sizing:border-box;border-radius:8px;padding:8px 12px 8px 34px;font-size:.875rem}.contacts-search-input:focus{border-color:var(--color-primary-accent,#0284c7);outline:none}.contacts-my-toggle{color:var(--color-text-grey);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:.875rem;display:flex}.contacts-error-msg{color:var(--color-danger,#ef4444);margin-bottom:var(--spacing-sm);font-size:.875rem}.contacts-empty{text-align:center;color:var(--color-text-grey);opacity:.55;padding:3rem;font-size:.9rem}.contacts-table-wrap{border:1px solid var(--color-soft-grey);border-radius:10px;overflow-x:auto}.contacts-table{border-collapse:collapse;width:100%;font-size:.875rem}.contacts-table thead tr{background:var(--color-light-grey,#f8f9fa)}.contacts-table th{text-align:left;color:var(--color-text-grey);opacity:.7;border-bottom:2px solid var(--color-soft-grey);white-space:nowrap;padding:10px 14px;font-size:.8rem;font-weight:600}.contacts-table td{border-bottom:1px solid var(--color-soft-grey);color:var(--color-text-grey);vertical-align:middle;padding:10px 14px}.contacts-row{cursor:pointer;transition:background .1s}.contacts-row:hover td{background:var(--color-light-grey,#f8f9fa)}.contacts-row:last-child td{border-bottom:none}.contacts-name{font-weight:600;display:block}.contacts-kana{opacity:.55;margin-top:2px;font-size:.78rem;display:block}.contacts-date{white-space:nowrap;opacity:.7;font-size:.82rem}.contacts-row-actions{gap:6px;display:flex}.contacts-edit-btn{border:1px solid var(--color-soft-grey);cursor:pointer;color:var(--color-text-grey);background:0 0;border-radius:6px;padding:4px 10px;font-size:.78rem;transition:background .1s}.contacts-edit-btn:hover{background:var(--color-light-grey)}.contacts-delete-btn{cursor:pointer;color:#ef4444;background:0 0;border:1px solid #fca5a5;border-radius:6px;padding:4px 10px;font-size:.78rem;transition:background .1s}.contacts-delete-btn:hover{background:#fef2f2}.contacts-delete-btn:disabled{opacity:.55;cursor:not-allowed}.contacts-pagination{margin-top:var(--spacing-lg);color:var(--color-text-grey);justify-content:center;align-items:center;gap:12px;font-size:.875rem;display:flex}.contacts-pagination button{border:1px solid var(--color-soft-grey);cursor:pointer;color:var(--color-text-grey);background:0 0;border-radius:6px;padding:6px 14px;transition:background .1s}.contacts-pagination button:hover:not(:disabled){background:var(--color-light-grey)}.contacts-pagination button:disabled{opacity:.4;cursor:not-allowed}.contacts-modal{width:90%;max-width:560px;max-height:90vh;overflow-y:auto}.contacts-detail-grid{grid-template-columns:1fr 1fr;gap:14px 24px;padding:1.25rem;display:grid}.contacts-detail-label{color:var(--color-text-grey);opacity:.55;margin-bottom:3px;font-size:.75rem}.contacts-detail-value{color:var(--color-text-grey);font-size:.9rem}.contacts-form-grid{grid-template-columns:1fr 1fr;gap:12px 16px;padding:1.25rem;display:grid}.contacts-form-grid textarea{border:1px solid var(--color-soft-grey);resize:vertical;background:var(--color-main-white);width:100%;color:var(--color-text-grey);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:.875rem}.contacts-form-grid textarea:focus{border-color:var(--color-primary-accent,#0284c7);outline:none}[data-theme=dark] .contacts-scan-btn{background:var(--color-primary-accent)}[data-theme=dark] .contacts-table-wrap{border-color:var(--color-soft-grey)}[data-theme=dark] .contacts-table thead tr,[data-theme=dark] .contacts-row:hover td{background:#ffffff0a}[data-theme=dark] .contacts-search-input{background:var(--color-light-grey);border-color:var(--color-soft-grey)}[data-theme=dark] .contacts-edit-btn:hover{background:#ffffff14}[data-theme=dark] .contacts-form-grid textarea{background:var(--color-light-grey)}
