.management-confirm-backdrop[data-v-19d75633]{z-index:90}.management-confirm-backdrop-stacked[data-v-19d75633]{z-index:2100}.management-confirm-modal[data-v-19d75633]{width:min(520px,calc(100vw - 60px))}.management-confirm-modal .project-modal-head .eyebrow[data-v-19d75633]{margin:0 0 5px}.management-confirm-content[data-v-19d75633]{padding:2px 0 4px}.management-confirm-message[data-v-19d75633],.management-confirm-description[data-v-19d75633]{white-space:pre-line}.management-confirm-message[data-v-19d75633]{margin:0;color:#28464e;font-size:15px;font-weight:700;line-height:1.65}.management-confirm-description[data-v-19d75633]{margin:10px 0 0;color:#819298;font-size:12px;line-height:1.7}.management-confirm-action.danger[data-v-19d75633]{border-color:#b42318;background:#b42318;color:#fff}.management-confirm-action.danger[data-v-19d75633]:hover{border-color:#9f1f16;background:#9f1f16}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif;color:#1f2937;background:#f4f6f9;font-synthesis:none;--navy: #111827;--navy-2: #1f2937;--line: #e5e7eb;--muted: #6b7280;--primary: #2563eb;--primary-soft: #eff6ff;--green: #059669;--danger: #dc2626}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:var(--navy);color:#fff;padding:22px 16px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--navy);font-weight:900}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{font-size:11px;color:#9ca3af;margin-top:2px;letter-spacing:.08em;text-transform:uppercase}.sidebar-section-label{color:#6b7280;font-size:10px;letter-spacing:.16em;font-weight:800;padding:20px 10px 8px;text-transform:uppercase}.project-list{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow:auto}.project-item,.nav-item{width:100%;border:0;color:#cbd5e1;background:transparent;text-align:left;border-radius:9px}.project-item{display:flex;gap:10px;padding:10px;align-items:center}.project-item:hover,.project-item.active,.nav-item:hover,.nav-item.active{background:#ffffff17;color:#fff}.project-copy{min-width:0}.project-copy strong,.project-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-copy strong{font-size:13px}.project-copy small{font-size:10px;color:#7f8da3;margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px #34d3991f;flex:none}.status-dot.disabled{background:#6b7280;box-shadow:none}.clone-project-button{margin:9px 4px 0;border:1px dashed rgba(255,255,255,.16);background:transparent;color:#8fa0b7;border-radius:8px;padding:8px 10px;font-size:10px;text-align:left}.clone-project-button:hover{color:#fff;border-color:#ffffff4d}.nav-label{margin-top:4px}.nav-list{display:flex;flex-direction:column;gap:3px}.nav-item{padding:10px 12px;font-size:13px;display:flex;align-items:center;gap:10px}.nav-icon{width:19px;text-align:center;color:#9ca3af;font-family:monospace;font-weight:800}.sidebar-refresh{margin-top:auto;border:1px solid rgba(255,255,255,.12);background:transparent;color:#9ca3af;border-radius:9px;padding:10px;font-size:12px}.sidebar-refresh:hover{color:#fff;border-color:#ffffff40}.main-content{margin-left:258px;padding:34px 38px 60px;min-height:100vh}.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.page-title-row.compact{margin-bottom:22px;align-items:center}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:#8b95a5;margin:0 0 7px}.page-title-row h1{font-size:28px;letter-spacing:-.025em;margin:0;color:#111827}.subtitle{color:#6b7280;font-size:13px;margin:7px 0 0;max-width:760px;line-height:1.6}.project-badge{border-radius:999px;padding:6px 10px;background:#ecfdf5;color:#047857;font-size:11px;font-weight:800}.project-badge.off{background:#f3f4f6;color:#6b7280}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 1px 2px #00000005}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{font-size:11px;color:#6b7280;font-weight:700}.metric-card strong{font-size:25px;margin:7px 0 3px;color:#111827}.metric-card small{font-size:10px;color:#9ca3af}.content-grid{display:grid;gap:16px}.two-col{grid-template-columns:1.4fr 1fr}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 1px 2px #00000005}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panel-header h2,.job-title h2{font-size:16px;margin:0;color:#111827}.panel-header small{color:#9ca3af;font-size:10px}.flow-list{display:flex;align-items:stretch;gap:8px}.flow-list>i{align-self:center;color:#c4cbd5;font-style:normal}.flow-step{flex:1;border:1px solid #e8ebef;border-radius:10px;padding:13px;display:flex;gap:10px;align-items:center}.flow-step b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#f3f4f6;font-size:9px;color:#6b7280}.flow-step span strong,.flow-step span small{display:block}.flow-step strong{font-size:12px}.flow-step small{font-size:9px;color:#9ca3af;margin-top:4px;line-height:1.3}.info-list{margin:0}.info-list>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #f0f2f4}.info-list>div:last-child{border-bottom:0}.info-list dt{font-size:11px;color:#7b8492}.info-list dd{margin:0;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#374151;text-align:right;word-break:break-all}.config-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:15px}.config-tabs{display:flex;flex-direction:column;gap:5px}.config-tabs button{background:transparent;border:1px solid transparent;border-radius:9px;text-align:left;padding:10px 12px;color:#596273}.config-tabs button.active{background:#fff;border-color:var(--line);color:#111827;box-shadow:0 1px 2px #00000005}.config-tabs span,.config-tabs small{display:block}.config-tabs span{font-size:12px;font-weight:800}.config-tabs small{font-size:9px;color:#9ca3af;margin-top:3px}.config-panel{padding:0;overflow:hidden}.editor-header{padding:16px 18px;margin:0;border-bottom:1px solid var(--line)}.yaml-editor,.json-editor{display:block;width:100%;resize:vertical;border:0;outline:none;background:#111827;color:#dbeafe;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:18px;-moz-tab-size:2;tab-size:2}.yaml-editor{min-height:590px}.json-editor{min-height:360px;border-radius:9px;margin-top:6px}.unsaved-badge{font-size:10px;color:#b45309;background:#fffbeb;padding:5px 8px;border-radius:999px}.btn{border-radius:8px;padding:9px 13px;border:1px solid transparent;font-size:11px;font-weight:800}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:#111827;color:#fff}.btn.primary:hover:not(:disabled){background:#263244}.btn.secondary{background:#fff;border-color:#dfe3e8;color:#374151}.btn.secondary:hover:not(:disabled){background:#f8fafc}.button-row{display:flex;gap:8px;align-items:center}.button-row.end{justify-content:flex-end;margin-top:16px}.test-control-panel{margin-bottom:16px}.form-grid{display:grid;gap:14px}.form-grid.four{grid-template-columns:1.3fr 1.2fr 1.2fr .65fr}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:block}.field>span,.check-field span{display:block;font-size:10px;font-weight:800;color:#6b7280;margin-bottom:6px}.field input,.field select{width:100%;height:38px;border:1px solid #dfe3e8;border-radius:8px;padding:0 10px;background:#fff;color:#374151;font-size:11px}.field input[type=file]{padding:7px}.field.full{margin-top:14px}.check-field{display:flex;align-items:center;gap:8px;margin-top:18px;background:#f8fafc;border:1px solid #e5e7eb;padding:10px;border-radius:8px}.check-field span{margin:0}.preview-metrics{grid-template-columns:repeat(3,1fr)}.table-wrap{width:100%;overflow:auto;border:1px solid #e9edf1;border-radius:9px}.data-table{border-collapse:collapse;white-space:nowrap;min-width:100%;font-size:10px}.data-table th{position:sticky;top:0;background:#f8fafc;color:#6b7280;font-weight:800;text-align:left;padding:9px 10px;border-bottom:1px solid #e5e7eb}.data-table td{padding:8px 10px;border-bottom:1px solid #f0f2f4;color:#374151;max-width:180px;overflow:hidden;text-overflow:ellipsis}.data-table tr:last-child td{border-bottom:0}.empty-cell{text-align:center!important;padding:28px!important;color:#9ca3af!important}.result-block{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid #273244;background:#111827}.result-title{padding:11px 15px;border-bottom:1px solid #273244;color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.result-block pre{margin:0;padding:16px;max-height:520px;overflow:auto;color:#d1fae5;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.model-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.model-chip{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;color:#6b7280;font-size:10px}.model-chip b{color:#111827;margin-right:8px}.model-chip.disabled{opacity:.45}.scheduler-status{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:15px;font-size:11px;font-weight:800}.job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.job-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.job-title code{font-size:9px;color:#9ca3af}.compact-list>div{padding:8px 0}.error-text{color:#b91c1c!important;max-width:330px}.full-button{width:100%;margin-top:14px}.empty-panel{grid-column:1/-1;border:1px dashed #d1d5db;border-radius:12px;padding:34px;text-align:center;color:#9ca3af;font-size:12px}.toast{position:fixed;top:max(22px,env(safe-area-inset-top));left:50%;right:auto;bottom:auto;transform:translate(-50%);z-index:99999;max-width:min(760px,calc(100vw - 32px));min-width:min(360px,calc(100vw - 32px));padding:16px 22px;border-radius:12px;color:#fff;background:#111827;box-shadow:0 14px 40px #00000038;font-size:16px;font-weight:600;line-height:1.65;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}.toast.success{background:#065f46}.toast.error{background:#991b1b}.toast-enter-active,.toast-leave-active{transition:opacity .2s,transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,-12px)}.loading-screen,.empty-screen{min-height:70vh;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:13px;gap:10px}.spinner{width:18px;height:18px;border:2px solid #d1d5db;border-top-color:#111827;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1350px){.metric-grid{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(2,1fr)}}:root{--navy: #0b2f3a;--navy-2: #114b5f;--primary: #0f7a8a;--primary-soft: #ecfeff;--green: #0f9f82}body{background:linear-gradient(180deg,#eef7f9 0,#f5f8fa 260px,#f4f6f9)}.sidebar{background:linear-gradient(180deg,#082d38,#0b3e4d 58%,#092c36)}.chiller-mark{color:#0f7a8a;font-size:20px;box-shadow:0 0 0 6px #ffffff0f}.project-item:hover,.project-item.active,.nav-item:hover,.nav-item.active{background:#7dd3fc1f}.project-item.active,.nav-item.active{box-shadow:inset 3px 0 #67e8f9}.sidebar-footer-copy{margin-top:auto;padding:16px 10px 10px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer-copy span,.sidebar-footer-copy small{display:block}.sidebar-footer-copy span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#67e8f9}.sidebar-footer-copy small{font-size:10px;color:#7f9eaa;margin-top:4px}.sidebar-refresh{margin-top:0}.chiller-hero{position:relative;overflow:hidden;min-height:188px;margin-bottom:18px;padding:30px 34px;border-radius:18px;background:linear-gradient(125deg,#0b3e4d,#0e6272 55%,#12889a);color:#fff;box-shadow:0 18px 40px #073b4829}.chiller-hero:before{content:"";position:absolute;right:-90px;top:-110px;width:330px;height:330px;border:1px solid rgba(255,255,255,.14);border-radius:50%}.chiller-hero:after{content:"";position:absolute;right:-25px;top:-45px;width:205px;height:205px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.hero-copy{position:relative;z-index:2;max-width:720px}.chiller-hero .eyebrow{color:#a5f3fc}.chiller-hero h1{font-size:30px;margin:0;letter-spacing:-.03em}.chiller-hero .subtitle{color:#d8f4f7;max-width:650px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hero-tags span{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;font-size:10px;color:#e6fbfd}.hero-badge{position:absolute;right:24px;top:22px;z-index:3;background:#d1fae5;color:#047857}.plant-visual{position:absolute;right:38px;bottom:18px;width:210px;height:105px;opacity:.88}.chiller-unit{position:absolute;right:42px;bottom:10px;width:100px;height:62px;border:2px solid rgba(255,255,255,.65);border-radius:12px;background:#ffffff14;display:flex;align-items:center;justify-content:center;gap:9px}.chiller-unit b{font-size:18px}.chiller-unit span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d8fbff;color:#0f6573;font-size:9px;font-weight:900}.water-loop{position:absolute;right:0;bottom:20px;width:38px;height:38px;border:2px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center}.pipe{position:absolute;height:2px;background:#ffffff73}.pipe-a{right:0;bottom:70px;width:92px}.pipe-b{right:115px;bottom:88px;width:76px}.chiller-metric{border-top:3px solid #94e5ed}.chiller-metric strong{color:#0d5664}.chiller-flow .flow-step{background:linear-gradient(180deg,#fff,#f7fcfd)}.chiller-flow .flow-step b{background:#e6f8fa;color:#0b6d7b}.btn.primary{background:#0d6877}.btn.primary:hover:not(:disabled){background:#095563}.project-badge{background:#e6fffb;color:#087c6c}.spinner{border-top-color:#0f7a8a}@media (max-width:1400px){.plant-visual{opacity:.35}.hero-copy{max-width:70%}}.flow-designer-page{max-width:1600px;margin:0 auto}.flow-page-header{align-items:center}.flow-project-context{min-width:220px;padding:11px 14px;border:1px solid #dbe4e8;border-radius:10px;background:#fffc;text-align:right}.flow-project-context small,.flow-project-context strong{display:block}.flow-project-context small{color:#8b95a5;font-size:9px;font-weight:800;letter-spacing:.08em}.flow-project-context strong{color:#164e59;font-size:12px;margin-top:3px}.flow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin-bottom:12px;border:1px solid #dce6e9;border-radius:12px;background:#fff}.flow-toolbar-copy{display:flex;align-items:center;gap:8px;min-width:0}.flow-toolbar-copy strong{font-size:12px;color:#183b43}.flow-toolbar-copy small{color:#8a9aa0;font-size:10px}.flow-live-dot{width:8px;height:8px;border-radius:50%;background:#14b8a6;box-shadow:0 0 0 4px #14b8a61a}.flow-workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:14px;align-items:stretch}.flow-canvas-panel,.node-inspector{background:#fff;border:1px solid #dce6e9;border-radius:14px;box-shadow:0 3px 14px #1e424b0a}.flow-canvas-panel{min-width:0;overflow:hidden}.flow-canvas-grid{min-height:520px;padding:72px 34px 96px;display:grid;grid-template-columns:minmax(190px,1fr) 72px minmax(190px,1fr) 72px minmax(210px,1fr) minmax(100px,.65fr);align-items:center;position:relative;overflow:auto;background-color:#fbfdfe;background-image:linear-gradient(#edf2f4 1px,transparent 1px),linear-gradient(90deg,#edf2f4 1px,transparent 1px);background-size:24px 24px}.workflow-node{position:relative;min-width:0;min-height:170px;padding:15px 16px 17px;border:1px solid #d8e1e5;border-radius:13px;background:#fff;color:#24383e;text-align:left;box-shadow:0 8px 18px #19414a0f;transition:border-color .15s,box-shadow .15s,transform .15s}.workflow-node:hover{transform:translateY(-2px);border-color:#9dcbd2;box-shadow:0 12px 24px #19414a1a}.workflow-node.selected{border-color:#0f7a8a;box-shadow:0 0 0 3px #0f7a8a1a,0 12px 24px #19414a14}.node-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:20px}.node-kind{font-size:8px;color:#8a989d;letter-spacing:.16em;font-weight:900}.node-state{padding:4px 6px;border-radius:999px;background:#f3f4f6;color:#7a858b;font-size:8px;font-weight:800}.status-ready .node-state{background:#fff7ed;color:#c2410c}.status-running .node-state{background:#ecfeff;color:#0e7490}.status-done .node-state{background:#ecfdf5;color:#047857}.node-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;margin-bottom:13px;font-weight:900}.file-icon{background:#edf9fb;color:#0e7281;font-size:20px}.transform-icon{background:#f1f5f9;color:#475569;font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace}.json-icon{background:#ecfdf5;color:#047857;font:900 10px ui-monospace,SFMono-Regular,Menlo,monospace}.workflow-node>strong,.workflow-node>small{display:block;overflow:hidden;text-overflow:ellipsis}.workflow-node>strong{font-size:14px;color:#163840}.workflow-node>small{font-size:9px;color:#89969c;margin-top:6px;white-space:nowrap}.node-port{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border:3px solid #fff;border-radius:50%;background:#cbd5da;box-shadow:0 0 0 1px #b8c8cd;z-index:2}.node-port-in{left:-7px}.node-port-out{right:-7px}.status-done .node-port,.status-ready .node-port-out{background:#14b8a6;box-shadow:0 0 0 1px #14b8a6}.json-start-port{background:#0f7a8a!important;box-shadow:0 0 0 1px #0f7a8a,0 0 0 5px #0f7a8a1a!important}.json-start-label{position:absolute;right:11px;bottom:10px;color:#0f7a8a;font-size:8px;font-weight:900;letter-spacing:.04em}.flow-connector{display:flex;align-items:center;color:#bdc9cd}.flow-connector span{height:2px;flex:1;background:#d9e1e4}.flow-connector i{font-style:normal;font-size:25px;line-height:1;margin-left:-1px}.flow-connector.active{color:#14b8a6}.flow-connector.active span{background:#14b8a6}.future-flow{align-self:center;display:flex;align-items:center;min-width:0}.future-line{width:28px;height:2px;background:repeating-linear-gradient(90deg,#a8c4ca 0 5px,transparent 5px 9px)}.future-flow button{width:100%;min-height:88px;border:1px dashed #b8ccd1;border-radius:11px;background:#ffffffb3;color:#668089;display:grid;place-items:center;align-content:center;gap:6px}.future-flow button:hover{border-color:#0f7a8a;color:#0f7a8a;background:#f6fdfe}.future-flow button span{font-size:18px}.future-flow button small{font-size:8px;line-height:1.3}.flow-hint-bar{display:flex;gap:12px;align-items:center;min-height:50px;padding:10px 16px;border-top:1px solid #e9eff1;background:#fff}.flow-hint-bar span{flex:none;color:#0e7281;font-size:9px;font-weight:900}.flow-hint-bar p{margin:0;color:#8a989d;font-size:9px;line-height:1.5}.node-inspector{min-width:0;padding:20px}.inspector-heading{display:flex;align-items:center;gap:11px;padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid #edf1f3}.inspector-step{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e9f8fa;color:#0f7180;font-size:10px;font-weight:900}.inspector-heading small,.inspector-heading h2{display:block;margin:0}.inspector-heading small{color:#9aa6aa;font-size:8px;letter-spacing:.13em;font-weight:900}.inspector-heading h2{margin-top:2px;color:#173b43;font-size:17px}.flow-upload-zone{min-height:210px;border:1.5px dashed #bfd0d5;border-radius:12px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fbfdfe;transition:.15s;cursor:pointer}.flow-upload-zone:hover,.flow-upload-zone.active{border-color:#0f7a8a;background:#f2fcfd}.flow-upload-zone.filled{border-style:solid}.upload-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eaf8fa;color:#0c7280;font-size:20px;margin-bottom:12px}.flow-upload-zone strong{max-width:300px;color:#23434a;font-size:12px;word-break:break-all}.flow-upload-zone small{color:#72868c;font-size:10px;margin-top:6px}.flow-upload-zone span{color:#9ba8ac;font-size:9px;margin-top:13px}.inspector-note{margin-top:13px;padding:11px 12px;border-left:3px solid #8bd8e1;background:#f5fbfc;color:#688087;font-size:9px;line-height:1.65}.inspector-fields{display:flex;flex-direction:column;gap:13px}.conversion-rule-list{display:flex;flex-direction:column;gap:8px;margin-top:2px}.conversion-rule-list>div{display:flex;gap:9px;align-items:center;padding:9px 10px;border:1px solid #e7edef;border-radius:9px;color:#5e7076;font-size:9px}.conversion-rule-list b{width:21px;height:21px;display:grid;place-items:center;flex:none;border-radius:6px;background:#edf8fa;color:#0f7180;font-size:8px}.flow-run-button{height:42px;margin-top:16px}.json-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px}.json-summary-grid>div{padding:12px;border:1px solid #e5ecee;border-radius:10px;background:#fbfdfd}.json-summary-grid span,.json-summary-grid strong{display:block}.json-summary-grid span{color:#8b999e;font-size:8px}.json-summary-grid strong{margin-top:3px;color:#155b67;font-size:20px}.json-field-preview{margin-bottom:13px}.json-field-preview>span{display:block;color:#788a90;font-size:9px;font-weight:800;margin-bottom:7px}.json-field-preview>div{display:flex;gap:5px;flex-wrap:wrap;max-height:72px;overflow:auto}.json-field-preview code{padding:4px 6px;border-radius:5px;background:#f1f5f6;color:#53666c;font-size:8px}.json-preview-box{border:1px solid #263d43;border-radius:10px;overflow:hidden;background:#102a31}.json-preview-head{display:flex;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #29434a;color:#80cbd5;font-size:8px;font-weight:900;letter-spacing:.08em}.json-preview-head small{color:#789197;font-weight:600;letter-spacing:0}.json-preview-box pre{margin:0;padding:11px;height:205px;overflow:auto;color:#d3f4e8;font:9px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.flow-output-actions{margin-top:11px;justify-content:flex-end}.json-origin-callout{display:flex;gap:10px;margin-top:14px;padding:12px;border:1px solid #b9e7df;border-radius:10px;background:#f0fdfa}.origin-dot{width:9px;height:9px;flex:none;margin-top:3px;border-radius:50%;background:#0f9f82;box-shadow:0 0 0 4px #0f9f821a}.json-origin-callout strong{color:#116455;font-size:10px}.json-origin-callout p{margin:4px 0 0;color:#64817a;font-size:8px;line-height:1.55}.inspector-empty{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#839399}.inspector-empty>div{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#f1f6f7;font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#789096}.inspector-empty strong{color:#52676d;font-size:12px;margin-top:13px}.inspector-empty p{max-width:230px;margin:6px 0 14px;font-size:9px;line-height:1.6}@media (max-width:1450px){.flow-workspace{grid-template-columns:minmax(0,1fr) 330px}.flow-canvas-grid{grid-template-columns:180px 52px 180px 52px 195px 110px;padding-left:24px;padding-right:24px}}.root-nav-list{margin-bottom:4px}.root-nav-item{min-height:48px}.root-nav-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.root-nav-copy strong{font-size:13px}.root-nav-copy small{font-size:9px;color:#78939b;font-weight:600}.sidebar-project-tree{position:relative;margin:12px 0 2px 10px;padding-left:13px}.tree-rail{position:absolute;top:0;bottom:8px;left:1px;width:1px;background:#67e8f92e}.tree-project-head{width:100%;border:0;border-radius:9px;background:#ffffff0b;color:#d9f4f7;display:flex;align-items:center;gap:9px;padding:10px;text-align:left}.tree-project-head:hover{background:#7dd3fc17}.project-child-nav{display:flex;flex-direction:column;gap:2px;margin-top:5px}.child-nav-item{position:relative;padding:8px 9px 8px 4px;font-size:11px}.child-nav-item.active{background:#7dd3fc1f;box-shadow:inset 2px 0 #67e8f9}.tree-elbow{width:15px;color:#547985;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.sidebar-no-project{margin:14px 10px;padding:12px;border:1px dashed rgba(255,255,255,.12);border-radius:9px;color:#78939b}.sidebar-no-project span,.sidebar-no-project small{display:block}.sidebar-no-project span{font-size:10px;font-weight:800;color:#a6bec5}.sidebar-no-project small{margin-top:5px;font-size:9px;line-height:1.5}.project-manager-page{max-width:1450px;margin:0 auto}.project-manager-header{align-items:center}.project-empty-state{min-height:520px;border:1px solid #dce6e9;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:54px 28px;box-shadow:0 3px 14px #1e424b0a}.project-empty-icon{width:68px;height:68px;display:grid;place-items:center;border-radius:18px;background:#eaf8fa;color:#0f7180;font-size:30px;font-weight:400;margin-bottom:18px}.project-empty-state .eyebrow{margin-bottom:8px}.project-empty-state h2{margin:0;color:#173b43;font-size:22px}.project-empty-state>p:not(.eyebrow){max-width:490px;color:#829298;font-size:12px;line-height:1.65;margin:9px 0 20px}.project-empty-button{min-width:180px;height:42px}.project-hierarchy-preview{display:flex;align-items:center;gap:9px;margin-top:28px;padding:10px 14px;border-radius:999px;background:#f7fafb;color:#84959b;font-size:10px}.project-hierarchy-preview i{color:#b4c1c5;font-style:normal}.project-hierarchy-preview strong{color:#0f7180}.project-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.managed-project-card,.new-project-card{min-height:230px;border:1px solid #dce6e9;border-radius:14px;background:#fff;padding:20px;box-shadow:0 2px 8px #1e424b09}.managed-project-head{display:flex;justify-content:space-between;align-items:center}.managed-project-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eaf8fa;color:#0f7180}.managed-project-card h2{margin:17px 0 5px;font-size:16px;color:#173b43}.managed-project-card code{color:#789097;font-size:9px}.managed-project-card p{min-height:42px;margin:12px 0 18px;color:#7f9096;font-size:10px;line-height:1.6}.managed-project-actions{display:flex;justify-content:flex-end}.new-project-card{border-style:dashed;color:#779097;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.new-project-card:hover{border-color:#0f7a8a;background:#f7fdfe;color:#0f7180}.new-project-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eef8fa;font-size:21px}.new-project-card strong{font-size:12px}.new-project-card small{font-size:9px;color:#98a6aa}.project-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:30px;background:#061d2361;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.project-create-modal{width:min(520px,calc(100vw - 60px));padding:22px;border-radius:15px;background:#fff;box-shadow:0 22px 70px #05222938}.project-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid #edf1f3}.project-modal-head h2{margin:0;color:#173b43;font-size:20px}.modal-close{width:34px;height:34px;border:0;border-radius:8px;background:#f3f6f7;color:#667c83;font-size:20px}.project-create-modal .field{margin-bottom:14px}.project-create-modal .field textarea{width:100%;border:1px solid #dfe3e8;border-radius:8px;padding:10px;resize:vertical;color:#374151;font-size:11px}.field-help{display:block;margin-top:5px;color:#9aa7ab;font-size:8px;line-height:1.5}.project-create-note{padding:10px 12px;border-left:3px solid #8bd8e1;background:#f5fbfc;color:#688087;font-size:9px;line-height:1.6}@media (max-width:1300px){.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-upload-create{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.3fr) 190px;gap:18px;align-items:center;padding:24px;border:1px solid #dce6e9;border-radius:16px;background:#fff;box-shadow:0 3px 14px #1e424b0a;min-height:220px;margin-bottom:18px}.project-upload-create.compact{min-height:150px;padding:18px 20px}.upload-create-copy h2{margin:9px 0 7px;color:#173b43;font-size:18px}.upload-create-copy p{margin:0;max-width:390px;color:#819298;font-size:10px;line-height:1.65}.upload-create-copy code{color:#0f7180}.step-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf8fa;color:#0f7180;font-size:9px;font-weight:900;letter-spacing:.06em}.project-source-drop{min-height:130px;border:1.5px dashed #bfd0d5;border-radius:12px;background:#fbfdfe;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:.15s}.project-source-drop:hover,.project-source-drop.active{border-color:#0f7a8a;background:#f3fcfd}.project-source-drop.filled{border-style:solid}.upload-source-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#eaf8fa;color:#0f7180;font-size:18px;margin-bottom:8px}.project-source-drop strong{max-width:100%;color:#25454c;font-size:11px;word-break:break-all}.project-source-drop small{margin-top:4px;color:#798c92;font-size:9px}.project-source-drop em{margin-top:8px;color:#9ba7ab;font-size:8px;font-style:normal}.project-source-submit{height:44px}.project-card-grid-v3{margin-top:4px}.flow-designer-v3{max-width:1680px;margin:0 auto}.flow-v3-header{align-items:center}.flow-v3-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:14px;align-items:start}.flow-v3-canvas,.flow-v3-inspector{border:1px solid #dce6e9;border-radius:15px;background:#fff;box-shadow:0 3px 14px #1e424b0a}.flow-v3-canvas{min-width:0;overflow:hidden}.flow-v3-inspector{position:sticky;top:24px;min-width:0;padding:20px;max-height:calc(100vh - 80px);overflow:auto}.flow-v3-no-source{padding:50px;border:1px dashed #cbd8dc;border-radius:14px;background:#fff;text-align:center;color:#7a8d93}.flow-v3-no-source strong{color:#294c54;font-size:15px}.flow-v3-no-source p{font-size:10px}.flow-lane{background:#fbfdfe}.flow-lane+.flow-lane{border-top:1px solid #e7eef0}.flow-lane-header{min-height:80px;padding:16px 20px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid #e7eef0;background:#fff}.flow-lane-header>div{display:flex;gap:11px;align-items:center}.flow-lane-header>div>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#e9f8fa;color:#0f7180;font-size:10px;font-weight:900}.flow-lane-header small,.flow-lane-header h2{display:block;margin:0}.flow-lane-header small{color:#9aa6aa;font-size:8px;font-weight:900;letter-spacing:.12em}.flow-lane-header h2{margin-top:1px;color:#173b43;font-size:16px}.flow-lane-header p{margin:0;max-width:530px;text-align:right;color:#829399;font-size:9px;line-height:1.55}.flow-lane-body{min-height:215px;padding:26px 28px;display:flex;align-items:center;gap:16px;overflow:auto;background-image:linear-gradient(#edf2f4 1px,transparent 1px),linear-gradient(90deg,#edf2f4 1px,transparent 1px);background-size:24px 24px}.preprocess-node-row{min-height:250px}.lane-connector{height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fbfdfe;color:#38a6b4}.lane-connector span{width:2px;height:17px;background:#70c9d3}.lane-connector i{font-size:14px;font-style:normal;line-height:1}.flow-v3-node{position:relative;flex:none;width:245px;min-height:165px;padding:14px;border:1px solid #d7e2e5;border-radius:13px;background:#fff;color:#233c42;text-align:left;box-shadow:0 7px 16px #173c430f;transition:.15s}.flow-v3-node:hover{border-color:#9bcbd2;transform:translateY(-1px)}.flow-v3-node.selected{border-color:#0f7a8a;box-shadow:0 0 0 3px #0f7a8a1a,0 8px 18px #173c4314}.flow-v3-node-head{display:flex;justify-content:space-between;gap:7px;align-items:center}.flow-v3-node-head span{color:#87979c;font-size:8px;font-weight:900;letter-spacing:.08em}.flow-v3-node-head i{max-width:110px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:#ecfdf5;color:#08785d;font-size:7px;font-style:normal;font-weight:900}.source-node-icon,.pre-node-icon{width:37px;height:37px;display:grid;place-items:center;margin:14px 0 10px;border-radius:9px;background:#eaf8fa;color:#0f7180;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace}.pre-node-icon{background:#f1f5f6;color:#526e75}.flow-v3-node>strong{display:block;color:#173b43;font-size:13px}.flow-v3-node>p{margin:5px 0 9px;color:#89979b;font-size:9px}.flow-v3-node>em{display:block;margin-top:10px;color:#9aa6aa;font-size:8px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-node-tags,.selected-field-tags{display:flex;gap:4px;flex-wrap:wrap}.source-node-tags span,.selected-field-tags code{max-width:105px;padding:3px 5px;border-radius:5px;background:#f2f6f7;color:#62767b;font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-v3-port{position:absolute;right:-6px;top:50%;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#18a5b4;box-shadow:0 0 0 1px #79cbd4}.node-inline-connector{flex:none;width:42px;display:flex;align-items:center;color:#79cbd4}.node-inline-connector span{flex:1;height:2px;background:#9fd7dd}.node-inline-connector i{font-style:normal;font-size:18px}.preprocess-node-row>.node-inline-connector:last-of-type{display:none}.add-preprocess-node{flex:none;width:210px;min-height:155px;border:1.5px dashed #9ccbd2;border-radius:13px;background:#f6fdfef0;color:#0f7180;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.add-preprocess-node:hover{background:#effbfc;border-color:#0f7a8a}.add-preprocess-node>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e6f7f9;font-size:21px}.add-preprocess-node strong{font-size:10px}.add-preprocess-node small{color:#8ba0a5;font-size:8px}.source-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:13px}.source-summary-cards>div{padding:10px;border:1px solid #e6edef;border-radius:9px;background:#fbfdfd}.source-summary-cards span,.source-summary-cards strong{display:block}.source-summary-cards span{color:#8a999e;font-size:8px}.source-summary-cards strong{margin-top:3px;color:#155b67;font-size:15px}.field-search-input{width:100%;height:36px;border:1px solid #dce5e8;border-radius:8px;padding:0 10px;outline:none;color:#344c52;font-size:10px;background:#fff}.field-search-input:focus{border-color:#65b9c4;box-shadow:0 0 0 3px #0f7a8a12}.source-field-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:530px;overflow:auto}.source-field-item{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;padding:9px 10px;border:1px solid #e8edef;border-radius:8px;background:#fff}.source-field-item>div:last-child{text-align:right}.source-field-item strong,.source-field-item small,.source-field-item span{display:block}.source-field-item strong{overflow:hidden;text-overflow:ellipsis;color:#334f56;font-size:9px;white-space:nowrap}.source-field-item small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;color:#9aa5a8;font-size:7px;white-space:nowrap}.source-field-item span{color:#0f7180;font-size:8px;font-weight:800}.flow-field-picker{margin-top:14px}.flow-field-picker-head{display:flex;justify-content:space-between;margin-bottom:7px;color:#6d8086;font-size:9px;font-weight:800}.flow-field-picker-head b{color:#0f7180}.flow-field-check-list{max-height:260px;overflow:auto;margin-top:8px;border:1px solid #e5ecee;border-radius:9px}.flow-field-check{display:flex;gap:8px;align-items:center;min-height:38px;padding:6px 9px;border-bottom:1px solid #eef2f3;cursor:pointer}.flow-field-check:last-child{border-bottom:0}.flow-field-check:hover{background:#f8fbfc}.flow-field-check input{accent-color:#0f7a8a}.flow-field-check span{min-width:0}.flow-field-check strong,.flow-field-check small{display:block}.flow-field-check strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#405a61;font-size:8px}.flow-field-check small{margin-top:2px;color:#9aa5a9;font-size:7px}.operation-config-box{margin-top:14px;padding:12px;border:1px solid #dfebed;border-radius:10px;background:#f9fcfc}.operation-config-box>strong{display:block;margin-bottom:9px;color:#526c72;font-size:9px}.rename-row{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:5px;align-items:center;margin-top:6px}.rename-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64787e;font-size:7px}.rename-row span{text-align:center;color:#a0adb1}.rename-row input{width:100%;height:31px;border:1px solid #dce5e8;border-radius:7px;padding:0 7px;font-size:8px}.flow-editor-actions{position:sticky;bottom:-20px;margin:18px -20px -20px;padding:12px 20px;border-top:1px solid #e8eef0;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.selected-node-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.selected-node-summary>span,.selected-node-summary>strong{padding:9px 10px;border:1px solid #e8edef}.selected-node-summary>span{border-radius:8px 0 0 8px;color:#86969b;font-size:8px}.selected-node-summary>strong{margin-left:-9px;border-radius:0 8px 8px 0;color:#244b54;font-size:9px;text-align:right}.selected-field-tags{max-height:145px;overflow:auto;margin-bottom:13px}.selected-field-tags code{max-width:165px;font-size:8px}.node-config-preview{max-height:220px;margin:0 0 13px;overflow:auto;border-radius:9px;background:#102a31;color:#d3f4e8;padding:11px;font:8px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.node-manage-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.node-manage-actions .btn:first-child{grid-column:1/-1}.btn.danger{background:#fff;border-color:#f0caca;color:#b42318}.btn.danger:hover{background:#fff6f6}@media (max-width:1400px){.flow-v3-layout{grid-template-columns:minmax(0,1fr) 340px}.project-upload-create{grid-template-columns:1fr 1.25fr 165px}}.sidebar{transition:width .18s ease,padding .18s ease}.main-content{transition:margin-left .18s ease}.sidebar-collapse-toggle{position:absolute;top:25px;right:-13px;width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0d4654;color:#d9f5f7;font-size:18px;line-height:1;box-shadow:0 2px 7px #00000024;z-index:12}.sidebar-collapse-toggle:hover{background:#0f5a6a;color:#fff}.sidebar.collapsed{width:82px;padding-left:12px;padding-right:12px}.sidebar.collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .brand-mark{flex:none}.sidebar.collapsed .root-nav-item,.sidebar.collapsed .sidebar-refresh{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .nav-icon{margin:0}.sidebar.collapsed .sidebar-footer-copy{display:none}.sidebar.collapsed .sidebar-refresh{margin-top:auto;min-height:40px}.sidebar.collapsed .sidebar-refresh>span:first-child{font-size:17px}.sidebar.collapsed .sidebar-hide-when-collapsed{display:none!important}.app-shell.sidebar-collapsed .main-content{margin-left:82px}.project-list-page{max-width:1500px;margin:0 auto}.project-manager-actions{display:flex;align-items:center;gap:9px}.project-create-button{min-width:112px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.project-create-button>span{font-size:17px;line-height:1}.project-list-panel{margin-top:22px;overflow:hidden;border:1px solid #dce6e9;border-radius:13px;background:#fff;box-shadow:0 3px 14px #1e424b0a}.project-list-toolbar{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edef;background:#fbfdfd}.project-list-toolbar>div{display:flex;align-items:baseline;gap:9px}.project-list-toolbar strong{color:#25454c;font-size:12px}.project-list-toolbar span{color:#8c9ba0;font-size:9px}.project-table-wrap{width:100%;overflow-x:auto}.project-list-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed}.project-list-table th,.project-list-table td{padding:13px 16px;border-bottom:1px solid #edf1f2;text-align:left;vertical-align:middle}.project-list-table th{background:#f7fafb;color:#73858a;font-size:9px;font-weight:900;letter-spacing:.04em}.project-list-table tbody tr:last-child td{border-bottom:0}.project-list-table tbody tr:hover{background:#fbfefe}.project-list-table th:nth-child(3){width:12%}.project-list-table th:nth-child(4){width:27%}.project-list-table th:nth-child(5){width:16%}.project-name-link{max-width:100%;padding:0;border:0;background:transparent;display:inline-flex;align-items:center;gap:10px;color:inherit;text-align:left}.project-name-link:hover strong{color:#0f7180}.project-list-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:9px;background:#eaf8fa;color:#0f7180;font-size:15px}.project-name-link>span:last-child{min-width:0}.project-name-link strong,.project-name-link small{display:block}.project-name-link strong{overflow:hidden;color:#24474f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.project-name-link small{margin-top:3px;color:#9aa7ab;font-size:8px}.project-id-code{padding:5px 7px;border-radius:6px;background:#f3f6f7;color:#61757b;font-size:9px}.project-list-status{display:inline-flex;align-items:center;gap:6px;color:#0b7564;font-size:9px;font-weight:800}.project-list-status i{width:7px;height:7px;border-radius:50%;background:#24a88b}.project-list-status.disabled{color:#8b9699}.project-list-status.disabled i{background:#9ca6a9}.project-description-text{display:block;overflow:hidden;color:#7f9095;font-size:9px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.project-action-column{text-align:right!important}.project-open-button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.project-open-button>span{font-size:16px;line-height:1}.project-list-empty{min-height:330px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a999e;text-align:center}.project-list-empty .spinner{margin-bottom:12px}.project-list-empty strong{color:#36545b;font-size:13px}.project-list-empty p{margin:8px 0 17px;color:#8c9ba0;font-size:9px}.empty-project-icon{width:52px;height:52px;margin-bottom:14px;display:grid;place-items:center;border-radius:14px;background:#edf8fa;color:#0f7180;font-size:22px}.create-project-flow-page{max-width:1450px;margin:0 auto}.flow-create-breadcrumb{display:flex;align-items:center;gap:7px;margin-bottom:16px;color:#98a5aa;font-size:9px}.flow-create-breadcrumb button{padding:0;border:0;background:transparent;color:#6d858b;font-size:inherit}.flow-create-breadcrumb button:hover{color:#0f7180}.flow-create-breadcrumb strong{color:#36545b}.flow-create-header{margin-bottom:20px}.flow-create-stage{max-width:880px;overflow:hidden;border:1px solid #dce6e9;border-radius:14px;background:#fff;box-shadow:0 3px 14px #1e424b0a}.flow-create-stage-head{min-height:72px;padding:14px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #e7edef;background:#fbfdfd}.flow-create-stage-head>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e8f7f9;color:#0f7180;font-size:10px;font-weight:900}.flow-create-stage-head small,.flow-create-stage-head h2{display:block;margin:0}.flow-create-stage-head small{color:#99a6aa;font-size:8px;font-weight:900;letter-spacing:.12em}.flow-create-stage-head h2{margin-top:2px;color:#24474f;font-size:15px}.flow-create-dropzone{min-height:285px;margin:22px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px dashed #b8cdd2;border-radius:12px;background:#fbfefe;color:#75898e;text-align:center;transition:.15s ease}.flow-create-dropzone:hover,.flow-create-dropzone.active{border-color:#0f7a8a;background:#f3fbfc}.flow-create-dropzone.filled{border-style:solid}.flow-create-upload-icon{width:48px;height:48px;margin-bottom:13px;display:grid;place-items:center;border-radius:13px;background:#e9f8fa;color:#0f7180;font-size:22px}.flow-create-dropzone strong{max-width:100%;color:#2c4d55;font-size:12px;word-break:break-all}.flow-create-dropzone small,.flow-create-dropzone em{display:block}.flow-create-dropzone small{margin-top:5px;color:#7c8f94;font-size:9px}.flow-create-dropzone em{margin-top:9px;color:#9ba8ac;font-size:8px;font-style:normal}.flow-create-actions{padding:14px 22px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e9eef0;background:#fbfdfd}.flow-v3-layout{display:block}.flow-v3-canvas{width:100%}.flow-v3-inspector{display:none}.flow-lane-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}.flow-lane-header-actions p{margin:0;max-width:500px;color:#829399;font-size:9px;line-height:1.55;text-align:right}.btn.compact{flex:none;padding:7px 10px;font-size:9px}.data-lane-body{min-height:270px;overflow-x:auto;overflow-y:visible}.data-source-layout{display:grid;grid-template-columns:245px 72px minmax(320px,1fr);align-items:center;width:100%;min-width:720px}.data-branch-connector{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;color:#78aeb6}.data-branch-connector span{height:2px;background:#9fd7dd}.data-branch-connector i{padding:3px 5px;border:1px solid #cce5e8;border-radius:999px;background:#fff;color:#6c979e;font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.data-group-grid{display:flex;flex-wrap:wrap;align-items:center;gap:16px;min-width:0}.data-group-node{width:230px;min-height:165px}.data-group-icon{background:#eef7f1;color:#3d7652}.add-data-node{flex:none;width:205px;min-height:155px;border:1.5px dashed #9ccbd2;border-radius:13px;background:#f6fdfef0;color:#0f7180;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.add-data-node:hover{background:#effbfc;border-color:#0f7a8a}.add-data-node>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e6f7f9;font-size:21px}.add-data-node strong{font-size:10px}.add-data-node small{color:#8ba0a5;font-size:8px}.flow-node-modal{max-height:calc(100vh - 54px);overflow:auto}.flow-node-modal-wide{width:min(860px,calc(100vw - 60px))}.modal-field-list{max-height:520px}.modal-check-list{max-height:390px}.field-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.flow-modal-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:22px;align-items:start}.preprocess-picker{margin-top:0}.flow-modal-actions{position:sticky;bottom:-22px;margin:20px -22px -22px;padding:14px 22px;border-top:1px solid #e8eef0;background:#fffffff7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-action-spacer{flex:1}@media (max-width: 1100px){.flow-lane-header{align-items:flex-start;flex-direction:column}.flow-lane-header-actions{width:100%;justify-content:space-between}.flow-lane-header-actions p{text-align:left}.flow-modal-grid{grid-template-columns:1fr}}.data-lane-side-layout{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:310px;background:#fff}.flow-stage-side-title{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:28px 14px;border-right:1px solid #e3ecee;background:#fff}.flow-stage-number{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e9f8fa;color:#0f7180;font-size:11px;font-weight:900}.flow-stage-side-title>div{text-align:center}.flow-stage-side-title small{display:block;color:#94a4a9;font-size:8px;font-weight:900;letter-spacing:.14em}.flow-stage-side-title h2{margin:4px 0 0;color:#173b43;font-size:18px}.flow-stage-main{min-width:0;background:#fbfdfe}.data-stage-toolbar{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;border-bottom:1px solid #e7eef0;background:#fff}.data-stage-toolbar p{margin:0;color:#829399;font-size:9px;line-height:1.55}.data-lane-side-layout .data-lane-body{min-height:248px;padding:28px}.data-block-grid{width:100%;display:flex;flex-wrap:wrap;align-items:stretch;gap:18px}.data-source-block-node{width:235px;min-height:180px}.data-source-block-node .flow-v3-port{display:block}.data-source-block-node .flow-v3-node-head i{background:#edf8fa;color:#0f7180}.data-source-block-node .flow-v3-node-head i:first-letter{text-transform:uppercase}.data-lane-side-layout .add-data-node{width:215px;min-height:180px}.data-upload-modal{width:min(620px,calc(100vw - 60px));max-height:calc(100vh - 54px);overflow:auto}.data-upload-intro{margin-bottom:18px;padding:13px 14px;border:1px solid #e0ecee;border-radius:11px;background:#f8fcfc}.data-upload-intro strong{display:block;color:#244c55;font-size:11px}.data-upload-intro p{margin:5px 0 0;color:#7d9197;font-size:9px;line-height:1.6}.data-block-name-field input{height:42px;font-size:11px}.data-block-upload-zone{min-height:210px;margin-top:10px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1.5px dashed #9ecbd2;border-radius:14px;background:#f9fdfd;cursor:pointer;transition:.15s ease;outline:none}.data-block-upload-zone:hover,.data-block-upload-zone.active,.data-block-upload-zone:focus-visible{border-color:#0f7a8a;background:#f1fbfc;box-shadow:0 0 0 3px #0f7a8a14}.data-block-upload-zone.filled{border-style:solid;background:#fbfefe}.data-upload-file-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:12px;border-radius:13px;background:#e5f7f9;color:#0f7180;font-size:23px;font-weight:700}.data-block-upload-zone strong{max-width:100%;color:#25464e;font-size:12px;word-break:break-word}.data-block-upload-zone span{margin-top:6px;color:#0f7180;font-size:9px;font-weight:800}.data-block-upload-zone small{max-width:430px;margin-top:8px;color:#8d9da2;font-size:8px;line-height:1.55}.data-upload-format-row{display:flex;justify-content:center;gap:8px;margin-top:12px}.data-upload-format-row span{min-width:54px;padding:5px 9px;border:1px solid #dce8ea;border-radius:999px;background:#fff;color:#688087;font-size:8px;font-weight:900;text-align:center}.data-upload-actions{bottom:-22px}.data-block-file-line{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:center;margin:0 0 13px;padding:10px 12px;border:1px solid #e6edef;border-radius:9px;background:#fbfdfd}.data-block-file-line span{color:#8a999e;font-size:8px}.data-block-file-line strong{overflow:hidden;color:#36545b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.data-lane-side-layout{grid-template-columns:1fr}.flow-stage-side-title{min-height:72px;flex-direction:row;justify-content:flex-start;padding:14px 18px;border-right:0;border-bottom:1px solid #e3ecee}.flow-stage-side-title>div{text-align:left}.data-stage-toolbar{align-items:flex-start;flex-direction:column}.data-stage-toolbar .btn{width:100%}}.flow-stage-side-layout{display:grid;grid-template-columns:136px minmax(0,1fr);min-height:310px;background:#fff}.data-stage-toolbar{display:none!important}.flow-stage-side-title{padding:30px 16px;gap:14px}.flow-stage-number{width:48px;height:48px;border-radius:14px;font-size:14px}.flow-stage-side-title small{font-size:11px;letter-spacing:.13em}.flow-stage-side-title h2{margin-top:6px;font-size:22px;line-height:1.15}.data-lane-side-layout .data-lane-body,.flow-stage-side-layout .flow-lane-body{padding:34px}.flow-v3-node{width:268px;min-height:190px;padding:18px;border-radius:15px}.data-source-block-node{width:268px;min-height:200px}.flow-v3-node-head span{font-size:11px;letter-spacing:.09em}.flow-v3-node-head i{max-width:130px;padding:5px 8px;font-size:10px}.source-node-icon,.pre-node-icon{width:44px;height:44px;margin:16px 0 12px;border-radius:11px;font-size:14px}.flow-v3-node>strong{font-size:16px;line-height:1.35}.flow-v3-node>p{margin:7px 0 11px;font-size:12px}.flow-v3-node>em{margin-top:12px;font-size:11px}.source-node-tags,.selected-field-tags{gap:6px}.source-node-tags span,.selected-field-tags code{max-width:135px;padding:4px 7px;font-size:10px}.flow-v3-port{right:-7px;width:13px;height:13px}.data-lane-side-layout .add-data-node,.add-preprocess-node{width:235px;min-height:190px;gap:9px;border-radius:15px}.add-data-node>span,.add-preprocess-node>span{width:46px;height:46px;font-size:25px}.add-data-node strong,.add-preprocess-node strong{font-size:13px}.add-data-node small,.add-preprocess-node small{font-size:11px}.project-create-modal{font-size:14px}.project-modal-head .eyebrow{font-size:12px}.project-modal-head h2{font-size:25px}.project-create-modal .field>span,.project-create-modal .check-field span{font-size:13px}.project-create-modal .field input,.project-create-modal .field select,.project-create-modal .field textarea,.field-search-input{height:44px;padding-left:13px;padding-right:13px;font-size:14px}.source-summary-cards{gap:10px;margin-bottom:16px}.source-summary-cards>div{padding:14px}.source-summary-cards span{font-size:12px}.source-summary-cards strong{margin-top:5px;font-size:22px}.data-block-file-line{grid-template-columns:110px minmax(0,1fr);padding:13px 15px}.data-block-file-line span{font-size:12px}.data-block-file-line strong{font-size:14px}.source-field-list{gap:8px;margin-top:12px}.source-field-item{grid-template-columns:minmax(0,1fr) 95px;gap:12px;padding:12px 14px;border-radius:10px}.source-field-item strong{font-size:13px}.source-field-item small{margin-top:4px;font-size:11px}.source-field-item span{font-size:12px}.flow-field-picker-head{margin-bottom:9px;font-size:13px}.flow-field-check{min-height:46px;padding:8px 12px}.flow-field-check strong{font-size:12px}.flow-field-check small{margin-top:3px;font-size:10px}.operation-config-box>strong{font-size:13px}.rename-row code{font-size:11px}.rename-row input{height:38px;font-size:12px}.btn.compact{font-size:12px}@media (max-width: 900px){.flow-stage-side-layout,.data-lane-side-layout{grid-template-columns:1fr}.flow-stage-side-title{min-height:82px;flex-direction:row;justify-content:flex-start;padding:16px 20px;border-right:0;border-bottom:1px solid #e3ecee}.flow-stage-side-title>div{text-align:left}}.flow-graph-shell{display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border:1px solid #dce7ea;border-radius:18px;background:#fff;box-shadow:0 12px 30px #1d41490d}.flow-graph-stage-rail{position:relative;min-height:1030px;border-right:1px solid #e1eaed;background:#fff}.flow-graph-stage-label{position:absolute;left:0;width:100%;display:flex;flex-direction:column;align-items:center;color:#173b43}.data-stage-label{top:46px}.preprocess-stage-label{top:570px}.flow-graph-stage-label .flow-stage-number{width:58px;height:58px;display:grid;place-items:center;margin-bottom:20px;border-radius:17px;background:#e8f8fa;color:#057080;font-size:18px;font-weight:800}.flow-graph-stage-label small{margin-bottom:7px;color:#8b9aa0;font-size:13px;font-weight:800;letter-spacing:.12em}.flow-graph-stage-label h2{margin:0;font-size:26px;line-height:1.1}.flow-graph-viewport{min-width:0;overflow:auto;background:#fbfdfe}.flow-graph-surface{position:relative;min-width:100%;overflow:hidden;background-image:linear-gradient(#eaf0f2 1px,transparent 1px),linear-gradient(90deg,#eaf0f2 1px,transparent 1px);background-size:36px 36px}.flow-graph-zone{position:absolute;left:0;right:0;pointer-events:none}.flow-graph-zone-data{top:0;height:475px;background:#ffffff26}.flow-graph-zone-preprocess{top:505px;bottom:0;background:#f8fcfd47}.flow-graph-divider{position:absolute;top:488px;left:0;right:0;height:1px;background:#dde8eb}.flow-graph-help{position:absolute;z-index:5;top:16px;right:20px;padding:7px 11px;border:1px solid #d8e7ea;border-radius:999px;background:#ffffffe6;color:#789096;font-size:12px;pointer-events:none}.graph-node,.graph-add-node{position:absolute!important;z-index:10;margin:0!important}.graph-node{width:268px!important;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.graph-node:active{cursor:grabbing}.data-source-block-node.graph-node,.preprocess-node.graph-node{height:205px;min-height:205px}.graph-add-node{width:235px;height:205px;min-height:205px}.flow-edge-layer{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.flow-edge-shadow,.flow-edge-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.flow-edge-shadow{stroke:#fffffff2;stroke-width:7px}.flow-edge-path{stroke:#24a6b6;stroke-width:2.6px}.flow-edge-preview{stroke-dasharray:8 7;opacity:.75}.flow-edge-delete{pointer-events:all;cursor:pointer}.flow-edge-delete circle{fill:#fff;stroke:#9fcbd1;stroke-width:1.5}.flow-edge-delete text{fill:#52787f;font-size:15px;font-weight:800}.flow-edge-delete:hover circle{fill:#fff1f1;stroke:#d98b8b}.flow-edge-delete:hover text{fill:#b42318}.graph-port{position:absolute;z-index:20;top:50%;width:17px;height:17px;transform:translateY(-50%);border:3px solid #fff;border-radius:50%;background:#1ea6b5;box-shadow:0 0 0 1px #65c3ce;cursor:crosshair}.graph-port-input{left:-9px}.graph-port-output{right:-9px}.graph-port:hover{width:21px;height:21px;background:#087c8c}.graph-port-output:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.graph-port-input:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.graph-node .flow-v3-port{display:none!important}@media (max-width: 900px){.flow-graph-shell{grid-template-columns:112px minmax(0,1fr)}.flow-graph-stage-label h2{font-size:21px}.flow-graph-stage-label small{font-size:10px}.flow-graph-stage-label .flow-stage-number{width:48px;height:48px;font-size:15px}}.flow-graph-shell{position:relative}.graph-port{top:auto;left:50%;right:auto;transform:translate(-50%)}.graph-port-top{top:-9px}.graph-port-bottom{bottom:-9px}.graph-port-input,.graph-port-output{left:50%;right:auto}.graph-port-top:after,.graph-port-bottom:after,.graph-port-output:after,.graph-port-input:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.flow-toolbox{position:fixed;z-index:45;left:auto;right:30px;bottom:28px;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.flow-toolbox-fab{width:58px;height:58px;display:grid;place-items:center;border:0;border-radius:50%;background:#087887;color:#fff;box-shadow:0 12px 28px #034c5747;cursor:pointer}.flow-toolbox-fab:hover{background:#056a78}.flow-toolbox-fab span{font-size:34px;font-weight:300;line-height:1;transition:transform .18s ease}.flow-toolbox-fab span.rotated{transform:rotate(45deg)}.flow-toolbox-menu{width:290px;display:grid;gap:9px;padding:10px;max-height:calc(100vh - 140px);overflow-y:auto;border:1px solid #d6e5e8;border-radius:16px;background:#fffffffa;box-shadow:0 18px 44px #1f444c2e}.flow-toolbox-item{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid #e0e9eb;border-radius:12px;background:#fff;color:#153d45;cursor:grab;-webkit-user-select:none;user-select:none}.flow-toolbox-item:hover{border-color:#7bc7d0;background:#f3fbfc}.flow-toolbox-item:active{cursor:grabbing}.flow-toolbox-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:#e9f8fa;color:#087887;font-size:17px;font-weight:800}.flow-toolbox-item div{min-width:0}.flow-toolbox-item strong{display:block;font-size:14px}.flow-toolbox-item small{display:block;margin-top:2px;color:#80959a;font-size:11px}.flow-toolbox-item em{color:#779097;font-size:10px;font-style:normal;white-space:nowrap}@media (max-width: 900px){.flow-toolbox{left:auto;right:18px;bottom:18px}.flow-toolbox-menu{width:min(290px,calc(100vw - 36px))}}.data-source-block-node.graph-node{height:205px;min-height:205px}.data-source-block-node.graph-node>p{margin-bottom:12px}.data-source-block-node.graph-node>em{margin-top:0}.node-data-status{margin-top:12px!important;padding:7px 9px;border-radius:8px;font-size:11px!important;font-weight:800}.node-data-status.waiting{background:#f5f7f8;color:#87979c!important}.node-data-status.pending{background:#fff8e8;color:#9a6b00!important}.node-data-status.ready{background:#ecfdf5;color:#08785d!important}.dataframe-input-status{display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:13px 15px;border:1px solid #dfe8ea;border-radius:11px;background:#f7f9fa;color:#71858a;font-size:13px}.dataframe-input-status strong{flex:none;color:#35555c;font-size:12px;letter-spacing:.05em}.dataframe-input-status.connected{border-color:#b9ddd2;background:#f1fbf7;color:#18715b}.dataframe-input-status.error{border-color:#efc7c7;background:#fff5f5;color:#a33a3a}.flow-modal-grid.disabled .preprocess-picker{opacity:.55}.data-source-block-node.graph-node{box-sizing:border-box;padding-bottom:16px}.data-source-block-node.graph-node .source-node-icon{margin-top:11px;margin-bottom:9px}.data-source-block-node.graph-node .data-node-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-block-node.graph-node .data-node-stats{max-width:100%;margin:5px 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-block-node.graph-node .data-node-file{display:block;max-width:100%;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-details-actions{position:sticky;bottom:-22px;z-index:3;margin:18px -22px -22px;padding:14px 22px;border-top:1px solid #e6edef;background:#fffffffa}.data-details-actions .btn.danger{min-width:128px}.flow-graph-stage-rail{min-height:0;height:min(780px,calc(100vh - 205px))}.flow-graph-viewport{height:min(780px,calc(100vh - 205px));min-height:560px;overflow:auto;cursor:grab;overscroll-behavior:contain;scrollbar-gutter:stable}.flow-graph-viewport.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.flow-graph-surface{min-height:1700px}.flow-graph-zone-preprocess{top:505px;bottom:0}@media (max-width: 900px){.flow-graph-stage-rail,.flow-graph-viewport{height:min(720px,calc(100vh - 170px));min-height:520px}}.flow-graph-shell.unified-flow-canvas{display:block;grid-template-columns:none}.unified-flow-canvas .flow-graph-viewport{width:100%}.unified-flow-canvas .flow-graph-surface{min-width:100%;background-color:#fbfdfe}.unified-flow-canvas .flow-graph-stage-rail,.unified-flow-canvas .flow-graph-zone,.unified-flow-canvas .flow-graph-divider{display:none!important}@media (max-width: 900px){.flow-graph-shell.unified-flow-canvas{display:block}}.unified-flow-canvas .flow-graph-surface{min-width:100%;min-height:100%}.flow-modal-grid.custom-code-mode{grid-template-columns:minmax(0,1fr)}.custom-code-box{margin-top:14px;padding:14px}.custom-code-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.custom-code-head>div{min-width:0}.custom-code-head strong{display:block;margin-bottom:4px;font-size:14px;color:#334b50}.custom-code-head small{display:block;color:#71858a;font-size:12px;line-height:1.55}.python-code-editor{width:100%;min-height:430px;resize:vertical;border:1px solid #ccdadd;border-radius:10px;padding:14px 16px;background:#162126;color:#e8f1f2;font-family:Consolas,SFMono-Regular,Menlo,Monaco,monospace;font-size:13px;line-height:1.6;-moz-tab-size:4;tab-size:4;white-space:pre;overflow:auto}.python-code-editor:focus{outline:2px solid rgba(52,119,130,.18);border-color:#6a9da5}.python-code-editor:disabled{opacity:.62;cursor:not-allowed}.code-editor-error{display:block;margin-top:8px;color:#b34747;font-size:12px}.two-column-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.operation-config-box.two-column-config{display:grid}.check-inline{display:flex;align-items:center;gap:9px;min-height:36px;color:#536a70;font-size:13px;font-weight:700}.check-inline input{width:16px;height:16px;accent-color:#0f7a8a}.config-list-head,.derive-recipe-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px}.config-list-head>span,.derive-recipe-head>strong{color:#526c72;font-size:13px;font-weight:800}.btn.tiny{min-height:30px;padding:5px 10px;font-size:12px;border-radius:8px}.config-rule-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(120px,.8fr) 32px;gap:8px;align-items:center;margin-top:8px}.config-rule-row input,.config-rule-row select,.derive-recipe-card input,.derive-recipe-card select{width:100%;min-height:36px;border:1px solid #d8e4e7;border-radius:8px;background:#fff;padding:7px 9px;font-size:13px}.icon-remove{width:30px;height:30px;border:1px solid #e4c9c9;border-radius:50%;background:#fff;color:#a85757;cursor:pointer;font-size:17px;line-height:1}.icon-remove:hover{background:#fff5f5}.derive-config-box{max-height:560px;overflow:auto}.derive-recipe-card{margin-top:10px;padding:12px;border:1px solid #dfeaec;border-radius:10px;background:#fff}.derive-recipe-card .field{margin-top:10px}.standard-empty-fields-hint{display:block;margin:8px 0 0;color:#7d8e93;font-size:12px}@media (max-width: 760px){.two-column-config,.config-rule-row{grid-template-columns:1fr}.config-rule-row .icon-remove{justify-self:end}}.graph-port{top:50%;bottom:auto;transform:translateY(-50%)}.graph-port-input,.graph-port-left{left:-9px;right:auto}.graph-port-output,.graph-port-right{left:auto;right:-9px}.graph-port-left:after,.graph-port-right:after,.graph-port-input:after,.graph-port-output:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.unified-flow-canvas .flow-graph-surface{min-height:100%}.unified-flow-canvas .flow-graph-viewport{overflow-x:auto;overflow-y:auto}.preprocess-node.graph-node .merge-input-port{left:-9px;right:auto}.preprocess-node.graph-node .merge-input-a{top:36%}.preprocess-node.graph-node .merge-input-b{top:64%}.preprocess-node.graph-node .merge-input-port.connected{background:#087c8c;box-shadow:0 0 0 1px #4bb8c4,0 0 0 5px #4bb8c421}.merge-port-label{position:absolute;left:12px;z-index:11;color:#6f878d;font-size:10px;font-weight:900;pointer-events:none}.merge-port-label-a{top:calc(36% - 7px)}.merge-port-label-b{top:calc(64% - 7px)}.merge-toolbox-item .flow-toolbox-icon{font-size:13px;letter-spacing:-1px}.merge-input-summary{margin:0 0 20px;padding:14px 15px;border:1px solid #dce9eb;border-radius:12px;background:#f8fbfb}.merge-input-summary-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:11px;color:#526f76;font-size:12px}.merge-input-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.merge-input-summary-grid article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px dashed #c9d9dc;border-radius:10px;background:#fff;color:#87989c;font-size:12px}.merge-input-summary-grid article.connected{border-style:solid;border-color:#bfe6d8;background:#effbf6;color:#17745f}.merge-config-box{min-height:210px}@media (max-width:760px){.merge-input-summary-grid{grid-template-columns:1fr}}.flow-graph-shell.unified-flow-canvas{position:relative}.flow-graph-zoom-spacer{position:relative;flex:none;overflow:hidden}.unified-flow-canvas .flow-graph-surface{min-width:0;min-height:0;will-change:transform}.flow-zoom-controls{position:absolute;z-index:50;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:0;padding:4px;border:1px solid #d4e3e6;border-radius:12px;background:#fffffff5;box-shadow:0 5px 18px #2b4b521f}.flow-zoom-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:#45666e;font-size:19px;font-weight:800;cursor:pointer}.flow-zoom-controls button:hover:not(:disabled){background:#eef8f9;color:#087887}.flow-zoom-controls button:disabled{opacity:.35;cursor:default}.flow-zoom-controls .flow-zoom-value{min-width:58px;color:#60777d;font-size:12px;border-radius:7px}.config-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.config-section-header strong{display:block;color:#526c72;font-size:13px;margin-bottom:3px}.replace-rule-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}.replace-arrow{align-self:center;padding-top:18px;color:#6b7f89;font-weight:800}.replace-rule-row .icon-action{align-self:end;margin-bottom:2px}@media (max-width:760px){.replace-rule-row{grid-template-columns:1fr auto 1fr}.replace-rule-row .icon-action{grid-column:3;justify-self:end}}.training-toolbox-item{border-color:#b9c7ef;background:#f8f9ff}.training-toolbox-item:hover{border-color:#7f95db;background:#f2f4ff}.training-toolbox-item .flow-toolbox-icon{background:#edf0ff;color:#5169b0;font-weight:800}.model-training-config-box{border-color:#cfd7f2;background:#fafbff}.training-feature-picker{margin-top:14px;padding:12px;border:1px solid #dce3f4;border-radius:12px;background:#fff}.model-feature-list{max-height:220px;overflow:auto}.training-result-card{margin-top:14px;padding:12px 14px;display:grid;gap:5px;border:1px solid #add8c4;border-radius:12px;background:#f1fbf6}.training-result-card strong{color:#167252}.training-result-card span{color:#49665b;font-size:12px}.training-result-card code{margin-top:3px;white-space:pre-wrap;color:#315346}.training-run-button{background:#425ca8;border-color:#425ca8}.training-run-button:hover{background:#354b8d;border-color:#354b8d}.flow-toolbox-actions{display:inline-flex;align-items:center;gap:10px}.flow-training-run-fab{width:58px;height:58px;display:grid;place-items:center;border:1px solid #afbee7;border-radius:50%;background:#526bb3;color:#fff;box-shadow:0 12px 28px #40529140;cursor:pointer}.flow-training-run-fab:hover:not(:disabled){background:#435b9f}.flow-training-run-fab:disabled{opacity:.58;cursor:wait}.flow-training-run-fab span{display:block;margin-left:3px;font-size:24px;line-height:1}.flow-training-run-fab.running span{margin-left:0;letter-spacing:2px;animation:training-flow-pulse 1s ease-in-out infinite}@keyframes training-flow-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.training-execution-banner{position:absolute;z-index:45;top:16px;left:18px;display:flex;align-items:center;gap:10px;min-width:255px;max-width:420px;padding:10px 13px;border:1px solid #b9dfe4;border-radius:12px;background:#fffffff5;box-shadow:0 5px 18px #2b4b521a;color:#355b63;pointer-events:none}.training-execution-banner>div{min-width:0;display:flex;flex-direction:column;gap:2px}.training-execution-banner strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.training-execution-banner small{color:#82969b;font-size:10px}.training-execution-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#1b9aaa;box-shadow:0 0 0 5px #1b9aaa1f}.training-execution-banner.status-running .training-execution-dot,.training-execution-banner.status-queued .training-execution-dot{animation:training-execution-pulse 1.1s ease-in-out infinite}.training-execution-banner.status-success{border-color:#b8decf;background:#f7fdfaf7}.training-execution-banner.status-success .training-execution-dot{background:#2d8d70;box-shadow:0 0 0 5px #2d8d701c}.training-execution-banner.status-failed,.training-execution-banner.status-partial_failed{border-color:#efc2c2;background:#fff9f9f7}.training-execution-banner.status-failed .training-execution-dot,.training-execution-banner.status-partial_failed .training-execution-dot{background:#c84f4f;box-shadow:0 0 0 5px #c84f4f1a}.graph-node.execution-pending{opacity:.74}.graph-node.execution-running{z-index:18;border-color:#168b9a!important;box-shadow:0 0 0 4px #168b9a24,0 12px 28px #168b9a29!important;animation:training-node-pulse 1.05s ease-in-out infinite}.graph-node.execution-success{border-color:#74bca6!important;box-shadow:0 0 0 2px #3e977a14,0 7px 16px #173c430f!important}.graph-node.execution-failed{border-color:#d36a6a!important;box-shadow:0 0 0 3px #d36a6a1c,0 8px 20px #702a2a17!important}.graph-node.execution-skipped{opacity:.48;filter:grayscale(.25)}.node-execution-badge{position:absolute;z-index:24;top:52px;right:14px;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:22px;padding:0 7px;border-radius:999px;border:1px solid #d8e4e6;background:#f5f8f9;color:#789096;font-size:9px;font-weight:900;letter-spacing:.02em;pointer-events:none}.node-execution-badge.status-running{border-color:#8ed0d8;background:#eaf9fb;color:#087887}.node-execution-badge.status-success{border-color:#b6ddcf;background:#eef9f4;color:#237a60}.node-execution-badge.status-failed{border-color:#efbcbc;background:#fff0f0;color:#b83f3f}.node-execution-badge.status-skipped{border-color:#d7dcde;background:#f3f4f5;color:#939da0}.node-execution-badge.status-pending{border-color:#dce5e7;background:#f7f9fa;color:#8b9a9e}@keyframes training-node-pulse{0%,to{box-shadow:0 0 0 3px #168b9a1c,0 10px 24px #168b9a1c}50%{box-shadow:0 0 0 7px #168b9a29,0 14px 30px #168b9a2e}}@keyframes training-execution-pulse{0%,to{transform:scale(.92);opacity:.72}50%{transform:scale(1.12);opacity:1}}.prediction-toolbox-item .flow-toolbox-icon,.prediction-output-toolbox-item .flow-toolbox-icon{font-weight:800}.prediction-model-list{display:grid;gap:8px;margin-top:12px}.prediction-model-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line, #d9e2ec);border-radius:10px;background:#ffffffb8}.prediction-model-option input{margin-top:3px}.prediction-model-option span{display:grid;gap:2px;min-width:0}.prediction-model-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prediction-result-preview{margin:14px 0 4px;border:1px solid var(--line, #d9e2ec);border-radius:12px;overflow:hidden;background:#fff}.prediction-result-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line, #d9e2ec)}.prediction-result-table-wrap{overflow:auto;max-width:100%}.prediction-result-table-wrap table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.prediction-result-table-wrap th,.prediction-result-table-wrap td{padding:9px 11px;border-right:1px solid var(--line, #e5ebf1);border-bottom:1px solid var(--line, #e5ebf1);text-align:left;white-space:nowrap}.prediction-result-table-wrap th{position:sticky;top:0;background:#f7fafc;font-weight:700}.flow-v3-node.preprocess-node.field-invalid-node{border:2px solid #dc2626;background:#fff7f7;box-shadow:0 0 0 4px #dc26261a,0 10px 24px #7f1d1d1f}.flow-v3-node.preprocess-node.field-invalid-node:hover{border-color:#b91c1c}.flow-v3-node .node-data-status.field-invalid-status{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:6px 8px;font-weight:800;line-height:1.35}.flow-field-warning-banner{margin:14px 0 18px;padding:14px 18px;display:flex;align-items:center;gap:14px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#991b1b}.flow-field-warning-banner strong{flex:none;font-size:15px}.flow-field-warning-banner span{font-size:14px;line-height:1.5}.sidebar{width:300px;padding:22px 18px 20px}.main-content{margin-left:300px}.chiller-brand{gap:15px;padding:0 8px 24px}.chiller-brand .brand-mark{width:56px;height:56px;border-radius:16px;font-size:24px}.chiller-brand strong{font-size:21px;line-height:1.25;letter-spacing:.01em}.chiller-brand span{margin-top:4px;font-size:13px;line-height:1.3;letter-spacing:.08em}.sidebar-section-label,.sidebar-workflow-label{padding:22px 12px 10px;color:#80a8b3;font-size:14px;font-weight:800;letter-spacing:.12em}.root-nav-list{margin-bottom:10px}.root-nav-item{min-height:66px;padding:12px 16px;border-radius:13px;gap:14px}.root-nav-item .nav-icon{width:24px;font-size:18px}.root-nav-copy strong{font-size:19px;line-height:1.2}.root-nav-copy small{margin-top:4px;font-size:13px;line-height:1.3}.sidebar-project-workflow{margin-top:4px}.project-workflow-nav{display:flex;flex-direction:column;gap:8px}.workflow-nav-item{min-height:58px;padding:11px 14px;border-radius:12px;gap:12px;color:#cfe8ee}.workflow-nav-item:hover{background:#7dd3fc1a}.workflow-nav-item:disabled,.workflow-nav-item.locked{opacity:.42;cursor:not-allowed}.workflow-nav-item:disabled:hover,.workflow-nav-item.locked:hover{background:transparent}.workflow-nav-item:disabled .workflow-step-number,.workflow-nav-item.locked .workflow-step-number{color:#6f929b}.workflow-nav-item.active{background:#67e8f924;color:#fff;box-shadow:inset 4px 0 #67e8f9}.workflow-step-number{width:30px;flex:none;color:#9beaf2;text-align:center;font-size:18px;font-weight:800;line-height:1}.workflow-nav-text{min-width:0;font-size:17px;font-weight:700;line-height:1.45}.sidebar-no-project{margin:16px 4px;padding:16px;border-radius:12px}.sidebar-no-project span{font-size:15px}.sidebar-no-project small{margin-top:7px;font-size:13px;line-height:1.6}.sidebar-footer-copy{padding:18px 12px 12px}.sidebar-footer-copy span{font-size:14px}.sidebar-footer-copy small{margin-top:6px;font-size:13px}.sidebar-refresh{min-height:52px;padding:12px 14px;border-radius:12px;font-size:16px}.sidebar-refresh>span:first-child{margin-right:5px;font-size:18px}.sidebar-collapse-toggle{top:25px;right:-17px;width:36px;height:36px;font-size:24px}.sidebar.collapsed .sidebar-collapse-toggle{top:50%;transform:translateY(-50%)}.sidebar.collapsed{width:88px;padding-left:12px;padding-right:12px}.sidebar.collapsed .chiller-brand{padding-bottom:22px}.sidebar.collapsed .chiller-brand .brand-mark{width:54px;height:54px}.sidebar.collapsed .root-nav-item,.sidebar.collapsed .workflow-nav-item,.sidebar.collapsed .sidebar-refresh{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-project-workflow{margin-top:12px}.sidebar.collapsed .project-workflow-nav{gap:8px}.sidebar.collapsed .workflow-nav-item{min-height:50px}.sidebar.collapsed .workflow-step-number{width:auto;font-size:19px}.sidebar.collapsed .sidebar-refresh>span:first-child{margin-right:0}.app-shell.sidebar-collapsed .main-content{margin-left:88px}.project-manager-page{max-width:1560px}.project-manager-page .project-manager-header{margin-bottom:32px}.project-manager-page .eyebrow{margin-bottom:10px;font-size:14px;letter-spacing:.15em}.project-manager-page .page-title-row h1{font-size:38px;line-height:1.2}.project-manager-page .subtitle{max-width:900px;margin-top:12px;font-size:17px;line-height:1.65}.project-manager-actions{gap:14px}.project-manager-top-button,.project-create-button{min-width:138px;height:52px;padding:0 20px;border-radius:11px;font-size:16px}.project-create-button{min-width:150px}.project-create-button>span{font-size:23px}.project-list-panel{margin-top:28px;border-radius:16px}.project-list-toolbar{min-height:76px;padding:0 26px}.project-list-toolbar>div{gap:12px}.project-list-toolbar strong{font-size:17px}.project-list-toolbar span{font-size:14px}.project-list-table{min-width:1180px}.project-list-table th,.project-list-table td{padding:18px 22px}.project-list-table th{font-size:14px;letter-spacing:.035em}.project-list-table th:nth-child(1){width:27%}.project-list-table th:nth-child(2){width:18%}.project-list-table th:nth-child(3){width:11%}.project-list-table th:nth-child(4){width:24%}.project-list-table th:nth-child(5){width:20%}.project-name-link{gap:14px}.project-list-icon{width:46px;height:46px;border-radius:12px;font-size:20px}.project-name-link strong{font-size:16px;line-height:1.35}.project-name-link small{margin-top:5px;font-size:13px}.project-id-code{padding:7px 10px;border-radius:8px;font-size:13px;line-height:1.4}.project-list-status{gap:8px;font-size:14px}.project-list-status i{width:9px;height:9px}.project-description-text{font-size:14px;line-height:1.6}.project-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}.project-open-button,.project-delete-button{min-height:46px;padding:0 15px;border-radius:10px;font-size:15px}.project-open-button>span{font-size:21px}.project-delete-button{min-width:78px;border:1px solid #fecaca;background:#fff;color:#b91c1c;font-weight:800}.project-delete-button:hover:not(:disabled){border-color:#fca5a5;background:#fef2f2;color:#991b1b}.project-list-empty strong{font-size:18px}.project-list-empty p{margin:10px 0 20px;font-size:15px;line-height:1.6}.empty-project-icon{width:62px;height:62px;font-size:26px}.project-list-table{min-width:900px}.project-list-table th:nth-child(1){width:34%}.project-list-table th:nth-child(2){width:25%}.project-list-table th:nth-child(3){width:13%}.project-list-table th:nth-child(4){width:28%}.project-id-code{display:inline-block;width:min(100%,260px);max-width:100%;overflow:hidden;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap}.project-action-column{white-space:nowrap}.flow-field-picker-head-actions{display:flex;align-items:center;gap:10px}.field-picker-bulk-btn{min-height:32px;padding:5px 12px;border:1px solid #b8d6da;border-radius:8px;background:#f1fbfb;color:#0f7180;font-size:12px;font-weight:800;cursor:pointer}.field-picker-bulk-btn:hover:not(:disabled){background:#e7f6f7}.field-picker-reset-btn{border-color:#d6dee3;background:#fff;color:#50656d}.field-picker-reset-btn:hover:not(:disabled){background:#f5f8f9}.field-picker-bulk-btn:disabled{opacity:.45;cursor:not-allowed}.flow-preprocessing-run-fab{width:58px;height:58px;display:grid;place-items:center;border:1px solid #8fcbd2;border-radius:50%;background:#0b7c89;color:#fff;box-shadow:0 12px 28px #034c573d;cursor:pointer}.flow-preprocessing-run-fab:hover:not(:disabled){background:#086a75}.flow-preprocessing-run-fab:disabled{opacity:.58;cursor:wait}.flow-preprocessing-run-fab span{display:block;margin-left:3px;font-size:24px;line-height:1}.flow-preprocessing-run-fab.running span{margin-left:0;letter-spacing:2px;animation:training-flow-pulse 1s ease-in-out infinite}.preprocessing-result-download-node-action{position:absolute;z-index:32;min-width:124px;height:34px;padding:0 12px;border:1px solid #9dcfc0;border-radius:9px;background:#eff9f5;color:#24755f;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #1e6e581a}.preprocessing-result-download-node-action:hover:not(:disabled){background:#e4f5ee}.preprocessing-result-download-node-action:disabled{opacity:.65;cursor:wait}.preprocessing-result-modal-download{margin-top:12px;width:fit-content}.preprocess-field-filter-row{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:10px;align-items:center}.preprocess-field-filter-row .field-search-input{min-width:0;width:100%}.preprocess-field-category-select{width:100%;min-width:0;min-height:48px;padding:0 36px 0 14px;border:1px solid #d9e3e7;border-radius:10px;background:#fff;color:#405a61;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.preprocess-field-category-select:focus{outline:none;border-color:#8fcbd2;box-shadow:0 0 0 3px #0f7a8a1a}.preprocess-field-category-select:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 760px){.preprocess-field-filter-row{grid-template-columns:1fr}}.derive-recipe-card{cursor:default;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.derive-recipe-card.active{border-color:#8fc8cf;background:#fbfefe;box-shadow:0 0 0 2px #0f7a8a12}.derive-recipe-head{justify-content:flex-start}.derive-recipe-head .icon-remove{margin-left:auto}.derive-active-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#e9f7f8;color:#0f7180;font-size:11px;font-weight:800}.derive-input-fields{margin-top:12px;padding:12px;border:1px solid #e0eaec;border-radius:10px;background:#f8fbfc}.derive-input-fields-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}.derive-input-fields-head>div{min-width:0}.derive-input-fields-head strong{display:block;color:#526c72;font-size:13px;font-weight:800}.derive-input-fields-head small{display:block;margin-top:3px;color:#829297;font-size:11px;line-height:1.45}.derive-input-field-row{display:grid;grid-template-columns:74px minmax(0,1fr) 30px;gap:8px;align-items:center;margin-top:8px}.derive-input-field-row:first-of-type{margin-top:0}.derive-input-order{color:#647b81;font-size:12px;font-weight:800;white-space:nowrap}.derive-field-remove{width:28px;height:28px}.derive-input-fields select,.derive-input-fields .derive-searchable-field{min-width:0;width:100%}@media (max-width: 760px){.derive-input-field-row{grid-template-columns:1fr 30px}.derive-input-order{grid-column:1 / -1}}.project-list-table.management-list-table{width:100%;min-width:760px;max-width:none;table-layout:fixed}.project-list-table.management-list-table th:nth-child(1){width:40%}.project-list-table.management-list-table th:nth-child(2){width:30%}.project-list-table.management-list-table th:nth-child(3){width:20%}.project-list-table.management-list-table th:nth-child(4){width:10%}.project-list-table.management-list-table .project-action-column{position:relative;padding-left:10px;padding-right:18px;text-align:center!important}.project-updated-time{color:#61757b;font-size:14px;font-weight:600;white-space:nowrap}.project-action-menu{position:relative;display:inline-flex;justify-content:center}.project-action-menu-trigger{width:40px;height:40px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#43545b;cursor:pointer;font-family:Arial,sans-serif;font-size:27px;font-weight:700;line-height:1;transition:background .16s ease,color .16s ease}.project-action-menu-trigger:hover:not(:disabled),.project-action-menu-trigger[aria-expanded=true]{background:#eef3f4;color:#1f343a}.project-action-menu-trigger:disabled{opacity:.55;cursor:wait}.project-action-spinner{width:18px;height:18px;margin:0}.project-action-menu-popover{position:fixed;z-index:2000;width:190px;padding:6px;border:1px solid #dfe6e8;border-radius:10px;background:#fff;box-shadow:0 10px 28px #20343a29;text-align:left}.project-action-menu-popover button{width:100%;min-height:42px;padding:8px 12px;border:0;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;background:transparent;color:#2f4248;cursor:pointer;font-size:14px;font-weight:700;text-align:left}.project-action-menu-popover button:hover{background:#f2f5f6}.project-action-menu-popover button small{color:#8a9a9f;font-size:11px;font-weight:600}.project-action-menu-divider{height:1px;margin:5px 4px;background:#e9eef0}.project-action-menu-popover button.danger{color:#c62828}.project-action-menu-popover button.danger:hover{background:#fff1f1}.project-rename-modal{width:min(520px,calc(100vw - 60px))}.project-rename-modal .project-modal-head .eyebrow{margin:0 0 5px}.project-rename-field>span{display:block;margin-bottom:7px;color:#536d74;font-size:10px;font-weight:800}.project-rename-field input{width:100%;height:44px;padding:0 12px;border:1px solid #dce5e8;border-radius:9px;outline:none;color:#28464e;background:#fff;font-size:12px}.project-rename-field input:focus{border-color:#65b9c4;box-shadow:0 0 0 3px #0f7a8a14}.project-rename-actions{justify-content:flex-end;margin-top:20px}.project-rename-actions .btn{min-width:96px}.project-selector-nav{position:relative}.project-selector-copy{flex:1;overflow:hidden}.project-selector-copy strong,.project-selector-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector-chevron{width:22px;flex:none;color:#9beaf2;font-size:22px;line-height:1;text-align:center;transition:transform .18s ease;transform:rotate(0)}.project-selector-chevron.open{transform:rotate(180deg)}.project-dropdown{margin:-2px 0 8px;padding:8px 8px 10px;border:1px solid rgba(125,211,252,.13);border-top:0;border-radius:0 0 13px 13px;background:#032a3557}.project-dropdown-manager{min-height:42px;padding:8px 12px;gap:10px;color:#b8d7df;font-size:14px;font-weight:700}.project-dropdown-manager-icon{width:24px;color:#9beaf2;text-align:center;font-size:16px}.project-dropdown-label{padding:12px 12px 6px;color:#80a8b3;font-size:12px;font-weight:800;letter-spacing:.1em}.project-dropdown .project-workflow-nav{gap:4px}.project-dropdown .workflow-nav-item{min-height:48px;padding-top:8px;padding-bottom:8px}.sidebar.collapsed .project-dropdown{margin-top:4px;padding:6px 0 8px;border-left:0;border-right:0;background:transparent}.sidebar.collapsed .project-dropdown .workflow-nav-item{min-height:46px}.management-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-top:1px solid #e4ecee;color:#789099;font-size:13px}.management-pagination-actions{display:flex;align-items:center;gap:10px}.management-pagination-actions strong{min-width:92px;text-align:center;color:#31535d;font-size:13px}.management-pagination-actions .btn{min-width:78px}@media (max-width: 760px){.management-pagination{align-items:flex-start;flex-direction:column}}.project-list-table.management-list-table th,.project-list-table.management-list-table td{min-width:0;overflow:hidden}.project-list-table.management-list-table .project-name-link{width:100%;min-width:0}.project-list-table.management-list-table .project-name-link>span:last-child{flex:1 1 auto;min-width:0;overflow:hidden}.project-list-table.management-list-table .project-name-link strong,.project-list-table.management-list-table .project-name-link small,.project-list-table.management-list-table .project-id-code,.project-list-table.management-list-table .visualization-source-cell strong,.project-list-table.management-list-table .visualization-source-cell span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-table.management-list-table .project-name-link small,.project-list-table.management-list-table .project-id-code{display:block}.project-list-table.management-list-table .visualization-source-cell{width:100%;max-width:100%;min-width:0;overflow:hidden}.preprocess-node.graph-node.training-result-node{height:205px;min-height:205px}.training-node-result-summary{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:7px;padding:8px 10px;border:1px solid #b8decf;border-radius:10px;background:#f2fbf7;pointer-events:none}.training-node-result-summary>strong{color:#237a60;font-size:11px;font-weight:900;letter-spacing:.04em}.training-result-side-panel{min-width:0;align-self:start}.training-result-card-side{margin-top:0;min-height:190px;padding:18px 20px;gap:10px}.training-result-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:2px}.training-result-side-head>div{display:grid;gap:4px}.training-result-side-head>b{flex:0 0 auto;color:#3f6f60;font-size:13px;font-weight:700}.training-result-kicker{color:#6b8c83;font-size:10px;font-weight:800;letter-spacing:.14em}.training-result-card-side>span{overflow-wrap:anywhere;line-height:1.55}.training-result-side-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.training-result-side-metrics>div{min-width:0;padding:10px 8px;display:grid;gap:3px;text-align:center;border-radius:10px;background:#ffffffbd}.training-result-side-metrics small{color:#668077;font-size:10px;font-weight:800}.training-result-side-metrics strong{overflow:hidden;text-overflow:ellipsis;color:#315346;font-size:13px;white-space:nowrap}.training-result-empty-card{min-height:190px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;border:1px dashed #cbd8dc;border-radius:14px;background:#f8fbfc}.training-result-empty-card strong{color:#405c63;font-size:16px}.training-result-empty-card p{margin:0;max-width:360px;color:#7b9096;font-size:12px;line-height:1.65}@media (max-width: 1100px){.training-result-side-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.training-source-head{flex:none;margin-bottom:12px;padding-bottom:12px}.training-source-meta-row{flex:none;display:grid;grid-template-columns:minmax(280px,1fr) 110px 130px 100px;align-items:center;gap:0;margin-bottom:14px;border:1px solid #e3ebed;border-radius:10px;background:#fbfdfd;overflow:hidden}.training-source-meta-row>div{min-width:0;padding:9px 14px;border-left:1px solid #e8eef0}.training-source-meta-row>div:first-child{border-left:0}.training-source-meta-row span,.training-source-meta-row strong{display:block}.training-source-meta-row span{color:#91a0a5;font-size:11px}.training-source-meta-row strong{margin-top:2px;color:#31535b;font-size:13px;line-height:1.35}.training-source-meta-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-source-body{min-height:0;flex:1;display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(360px,.82fr);gap:18px;align-items:stretch}.dataset-split-panel,.training-source-fields-panel{min-width:0;min-height:0;border:1px solid #e2eaec;border-radius:12px;background:#fff}.dataset-split-panel{padding:18px;overflow:auto}.dataset-split-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.dataset-split-title strong,.dataset-split-title span{display:block}.dataset-split-title strong{margin-top:3px;color:#244850;font-size:16px}.dataset-split-ready{padding:5px 9px;border-radius:999px;background:#eaf8f2;color:#277253;font-size:11px;font-weight:800}.dataset-split-mode-select{margin:0 0 14px!important}.dataset-split-mode-select .field-help{margin-top:7px;line-height:1.55}.dataset-split-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dataset-split-mode{min-width:0;display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #dfe9eb;border-radius:10px;background:#fbfdfd;cursor:pointer}.dataset-split-mode.active{border-color:#6ab7c2;background:#f2fbfc;box-shadow:0 0 0 2px #0f7a8a0f}.dataset-split-mode input{margin-top:3px;accent-color:#0f7a8a}.dataset-split-mode span,.dataset-split-mode strong,.dataset-split-mode small{display:block}.dataset-split-mode strong{color:#315159;font-size:12px}.dataset-split-mode small{margin-top:4px;color:#8b9a9f;font-size:10px;line-height:1.5}.split-time-field{margin-top:13px;margin-bottom:13px!important}.dataset-ratio-head{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#536d74}.dataset-ratio-head strong{font-size:12px}.dataset-ratio-head span{color:#97a4a8;font-size:10px}.dataset-ratio-slider{width:100%;margin:11px 0 9px;accent-color:#0f7a8a}.dataset-ratio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dataset-ratio-grid>label{padding:10px 12px;border:1px solid #e2eaec;border-radius:9px;background:#fbfdfd}.dataset-ratio-grid>label>span{display:block;margin-bottom:6px;color:#71858b;font-size:10px;font-weight:700}.dataset-ratio-grid>label>div{display:flex;align-items:center;gap:6px}.dataset-ratio-grid input{width:86px;height:36px;border:1px solid #dbe6e8;border-radius:8px;padding:0 10px;color:#174f5a;font-size:16px;font-weight:800;outline:none}.dataset-ratio-grid b{color:#7b8f95;font-size:12px}.dataset-split-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.dataset-split-result>div{padding:10px 12px;border-radius:9px;background:#f2f9fa}.dataset-split-result span,.dataset-split-result strong{display:block}.dataset-split-result span{color:#789097;font-size:10px}.dataset-split-result strong{margin-top:3px;color:#0f7180;font-size:14px}.dataset-split-hint{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:#f7fafb;color:#7d8f95;font-size:10px;line-height:1.55}.dataset-split-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.training-source-fields-panel{display:flex;flex-direction:column;overflow:hidden;padding:14px}.training-source-fields-head{flex:none;display:grid;grid-template-columns:auto minmax(240px,1fr);gap:14px;align-items:center;margin-bottom:10px}.training-source-fields-head>div{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.training-source-fields-head strong{color:#35555d;font-size:13px}.training-source-fields-head span{color:#93a1a5;font-size:10px}.training-source-field-list{flex:1;min-height:0;max-height:none!important;margin-top:0;overflow-y:auto;padding-right:4px}.training-source-footer{flex:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid #e8eef0;background:#fff}@media (max-width: 1050px){.training-source-meta-row{grid-template-columns:minmax(220px,1fr) 90px 110px 80px}.training-source-body{grid-template-columns:minmax(420px,1.1fr) minmax(320px,.9fr)}}.training-preprocess-head{align-items:flex-start}.training-preprocess-title-edit{width:min(560px,calc(100% - 72px))}.training-preprocess-title-edit label{display:grid;gap:7px}.training-preprocess-title-edit label>span{color:#173b43;font-size:20px;font-weight:800}.training-preprocess-title-edit input{width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;border:1px solid #d8e3e6;border-radius:11px;background:#fff;color:#173b43;font:inherit;font-size:18px;font-weight:700;outline:none}.training-preprocess-title-edit input:focus{border-color:#2b9eb2;box-shadow:0 0 0 3px #2b9eb21a}.dataframe-status-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:20px}.dataframe-status-row .dataframe-input-status{margin:0;min-width:0;justify-content:space-between}.dataframe-status-copy{min-width:0;display:flex;align-items:center;gap:12px}.dataframe-status-copy>span{min-width:0}.dataframe-download-button{flex:none;white-space:nowrap;min-height:34px;padding:7px 11px}.dataframe-input-status.disabled{background:#f7f9fa;border-color:#dfe8ea;color:#9aabad}@media (max-width: 900px){.dataframe-status-row{grid-template-columns:1fr}}.optimization-source-head{flex:none;margin-bottom:14px;padding-bottom:14px}.optimization-source-meta-row{flex:none;display:grid;grid-template-columns:minmax(320px,1fr) 110px 130px 90px;align-items:stretch;margin-bottom:14px;border:1px solid #dfe8ea;border-radius:12px;overflow:hidden;background:#fbfdfd}.optimization-source-meta-row>div{min-width:0;padding:9px 14px;border-left:1px solid #e6edef}.optimization-source-meta-row>div:first-child{border-left:0}.optimization-source-meta-row span,.optimization-source-meta-row strong{display:block}.optimization-source-meta-row span{margin-bottom:2px;color:#8ea0a5;font-size:10px;line-height:1.2}.optimization-source-meta-row strong{overflow:hidden;color:#36565e;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.optimization-source-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.optimization-source-fields-panel,.optimization-source-picker-panel{min-height:0;border:1px solid #dfe8ea;border-radius:14px;background:#fff}.optimization-source-fields-panel{display:flex;flex-direction:column;padding:16px;overflow:hidden}.optimization-source-fields-head{flex:none;display:grid;grid-template-columns:auto minmax(260px,1fr);align-items:center;gap:14px;margin-bottom:12px}.optimization-source-fields-head>div{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.optimization-source-fields-head strong{color:#35555d;font-size:13px}.optimization-source-fields-head span{color:#93a1a5;font-size:10px}.optimization-source-fields-head .field-search-input{margin:0}.optimization-source-field-list{flex:1;min-height:0;max-height:none!important;margin:0;overflow-y:auto;padding-right:4px}.optimization-source-picker-panel{display:flex;flex-direction:column;padding:18px;overflow:hidden}.optimization-source-picker-panel h3{margin:0 0 18px;color:#173b43;font-size:16px}.optimization-source-select-row{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px}.optimization-source-select-row>span{color:#60777d;font-size:12px;font-weight:700}.optimization-source-select-row select{width:100%;min-height:46px;padding:0 12px;border:1px solid #d9e4e7;border-radius:11px;background:#fff;color:#34545c;font:inherit;outline:none}.optimization-source-select-row select:focus{border-color:#2b9eb2;box-shadow:0 0 0 3px #2b9eb21a}.optimization-source-choice-card,.optimization-upload-card{margin-top:16px;padding:14px;border:1px solid #e0e9eb;border-radius:12px;background:#f9fcfc}.optimization-source-choice-card{display:grid;gap:5px}.optimization-source-choice-card strong{color:#244c55;font-size:13px}.optimization-source-choice-card span{color:#0d7c8b;font-size:12px;font-weight:700}.optimization-source-choice-card small{color:#8b9ca1;font-size:10px}.optimization-upload-card{display:grid;gap:10px}.optimization-upload-zone{min-height:106px;padding:16px;border:1px dashed #92c8d0;border-radius:11px;background:#f4fbfc;color:#245560;cursor:pointer;text-align:center}.optimization-upload-zone strong,.optimization-upload-zone span{display:block}.optimization-upload-zone strong{font-size:13px}.optimization-upload-zone span{margin-top:6px;color:#84999e;font-size:10px}.optimization-upload-zone:hover:not(:disabled){border-color:#168c9c;background:#eef9fb}.optimization-upload-current{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;align-items:baseline;padding:10px 12px;border-radius:9px;background:#eef7f8}.optimization-upload-current span{color:#789095;font-size:9px}.optimization-upload-current strong{overflow:hidden;color:#1e6874;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.optimization-upload-current small{grid-column:2;color:#82979c;font-size:9px}.optimization-upload-apply{width:100%}.optimization-source-panel-actions{margin-top:auto;padding-top:16px;border-top:1px solid #e8eef0}.optimization-source-panel-actions .btn{width:100%}.optimization-picker-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.optimization-picker-title-row h3{margin:0}.optimization-upload-button{flex:none}.optimization-upload-pending{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;border:1px solid #dfe8ea;border-radius:11px;background:#f8fbfb}.optimization-upload-pending strong{overflow:hidden;color:#36565e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.optimization-selected-upload-card{display:grid;gap:6px}.optimization-delete-upload{justify-self:start;margin-top:8px}@media (max-width: 980px){.optimization-source-meta-row{grid-template-columns:minmax(220px,1fr) 80px 96px 70px}.optimization-source-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.data-source-block-node.graph-node{height:150px!important;min-height:150px!important;padding:20px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-sizing:border-box}.data-source-block-node.graph-node .flow-v3-node-head,.data-source-block-node.graph-node .data-node-name,.data-source-block-node.graph-node .data-node-file{display:none!important}.data-source-block-node.graph-node .source-node-icon{width:56px;height:56px;margin:0!important;flex:none;border-radius:16px;background-color:#eaf8fa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7a8a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='7' ry='3'/%3E%3Cpath d='M5 5v6c0 1.7 3.1 3 7 3s7-1.3 7-3V5'/%3E%3Cpath d='M5 11v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:32px 32px;color:transparent;font-size:0}.data-source-block-node.graph-node .data-node-stats{max-width:100%;margin:0!important;color:#58737a;font-size:13px!important;font-weight:800;line-height:1.4;text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip}.preprocess-edit-modal-v2 .preprocess-edit-head{flex:none;margin-bottom:14px;padding-bottom:14px}.preprocess-edit-modal-v2 .preprocess-edit-head h2{margin-top:0}.preprocess-edit-modal-v2 .merge-input-summary,.preprocess-edit-modal-v2 .prediction-result-preview{flex:none}.preprocess-edit-modal-v2 .preprocess-edit-status-row{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px}.preprocess-edit-modal-v2 .preprocess-edit-status-row .dataframe-input-status{min-width:0;margin:0}.preprocess-edit-modal-v2 .dataframe-input-status.disabled{background:#f7f9fa;border-color:#dfe8ea;color:#9aabad}.preprocess-edit-modal-v2 .preprocess-edit-fields{margin-top:0}.preprocess-edit-modal-v2 .preprocess-edit-fields .modal-check-list{max-height:none;overflow:visible}.preprocess-edit-modal-v2 .preprocess-edit-settings{padding-left:2px}.preprocess-edit-modal-v2 .preprocess-operation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.preprocess-edit-modal-v2 .preprocess-operation-row .field{min-width:0;margin-bottom:6px}.preprocess-edit-modal-v2 .preprocess-operation-hint{display:block;margin:0 0 12px}.preprocess-edit-modal-v2 .flow-modal-actions{position:static;flex:none;bottom:auto;margin:12px -22px -22px;padding:14px 22px;border-top:1px solid #e8eef0;background:#fffffffa;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.preprocess-edit-modal-v2 .custom-code-mode{grid-template-columns:minmax(0,1fr)}.preprocess-edit-modal-v2 .custom-code-mode .preprocess-edit-settings{grid-column:1 / -1}@media (max-width: 900px){.preprocess-edit-modal-v2 .preprocess-edit-status-row,.preprocess-edit-modal-v2 .preprocess-edit-split,.preprocess-edit-modal-v2 .preprocess-operation-row{grid-template-columns:1fr}}.preprocess-edit-modal-v2 .selected-fields-preview{min-height:150px}.preprocess-edit-modal-v2 .selected-fields-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.preprocess-edit-modal-v2 .selected-fields-preview-head>div{display:flex;align-items:baseline;gap:8px}.preprocess-edit-modal-v2 .selected-fields-preview-head strong{color:#294b54}.preprocess-edit-modal-v2 .selected-fields-preview-head span{color:#779096;font-size:10px;font-weight:800}.preprocess-edit-modal-v2 .selected-fields-preview-list{display:flex;flex-direction:column;gap:7px}.preprocess-edit-modal-v2 .selected-fields-preview-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:8px 10px;border:1px solid #e3ecee;border-radius:9px;background:#fff}.preprocess-edit-modal-v2 .selected-fields-preview-row code{min-width:0;overflow:hidden;color:#344f57;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.preprocess-edit-modal-v2 .selected-fields-preview-row span{flex:none;color:#168071;font-size:9px;font-weight:800}.preprocess-edit-modal-v2 .selected-fields-preview-empty{display:grid;place-items:center;min-height:90px;border:1px dashed #cfdddf;border-radius:10px;color:#92a3a8;font-size:10px;background:#fbfdfd}.preprocess-edit-modal-v2 .numeric-convert-badge{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eaf8fa;color:#0f7180!important;font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.optimization-search-config{display:grid;gap:14px}.optimization-rule-card,.optimization-model-card{padding:13px;border:1px solid #dedbd3;border-radius:12px;background:#faf8f2;display:grid;gap:11px}.optimization-rule-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.optimization-rule-numbers.optimization-condition{grid-template-columns:2fr 1fr}.optimization-config-divider{border-top:1px solid #e6e1d7;margin:5px 0}.optimization-model-list,.optimization-power-fields{display:grid;gap:8px;max-height:260px;overflow-y:auto;padding:8px;border:1px solid #e6e1d7;border-radius:12px}.optimization-model-card{padding:9px 12px}.optimization-power-fields .check-inline{min-height:25px}.optimization-constraint-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:7px;align-items:end}.optimization-rule-card .field,.optimization-constraint-row .field{min-width:0}.optimization-toolbox-item .flow-toolbox-icon{background:#f2e9d9;color:#6e5331}@media (max-width: 800px){.optimization-rule-numbers,.optimization-rule-numbers.optimization-condition{grid-template-columns:1fr}.optimization-constraint-row{grid-template-columns:1fr 1fr}}.optimization-project-presets{margin:2px 0 4px;padding:12px;border:1px solid #dedbd3;border-radius:12px;background:#f7f4ec}.optimization-project-presets .config-list-head>div{display:grid;gap:3px}.optimization-project-presets .config-list-head small{color:#77736b;font-weight:400}.optimization-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:10px}.optimization-preset-item{display:grid;gap:3px;padding:9px 10px;border:1px solid #dedbd3;border-radius:10px;background:#fffdfa}.optimization-preset-item span{font-variant-numeric:tabular-nums}.optimization-preset-item small{color:#77736b;overflow-wrap:anywhere}.optimization-preset-item.unavailable{opacity:.58}.flow-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.flow-run-button{min-height:42px;display:inline-flex;align-items:center;gap:8px}.optimization-rule-card.is-disabled{opacity:.62;background:#f4f2ec}.optimization-rule-enabled{margin:0}.visualization-prep-page{display:grid;gap:18px}.visualization-prep-header{align-items:flex-start}.visualization-prep-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.visualization-prep-run{min-height:42px;display:inline-flex;align-items:center;gap:8px}.visualization-prep-layout{display:grid;gap:16px}.visualization-prep-source-card,.visualization-prep-section{border-radius:16px}.visualization-prep-source-card h2,.visualization-prep-section h2{margin:3px 0 4px}.visualization-prep-source-badge{border:1px solid #cdd9d7;background:#eff6f4;color:#406a63;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.04em}.visualization-prep-source-flow{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#667477;font-size:13px;font-weight:700}.visualization-prep-source-flow span{padding:8px 11px;border-radius:10px;border:1px solid #dfddd6;background:#fbfaf6}.visualization-prep-source-flow b{color:#99a2a2}.visualization-prep-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.visualization-prep-section-title>div:first-child{display:flex;gap:12px;min-width:0}.visualization-prep-section-title h2,.visualization-prep-section-title p{margin:0}.visualization-prep-section-title p{margin-top:4px;color:#768486;font-size:12px}.visualization-prep-step{width:30px;height:30px;border-radius:10px;display:inline-grid;place-items:center;flex:none;border:1px solid #d8d6ce;background:#f4f1e9;color:#5d5a50;font-weight:900}.visualization-prep-switches{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-height:42px}.visualization-prep-divider{border-top:1px solid #e7e3da;margin:16px 0}.visualization-prep-field-picker{display:grid;gap:10px;margin-top:10px}.visualization-prep-field-list{max-height:260px;overflow-y:auto;border:1px solid #e1ded6;border-radius:12px;padding:8px}.visualization-prep-power-fields{margin-top:10px;max-height:230px}.visualization-prep-master-switch{min-height:38px;padding:0 10px;border:1px solid #ddd9cf;border-radius:10px;background:#faf8f3}.visualization-prep-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.visualization-prep-unavailable{margin-top:12px;display:grid;gap:8px}.visualization-prep-unavailable article{padding:10px 12px;border:1px dashed #d6d1c6;border-radius:10px;background:#f7f5f0;display:grid;gap:3px}.visualization-prep-unavailable strong{color:#5d5b55}.visualization-prep-unavailable span{font-size:12px;color:#736c5f}.visualization-prep-unavailable small{color:#94908a}.visualization-prep-result-actions{display:flex;gap:8px;flex-wrap:wrap}.visualization-prep-preview{margin-top:12px;max-height:420px}.visualization-prep-empty-result{margin-top:12px;padding:22px;border:1px dashed #d8d5ce;border-radius:12px;color:#858b8c;text-align:center;background:#faf9f6}@media (max-width: 980px){.visualization-prep-rule-grid{grid-template-columns:1fr}.visualization-prep-header,.visualization-prep-section-title{align-items:stretch}.visualization-prep-actions{justify-content:flex-start}}.optimization-parameter-workbench{gap:18px}.optimization-workbench-intro{display:grid;gap:7px;padding:14px 16px;border:1px solid #dce7e7;border-radius:14px;background:#f8fbfb}.optimization-workbench-intro>strong{color:#254b54;font-size:14px}.optimization-workbench-intro>small{color:#6d8085;line-height:1.65}.optimization-workbench-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px}.optimization-workbench-flow span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #d7e4e4;border-radius:999px;background:#fff;color:#43636a;font-size:11px;font-weight:800}.optimization-workbench-flow span b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e7f5f3;color:#19796f;font-size:10px}.optimization-workbench-flow i{color:#9aaeb2;font-style:normal}.optimization-config-section{display:grid;gap:12px;padding:15px;border:1px solid #e0e6e5;border-radius:14px;background:#fff}.optimization-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.optimization-section-head>div:first-child{display:flex;align-items:flex-start;gap:10px;min-width:0}.optimization-section-head em{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#edf4f3;color:#517077;font-size:10px;font-style:normal;font-weight:900}.optimization-section-head span{display:grid;gap:3px;min-width:0}.optimization-section-head span>strong{color:#284c54;font-size:13px}.optimization-section-head span>small{color:#7a898d;line-height:1.55}.optimization-section-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.optimization-empty-state{padding:16px;border:1px dashed #cfdadb;border-radius:12px;background:#fafcfc;color:#7b8b8f;font-size:11px;text-align:center}.parameter-detail-card{border-color:#dfe6e4;background:#fbfcfb}.parameter-card-head{padding-bottom:3px;border-bottom:1px solid #e8eceb}.parameter-name-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}.parameter-range-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.optimization-direction-field{display:grid;gap:7px}.optimization-direction-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.optimization-direction-options label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;min-height:42px;padding:7px 10px;border:1px solid #dfe5e4;border-radius:10px;background:#fff;color:#687a7e;cursor:pointer}.optimization-direction-options label.active{border-color:#acd6d0;background:#f0faf8;color:#285d58}.optimization-direction-options label.keep-current{cursor:default}.optimization-direction-options label b{font-size:14px}.optimization-direction-options label small{font-size:10px;font-weight:700}.parameter-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:3px}.parameter-model-impact{display:block;padding:8px 10px;border-radius:9px;background:#eff8f4;color:#28725f;line-height:1.5}.parameter-model-impact.warning{background:#fff7e7;color:#8a6227}.model-selection-grid{max-height:none;overflow:visible;padding:0;border:0}.model-target-card{background:#fafbfb;border-color:#dfe6e5}.model-target-card.selected{border-color:#b8d9d4;background:#f7fbfa}.model-target-card .check-inline span{display:grid;gap:2px}.model-target-card .check-inline span small{color:#819095;font-weight:500}.model-ensemble-list{max-height:180px}.optimization-selected-models{display:flex;flex-wrap:wrap;gap:7px}.optimization-selected-models>span{display:grid;gap:2px;min-width:180px;padding:8px 10px;border:1px solid #dce5e3;border-radius:10px;background:#fff;color:#405e64;font-size:10px}.optimization-selected-models>span b{color:#1f7e73;font-size:9px}.optimization-selected-models>span small{color:#819095;font-size:9px}.model-status-grid{margin-top:2px}.output-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.measured-power-fields{max-height:170px}.optimization-output-columns{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 11px;border:1px solid #dfe7e5;border-radius:11px;background:#f8faf9}.optimization-output-columns strong{margin-right:3px;color:#465f65;font-size:10px}.optimization-output-columns span{padding:5px 8px;border-radius:999px;background:#fff;color:#63757a;font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid #e1e7e6}.optimization-advanced-limits{padding:10px 12px;border:1px solid #e1e6e5;border-radius:11px;background:#fbfcfc}.optimization-advanced-limits summary{color:#5b7176;font-size:11px;font-weight:800;cursor:pointer}.optimization-advanced-limits[open] summary{margin-bottom:10px}.optimization-export-action{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #cfe2df;border-radius:12px;background:#f5faf9}.optimization-export-action>div{display:grid;gap:3px;min-width:0}.optimization-export-action>div strong{color:#315b5a;font-size:11px}.optimization-export-action>div small{color:#78908f;line-height:1.5}.optimization-export-action .btn{flex:none;display:inline-flex;align-items:center;gap:7px}@media (max-width: 800px){.optimization-section-head,.optimization-export-action{align-items:stretch;flex-direction:column}.optimization-section-actions{justify-content:flex-start}.parameter-name-grid,.parameter-range-grid,.parameter-advanced-grid,.output-setting-grid,.optimization-direction-options{grid-template-columns:1fr}.optimization-export-action .btn{justify-content:center;width:100%}}.step-tuning-modal .project-modal-head{flex:none;margin-bottom:14px;padding-bottom:14px}.step-tuning-modal .dataframe-status-row{flex:none;margin-bottom:14px}.step-tuning-modal .dataframe-input-status{min-width:0;margin-bottom:0}.step-tuning-modal .step-tuning-fields .flow-field-check-list{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;scrollbar-gutter:stable}.step-tuning-modal .step-tuning-settings .operation-config-box{min-width:0}.step-tuning-modal .flow-modal-actions{position:static;flex:none;bottom:auto;margin:12px -22px -22px;padding:14px 22px}.step-tuning-modal .step-tuning-field-cards{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.step-tuning-modal .step-tuning-field-card{position:relative;cursor:pointer}.step-tuning-modal .step-tuning-field-card.selected{background:#effcf7;border-color:#49a995;box-shadow:inset 3px 0 #23937d}.step-tuning-modal .step-tuning-field-card.disabled{cursor:default;opacity:.6}.step-tuning-modal .step-tuning-field-card:focus-within{outline:2px solid #1f8b9e;outline-offset:2px}.step-tuning-modal .step-tuning-field-checkbox{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.step-tuning-modal .step-tuning-empty-fields{color:#82959d;padding:12px}@media (max-width: 800px){.step-tuning-modal .optimization-source-fields-head{grid-template-columns:minmax(0,1fr);gap:8px}}.step-tuning-modal .step-tuning-model-section{display:grid;gap:12px}.step-tuning-modal .step-tuning-model-section>.field{margin:0}.step-tuning-modal .step-tuning-model-preview{width:100%;min-width:0;padding:14px 16px;background:#fff}.step-tuning-modal .step-tuning-model-preview span{min-width:0;max-width:100%}.step-tuning-modal .step-tuning-model-preview small{white-space:normal;overflow-wrap:anywhere}.step-tuning-modal .step-tuning-model-details{display:grid;gap:12px;min-width:0}.step-tuning-modal .step-tuning-model-details>.field{margin:0}.step-tuning-modal .step-tuning-model-details input[readonly]{background:#f7fafb;color:#536875}.step-tuning-modal .step-tuning-model-advanced{border:1px solid #dce6ea;border-radius:12px;padding:10px 14px}.step-tuning-modal .step-tuning-model-advanced summary{cursor:pointer;font-weight:600}.step-tuning-modal .step-tuning-model-advanced[open]{display:grid;gap:12px}.step-tuning-modal .optimization-expansion-field{display:grid;gap:7px}.step-tuning-modal .optimization-expansion-field select{width:100%}.step-tuning-modal .optimization-expansion-field .field-help{line-height:1.5}.flow-optimization-run-fab{width:58px;height:58px;display:grid;place-items:center;border:1px solid #0a6472;border-radius:50%;background:#116978;color:#fff;box-shadow:0 12px 28px #034c5740;cursor:pointer}.flow-optimization-run-fab:hover:not(:disabled){background:#0b5461}.flow-optimization-run-fab:disabled{opacity:.58;cursor:not-allowed}.flow-optimization-run-fab span{display:block;margin-left:3px;font-size:24px;line-height:1}.flow-optimization-run-fab.running span{margin-left:0;letter-spacing:2px;animation:training-flow-pulse 1s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.flow-optimization-run-fab.running span{animation:none}}.step-tuning-modal .parameter-range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.step-tuning-modal .parameter-range-grid>.field{min-width:0;margin:0}.step-tuning-modal .parameter-range-grid>.field input,.step-tuning-modal .parameter-range-grid>.field select{box-sizing:border-box;width:100%;min-width:0}@media (max-width: 440px){.step-tuning-modal .parameter-range-grid{grid-template-columns:minmax(0,1fr)}}.candidate-combine-modal .merge-input-summary{margin-bottom:17px}.candidate-combine-modal .candidate-combine-data-panel,.candidate-combine-modal .candidate-combine-config-panel{box-sizing:border-box;min-width:0;padding:17px;border:1px solid #d9e8ea;border-radius:15px;background:#f9fcfc}.candidate-combine-modal .candidate-combine-panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px;color:#36545d;font-size:15px}.candidate-combine-modal .candidate-combine-panel-head>span{color:#82959a;font-size:12px}.candidate-combine-modal .candidate-combine-preview-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px}.candidate-combine-modal .candidate-combine-preview-tabs button{min-height:38px;border:1px solid #dce6e8;border-radius:10px;background:#fff;color:#5a747b;font-weight:650;cursor:pointer}.candidate-combine-modal .candidate-combine-preview-tabs button.active{border-color:#a4d7c9;background:#ebf9f4;color:#17745f}.candidate-combine-modal .candidate-combine-preview-tabs button:focus-visible{outline:2px solid #1f8b9e;outline-offset:2px}.candidate-combine-modal .candidate-combine-preview-search{box-sizing:border-box;width:100%;min-width:0;margin:0 0 11px}.candidate-combine-modal .candidate-combine-preview-list{display:grid;align-content:start;gap:9px;min-height:0;max-height:350px;overflow-y:auto;scrollbar-gutter:stable;padding-right:3px}.candidate-combine-modal .candidate-combine-preview-field{min-width:0;display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #dce6e8;border-radius:11px;background:#fff}.candidate-combine-modal .candidate-combine-preview-info{display:grid;gap:5px;min-width:0}.candidate-combine-modal .candidate-combine-preview-info strong{overflow-wrap:anywhere;color:#36545d;font-size:13px}.candidate-combine-modal .candidate-combine-preview-info small{display:block;overflow:hidden;max-width:100%;color:#8b9da3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.candidate-combine-modal .candidate-combine-preview-meta{display:grid;align-content:start;gap:5px;flex:none;text-align:right;font-size:12px;color:#236778}.candidate-combine-modal .candidate-combine-preview-meta small{color:#8b9da3;font-size:11px}.candidate-combine-modal .candidate-combine-preview-empty{margin:12px 0;color:#82959a;font-size:13px}.candidate-combine-modal .candidate-combine-limit-panel{box-sizing:border-box;margin:0;padding:16px;border:1px solid #dce6e8;border-radius:12px;background:#fff}.candidate-combine-modal .candidate-combine-limit-field{display:grid;gap:9px;margin:0}.candidate-combine-modal .candidate-combine-limit-field>input{min-width:0;width:100%;min-height:49px;font-variant-numeric:tabular-nums}.candidate-combine-modal .candidate-combine-result-panel{margin-top:12px;padding:16px;border:1px solid #dce6e8;border-radius:12px;background:#fff;color:#36545d}.candidate-combine-modal .candidate-combine-result-panel>strong{font-size:14px}.candidate-combine-modal .candidate-combine-result-count{margin-top:10px;font-size:13px}.candidate-combine-modal .candidate-combine-result-count strong{font-size:21px;color:#174e58}.candidate-combine-modal .candidate-combine-result-count>span{margin:0 7px;color:#93a5aa}.candidate-combine-modal .candidate-combine-result-pending,.candidate-combine-modal .candidate-combine-result-error{margin-top:10px;font-size:13px;color:#82959a}.candidate-combine-modal .candidate-combine-result-error{color:#ac5b5b;overflow-wrap:anywhere}.candidate-combine-modal .project-modal-head,.candidate-combine-modal .merge-input-summary{flex:0 0 auto}.candidate-combine-modal .candidate-combine-data-panel{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.candidate-combine-modal .candidate-combine-preview-list{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}.candidate-combine-modal .candidate-combine-config-panel{min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.candidate-combine-modal .flow-modal-actions{flex:0 0 auto;position:static;bottom:auto;margin:12px -22px -22px}.best-combination-modal .project-modal-head,.best-combination-modal .dataframe-status-row{flex:none}.best-combination-modal .best-combination-field-panel,.best-combination-modal .best-combination-settings{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;padding:17px;border:1px solid #d9e8ea;border-radius:15px;background:#f9fcfc;overflow:hidden}.best-combination-modal .best-combination-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:#36545d;font-size:15px;font-weight:800}.best-combination-modal .best-combination-panel-head span,.best-combination-modal .best-combination-hint{color:#809399;font-size:12px;font-weight:500}.best-combination-modal .best-combination-hint{margin:10px 0 0}.best-combination-modal .best-combination-field-list{flex:1 1 auto;min-height:0;margin-top:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.best-combination-modal .step-tuning-settings{min-width:0;min-height:0;height:100%;padding:0;overflow:hidden}.best-combination-modal .best-combination-settings{gap:14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.best-combination-modal .best-combination-interval,.best-combination-modal .best-combination-output-fields{flex:0 0 auto;padding:16px;border:1px solid #dce8e9;border-radius:14px;background:#fff}.best-combination-modal .best-combination-interval .field{margin:0}.best-combination-modal .best-combination-output-fields{display:grid;gap:12px}.best-combination-modal .best-combination-output-fields>strong{color:#36545d}.best-combination-modal .best-combination-output-field{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:11px 12px;border:1px solid #e4eef0;border-radius:11px;background:#f8fcfb}.best-combination-modal .best-combination-output-field>div{min-width:0;display:grid;gap:5px}.best-combination-modal .best-combination-output-field b{color:#31515b}.best-combination-modal .best-combination-output-field code{color:#697f86;font-size:12px;overflow-wrap:anywhere}.best-combination-modal .best-combination-output-field>span{color:#166c6b;font-weight:800}.best-combination-modal .best-combination-output-fields>small{color:#748991;line-height:1.6}.best-combination-modal .best-combination-output-count{color:#47746f;font-size:13px;font-weight:750}.best-combination-modal .flow-modal-actions{flex:none;position:static;bottom:auto;margin:12px -22px -22px}.best-combination-modal .best-combination-field-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;flex:none;min-width:0;margin:0 0 12px}.best-combination-modal .best-combination-field-toolbar>div{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.best-combination-modal .best-combination-field-toolbar strong{color:#35555d;font-size:14px}.best-combination-modal .best-combination-field-toolbar span{color:#8e9fa5;font-size:12px}.best-combination-modal .best-combination-field-toolbar input{min-width:0;margin:0}.best-combination-modal .best-combination-field-list{display:flex;flex-direction:column;gap:12px;margin-top:0;padding-right:6px}.best-combination-modal .best-combination-preview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:78px;padding:13px 18px;border:1px solid #dce6ed;border-radius:16px;background:#fff}.best-combination-modal .best-combination-preview-card>div{min-width:0}.best-combination-modal .best-combination-preview-card strong{color:#344f5b;font-size:14px;font-weight:700;white-space:normal;overflow-wrap:anywhere}.best-combination-modal .best-combination-preview-card small{margin-top:6px;color:#8b9ca8;font-size:12px;white-space:normal;overflow-wrap:anywhere}.best-combination-modal .best-combination-preview-card>div:last-child{text-align:right}.best-combination-modal .best-combination-preview-card span{color:#166b7c;font-size:13px;font-weight:800}@media (max-width: 550px){.best-combination-modal .best-combination-field-toolbar{grid-template-columns:minmax(0,1fr);gap:9px}}.prediction-output-modal .prediction-result-preview{display:none}.prediction-output-modal .prediction-output-field-panel,.prediction-output-modal .prediction-output-result-panel{min-width:0;min-height:0;height:min(480px,calc(100vh - 390px));border:1px solid #d8e6e9;border-radius:14px;background:#fbfdfd;padding:16px;box-sizing:border-box;overflow:hidden}.prediction-output-modal .prediction-output-field-panel,.prediction-output-modal .prediction-output-result-panel{display:flex;flex-direction:column}.prediction-output-modal .prediction-output-field-toolbar{flex:none;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin-bottom:14px}.prediction-output-modal .prediction-output-field-toolbar>div{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.prediction-output-modal .prediction-output-field-toolbar strong,.prediction-output-modal .prediction-output-result-head strong{color:#36545d;font-size:14px}.prediction-output-modal .prediction-output-field-toolbar span,.prediction-output-modal .prediction-output-result-head span{color:#8a9da3;font-size:12px}.prediction-output-modal .prediction-output-field-list,.prediction-output-modal .prediction-output-result-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:10px}.prediction-output-modal .prediction-output-field-card,.prediction-output-modal .prediction-output-result-card{display:flex;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #dce7e9;border-radius:12px;background:#fff}.prediction-output-modal .prediction-output-field-card>div,.prediction-output-modal .prediction-output-result-card>div{min-width:0}.prediction-output-modal .prediction-output-field-card strong,.prediction-output-modal .prediction-output-result-card strong{color:#36545d;font-size:14px;overflow-wrap:anywhere}.prediction-output-modal .prediction-output-field-card small,.prediction-output-modal .prediction-output-result-card small{display:block;margin-top:5px;color:#8b9da3;font-size:12px;overflow-wrap:anywhere}.prediction-output-modal .prediction-output-field-card>div:last-child,.prediction-output-modal .prediction-output-result-card>div:last-child{flex:none;text-align:right}.prediction-output-modal .prediction-output-field-card span,.prediction-output-modal .prediction-output-result-card span{color:#146f7c;font-size:13px;font-weight:800}.prediction-output-modal .prediction-output-result-head{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.prediction-output-modal .prediction-output-result-head>div:first-child{display:flex;align-items:baseline;gap:8px}.prediction-output-modal .prediction-output-result-size{color:#55737a;font-size:12px;font-weight:700;white-space:nowrap}.prediction-output-modal .prediction-output-result-empty{flex:1;display:grid;place-content:center;gap:7px;text-align:center;color:#8a9da3}.prediction-output-modal .prediction-output-result-empty strong{color:#4f6d74}.prediction-output-modal .prediction-output-actions .prediction-output-download{min-width:128px}.prediction-output-modal .prediction-output-download:disabled{cursor:not-allowed;opacity:.45}@media (max-width: 900px){.prediction-output-modal .prediction-output-field-panel,.prediction-output-modal .prediction-output-result-panel{height:360px}}.prediction-output-modal .prediction-output-result-panel{overflow-y:auto}.prediction-output-modal .prediction-output-filename-field{margin:0}.prediction-output-modal .prediction-output-filename-field input{width:100%}.prediction-output-modal .prediction-output-summary-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.prediction-output-modal .prediction-output-summary-card{min-width:0;min-height:92px;padding:16px;border:1px solid #dce7e9;border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.prediction-output-modal .prediction-output-summary-card span{color:#7f949b;font-size:12px;font-weight:700}.prediction-output-modal .prediction-output-summary-card strong{color:#36545d;font-size:16px;overflow-wrap:anywhere}.prediction-output-modal .prediction-output-summary-card.visualization-ready{grid-column:1 / -1;min-height:76px;background:#f3fbf8;border-color:#cde8dc}.prediction-output-modal .prediction-output-summary-card.visualization-ready strong{color:#15715f}@media (max-width: 600px){.prediction-output-modal .prediction-output-summary-cards{grid-template-columns:1fr}.prediction-output-modal .prediction-output-summary-card.visualization-ready{grid-column:auto}}.step-tuning-modal .step-tuning-model-compatibility{display:grid;gap:6px;padding:12px 14px;border:1px solid #d9e5e8;border-radius:12px;background:#f8fbfb;color:#536875}.step-tuning-modal .step-tuning-model-compatibility.is-ok{border-color:#bfe4d7;background:#f1fbf6;color:#266d59}.step-tuning-modal .step-tuning-model-compatibility.is-error{border-color:#efc9c5;background:#fff7f6;color:#a34942}.step-tuning-modal .step-tuning-model-compatibility-head strong{color:inherit}.step-tuning-modal .step-tuning-model-compatibility small{color:inherit;line-height:1.45;overflow-wrap:anywhere}.unified-logic-modal .project-modal-head,.unified-logic-modal .preprocess-edit-status-row{flex:none}.unified-logic-modal .unified-operation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.unified-logic-modal .unified-operation-row .field{min-width:0}.unified-logic-modal .flow-modal-actions{position:static;flex:none;bottom:auto;margin:12px -22px -22px}@media (max-width: 900px){.unified-logic-modal .unified-operation-row{grid-template-columns:minmax(0,1fr)}}.previous-diff-config{display:flex;flex-direction:column;gap:14px}.previous-diff-config>strong{margin-bottom:0}.cumulative-config-box{display:flex;flex-direction:column;gap:12px}.cumulative-config-box>strong{margin-bottom:0}.cumulative-rule-card{padding:14px;border:1px solid #dce8ea;border-radius:11px;background:#fff}.cumulative-rule-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.cumulative-rule-header>span{color:#557078;font-size:12px;font-weight:800}.cumulative-name-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.cumulative-rule-card>.field{margin-top:12px}.cumulative-remove-btn,.cumulative-add-btn{border:1px solid #c9dadd;border-radius:8px;background:#fff;color:#47636b;font-weight:700;cursor:pointer}.cumulative-remove-btn{min-height:30px;padding:0 10px;border-color:#efc9c5;color:#bc554b;font-size:11px}.cumulative-remove-btn:hover{background:#fff6f5}.cumulative-add-btn{width:100%;min-height:38px;border-style:dashed;color:#176979;font-size:12px}.cumulative-add-btn:hover{border-color:#86bdc5;background:#f0f8f9}@media (max-width: 900px){.cumulative-name-row{grid-template-columns:minmax(0,1fr)}}.flow-toolbox-category{padding:9px 10px 3px;font-size:11px;font-weight:800;color:#54766d;letter-spacing:.07em}.preprocess-node.graph-node .if-output-true{top:36%;right:-9px;left:auto}.preprocess-node.graph-node .if-output-false{top:64%;right:-9px;left:auto}.if-port-label{position:absolute;right:13px;z-index:11;font-size:10px;font-weight:800;color:#426b61;pointer-events:none}.if-port-label-true{top:calc(36% - 7px)}.if-port-label-false{top:calc(64% - 7px)}.preprocess-node.graph-node .if-output-true,.preprocess-node.graph-node .if-output-false{transform:translateY(-50%)}.unified-logic-modal .single-step-editor{display:flex;flex-direction:column;gap:12px;min-width:0;border:1px solid #e3ebed;background:#fff;border-radius:14px;padding:14px}.single-step-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.single-step-editor-head>strong{min-width:0}.single-step-editor-head>button{flex:none}.single-step-formula-list{display:flex;flex-direction:column;gap:12px}.single-step-formula-card{border:1px solid #dfe9ec;border-radius:14px;background:#fbfdfd;padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0}.single-step-formula-card-head{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:12px;align-items:end}.single-step-target-field{margin:0;min-width:0}.single-step-target-field>span{font-size:12px;font-weight:800;color:#5a7079}.single-step-target-field select,.single-step-formula-expression select,.single-step-formula-expression input{width:100%;min-width:0;height:42px;border:1px solid #d8e3eb;border-radius:10px;background:#fff;color:#273f4a;padding:8px 10px;font-size:14px}.single-step-remove-formula{width:42px;height:42px;align-self:end;margin-bottom:0;border:1px solid #efc9c5;border-radius:9px;background:#fff;color:#bb4037;font-size:20px;line-height:1;cursor:pointer}.single-step-remove-formula:hover{background:#fff5f4}.single-step-formula-expression{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center;min-width:0}.single-step-expression-operator{text-align:center;font-size:20px!important;font-weight:800;padding-left:14px!important}.single-step-expression-value{display:contents}.single-step-expression-value>*{min-width:0}.single-step-expression-value>*:first-child,.single-step-expression-value>*:last-child{border-radius:10px;border-right:1px solid #d8e3eb}.single-step-expression-value>*:first-child{background:#f2f8f7}.single-step-formula-expression-set{grid-template-columns:42px repeat(2,minmax(0,1fr))}.single-step-formula-expression-set .single-step-expression-value{display:contents}.single-step-equals-sign{display:flex;align-items:center;justify-content:center;height:42px;font-size:21px;font-weight:800;color:#526a74}.single-step-field-list{display:flex;flex-direction:column;gap:7px;padding:7px;overflow:auto}.single-step-field-item{width:100%;min-width:0;border:1px solid transparent;border-radius:10px;background:#fff;padding:9px 10px 9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#29434d;text-align:left;cursor:pointer}.single-step-field-item:hover{border-color:#c9ded9;background:#f4faf8}.single-step-field-item:disabled{cursor:default;opacity:.55}.single-step-field-item>span{min-width:0;display:flex;flex-direction:column;gap:2px}.single-step-field-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.single-step-field-item small{color:#83939a;font-size:11px}.single-step-field-item em{flex:none;width:26px;height:26px;border-radius:8px;background:#eef6f4;color:#356f65;display:grid;place-items:center;font-style:normal;font-weight:900}@media (max-width: 1050px){.single-step-formula-expression{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.single-step-formula-expression-set{grid-template-columns:42px repeat(2,minmax(0,1fr))}.single-step-expression-value{grid-template-columns:76px minmax(0,1fr)}}.unified-logic-modal .if-else-editor{display:flex;flex-direction:column;gap:12px;min-width:0;border:1px solid #e3ebed;background:#fff;border-radius:14px;padding:14px}.if-else-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.if-else-editor-head>strong{min-width:0}.if-else-editor-head>button{flex:none}.if-else-mode-field{max-width:250px}.if-else-rule-head,.if-else-rule-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(110px,.75fr) minmax(100px,.8fr) 30px;gap:8px;align-items:center;min-width:0}.if-else-rule-head{color:#647780;font-size:12px;font-weight:700;padding:8px 4px;border-bottom:1px solid #e6eef1}.if-else-rule-row{padding:10px 4px;border-bottom:1px solid #edf2f4}.if-else-rule-row select,.if-else-rule-row input{width:100%;min-width:0;height:38px;padding:7px 9px;font-size:13px;border-radius:9px;background:#fff;border:1px solid #d8e3eb;color:#273f4a}@media (max-width: 900px){.if-else-rule-head,.if-else-rule-row{grid-template-columns:minmax(0,1.3fr) minmax(90px,.7fr) minmax(90px,.8fr) 30px}}.prediction-model-modal .project-modal-head,.prediction-model-modal .dataframe-status-row{flex:none}.prediction-model-modal .flow-modal-actions{position:static;flex:none;bottom:auto;margin:12px -22px -22px}.prediction-config-box{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:0;background:transparent;border:0;box-shadow:none;overflow:hidden}.prediction-config-column{min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #dfe9ec;border-radius:14px;background:#fbfdfd;overflow-x:hidden;overflow-y:auto}.prediction-section-head{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e5ecef}.prediction-section-head>strong{color:#294d55;font-size:16px}.prediction-model-select,.prediction-model-column .single-model-preview{margin:0}.prediction-settings-column{gap:20px}.prediction-mapping-section{display:flex;flex-direction:column;gap:12px}.prediction-feature-mapping-list{display:flex;flex-direction:column;gap:9px}.prediction-feature-mapping-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(220px,1.1fr);align-items:center;gap:12px;min-width:0}.prediction-feature-mapping-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#536d74;font-size:14px;font-weight:700}.prediction-feature-mapping-row :is(select,input){width:100%;min-width:0;box-sizing:border-box}@media (max-width: 900px){.prediction-config-box{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(240px,.75fr) minmax(0,1.25fr);overflow-y:auto}.prediction-config-column{overflow:visible}.prediction-feature-mapping-row{grid-template-columns:minmax(0,1fr);gap:6px}}.if-else-rule-row .if-else-searchable-field{width:100%;min-width:0;box-sizing:border-box}.single-step-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 10px}.single-step-mode-toggle button{min-height:38px;border:1px solid #d5e2e6;border-radius:10px;background:#fff;color:#526a73;font-weight:700;cursor:pointer}.single-step-mode-toggle button.active{border-color:#9ed9d1;background:#eaf8f5;color:#0b706f}.step-tuning-modal .step-parameter-card{display:flex;flex-direction:column;gap:14px}.step-tuning-modal .step-parameter-source-field,.step-tuning-modal .step-parameter-target-field{width:100%;margin:0}.step-tuning-modal .step-parameter-source-field select,.step-tuning-modal .step-parameter-target-field input{width:100%;box-sizing:border-box}.step-tuning-modal .step-parameter-mode-toggle{margin:0}.step-tuning-modal .step-parameter-copy-row{display:grid;grid-template-columns:minmax(0,.9fr) 34px minmax(0,1.1fr);align-items:end;gap:10px}.step-tuning-modal .step-parameter-copy-source{min-height:46px;display:flex;align-items:center;padding:0 14px;border:1px solid #d7e3e7;border-radius:10px;background:#f7fbfb;color:#355962;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-tuning-modal .step-parameter-copy-arrow{min-height:46px;display:grid;place-items:center;color:#7c9299;font-size:20px;font-weight:800}.step-tuning-modal .step-parameter-copy-row>.field{margin:0}.step-tuning-modal .step-parameter-copy-row>small{grid-column:3;color:#819299;font-size:11px}@media (max-width: 760px){.step-tuning-modal .step-parameter-copy-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.step-tuning-modal .step-parameter-copy-arrow{min-height:auto;transform:rotate(90deg)}.step-tuning-modal .step-parameter-copy-row>small{grid-column:1}}.flow-v3-node.preprocess-node.execution-failed-node:not(.field-invalid-node){border:2px solid #dc2626;background:#fff7f7;box-shadow:0 0 0 4px #dc26261a,0 10px 24px #7f1d1d1f}.flow-v3-node.preprocess-node.execution-failed-node:not(.field-invalid-node):hover{border-color:#b91c1c}.flow-v3-node.preprocess-node.needs-rerun-node:not(.field-invalid-node):not(.execution-failed-node){border:2px solid #d6a62f;background:#fffdf5;box-shadow:0 0 0 4px #d6a62f1f,0 8px 20px #7a5c161a}.flow-v3-node.preprocess-node.needs-rerun-node:not(.field-invalid-node):not(.execution-failed-node):hover{border-color:#b88a1f}.single-step-target-row{grid-template-columns:minmax(0,1fr) 42px;align-items:end}.single-step-target-field select{width:100%;min-width:0;height:42px}.single-step-formula-expression-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.single-step-formula-expression-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.single-step-limit-row,.single-step-output-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.single-step-limit-row .field,.single-step-output-row .field{min-width:0;margin:0}.single-step-limit-row input,.single-step-output-row input{width:100%;min-width:0}@media (max-width: 900px){.single-step-limit-row,.single-step-output-row{grid-template-columns:1fr}}.tuning-target-mode-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(150px,.75fr);gap:12px;align-items:end;min-width:0}.tuning-target-mode-row>.field{margin:0;min-width:0}.tuning-target-mode-row select{width:100%;min-width:0;box-sizing:border-box}.single-step-parameter-head{margin-bottom:12px}.single-step-formula-card.is-disabled,.step-parameter-card.is-disabled{opacity:.66}@media (max-width: 760px){.tuning-target-mode-row{grid-template-columns:minmax(0,1fr)}}.best-combination-modal .flow-dialog__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.best-combination-modal .dataframe-status-row{flex:0 0 auto}.best-combination-modal .best-combination-layout{flex:1 1 auto;min-height:0;align-items:stretch;overflow:hidden}.best-combination-modal .best-combination-field-panel,.best-combination-modal .step-tuning-settings{min-height:0;height:100%}.best-combination-modal .step-tuning-settings{display:flex;flex-direction:column;overflow:hidden}.best-combination-modal .best-combination-settings{height:100%;min-height:0;overflow:hidden;gap:12px}.best-combination-modal .best-combination-settings>.best-energy-editor{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:5px}.best-combination-modal .best-combination-settings>.best-combination-output-fields,.best-combination-modal .best-combination-settings>.best-combination-output-count{flex:0 0 auto}.best-combination-modal .energy-rule-card{background:#fff;border-color:#dce8e9;border-radius:12px;padding:14px}.flow-dialog,.flow-canvas-workspace{--flow-border: #dce6e9;--flow-surface: #fff;--flow-muted-surface: #f7fafb;--flow-text: #294b54;--flow-muted: #6d838b;--flow-accent: #127b8b;--flow-radius: 12px;--flow-gap: 16px}.flow-canvas-workspace .data-source-block-node.graph-node{width:268px;height:150px;min-height:150px;padding:16px!important;display:block;border-radius:14px;text-align:left}.flow-source-card{width:100%;display:grid;gap:10px}.flow-source-card__head{display:flex;align-items:center;gap:10px;min-width:0}.flow-source-card__head>div{min-width:0}.flow-source-card__head strong{display:block;font-size:14px;color:var(--flow-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-source-card__head small{display:block;margin-bottom:3px;color:var(--flow-muted);font-size:11px}.flow-source-card__icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;color:var(--flow-accent);background:#eaf6f8}.flow-source-card__icon svg{width:24px;height:24px}.flow-source-card__stats{display:flex;gap:16px;font-size:12px;color:var(--flow-muted)}.flow-source-card__stats b{color:var(--flow-text);font-size:15px}.flow-source-card__file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--flow-muted);font-size:11px}.flow-canvas-workspace .preprocess-node{border-radius:14px}.flow-canvas-workspace .flow-v3-node:focus-visible{outline:3px solid #64b6c3;outline-offset:4px}.flow-dialog .flow-dialog__body .flow-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:var(--flow-gap);align-items:start;height:auto;min-height:0;overflow:visible;flex:none}.flow-dialog .flow-dialog__body .flow-editor-layout>*{min-width:0;min-height:0;height:auto;margin:0;padding:16px;overflow:visible;border:1px solid var(--flow-border);border-radius:var(--flow-radius);background:var(--flow-surface)}.flow-dialog .flow-dialog__body .flow-editor-fields{grid-column:1;grid-row:1;order:0}.flow-dialog .flow-dialog__body .flow-editor-settings{grid-column:2;grid-row:1;order:1}.flow-dialog .flow-dialog__body .flow-editor-results{grid-column:1;grid-row:1}.flow-dialog .flow-dialog__body .flow-editor-layout:not(:has(>.flow-editor-fields,>.flow-editor-results))>.flow-editor-settings{grid-column:1 / -1}.flow-dialog .flow-dialog__body .flow-editor-layout.custom-code-mode>.flow-editor-settings{grid-column:1 / -1}.flow-dialog .flow-dialog__body :is(.modal-check-list,.readonly-field-list,.source-field-list,.candidate-combine-preview-list,.best-combination-field-list){max-height:380px!important;height:auto;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.flow-dialog .flow-dialog__body :is(.prediction-config-box,.training-source-body,.optimization-source-body){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:var(--flow-gap);height:auto;min-height:0;overflow:visible}.flow-dialog .flow-dialog__body .prediction-model-layout>.flow-editor-settings{padding:0;border:0;background:transparent}.flow-dialog .flow-dialog__body :is(.prediction-config-column,.training-source-fields-panel,.optimization-source-fields-panel,.optimization-source-picker-panel,.dataset-split-panel,.best-combination-settings,.candidate-combine-config-panel){min-width:0;min-height:0;height:auto;overflow:visible;padding:16px;border:1px solid var(--flow-border);border-radius:var(--flow-radius);background:var(--flow-surface)}.flow-dialog .flow-dialog__body :is(.flow-editor-layout,.training-source-body,.optimization-source-body,.prediction-config-box)>:only-child{grid-column:1 / -1}.flow-dialog .flow-dialog__body :is(.preprocess-operation-row,.unified-operation-row,.two-column-config){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.flow-dialog .flow-dialog__body :is(input,select,textarea):not(:where([type=checkbox],[type=radio],[type=range],[type=hidden],[type=color])){box-sizing:border-box;width:100%;min-width:0;min-height:40px;height:40px;padding:8px 10px;border:1px solid #cad9de;border-radius:8px;background:#fff;color:var(--flow-text);font-family:inherit;font-size:14px;line-height:1.4}.flow-dialog .flow-dialog__body textarea{height:auto;min-height:120px;resize:vertical}.flow-dialog .flow-dialog__body input[type=file]{height:auto}.flow-dialog .flow-dialog__body :is(input[type=checkbox],input[type=radio]){width:16px;height:16px;flex:none;accent-color:var(--flow-accent)}.flow-dialog .flow-dialog__body :is(input,select,textarea):focus-visible{outline:2px solid #62afbd;outline-offset:2px}.flow-dialog .flow-dialog__body :is(input,select,textarea):disabled{color:#81939a;background:#f1f5f6;cursor:not-allowed}.flow-dialog .flow-dialog__body :is(input,textarea)[readonly]{background:var(--flow-muted-surface)}.flow-dialog .field{min-width:0;margin:0 0 14px}.flow-dialog :is(.field>span,.prediction-feature-mapping-row>span){color:var(--flow-text);font-size:13px;font-weight:600;line-height:1.5}.flow-dialog .field-help{display:block;margin:6px 0 12px;color:var(--flow-muted);font-size:12px;line-height:1.6}.flow-dialog .btn{min-height:40px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:1.4}.flow-dialog .btn.tiny{min-height:34px;padding:6px 10px;font-size:12px}.flow-dialog :is(.btn,button):focus-visible{outline:2px solid #62afbd;outline-offset:3px}.flow-dialog button:disabled{cursor:not-allowed}.flow-dialog :is(.icon-remove,.icon-action.danger,.single-step-remove-formula,.if-else-remove-condition){width:36px;height:36px;min-width:36px;display:inline-grid;place-items:center;padding:8px;border:1px solid #eed4d4;border-radius:8px;background:#fff;color:#b45858}.flow-dialog :is(.icon-remove,.icon-action.danger,.single-step-remove-formula,.if-else-remove-condition):hover{background:#fff4f4}.flow-dialog .flow-dialog__footer .btn.danger:has(svg){width:40px;padding:10px}.flow-dialog .flow-dialog__footer .btn.danger svg{width:18px;height:18px}.flow-dialog .flow-dialog__body :is(.operation-config-box,.single-step-formula-card,.derive-recipe-card,.cumulative-rule-card,.optimization-rule-card,.candidate-combine-limit-panel){min-width:0;padding:16px;border:1px solid var(--flow-border);border-radius:var(--flow-radius);background:var(--flow-muted-surface);box-shadow:none}.flow-dialog .flow-dialog__body .prediction-config-box{padding:0;border:0;background:transparent}.flow-dialog :is(.prediction-section-head,.single-step-editor-head,.if-else-editor-head,.flow-field-picker-head,.candidate-combine-panel-head,.optimization-section-head,.cumulative-section-head){min-height:34px;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--flow-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.flow-dialog :is(.prediction-section-head,.single-step-editor-head,.if-else-editor-head,.flow-field-picker-head,.candidate-combine-panel-head,.optimization-section-head)>:is(strong,span){color:var(--flow-text);font-size:14px;font-weight:600}.flow-dialog :is(.dataframe-status-row,.preprocess-edit-status-row){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--flow-gap);margin:0 0 16px}.flow-dialog .dataframe-input-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0;padding:12px 14px;border-radius:10px}.flow-dialog .dataframe-status-copy{min-width:0;flex:1 1 180px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.flow-dialog .dataframe-input-status>strong{flex-basis:100%}.flow-dialog .dataframe-input-status :is(span,strong){overflow-wrap:anywhere;line-height:1.5}.flow-dialog .dataframe-input-status span{font-size:12px}.flow-dialog .dataframe-download-button{flex:none;min-height:34px;padding:6px 10px;font-size:12px}.flow-dialog :is(.flow-field-check,.source-field-item,.readonly-field-card,.best-combination-preview-card,.candidate-combine-preview-field){min-width:0;padding:10px 12px;border:1px solid var(--flow-border);border-radius:8px;background:#fff}.flow-dialog .flow-field-check{display:flex;align-items:center;gap:10px}.flow-dialog .flow-field-check span{min-width:0}.flow-dialog .flow-field-check strong{overflow-wrap:anywhere;font-size:13px}.flow-dialog .flow-field-check small{font-size:11px;color:var(--flow-muted)}.flow-dialog :is(.prediction-feature-mapping-row){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.flow-dialog :is(.optimization-source-fields-head,.training-source-fields-head,.best-combination-field-toolbar){display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.flow-dialog :is(.training-source-meta-row,.optimization-source-meta-row){grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));margin-bottom:16px}.flow-dialog .prediction-result-table-wrap{max-height:340px;overflow:auto}.flow-dialog .prediction-result-table-wrap :is(th,td){padding:10px 12px;font-size:12px}.flow-dialog .prediction-result-table-wrap th{position:sticky;top:0;background:#f0f6f7}@media (max-width: 900px){.flow-dialog .flow-dialog__body :is(.flow-editor-layout,.prediction-config-box,.training-source-body,.optimization-source-body){grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.flow-dialog .flow-dialog__body .flow-editor-layout>:is(.flow-editor-fields,.flow-editor-settings,.flow-editor-results){grid-column:1;grid-row:auto}.flow-dialog .flow-dialog__body .flow-editor-fields{order:0}.flow-dialog .flow-dialog__body .flow-editor-settings{order:1}.flow-dialog .flow-dialog__body .flow-editor-results{order:2}.flow-dialog .flow-dialog__body :is(.modal-check-list,.readonly-field-list,.source-field-list){max-height:260px!important}}@media (max-width: 600px){.flow-dialog :is(.dataframe-status-row,.preprocess-edit-status-row,.training-source-meta-row,.optimization-source-meta-row){grid-template-columns:minmax(0,1fr);gap:10px}.flow-dialog .flow-dialog__body :is(.preprocess-operation-row,.unified-operation-row,.two-column-config,.prediction-feature-mapping-row,.parameter-name-grid,.parameter-range-grid){grid-template-columns:minmax(0,1fr)}.flow-dialog :is(.prediction-section-head,.single-step-editor-head){align-items:flex-start}.flow-dialog .flow-dialog__body .flow-editor-layout>*{padding:12px}}.flow-dialog .flow-source-summary{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:16px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--flow-border);border-radius:12px;background:var(--flow-muted-surface)}.flow-source-summary>div{min-width:0}.flow-source-summary dt{color:var(--flow-muted);font-size:12px;margin-bottom:6px}.flow-source-summary dd{margin:0;color:var(--flow-text);font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-dialog .flow-source-fields{min-width:0;padding:16px;border:1px solid var(--flow-border);border-radius:var(--flow-radius);background:var(--flow-surface)}@media (max-width: 600px){.flow-dialog .flow-source-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-source-summary>div:first-child{grid-column:1 / -1}}.flow-dialog .flow-dialog__body .prediction-output-result-panel{height:auto;overflow:visible}@media (max-width: 600px){.flow-dialog .flow-dialog__footer .button-row{gap:8px;flex-wrap:wrap}}.flow-dialog .flow-dialog__body textarea.python-code-editor{min-height:400px;padding:14px 16px;background:#162126;color:#e8f1f2;font-family:Consolas,SFMono-Regular,Menlo,Monaco,monospace;font-size:13px;line-height:1.6;-moz-tab-size:4;tab-size:4;white-space:pre}.flow-dialog :is(.icon-remove,.icon-action.danger) svg{width:18px;height:18px}.flow-dialog .if-else-rule-row,.flow-dialog .if-else-rule-head{grid-template-columns:minmax(0,1.3fr) minmax(72px,.7fr) minmax(72px,.8fr) 36px}@media (max-width: 900px){.flow-dialog :is(.dataframe-status-row,.preprocess-edit-status-row){grid-template-columns:minmax(0,1fr)}}.flow-dialog.derive-field-modal .flow-dialog__body{display:flex;flex-direction:column;overflow:hidden}.flow-dialog.derive-field-modal .flow-dialog__body>:is(.dataframe-status-row,.preprocess-edit-status-row,.merge-input-summary){flex:none}.flow-dialog.derive-field-modal .flow-editor-layout{flex:1 1 0;min-height:0;height:0;align-items:stretch;overflow:hidden}.flow-dialog.derive-field-modal .flow-editor-layout>.flow-editor-fields{height:100%;min-height:0;overflow:hidden}.flow-dialog.derive-field-modal .flow-editor-layout>.flow-editor-settings{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.flow-dialog.derive-field-modal .derive-config-box{max-height:none;overflow:visible}.flow-dialog.derive-field-modal .flow-editor-fields.readonly-field-panel,.flow-dialog.derive-field-modal .flow-editor-fields .readonly-field-panel{min-height:0}.flow-dialog.derive-field-modal .flow-editor-fields .readonly-field-list,.flow-dialog.derive-field-modal .flow-editor-fields.readonly-field-panel .readonly-field-list{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto}@media (max-width: 900px){.flow-dialog.derive-field-modal .flow-dialog__body{display:block;overflow-y:auto}.flow-dialog.derive-field-modal .flow-editor-layout{height:auto;overflow:visible}.flow-dialog.derive-field-modal .flow-editor-layout>:is(.flow-editor-fields,.flow-editor-settings){height:auto;overflow:visible}}.flow-dialog.field-selection-modal .flow-dialog__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.flow-dialog.field-selection-modal .dataframe-status-row,.flow-dialog.field-selection-modal .merge-input-summary{flex:0 0 auto}.flow-dialog.field-selection-modal .flow-editor-layout{flex:1 1 0;height:0;min-height:0;align-items:stretch;overflow:hidden}.flow-dialog.field-selection-modal .flow-editor-layout>.flow-editor-fields,.flow-dialog.field-selection-modal .flow-editor-layout>.flow-editor-settings{height:100%;min-height:0;overflow:hidden}.flow-dialog.field-selection-modal .flow-editor-fields{display:flex;flex-direction:column}.flow-dialog.field-selection-modal .flow-editor-fields>:is(.flow-field-check-list,.modal-check-list){flex:1 1 0;min-height:0;max-height:none!important;overflow-y:auto;overflow-x:hidden}.flow-dialog.field-selection-modal .flow-editor-settings{display:flex;flex-direction:column}.flow-dialog.field-selection-modal .flow-editor-settings>.preprocess-operation-row,.flow-dialog.field-selection-modal .flow-editor-settings>.unified-operation-row,.flow-dialog.field-selection-modal .flow-editor-settings>.field,.flow-dialog.field-selection-modal .flow-editor-settings>.field-help{flex:0 0 auto}.flow-dialog.field-selection-modal .keep-selected-fields-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;margin:4px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}.flow-dialog.field-selection-modal .keep-selected-fields-panel .selected-fields-preview-head{flex:0 0 auto;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid var(--flow-border)}.flow-dialog.field-selection-modal .keep-selected-fields-panel .selected-fields-preview-list{flex:1 1 0;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain}.flow-dialog.field-selection-modal .keep-selected-fields-panel .selected-fields-preview-row{justify-content:flex-start}.flow-dialog.field-selection-modal .keep-selected-fields-panel .selected-fields-preview-row code{width:100%;font-family:inherit;font-size:13px;font-weight:500}.flow-dialog.field-selection-modal .keep-selected-fields-panel .selected-fields-preview-empty{flex:1 1 0;min-height:0}.flow-canvas-workspace .optimization-title-warning-row{display:flex;align-items:center;gap:18px;min-width:0}.flow-canvas-workspace .optimization-title-warning-row>h1{flex:0 0 auto;margin:0}.flow-canvas-workspace .flow-field-warning-inline{flex:1 1 auto;min-width:0;margin:0;padding:10px 14px}.flow-canvas-workspace .flow-field-warning-inline span{min-width:0}@media (max-width: 900px){.flow-canvas-workspace .optimization-title-warning-row{align-items:stretch;flex-direction:column;gap:10px}.flow-dialog.field-selection-modal .flow-dialog__body{overflow-y:auto}.flow-dialog.field-selection-modal .flow-editor-layout{flex:none;height:auto;overflow:visible}.flow-dialog.field-selection-modal .flow-editor-layout>.flow-editor-fields,.flow-dialog.field-selection-modal .flow-editor-layout>.flow-editor-settings{height:auto;overflow:visible}}.flow-dialog.if-else-modal .flow-dialog__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.flow-dialog.if-else-modal .dataframe-status-row,.flow-dialog.if-else-modal .merge-input-summary{flex:0 0 auto}.flow-dialog.if-else-modal .flow-editor-layout{flex:1 1 0;height:0;min-height:0;align-items:stretch;overflow:hidden}.flow-dialog.if-else-modal .flow-editor-layout>.flow-editor-fields,.flow-dialog.if-else-modal .flow-editor-layout>.flow-editor-settings{height:100%;min-height:0}.flow-dialog.if-else-modal .flow-editor-fields{display:flex;flex-direction:column;overflow:hidden}.flow-dialog.if-else-modal .flow-editor-fields.readonly-field-panel .readonly-field-list,.flow-dialog.if-else-modal .flow-editor-fields .readonly-field-list{flex:1 1 0;min-height:0;max-height:none!important;overflow-y:auto;overflow-x:hidden}.flow-dialog.if-else-modal .flow-editor-settings{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}@media (max-width: 900px){.flow-dialog.if-else-modal .flow-dialog__body{display:block;overflow-y:auto}.flow-dialog.if-else-modal .flow-editor-layout{height:auto;overflow:visible}.flow-dialog.if-else-modal .flow-editor-layout>:is(.flow-editor-fields,.flow-editor-settings){height:auto;overflow:visible}}.flow-dialog.single-step-modal .flow-dialog__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.flow-dialog.single-step-modal .dataframe-status-row,.flow-dialog.single-step-modal .merge-input-summary{flex:0 0 auto}.flow-dialog.single-step-modal .flow-editor-layout{flex:1 1 0;height:0;min-height:0;align-items:stretch;overflow:hidden}.flow-dialog.single-step-modal .flow-editor-layout>.flow-editor-fields,.flow-dialog.single-step-modal .flow-editor-layout>.flow-editor-settings{height:100%;min-height:0}.flow-dialog.single-step-modal .flow-editor-fields{display:flex;flex-direction:column;overflow:hidden}.flow-dialog.single-step-modal .flow-editor-fields.readonly-field-panel .readonly-field-list,.flow-dialog.single-step-modal .flow-editor-fields .readonly-field-list{flex:1 1 0;min-height:0;max-height:none!important;overflow-y:auto;overflow-x:hidden}.flow-dialog.single-step-modal .flow-editor-settings{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.flow-dialog.single-step-modal .single-step-formula-list{max-height:none;overflow:visible}.flow-dialog.single-step-modal .single-step-target-field input[list]{width:100%}@media (max-width: 900px){.flow-dialog.single-step-modal .flow-dialog__body{display:block;overflow-y:auto}.flow-dialog.single-step-modal .flow-editor-layout{height:auto;overflow:visible}.flow-dialog.single-step-modal .flow-editor-layout>:is(.flow-editor-fields,.flow-editor-settings){height:auto;overflow:visible}}.flow-prediction-conditions>.flow-condition-empty,.flow-prediction-conditions>.field-help,.fixed-energy-editor{display:none!important}.flow-dialog.if-else-modal .if-else-condition-group{border:1px solid var(--flow-border);border-radius:14px;padding:14px;margin-top:12px;background:#fbfdfd}.flow-dialog.if-else-modal .if-else-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--flow-border)}.flow-dialog.if-else-modal .if-else-group-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.flow-dialog.if-else-modal .if-else-group-mode-field{min-width:220px;margin:0}.flow-dialog.if-else-modal .if-else-group-mode-field span{font-size:12px}@media (max-width: 900px){.flow-dialog.if-else-modal .if-else-group-head{align-items:stretch;flex-direction:column}.flow-dialog.if-else-modal .if-else-group-actions{justify-content:stretch}.flow-dialog.if-else-modal .if-else-group-mode-field{min-width:0;width:100%}}.flow-canvas-workspace .flow-v3-node.graph-node{box-sizing:border-box;width:157px;min-width:157px;max-width:157px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:0;padding:10px!important;border-radius:12px;overflow:visible;text-align:left;box-shadow:0 3px 10px #173c430e}.flow-canvas-workspace .data-source-block-node.graph-node{height:72px!important;min-height:72px!important}.flow-canvas-workspace .preprocess-node.graph-node,.flow-canvas-workspace .preprocess-node.graph-node.training-result-node{height:64px!important;min-height:64px!important}.flow-canvas-workspace .flow-v3-node.graph-node:hover{transform:none;box-shadow:0 4px 12px #173c4317}.flow-canvas-workspace .flow-source-card--compact,.flow-canvas-workspace .compact-flow-node{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.flow-canvas-workspace .compact-node-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;color:var(--flow-accent, #127b8b);background:#eaf6f8}.flow-canvas-workspace .compact-node-icon svg{width:18px;height:18px}.flow-canvas-workspace .compact-node-copy{display:grid;gap:3px;flex:1;min-width:0}.flow-canvas-workspace .compact-node-title{display:block;min-width:0;margin:0;color:var(--flow-text, #294b54);font-size:13px;line-height:1.35;font-weight:650;white-space:normal;overflow-wrap:anywhere;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flow-canvas-workspace .compact-node-stats{display:flex;flex-wrap:wrap;align-items:center;column-gap:1px;row-gap:0;font-size:11px;line-height:1.3;color:var(--flow-muted, #6d838b);font-variant-numeric:tabular-nums}.flow-canvas-workspace .compact-node-stats>span{white-space:nowrap}.flow-canvas-workspace .compact-node-stats-divider{opacity:.65}.flow-canvas-workspace .compact-flow-node--invalid .compact-node-icon{color:#b13d36;background:#fff0ee}.flow-canvas-workspace .compact-flow-node--pending .compact-node-icon{color:#927541;background:#faf5e9}.flow-canvas-workspace .compact-flow-node--waiting .compact-node-icon{color:#809299;background:#f1f5f6}.flow-canvas-workspace .graph-node .graph-port,.flow-canvas-workspace .graph-node .graph-port:hover{box-sizing:border-box;width:14px;height:14px;border-width:2px;top:50%;bottom:auto;transform:translateY(-50%)}.flow-canvas-workspace .graph-node .graph-port-left,.flow-canvas-workspace .graph-node .merge-input-port{left:-8px;right:auto}.flow-canvas-workspace .graph-node .graph-port-right{right:-8px;left:auto}.flow-canvas-workspace .graph-node .graph-port:after{top:-5px;right:-5px;bottom:-5px;left:-5px}.flow-canvas-workspace .graph-node .merge-input-a,.flow-canvas-workspace .graph-node .if-output-true{top:25%}.flow-canvas-workspace .graph-node .merge-input-b,.flow-canvas-workspace .graph-node .if-output-false{top:75%}.flow-canvas-workspace .graph-node:has(.merge-input-port){padding-left:24px!important}.flow-canvas-workspace .graph-node:has(.if-output-true){padding-right:24px!important}.flow-canvas-workspace .merge-port-label,.flow-canvas-workspace .if-port-label{font-size:9px;line-height:12px}.flow-canvas-workspace .merge-port-label{left:11px}.flow-canvas-workspace .if-port-label{right:11px}.flow-canvas-workspace .merge-port-label-a,.flow-canvas-workspace .if-port-label-true{top:calc(25% - 6px)}.flow-canvas-workspace .merge-port-label-b,.flow-canvas-workspace .if-port-label-false{top:calc(75% - 6px)}.flow-canvas-workspace .graph-node .node-execution-badge{top:6px;right:7px;width:7px;min-width:7px;height:7px;padding:0;border:0;border-radius:50%;font-size:0;overflow:hidden;background:currentColor}.flow-canvas-workspace .graph-node .node-execution-badge.status-running{background:#168b9a}.flow-canvas-workspace .graph-node .node-execution-badge.status-success{background:#36866c}.flow-canvas-workspace .graph-node .node-execution-badge.status-failed{background:#bd4b42}.flow-canvas-workspace .graph-node .node-execution-badge.status-pending,.flow-canvas-workspace .graph-node .node-execution-badge.status-skipped{background:#9ba9ad}.flow-canvas-workspace .preprocessing-result-download-node-action{box-sizing:border-box;min-width:96px;height:28px;min-height:28px;margin:0;padding:4px 8px;font-size:11px}.flow-canvas-workspace .flow-zoom-controls .flow-auto-layout-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:102px;height:34px;padding:6px 10px;color:var(--flow-accent, #127b8b);font-size:13px;line-height:1.3;border-right:1px solid var(--flow-border, #dce6e9);border-radius:8px 0 0 8px;white-space:nowrap}.flow-canvas-workspace .flow-auto-layout-button svg{width:17px;height:17px;flex:none}.flow-canvas-workspace .flow-auto-layout-button:disabled{opacity:.5;cursor:not-allowed}.flow-canvas-workspace .flow-auto-layout-button:focus-visible{outline:2px solid #62afbd;outline-offset:2px}
