html,body,#root{min-height:100%;margin:0}body{color:#1f2933;background:#f5f7fb}.app-shell{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#18202b;border-bottom:1px solid #2b3544}.header-left{min-width:0}.app-logo{color:#8fd3c7;font-size:18px}.app-title{color:#fff;font-size:18px;font-weight:600}.project-switcher{width:260px}.template-selector{min-width:260px}.user-menu{color:#f8fafc}.user-menu:hover{color:#fff!important;background:#ffffff14!important}.ant-layout-sider{border-right:1px solid #e5e7eb}.nav-label-with-badges{display:inline-flex;gap:6px;align-items:center;min-width:0}.workflow-nav-label{display:flex;gap:6px;align-items:center;justify-content:space-between;min-width:0}.workflow-nav-main{display:inline-flex;gap:6px;align-items:baseline;min-width:0}.workflow-nav-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.workflow-nav-progress{flex:0 0 auto;color:#64748b;font-size:12px}.workflow-nav-badges{display:inline-flex;flex:0 0 auto;gap:4px;align-items:center}.app-content{padding:24px;background:#f5f7fb}.route-loading{display:grid;min-height:260px;place-items:center}.login-page{min-height:100vh;display:grid;place-items:center;background:#eef3f8}.login-card{width:360px;border-radius:8px}.page-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.page-header h3{margin-bottom:2px}.page-alert{margin-bottom:16px}.content-section,.section-card,.table-card,.metric-card{margin-bottom:16px;border-radius:8px}.table-card .ant-card-body,.section-card .ant-card-body{padding:16px}.time-group-list{display:flex;flex-direction:column;gap:18px}.time-group-section{overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.time-group-heading{display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #eef2f7}.time-group-heading h4{margin:0}.time-group-section .ant-table-wrapper{padding:0 16px 16px}.metric-card .ant-card-body{padding:16px}.metric-value{margin:6px 0;color:#111827;font-size:24px;font-weight:650}.workflow-summary-cell{min-height:74px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.workflow-summary-cell.danger{background:#fff1f0;border-color:#ffccc7}.workflow-summary-cell.warning{background:#fffbe6;border-color:#ffe58f}.workflow-summary-cell.active{background:#e6f4ff;border-color:#91caff}.workflow-summary-value{margin-top:4px;color:#111827;font-size:24px;font-weight:650}.workflow-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px}.workflow-summary-item{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.workflow-summary-item-head{min-width:0}.workflow-summary-pill{display:inline-flex;align-items:center;height:20px;padding:0 7px;font-size:12px;line-height:20px;border-radius:999px}.workflow-summary-pill.red{color:#a8071a;background:#fff1f0;border:1px solid #ffa39e}.workflow-summary-pill.gold{color:#ad6800;background:#fffbe6;border:1px solid #ffe58f}.workflow-summary-empty{margin-top:12px}.clickable-list-item{cursor:pointer}.clickable-list-item:hover{background:#f3f8ff}.focused-row>td{background:#fff7e0!important}.download-attention-row>td{background:#fff7ed!important}.dependency-updated-row>td{box-shadow:inset 3px 0 #f59e0b}.action-button{max-width:160px}.action-button .ant-btn{width:fit-content}.action-reason{display:block;max-width:150px;font-size:12px;line-height:1.35;white-space:normal}.dependency-panel{border-radius:8px}.dependency-panel.compact{padding:8px 10px}.dependency-panel.compact .ant-alert-message{margin-bottom:4px;font-size:13px}.dependency-panel.compact .ant-alert-description{font-size:12px}.dependency-line{display:block;margin-bottom:2px}.dependency-row-list{display:flex;flex-direction:column;gap:6px}.dependency-row{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:220px}.dependency-row .dependency-line{min-width:0;margin-bottom:0}.legacy-blocking-item{display:inline-flex;gap:4px;align-items:center;max-width:100%}.legacy-blocking-item .ant-typography{overflow-wrap:anywhere}.legacy-dependency-item{display:inline-flex;gap:6px;align-items:center;max-width:100%}.legacy-dependency-item .ant-typography{overflow-wrap:anywhere}.workflow-section-band{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.workflow-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.workflow-step-card{border-radius:8px}.workflow-step-card.focused{border-color:#d48806;box-shadow:0 0 0 2px #d4880624}.workflow-card-stack,.workflow-action-list,.workflow-history-actions,.workflow-card-metrics,.workflow-result-links,.task-credential-copies{width:100%}.workflow-result-links .ant-typography{overflow-wrap:anywhere}.workflow-blocking-list{width:100%}.workflow-blocking-row{display:flex;gap:8px;align-items:center;justify-content:space-between;max-width:100%}.workflow-blocking-row .ant-typography{min-width:0;overflow-wrap:anywhere}.workflow-confirm-input{max-width:240px}.legacy-confirm-input{max-width:220px}.legacy-manual-summary{display:block;max-width:250px;overflow-wrap:anywhere}.legacy-path-text{display:block;max-width:300px;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.legacy-manual-form-note{margin-bottom:12px}.drawer-stack{width:100%}.drawer-note{margin-top:16px}.meta-grid{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.meta-grid span{color:#64748b}.modal-actions{display:flex;justify-content:space-between}.blocked-content{display:grid;min-height:300px;place-items:center;color:#475569}.full-width{width:100%}.dependency-graph{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.graph-node{min-height:150px;cursor:pointer;border-radius:8px}.graph-node.focused{border-color:#d48806;box-shadow:0 0 0 2px #d4880624}.overview-flow-card.ant-collapse{overflow:hidden;background:#fff}.overview-flow-card .ant-collapse-header{align-items:center}.overview-flow-card .ant-collapse-content-box{padding:0}.overview-flow-toolbar{padding-left:12px}.overview-flow-scroll{width:100%;overflow-x:auto;overflow-y:hidden;border-top:1px solid #eef2f7}.overview-flow-canvas{position:relative;min-width:100%;background:linear-gradient(#f8fafc 1px,transparent 1px),linear-gradient(90deg,#f8fafc 1px,transparent 1px);background-color:#fff;background-size:24px 24px}.overview-flow-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.overview-flow-section-title{position:absolute;display:flex;align-items:center;padding:12px 14px;overflow:hidden;background:#f8fafcf0;border-right:1px solid #e2e8f0}.overview-flow-section-title .ant-typography{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-flow-line{fill:none;stroke:#94a3b8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .12s ease,stroke-width .12s ease}.overview-flow-line-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke}.overview-flow-edge:hover .overview-flow-line,.overview-flow-edge:focus .overview-flow-line{stroke:#475569;stroke-width:4}.overview-flow-node{position:absolute;display:flex;flex-direction:column;gap:7px;align-items:stretch;padding:12px;overflow:hidden;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8dee8;border-left-width:4px;border-radius:8px;box-shadow:0 2px 8px #0f172a0f;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.overview-flow-node:hover,.overview-flow-node:focus-visible{border-color:#1677ff;outline:none;box-shadow:0 4px 14px #1677ff2e;transform:translateY(-1px)}.overview-flow-node-static{cursor:default}.overview-flow-node.selected{border-color:#d48806;box-shadow:0 0 0 2px #d4880629}.overview-flow-node-ok{border-left-color:#16a34a}.overview-flow-node-active{border-left-color:#1677ff}.overview-flow-node-warning{border-left-color:#d97706}.overview-flow-node-danger{border-left-color:#dc2626}.overview-flow-node-muted{border-left-color:#94a3b8}.overview-flow-node-head{min-width:0}.overview-flow-name{max-width:158px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-flow-file,.overview-flow-deadline,.overview-flow-summary{display:block;overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.overview-flow-external-link{display:inline-flex;gap:4px;align-items:center;align-self:flex-start;max-width:120px;overflow:hidden;font-size:12px;line-height:1.2;color:#1677ff;text-overflow:ellipsis;white-space:nowrap}.overview-flow-external-link:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.task-log{min-height:120px;padding:12px;margin:0;overflow:auto;color:#dbeafe;white-space:pre-wrap;background:#111827;border-radius:8px}.task-run-title{width:100%;justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.config-variable-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px 16px}.config-variable-grid .ant-form-item{margin-bottom:8px}.config-summary-band{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:16px;padding:16px;margin-bottom:16px;background:#fff;border:1px solid #dbe3ee;border-radius:8px}.config-status-block{display:flex;flex-direction:column;gap:14px;min-width:0}.config-status-icon{display:inline-grid;width:34px;height:34px;color:#0f766e;background:#e6fffb;border:1px solid #b5f5ec;border-radius:8px;place-items:center}.config-status-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.config-updated-at{padding:9px 10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.config-paths .ant-descriptions-item-label{width:72px;color:#64748b}.config-paths .ant-descriptions-item-content{min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.config-required-card .ant-list-item{height:100%;padding:0}.config-required-item{display:flex;flex-direction:column;gap:5px;height:100%;min-height:76px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.mono-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.timeline-edit-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 120px 190px 130px minmax(160px,1fr);gap:12px;align-items:start}.timeline-section-group{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px}.timeline-section-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;padding:12px 14px 8px;background:#f8fafc;border-bottom:1px solid #eef2f7}.timeline-section-heading h5{margin:0}.timeline-section-group .ant-table-wrapper{padding:0 12px 12px}.timeline-edit-row .ant-form-item{margin-bottom:0}.grant-form .ant-form-item{margin-bottom:12px}.yaml-editor-shell{overflow:hidden;background:#fff;border:1px solid #cbd5e1;border-radius:8px}.yaml-editor-shell.read-only{background:#f8fafc;border-color:#e2e8f0}.yaml-editor-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:38px;padding:7px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.yaml-editor-alert{margin:0;border-right:0;border-left:0;border-radius:0}.yaml-editor-body{display:grid;grid-template-columns:48px minmax(0,1fr);min-height:520px;background:#fbfdff}.yaml-line-numbers{max-height:620px;padding:12px 8px 12px 0;overflow:hidden;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;text-align:right;-webkit-user-select:none;user-select:none;background:#f1f5f9;border-right:1px solid #e2e8f0}.yaml-line-number{height:20.15px}.yaml-line-number.has-error{color:#b91c1c;font-weight:700}.yaml-code-pane{position:relative;min-width:0;min-height:520px}.yaml-highlight,.yaml-textarea{box-sizing:border-box;width:100%;min-height:520px;max-height:620px;padding:12px;margin:0;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;-moz-tab-size:2;tab-size:2;white-space:pre}.yaml-highlight{color:#334155;overflow:hidden;pointer-events:none;background:#fff}.yaml-textarea{position:absolute;top:0;right:0;bottom:0;left:0;color:transparent;caret-color:#111827;background:transparent;border:0;outline:0;resize:vertical;-webkit-text-fill-color:transparent}.yaml-textarea::selection{background:#3b82f647}.yaml-token-key{color:#0f766e;font-weight:650}.yaml-token-colon,.yaml-token-dash{color:#64748b}.yaml-token-string{color:#9a3412}.yaml-token-number{color:#1d4ed8}.yaml-token-literal{color:#7c3aed}.yaml-token-comment{color:#64748b;font-style:italic}.yaml-editor-shell.read-only .yaml-highlight{color:#475569;background:#f8fafc}.yaml-editor-shell.read-only .yaml-textarea{cursor:default}.compact-list{margin:0;padding-left:18px}.upload-validation-meta{display:flex;gap:10px;align-items:center;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}@media(max-width:900px){.app-header,.page-header{align-items:stretch;flex-direction:column}.project-switcher{width:100%}.form-grid,.config-variable-grid,.config-summary-band,.timeline-edit-row{grid-template-columns:1fr}}
