:root{--color-primary:#1a73e8;--color-primary-hover:#1557b0;--color-primary-light:#e8f0fe;--color-primary-text:#fff;--color-success:#1e8e3e;--color-success-bg:#e6f4ea;--color-warning:#e37400;--color-warning-bg:#fef7e0;--color-error:#d93025;--color-error-bg:#fce8e6;--color-surface:#fff;--color-surface-alt:#f8f9fa;--color-surface-raised:#fff;--color-background:#f1f3f4;--color-text-primary:#1a1a2e;--color-text-secondary:#5f6368;--color-text-tertiary:#9aa0a6;--color-text-on-primary:#fff;--color-border:#dadce0;--color-border-light:#e8eaed;--color-border-focus:var(--color-primary);--shadow-sm:0 1px 2px #0000000f,0 1px 3px #0000001a;--shadow-md:0 2px 6px #00000014,0 4px 12px #0000000f;--shadow-lg:0 8px 24px #0000001f;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,sans-serif;--font-size-xs:13px;--font-size-sm:14px;--font-size-md:14.5px;--font-size-base:15px;--font-size-lg:17px;--font-size-xl:21px;--transition-fast:0.12s ease;--transition-normal:0.2s ease;--toolbar-height:44px;--statusbar-height:28px;--panel-header-height:38px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f3f4;background-color:var(--color-background);color:#1a1a2e;color:var(--color-text-primary);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;font-family:var(--font-family);font-size:15px;font-size:var(--font-size-base);line-height:1.4;overflow:hidden}#root,.app{display:flex;flex-direction:column;height:100vh}.app-toolbar{background:#fff;background:var(--color-surface);border-bottom:1px solid #dadce0;border-bottom:1px solid var(--color-border);gap:8px;gap:var(--space-sm);min-height:44px;min-height:var(--toolbar-height);padding:6px 12px;padding:6px var(--space-md)}.app-toolbar,.toolbar-group{align-items:center;display:flex}.toolbar-group{gap:4px;gap:var(--space-xs)}.toolbar-group+.toolbar-group{border-left:1px solid #e8eaed;border-left:1px solid var(--color-border-light);margin-left:8px;margin-left:var(--space-sm);padding-left:12px;padding-left:var(--space-md)}.toolbar-button{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #dadce0;border:1px solid var(--color-border);border-radius:6px;border-radius:var(--radius-md);color:#1a1a2e;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-size:var(--font-size-sm);font-weight:500;gap:6px;padding:6px 14px;transition:all .12s ease;transition:all var(--transition-fast);white-space:nowrap}.toolbar-button:hover{background:#f8f9fa;background:var(--color-surface-alt);border-color:#9aa0a6;border-color:var(--color-text-tertiary)}.toolbar-button:active{background:#e8eaed;background:var(--color-border-light);transform:scale(.97)}.toolbar-button:disabled{cursor:not-allowed;opacity:.5}.toolbar-button.primary{background:#1a73e8;background:var(--color-primary);border-color:#1a73e8;border-color:var(--color-primary);color:#fff;color:var(--color-text-on-primary);font-weight:600}.toolbar-button.primary:hover{background:#1557b0;background:var(--color-primary-hover)}.toolbar-button.primary:disabled{background:#9aa0a6;background:var(--color-text-tertiary);border-color:#9aa0a6;border-color:var(--color-text-tertiary)}.toolbar-icon{font-size:15px;line-height:1}.app-content{flex:1 1}.app-content,.left-panel{display:flex;overflow:hidden}.left-panel{background:#fff;background:var(--color-surface);border-right:1px solid #dadce0;border-right:1px solid var(--color-border);flex:0 0 65%;flex-direction:column;max-width:65%}.left-panel-toggle{align-items:center;background:#f8f9fa;background:var(--color-surface-alt);border-bottom:1px solid #dadce0;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:0;padding:4px 8px}.toggle-btn{background:none;border:1px solid #dadce0;border:1px solid var(--color-border);color:#5f6368;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:4px 14px;transition:all .12s ease}.toggle-btn:first-child{border-radius:4px 0 0 4px;border-right:none}.toggle-btn:last-child{border-radius:0 4px 4px 0}.toggle-btn.active{background:#1a73e8;background:var(--color-primary);border-color:#1a73e8;border-color:var(--color-primary);color:#fff}.toggle-btn:not(.active):hover{background:#e8eaed;background:var(--color-border-light)}.left-panel-diagram{background:#fafafa;flex:1 1;min-height:0;overflow:hidden}.left-panel-diagram .process-tree{height:100%;overflow-y:auto;padding:8px 0;width:100%}.left-panel-specs{background:#fff;background:var(--color-surface);border-top:1px solid #dadce0;border-top:1px solid var(--color-border);flex:0 0 auto;max-height:35%;overflow-y:auto;padding:0}.specs-header{align-items:center;background:#f8f9fa;background:var(--color-surface-alt);border-bottom:1px solid #dadce0;border-bottom:1px solid var(--color-border);display:flex;gap:8px;padding:8px 14px}.specs-process-name{color:#1a1a2e;color:var(--color-text-primary);font-size:14px;font-weight:600}.specs-body{padding:8px 14px}.left-panel-specs::-webkit-scrollbar{width:5px}.left-panel-specs::-webkit-scrollbar-track{background:#0000}.left-panel-specs::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.left-panel-specs::-webkit-scrollbar-thumb:hover{background:#00000040}.right-panel{background:#fff;background:var(--color-surface);display:flex;flex:0 0 35%;flex-direction:column;max-width:35%;overflow:hidden}.right-panel-tabs{align-items:center;background:#f8f9fa;background:var(--color-surface-alt);border-bottom:1px solid #dadce0;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;height:40px;padding:0 8px;padding:0 var(--space-sm)}.right-panel-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#5f6368;color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-size:var(--font-size-sm);font-weight:500;height:100%;padding:8px 20px;transition:all .12s ease;transition:all var(--transition-fast)}.right-panel-tab:hover{background:#00000008;color:#1a1a2e;color:var(--color-text-primary)}.right-panel-tab.active{border-bottom-color:#1a73e8;border-bottom-color:var(--color-primary);color:#1a73e8;color:var(--color-primary);font-weight:600}.right-panel-tab-spacer{flex:1 1}.right-panel-action-btn{background:#1a73e8;background:var(--color-primary);border:none;border-radius:4px;border-radius:var(--radius-sm);color:#fff;color:var(--color-text-on-primary);cursor:pointer;font-family:inherit;font-size:14px;font-size:var(--font-size-sm);font-weight:600;margin-left:4px;margin-left:var(--space-xs);padding:5px 14px;transition:all .12s ease;transition:all var(--transition-fast)}.right-panel-action-btn:hover{background:#1557b0;background:var(--color-primary-hover)}.right-panel-action-btn:disabled{cursor:not-allowed;opacity:.5}.right-panel-action-btn.secondary{background:#fff;background:var(--color-surface);border:1px solid #dadce0;border:1px solid var(--color-border);color:#1a1a2e;color:var(--color-text-primary)}.right-panel-action-btn.secondary:hover{background:#f8f9fa;background:var(--color-surface-alt)}.right-panel-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.right-panel-content .results-panel{flex:1 1;max-width:none;min-width:0;width:100%}.panel-header{align-items:center;background:#f8f9fa;background:var(--color-surface-alt);border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--color-border-light);box-sizing:border-box;color:#1a1a2e;color:var(--color-text-primary);display:flex;font-size:14.5px;font-size:var(--font-size-md);font-weight:600;height:38px;height:var(--panel-header-height);justify-content:space-between;padding:8px 12px;padding:var(--space-sm) var(--space-md);-webkit-user-select:none;user-select:none}.panel-content{flex:1 1;overflow:auto;padding:12px;padding:var(--space-md)}.explorer-section-header{align-items:center;background:#f8f9fa;background:var(--color-surface-alt);border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--color-border-light);color:#5f6368;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.3px;padding:8px 12px;-webkit-user-select:none;user-select:none}.explorer-section-header:hover{background:#e8eaed;background:var(--color-border-light)}.explorer-section-header .expand-icon{color:#9aa0a6;color:var(--color-text-tertiary);font-size:9px;margin-right:6px}.explorer-section-title{flex:1 1}.explorer-count{color:#9aa0a6;color:var(--color-text-tertiary);font-weight:400;margin-left:4px}.explorer-section-body{padding:2px 0}.explorer-empty{color:#9aa0a6;color:var(--color-text-tertiary);font-style:italic;padding:12px 16px}.explorer-empty,.explorer-group-header{font-size:14px;font-size:var(--font-size-sm)}.explorer-group-header{align-items:center;border-left:3px solid #0000;color:#1a1a2e;color:var(--color-text-primary);cursor:pointer;display:flex;font-weight:500;padding:5px 12px 5px 16px;-webkit-user-select:none;user-select:none}.explorer-group-header:hover{background:#f8f9fa;background:var(--color-surface-alt)}.explorer-group-header .expand-icon{color:#9aa0a6;color:var(--color-text-tertiary);font-size:8px;margin-right:6px}.explorer-group-name{flex:1 1}.explorer-group-count{color:#9aa0a6;color:var(--color-text-tertiary);font-size:13px;font-size:var(--font-size-xs);font-weight:400}.explorer-group-items{padding:0}.explorer-item{align-items:center;border-left:3px solid #0000;color:#5f6368;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;font-size:var(--font-size-sm);gap:6px;padding:4px 12px 4px 32px;transition:background .12s ease;transition:background var(--transition-fast)}.explorer-item:hover{background:#f8f9fa;background:var(--color-surface-alt)}.explorer-item.selected{background:#e8f0fe;background:var(--color-primary-light);border-left-color:#1a73e8;border-left-color:var(--color-primary);color:#1a1a2e;color:var(--color-text-primary)}.explorer-item-id{color:#9aa0a6;color:var(--color-text-tertiary);font-size:13px;font-size:var(--font-size-xs);font-weight:500;min-width:36px}.explorer-item-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.process-tree{width:100%}.tree-item{align-items:center;border-radius:4px;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:14px;font-size:var(--font-size-sm);margin-bottom:2px;padding:6px 8px}.tree-item:hover{background:#f8f9fa;background:var(--color-surface-alt)}.tree-item.selected{background:#fff;background:var(--color-surface-raised);border-left:3px solid #1a73e8;border-left:3px solid var(--color-primary)}.tree-item.category{background:#f8f9fa;background:var(--color-surface-alt);color:#5f6368;color:var(--color-text-secondary);font-weight:600;margin-top:8px;margin-top:var(--space-sm)}.tree-item.process{margin-left:12px;margin-left:var(--space-md);position:relative}.tree-item.process:before{background:#9aa0a6;background:var(--color-text-tertiary);border-radius:50%;content:"";height:4px;left:-8px;position:absolute;top:50%;width:4px}.process-diagram{flex:1 1;min-width:600px;position:relative}.diagram-canvas{background:#f8f9fa;background:var(--color-surface-alt);border:1px solid #e8eaed;border:1px solid var(--color-border-light);height:100%;overflow:hidden;position:relative;width:100%}.process-node{align-items:center;background:#fff;background:var(--color-surface);border:2px solid #1a73e8;border:2px solid var(--color-primary);border-radius:6px;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000f,0 1px 3px #0000001a;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-size:var(--font-size-xs);height:80px;justify-content:center;padding:8px;padding:var(--space-sm);position:absolute;text-align:center;transition:all .12s ease;transition:all var(--transition-fast);width:120px}.process-node:hover{box-shadow:0 2px 6px #00000014,0 4px 12px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.process-node.selected{background:#fce8e6;background:var(--color-error-bg);border-color:#d93025;border-color:var(--color-error)}.process-node.preparation{border-color:#1e8e3e;border-color:var(--color-success)}.process-node.disassembly{border-color:#e37400;border-color:var(--color-warning)}.process-node.chemical-processing{border-color:#1a73e8;border-color:var(--color-primary)}.process-node.thermal-processing{border-color:#d93025;border-color:var(--color-error)}.node-title{font-weight:600;line-height:1.1;margin-bottom:4px;margin-bottom:var(--space-xs)}.node-details{color:#9aa0a6;color:var(--color-text-tertiary);font-size:13px;font-size:var(--font-size-xs);line-height:1.1}.connection-line{background:#9aa0a6;background:var(--color-text-tertiary);height:2px;pointer-events:none;position:absolute;transform-origin:left center;z-index:1}.connection-arrow{border-bottom:3px solid #0000;border-left:6px solid #9aa0a6;border-left:6px solid var(--color-text-tertiary);border-top:3px solid #0000;height:0;position:absolute;width:0;z-index:2}.results-panel{min-width:280px;width:320px}.results-tabs{background:var(--color-surface-alt);border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--color-border-light)}.tab-button{background:none;border:none;border-bottom:2px solid #0000;cursor:pointer;flex:1 1;font-size:14px;font-size:var(--font-size-sm);font-weight:500;padding:8px 12px;padding:var(--space-sm) var(--space-md);transition:all .12s ease;transition:all var(--transition-fast)}.tab-button.active{background:#fff;background:var(--color-surface);border-bottom-color:#1a73e8;border-bottom-color:var(--color-primary);color:#1a73e8;color:var(--color-primary)}.tab-content{padding:12px;padding:var(--space-md)}.result-section{margin-bottom:16px;margin-bottom:var(--space-lg)}.result-section h4{color:#1a1a2e;color:var(--color-text-primary);font-size:14.5px;font-size:var(--font-size-md);margin-bottom:var(--space-sm)}.result-item{align-items:center;border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--color-border-light);font-size:14px;font-size:var(--font-size-sm);padding:8px 0;padding:var(--space-sm) 0}.result-label{color:#9aa0a6;color:var(--color-text-tertiary)}.result-value{color:#1a1a2e;color:var(--color-text-primary)}.result-value.positive{color:#1e8e3e;color:var(--color-success)}.result-value.negative{color:#d93025;color:var(--color-error)}.status-bar{align-items:center;background:#f8f9fa;background:var(--color-surface-alt);border-top:1px solid #dadce0;border-top:1px solid var(--color-border);color:#5f6368;color:var(--color-text-secondary);display:flex;font-size:13px;font-size:var(--font-size-xs);justify-content:space-between;min-height:28px;min-height:var(--statusbar-height);padding:3px 12px;padding:3px var(--space-md);-webkit-user-select:none;user-select:none}.status-left,.status-right{align-items:center;display:flex;gap:12px;gap:var(--space-md)}.resolution-status-indicator{border-radius:4px;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;padding:2px 8px;padding:2px var(--space-sm);transition:all .12s ease;transition:all var(--transition-fast)}.resolution-status-indicator.resolved{background:#e6f4ea;background:var(--color-success-bg);border:1px solid #1e8e3e;border:1px solid var(--color-success);color:#1e8e3e;color:var(--color-success)}.resolution-status-indicator.resolved:hover{background:#1e8e3e;background:var(--color-success)}.resolution-status-indicator.unresolved{background:#fce8e6;background:var(--color-error-bg);border:1px solid #d93025;border:1px solid var(--color-error);color:#d93025;color:var(--color-error)}.resolution-status-indicator.unresolved:hover{background:#d93025;background:var(--color-error)}.btn{align-items:center;background:#1a73e8;background:var(--color-primary);border:none;border-radius:6px;border-radius:var(--radius-md);color:#fff;color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14.5px;font-size:var(--font-size-md);font-weight:500;gap:6px;padding:8px 16px;padding:var(--space-sm) var(--space-lg);transition:all .12s ease;transition:all var(--transition-fast)}.btn:hover{background:#1557b0;background:var(--color-primary-hover);box-shadow:0 1px 2px #0000000f,0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.btn:active{transform:scale(.97)}.btn:disabled{background:#9aa0a6;background:var(--color-text-tertiary);box-shadow:none;cursor:not-allowed}.btn.secondary{background:#f8f9fa;background:var(--color-surface-alt);border:1px solid #dadce0;border:1px solid var(--color-border);color:#1a1a2e;color:var(--color-text-primary)}.btn.secondary:hover{background:#e8eaed;background:var(--color-border-light)}.btn.success{background:#1e8e3e;background:var(--color-success)}.btn.success:hover{background:#137333}.form-group{margin-bottom:var(--space-lg)}.form-label{color:#1a1a2e;color:var(--color-text-primary);display:block;font-weight:500;margin-bottom:8px;margin-bottom:var(--space-sm)}.form-input,.form-label{font-size:14px;font-size:var(--font-size-sm)}.form-input{border:1px solid #dadce0;border:1px solid var(--color-border);border-radius:6px;border-radius:var(--radius-md);padding:8px 12px;padding:var(--space-sm) var(--space-md);width:100%}.form-input:focus{border-color:#1a73e8;border-color:var(--color-primary);box-shadow:0 0 0 2px #0078d433;outline:none}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:4px;margin-top:var(--space-xs)}.mt-2{margin-top:8px;margin-top:var(--space-sm)}.mt-3{margin-top:12px;margin-top:var(--space-md)}.mb-1{margin-bottom:4px;margin-bottom:var(--space-xs)}.mb-2{margin-bottom:8px;margin-bottom:var(--space-sm)}.mb-3{margin-bottom:12px;margin-bottom:var(--space-md)}.loading{align-items:center;color:#9aa0a6;color:var(--color-text-tertiary);display:flex;font-size:14.5px;font-size:var(--font-size-md);justify-content:center;padding:16px;padding:var(--space-lg)}.spinner{animation:spin .8s linear infinite;border:2px solid #e8eaed;border-top:2px solid #1a73e8;border:2px solid var(--color-border-light);border-radius:50%;border-top-color:var(--color-primary);flex-shrink:0;height:16px;margin-right:8px;margin-right:var(--space-sm);width:16px}.spinner-lg{border-width:3px;height:28px;width:28px}.empty-state{align-items:center;color:#9aa0a6;color:var(--color-text-tertiary);display:flex;flex-direction:column;gap:12px;gap:var(--space-md);height:100%;justify-content:center;padding:24px 16px;padding:var(--space-xl) var(--space-lg);text-align:center}.empty-state-icon{font-size:36px;opacity:.5}.empty-state-title{color:#5f6368;color:var(--color-text-secondary);font-size:15px;font-size:var(--font-size-base);font-weight:600}.empty-state-text{font-size:14px;font-size:var(--font-size-sm);line-height:1.5;max-width:280px}.empty-state-action{margin-top:8px;margin-top:var(--space-sm)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.modal-portal{height:0;left:0;position:fixed;top:0;width:0;z-index:10000}.modal-overlay{align-items:center;animation:modalFadeIn .15s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-dialog{animation:modalSlideIn .2s ease-out;background:#fff;background:var(--color-surface,#fff);border-radius:10px;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;max-width:460px;overflow:hidden;width:90%}.modal-header{align-items:center;display:flex;gap:12px;padding:20px 24px 0}.modal-title{color:#1a1a2e;color:var(--color-text-primary,#1a1a2e);font-size:17px;font-weight:600;margin:0}.modal-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:32px;justify-content:center;width:32px}.modal-icon-info{background:#e8f0fe;color:#1a73e8}.modal-icon-success{background:#e6f4ea;color:#1e8e3e}.modal-icon-warning{background:#fef7e0;color:#e37400}.modal-icon-error{background:#fce8e6;color:#d93025}.modal-body{padding:16px 24px}.modal-message{color:#5f6368;color:var(--color-text-secondary,#5f6368);font-size:14.5px;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.modal-input{background:#fff;background:var(--color-surface,#fff);border:1.5px solid #dadce0;border:1.5px solid var(--color-border,#dadce0);border-radius:6px;box-sizing:border-box;color:#1a1a2e;color:var(--color-text-primary,#1a1a2e);font-family:inherit;font-size:14px;margin-top:12px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.modal-input:focus{border-color:#1a73e8;border-color:var(--color-primary,#1a73e8);box-shadow:0 0 0 3px #1a73e826;outline:none}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 24px 20px}.modal-btn{border:1.5px solid #dadce0;border:1.5px solid var(--color-border,#dadce0);border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;min-width:72px;padding:8px 20px;text-align:center;transition:background .15s,box-shadow .15s,transform .1s}.modal-btn:active{transform:scale(.97)}.modal-btn:disabled{cursor:not-allowed;opacity:.5}.modal-btn-primary{background:#1a73e8!important;border-color:#1a73e8!important;color:#fff!important}.modal-btn-primary:hover:not(:disabled){background:#1557b0!important;box-shadow:0 1px 3px #00000026}.modal-btn-secondary{background:#f1f3f4!important;border-color:#dadce0!important;color:#1a1a2e!important}.modal-btn-secondary:hover:not(:disabled){background:#dadce0!important}.lci-inputs-container{background:#f9f9f9;border-radius:4px;margin-top:16px;padding:16px;width:100%}.lci-inputs-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.lci-inputs-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.btn-add-input{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background .2s}.btn-add-input:hover:not(:disabled){background:#0056b3}.btn-add-input:disabled{background:#ccc;cursor:not-allowed}.resolution-progress{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-weight:500;margin-bottom:12px;padding:12px;text-align:center}.lci-inputs-table{background:#fff;border:1px solid #ddd;border-collapse:collapse;font-size:14px;width:100%}.lci-inputs-table thead{background:#f5f5f5;font-weight:600}.lci-inputs-table td,.lci-inputs-table th{border-bottom:1px solid #ddd;padding:10px;text-align:left}.lci-inputs-table th{color:#555;font-weight:600}.no-inputs{color:#999;font-style:italic;padding:40px!important;text-align:center}.cell-type{color:#666;font-weight:500;width:80px}.cell-name{font-weight:500;width:150px}.cell-quantity{width:100px}.quantity-value{border-radius:3px;cursor:pointer;padding:4px 8px;transition:background .2s}.quantity-value:hover{background:#f0f0f0}.quantity-input{border:1px solid #007bff;border-radius:3px;font-size:14px;padding:4px 8px;width:80px}.cell-unit{color:#666;width:100px}.cell-activity{max-width:300px}.activity-info{font-size:13px}.activity-name{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-details{color:#666;font-size:12px;margin-top:2px}.activity-not-linked,.activity-skipped{color:#999;font-style:italic}.cell-status{font-weight:500;width:100px}.status-icon{font-size:16px;margin-right:6px}.status-linked,.status-linked .status-icon{color:#28a745}.status-warning,.status-warning .status-icon{color:#ffc107}.status-info,.status-info .status-icon{color:#17a2b8}.status-error,.status-error .status-icon{color:#dc3545}.status-skipped,.status-skipped .status-icon{color:#6c757d}.status-unknown{color:#999}.cell-action{text-align:center;width:120px}.cell-action button{margin:0 2px}.btn-resolve{background:#17a2b8;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:13px;padding:4px 12px;transition:background .2s}.btn-resolve:hover:not(:disabled){background:#138496}.btn-resolve:disabled{background:#ccc;cursor:not-allowed}.btn-delete{background:#dc3545;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:4px 8px;transition:background .2s}.btn-delete:hover:not(:disabled){background:#c82333}.btn-delete:disabled{background:#ccc;cursor:not-allowed}.resolution-summary{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;font-size:14px;justify-content:space-between;margin-top:12px;padding:10px}.summary-success{color:#28a745;font-weight:500}.summary-warning{color:#ffc107;font-weight:500}.summary-info{color:#6c757d}.btn-resolve-all{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 16px;transition:background .2s}.btn-resolve-all:hover:not(:disabled){background:#138496}.btn-resolve-all:disabled{background:#ccc;cursor:not-allowed}.input-row:hover{background:#f8f9fa}.startup-screen{align-items:center;background:linear-gradient(145deg,#1a2a42,#1e3a5f 45%,#2a4a7f);color:#fff;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative}.startup-container{max-width:1000px;position:relative;text-align:center;width:90%;z-index:1}.startup-header{margin-bottom:40px}.startup-logo{animation:logo-fade-in .8s ease-out;filter:drop-shadow(0 2px 12px rgba(0,0,0,.3));height:auto;margin-bottom:0;max-width:85%;width:420px}@keyframes logo-fade-in{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.startup-subtitle{animation:fade-up .8s ease-out .2s both;font-size:1.15em;font-weight:400;letter-spacing:.3px;margin:-12px 0 0;opacity:.9}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:.9;transform:translateY(0)}}.startup-options{animation:fade-up .8s ease-out .4s both;margin-bottom:30px;padding:0}.option-section h2{font-size:2em;font-weight:300;margin-bottom:30px}.option-buttons{display:flex;gap:24px;justify-content:center;margin-bottom:0}.option-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;max-width:280px;padding:28px 24px;text-align:left;transition:all .25s ease}.option-button:hover{background:#ffffff1f;border-color:#4fd1c566;box-shadow:0 8px 32px #0000004d;transform:translateY(-3px)}.option-button.primary{background:#4fd1c51a;border-color:#4fd1c540}.option-button.primary:hover{background:#4fd1c52e;border-color:#4fd1c580}.option-button .option-icon-svg{margin-bottom:16px;opacity:1}.option-button .option-icon-svg svg{display:block}.option-button h3{font-size:1.15em;font-weight:500;margin-bottom:6px}.option-button p{font-size:.85em;line-height:1.4;margin:0;opacity:.75}.startup-footer{animation:fade-up .8s ease-out .6s both}.startup-footer p{font-size:.85em;opacity:.55}.tutorial-overlay{align-items:center;animation:tutorial-fade-in .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f19bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}.tutorial-card{animation:tutorial-slide-up .35s ease-out;background:#1e3a5f;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #0006;max-width:440px;padding:40px 36px 32px;position:relative;text-align:center;width:90%}@keyframes tutorial-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorial-dismiss{background:none;border:none;color:#fff6;cursor:pointer;font-size:22px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:12px;transition:color .15s}.tutorial-dismiss:hover{color:#fffc}.tutorial-icon{font-size:40px;margin-bottom:16px}.tutorial-title{color:#fff;font-size:1.4em;font-weight:500;margin:0 0 12px}.tutorial-body{color:#ffffffa6;font-size:.95em;line-height:1.6;margin:0 0 28px}.tutorial-nav{align-items:center;display:flex;justify-content:space-between}.tutorial-dots{display:flex;gap:8px}.tutorial-dot{background:#fff3;border-radius:50%;cursor:pointer;height:8px;transition:background .2s;width:8px}.tutorial-dot.active{background:#4fd1c5}.tutorial-buttons{display:flex;gap:10px}.tutorial-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 20px;transition:all .2s}.tutorial-btn.primary{background:#4fd1c5;color:#1a2332}.tutorial-btn.primary:hover{background:#5ee0d4}.tutorial-btn.secondary{background:#ffffff1a;color:#ffffffb3}.tutorial-btn.secondary:hover{background:#ffffff2e}.tutorial-help-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;bottom:20px;color:#ffffff80;cursor:pointer;display:flex;font-size:.82em;gap:6px;padding:7px 16px 7px 12px;position:fixed;right:24px;transition:all .2s;z-index:10}.tutorial-help-btn:hover{background:#ffffff24;border-color:#4fd1c566;color:#fffc}.existing-projects{margin-top:30px;text-align:left}.existing-projects h3{font-size:1.5em;font-weight:400;margin-bottom:20px}.project-list{display:flex;flex-direction:column;gap:15px;max-height:50vh;overflow-y:auto;padding-right:10px}.project-list::-webkit-scrollbar{width:8px}.project-list::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.project-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.project-list::-webkit-scrollbar-thumb:hover{background:#ffffff80}.project-item{align-items:center;background:#ffffff26;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.project-item:hover{background:#fff3;transform:translateX(5px)}.project-info h4{font-size:1.2em;font-weight:400;margin-bottom:5px}.project-info p{margin-bottom:10px;opacity:.8}.chemistry-tag{background:#fff3;border-radius:4px;font-size:.8em;font-weight:600;padding:4px 8px}.project-icon{font-size:2em;opacity:.7}.process-tree-selection{background:#fff;background:var(--color-surface,#fff);border-radius:12px;box-shadow:0 2px 6px #00000014;box-shadow:var(--shadow-md,0 2px 6px #00000014);max-height:75vh;overflow-y:auto;padding:28px 32px;text-align:left}.process-tree-selection,.process-tree-selection h3{color:#1a1a2e;color:var(--color-text-primary,#1a1a2e)}.process-tree-selection h3{font-size:1.4em;font-weight:600;letter-spacing:-.3px;margin-bottom:20px}.process-categories{margin-bottom:24px}.category-header{background:var(--color-surface-alt,#f8f9fa);border-radius:8px;color:#1a1a2e;color:var(--color-text-primary,#1a1a2e);cursor:default;font-size:15px;margin-bottom:4px;padding:10px 14px}.category-header .category-icon{font-size:1.2em;margin-right:8px}.subcategories{border-left:1px solid #e8eaed;border-left:1px solid var(--color-border-light,#e8eaed);margin-left:16px;padding-left:12px}.subcategory{margin-bottom:12px}.subcategory-header{color:#5f6368;color:var(--color-text-secondary,#5f6368);font-size:14px;font-weight:600;margin-bottom:6px;padding:6px 0}.processes{margin-left:0}.process-option{background:#fff;background:var(--color-surface,#fff);border:1.5px solid #dadce0;border:1.5px solid var(--color-border,#dadce0);border-radius:8px;cursor:pointer;margin-bottom:8px;padding:14px 16px;transition:all .15s ease}.process-option:hover{background:#e8f0fe;background:var(--color-primary-light,#e8f0fe);border-color:#1a73e8;border-color:var(--color-primary,#1a73e8);box-shadow:0 1px 4px #1a73e81f}.process-option .process-name{color:#1a1a2e;color:var(--color-text-primary,#1a1a2e);font-size:15px;font-weight:600;margin-bottom:4px}.process-option .process-description{color:#5f6368;color:var(--color-text-secondary,#5f6368);font-size:13px;line-height:1.4}.no-processes{color:#9aa0a6;color:var(--color-text-tertiary,#9aa0a6);font-size:13px;margin-left:0;padding:8px 4px}.csv-upload-section{border-top:1px solid #dadce0;border-top:1px solid var(--color-border,#dadce0);margin-top:20px;padding-top:20px}.csv-upload-section h4{color:#1a1a2e;color:var(--color-text-primary,#1a1a2e);font-size:15px;font-weight:600;margin-bottom:12px}.upload-area{align-items:center;display:flex;gap:15px}.template-button,.upload-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.template-button:hover,.upload-button:hover{background:#0056b3}.template-button{background:#28a745;margin-left:10px}.template-button:hover{background:#1e7e34}.csv-help{background:#ffffff1a;border-radius:4px;color:#666;line-height:1.4;margin-top:10px;padding:8px 12px}.file-name{color:#666;font-style:italic}.action-buttons{display:flex;gap:15px;margin-top:25px}.action-buttons button{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px;transition:all .2s ease}.action-buttons button:hover{background:#5a6268}.startup-footer{font-size:1em;opacity:.7}.selectable{cursor:pointer}.hierarchical-structure{padding:8px 0}.main-category{margin-bottom:8px}.category-header{align-items:center;background:#f8f9fa;border-radius:4px;cursor:pointer;display:flex;font-weight:600;padding:8px 12px;transition:background-color .2s ease}.category-header:hover{background:#e9ecef}.category-header.clickable{-webkit-user-select:none;user-select:none}.expand-icon{color:#666;font-size:12px;margin-right:8px;width:12px}.chemistry-list{margin-left:16px;margin-top:4px}.chemistry-group{margin-bottom:8px}.chemistry-header{align-items:center;border-radius:3px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:500;padding:6px 8px;transition:background-color .2s ease}.chemistry-header:hover{background:#f1f3f4}.chemistry-header .expand-icon{margin-right:6px}.process-options{margin-left:16px;margin-top:4px}.braws-header{align-items:center;background:linear-gradient(135deg,#e3f2fd,#f1f8e9);border:1px solid #c8e6c9;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.braws-title{color:#2e7d32;font-weight:600}.process-count{background:#ffffffb3;border-radius:3px;color:#666;font-size:12px;padding:2px 6px}.braws-categories{margin-left:8px}.braws-category{margin-bottom:12px}.braws-category-header{align-items:center;background:#f8f9fa;border-left:3px solid #17a2b8;border-radius:4px;display:flex;font-size:13px;font-weight:500;margin-bottom:4px;padding:6px 8px}.braws-category-header .category-icon{margin-right:6px}.braws-category-header .category-count{color:#666;font-size:11px;margin-left:auto}.braws-processes{margin-left:12px}.process-item{background:#fff;border:1px solid #e9ecef;border-radius:4px;cursor:pointer;margin-bottom:4px;padding:8px 12px;transition:all .2s ease}.process-item:hover{background:#f8f9fa;border-color:#007bff;transform:translateX(2px)}.process-item.selected{background:#e7f3ff;border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.no-processes{color:#999;font-size:12px;font-style:italic;padding:8px 12px}.category-section{margin-bottom:8px}.category-icon{font-size:14px}.category-name{flex:1 1;font-weight:600}.category-count{color:#999;font-size:11px}.process-info{flex:1 1}.process-name{align-items:center;display:flex;margin-bottom:2px}.process-id{background:#e9ecef;border-radius:2px;color:#495057;font-size:10px;font-weight:600;margin-right:6px;padding:2px 4px}.process-title{font-size:12px;font-weight:500}.process-details{color:#666;display:flex;font-size:10px;gap:8px}.selected-process-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:16px;padding:12px}.selected-process-info h4{color:#333;font-size:13px;margin-bottom:8px}.process-summary{font-size:12px}.summary-row{display:flex;justify-content:space-between;margin-bottom:4px;padding:2px 0}.summary-row:last-child{margin-bottom:0}.equipment-text{font-size:10px;line-height:1.2;max-width:120px;text-align:right}.summary-description{border-top:1px solid #dee2e6;color:#6c757d;font-style:italic;margin-top:8px;padding-top:8px}.process-diagram{display:flex;flex-direction:column;height:100%;min-height:0}.process-diagram .panel-content{background:#fafafa;flex:1 1;min-height:0;overflow:hidden;position:relative}.process-diagram svg{cursor:default;display:block;height:100%;min-height:400px;width:100%}.process-box{cursor:pointer}.process-box.selected .process-rect{stroke-width:4;stroke-dasharray:5,5}.connection-line{fill:none;stroke:#333;stroke-width:2}.process-details-panel{font-size:13px;overflow-y:auto;padding:8px 12px}.selected-process-details{height:100%}.details-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.details-header h4{color:#333;font-size:15px;font-weight:600;margin:0}.process-id-badge{background:#007bff;border-radius:4px;color:#fff;font-size:13px;font-weight:600;padding:3px 8px}.details-content{display:flex;flex-direction:column;gap:2px}.detail-row{align-items:center;display:flex;justify-content:space-between;line-height:1.4;padding:0}.detail-label{color:#6c757d;flex:0 0 auto;font-size:14px;font-weight:500;margin-right:8px}.detail-value{color:#333;flex:1 1;font-size:14px;font-weight:600;text-align:right}.detail-value.equipment-text{word-wrap:break-word;font-size:13px;line-height:1.3;max-width:200px}.detail-description{border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:3px;margin-top:6px;padding-top:6px}.detail-description .detail-value{color:#666;font-size:9px;font-style:italic;line-height:1.3;text-align:left}.no-selection{align-items:center;color:#999;display:flex;font-style:italic;height:100%;justify-content:center}.no-selection p{font-size:10px;margin:0}.parameter-editor{box-shadow:0 8px 32px #0003;max-width:400px;overflow-y:auto;width:90%}.editor-header{background:#f8f9fa;border-radius:8px 8px 0 0;padding:16px 20px}.close-btn{color:#666;height:24px;padding:0;transition:all .2s ease;width:24px}.close-btn:hover{background:#e9ecef}.editor-content{padding:20px}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:4px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.editor-footer{background:#f8f9fa;border-radius:0 0 8px 8px;padding:16px 20px;text-align:right}.editor-footer .btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s ease}.editor-footer .btn:hover{background:#0056b3}.diagram-controls{align-items:center;display:flex;gap:8px}.btn-small{background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;cursor:pointer;font-size:11px;padding:4px 8px}.btn-small:hover{background:#e9ecef}.zoom-info{color:#6c757d;font-size:11px}.parameter-editor-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.parameter-editor{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;max-height:80vh;width:400px}.editor-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px}.editor-header h3{color:#333;font-size:16px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;width:32px}.close-btn:hover{background:#f8f9fa;color:#333}.editor-content{flex:1 1;overflow-y:auto;padding:16px}.editor-content .form-group{margin-bottom:16px}.editor-content label{color:#333;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.editor-content input,.editor-content textarea{border:1px solid #ccc;border-radius:4px;font-size:13px;padding:8px;width:100%}.editor-content input:focus,.editor-content textarea:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d433;outline:none}.editor-content textarea{min-height:60px;resize:vertical}.editor-footer{border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;padding:16px}.no-results{color:#6c757d;padding:12px 16px;text-align:center}.no-results p{font-size:14px;margin-bottom:8px}.results-content{padding-bottom:16px}.result-section{margin-bottom:12px}.result-section:last-child{margin-bottom:0}.result-section h4{border-bottom:1px solid #e9ecef;color:#333;font-size:13px;font-weight:600;margin-bottom:8px;padding-bottom:4px}.result-item{align-items:flex-start;border-bottom:1px solid #f8f9fa;display:flex;font-size:12px;justify-content:space-between;line-height:1.3;padding:6px 0}.result-item:last-child{border-bottom:none}.result-label{color:#6c757d;flex:1 1;margin-right:8px}.result-value{color:#333;font-weight:600;text-align:right;white-space:nowrap}.result-value.positive{color:#28a745}.result-value.negative{color:#dc3545}.result-value.neutral{color:#ffc107}.result-actions{border-top:1px solid #e9ecef;margin-top:16px;padding-top:16px}.project-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:20px;padding:12px}.project-summary h4{color:#333;font-size:13px;margin-bottom:8px}.summary-grid{grid-gap:4px;display:grid;gap:4px}.summary-item{display:flex;font-size:11px;justify-content:space-between;padding:2px 0}.summary-item span:first-child{color:#6c757d}.summary-item span:last-child{color:#333;font-weight:500}.node-rect.preparation{stroke:#28a745}.node-rect.disassembly{stroke:#ffc107}.node-rect.chemical-processing{stroke:#17a2b8}.node-rect.thermal-processing{stroke:#dc3545}@media (max-width:1200px){.process-tree{min-width:200px;width:240px}.results-panel{min-width:340px;width:380px}}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#f1f1f1}.panel-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.configuration-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:8px;margin-left:0;margin-right:0;padding:12px}.configuration-section h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 12px}.config-grid{display:flex;flex-direction:column;gap:8px}.config-item{align-items:center;display:flex;flex-direction:row;gap:6px}.config-item label{color:#6c757d;flex-shrink:0;font-size:12px;font-weight:500;letter-spacing:.2px;min-width:120px;text-transform:capitalize}.config-select{flex:1 1;font-size:12px;max-width:200px;padding:4px 6px}.config-input,.config-select{background:#fff;border:1px solid #ced4da;border-radius:3px;transition:border-color .15s ease-in-out}.config-input{flex:none;font-size:13px;font-weight:500;margin-left:auto;padding:4px 8px;text-align:right;width:70px}.config-input:focus,.config-select:focus{border-color:#80bdff;box-shadow:0 0 0 1px #007bff40;outline:none}.config-value{background:#fff;border:1px solid #e9ecef;border-radius:3px;color:#495057;flex:1 1;font-size:12px;font-weight:500;padding:4px 6px}.config-value-plain{color:#343a40;flex:1 1;font-size:13px;font-weight:500;padding:4px 8px 4px 0;text-align:right}.database-buttons{display:flex;flex:1 1;gap:3px}.database-buttons .btn-small{font-size:10px;min-width:auto;padding:3px 6px}.database-info{align-items:center;display:flex;flex:1 1;gap:8px}.database-info .config-value{flex:1 1}.database-info .download-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;color:#495057;cursor:pointer;font-size:10px;min-width:auto;padding:3px 6px}.database-info .download-btn:hover{background:#e9ecef;border-color:#adb5bd}.database-info .upload-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;color:#495057;cursor:pointer;font-size:10px;min-width:auto;padding:3px 6px}.database-info .upload-btn:hover{background:#e9ecef;border-color:#adb5bd}.config-select option:disabled{color:#999!important;font-style:italic}.material-section{background:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;margin:8px 0;padding:6px}.material-header{margin-bottom:4px}.material-header .detail-label{color:#495057;font-weight:600}.material-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:2px 0}.material-item:last-child{border-bottom:none}.material-name{color:#6c757d;flex:1 1;font-size:12px}.material-quantity{background:#fff;border:1px solid #dee2e6;border-radius:3px;color:#333;font-size:12px;font-weight:600;padding:2px 6px}.products-section{background:#f8f9fa;border-left:3px solid #28a745;border-radius:4px;margin:8px 0;padding:6px}.process-diagram .panel-content>div:first-child{min-height:300px;overflow:auto;padding:10px}.process-diagram svg{min-height:300px;min-width:100%}.results-panel{display:flex;flex-direction:column;height:100%;max-width:none;min-height:0;min-width:0;width:100%}.results-panel .panel-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px}.results-tabs{background:#f8f9fa;border-bottom:2px solid #e9ecef;display:flex;flex-shrink:0}.results-tabs .tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:10px 12px;transition:all .2s}.results-tabs .tab-button:hover{background:#e9ecef;color:#495057}.results-tabs .tab-button.active{background:#fff;border-bottom-color:#007bff;color:#007bff;font-weight:600}.results-run-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px 12px 12px}.btn-run{background:#007bff;border:1px solid #007bff;border-radius:4px;color:#fff;cursor:pointer;font-size:12.5px;font-weight:500;padding:6px 16px;transition:background .2s}.btn-run:hover{background:#0056b3}.btn-run:disabled{cursor:not-allowed;opacity:.6}.results-export-bar{background:#f8f9fa;border-top:1px solid #e9ecef;bottom:0;display:flex;justify-content:center;padding:10px 12px;position:-webkit-sticky;position:sticky}.btn-export{background:#28a745;border:1px solid #28a745;border-radius:4px;color:#fff;cursor:pointer;font-size:12.5px;font-weight:500;padding:6px 16px;transition:background .2s}.btn-export:hover{background:#218838}.activity-subtab-bar{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;flex-shrink:0;max-height:32px;min-height:32px;overflow-x:auto;overflow-y:hidden}.activity-subtab{align-items:center;background:#e9ecef;border-right:1px solid #dee2e6;color:#495057;cursor:pointer;display:flex;font-size:11px;gap:6px;padding:4px 10px;transition:background-color .2s;-webkit-user-select:none;user-select:none;white-space:nowrap}.activity-subtab:hover{background:#d3d4d5}.activity-subtab.active{background:#fff;border-bottom:2px solid #28a745;color:#212529;font-weight:500}.activity-subtab .subtab-name{max-width:200px;overflow:hidden;text-overflow:ellipsis}.activity-subtab .subtab-close{background:none;border:none;border-radius:2px;color:#6c757d;cursor:pointer;font-size:16px;line-height:1;margin:-2px 0;padding:0 3px;transition:all .2s}.activity-subtab .subtab-close:hover{background:#0000001a;color:#dc3545}.activity-subtab-bar::-webkit-scrollbar{height:6px}.activity-subtab-bar::-webkit-scrollbar-track{background:#f1f1f1}.activity-subtab-bar::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.activity-subtab-bar::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.no-activities-open{color:#6c757d;font-size:14px;height:100%;padding:20px;text-align:center}.naming-dialog-overlay,.no-activities-open{align-items:center;display:flex;justify-content:center}.naming-dialog-overlay{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.naming-dialog{background:#fff;background:var(--color-surface,#fff);border-radius:10px;box-shadow:0 8px 32px #0003;font-size:15px;max-width:460px;padding:28px 32px;width:90%}.naming-dialog,.naming-dialog h3{color:#1a1a2e;color:var(--color-text-primary,#1a1a2e)}.naming-dialog h3{font-size:17px;font-weight:600;margin:0 0 16px}.naming-dialog p{display:none}.naming-dialog label{font-size:15px}.naming-dialog input[type=text]{border:1.5px solid #dadce0;border:1.5px solid var(--color-border,#dadce0);border-radius:6px;box-sizing:border-box;color:#1a1a2e;color:var(--color-text-primary,#1a1a2e);font-family:inherit;font-size:15px;padding:10px 14px;width:100%}.naming-dialog input[type=text]:focus{border-color:#1a73e8;border-color:var(--color-primary,#1a73e8);box-shadow:0 0 0 3px #1a73e826;outline:none}.naming-dialog select{font-family:inherit;font-size:15px}.naming-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.naming-dialog-actions button{border:1.5px solid #dadce0;border:1.5px solid var(--color-border,#dadce0);border-radius:6px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:500;padding:9px 22px;transition:background .15s,box-shadow .15s}.naming-dialog-actions button:first-child{background:#f1f3f4;background:var(--color-surface-alt,#f1f3f4);color:#1a1a2e;color:var(--color-text-primary,#1a1a2e)}.naming-dialog-actions button:first-child:hover{background:#dadce0;background:var(--color-border,#dadce0)}.naming-dialog-actions button.primary{background:#1a73e8;background:var(--color-primary,#1a73e8);border-color:#1a73e8;border-color:var(--color-primary,#1a73e8);color:#fff}.naming-dialog-actions button.primary:hover{background:#1557b0;background:var(--color-primary-hover,#1557b0)}
/*# sourceMappingURL=main.c504b05e.css.map*/