/* Platform task list, fixed stage content, and shared Feishu component tokens. */
#panel-workflows .workflow-center-legacy[hidden] { display: none !important; }
.workflow-center-page { min-width: 0; }
.workflow-center-page > .operator-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.workflow-center-page > .operator-page-heading small { color: var(--feishu-color-text-2); font-size: 12px; }
.workflow-center-page > .operator-page-heading h1 { margin-top: 5px; }
.workflow-center-page.feishu-component-scope button.secondary-button { border: 1px solid var(--feishu-color-border); background: var(--feishu-color-bg-0); color: var(--feishu-color-text-0); }
.workflow-center-page.feishu-component-scope button.primary-button { border: 1px solid var(--feishu-color-primary); background: var(--feishu-color-primary); color: #fff; }
.workflow-center-page.feishu-component-scope button.primary-button:hover { background: var(--feishu-color-primary-hover); }
.workflow-center-notice:not([hidden]) { margin: 0 0 12px; padding: 9px 12px; border-radius: 6px; background: var(--feishu-color-primary-light-default); color: var(--feishu-color-primary); }
.workflow-inline-section { padding: 0 !important; border: 0 !important; }
.workflow-task-layout { display: grid; grid-template-columns: 150px minmax(420px,520px) minmax(0,1fr); gap: 0; min-width: 0; }
.workflow-task-directory { min-width: 0; padding: 16px 12px 16px 0; border-right: 1px solid var(--feishu-color-border); }
.workflow-task-directory > h2 { margin: 0 0 14px 10px; color: var(--feishu-color-text-1); font-size: 14px; font-weight: 500; }
.workflow-task-directory nav { display: grid; gap: 5px; max-height: calc(100vh - 220px); overflow-y: auto; }
.workflow-task-group h3 { margin: 0 0 5px 10px; color: var(--feishu-color-text-2); font-size: 12px; font-weight: 500; }
.workflow-center-page .workflow-task-directory .workflow-task-item { display: block; box-sizing: border-box; width: 100%; min-height: 36px; padding: 8px 10px; border: 0; border-radius: 8px; background: transparent !important; color: var(--feishu-color-text-1); text-align: left; font-size: 12px; line-height: 1.5; cursor: pointer; box-shadow: none !important; }
.workflow-center-page .workflow-task-directory .workflow-task-item:hover { background: var(--feishu-color-fill-0) !important; }
.workflow-center-page .workflow-task-directory .workflow-task-item[aria-current="page"] { background: var(--feishu-color-primary-light-default) !important; color: var(--feishu-color-primary); }
.workflow-task-item[aria-current="page"] { font-weight: 500; }
.workflow-task-item strong,.workflow-task-item small { display: block; }
.workflow-task-item strong { font-size: 13px; font-weight: 500; }
.workflow-task-item small { margin-top: 2px; color: var(--feishu-color-text-2); font-size: 11px; }
.workflow-stage-directory { min-width: 0; padding: 16px 12px; border-right: 1px solid var(--feishu-color-border); }
.workflow-stage-directory h2 { margin: 0 0 6px; color: var(--feishu-color-text-1); font-size: 14px; font-weight: 500; }
.workflow-stage-directory-note { margin: 0 0 16px; color: var(--feishu-color-text-2); font-size: 11px; line-height: 1.5; }
.workflow-stage-directory nav { max-height: calc(100vh - 225px); overflow: auto; }
.workflow-stage-directory ul { margin: 0; padding: 0; list-style: none; }
.workflow-stage-directory li { min-width: 0; }
.workflow-graph { padding: 6px 6px 18px; }
.workflow-stage-unit { box-sizing: border-box; width: min(100%,340px); padding: 8px; border: 1px solid var(--feishu-color-border); border-radius: 10px; background: var(--feishu-color-bg-0); box-shadow: 0 2px 8px rgba(31,35,41,.05); }
.workflow-stage-unit:has(.workflow-stage-item[aria-current="step"]) { border-color: var(--feishu-color-primary); }
.workflow-stage-pipeline { display: grid; gap: 13px; padding: 12px 3px 2px; }
.workflow-pipeline-node { position: relative; min-width: 0; padding: 7px 9px; border: 1px solid var(--feishu-color-border); border-radius: 7px; background: var(--feishu-color-fill-0); }
.workflow-pipeline-node + .workflow-pipeline-node::before { content: '↓'; position: absolute; top: -16px; left: 50%; transform: translateX(-50%); color: var(--feishu-color-primary); font-size: 13px; line-height: 14px; }
.workflow-pipeline-node small { display: block; color: var(--feishu-color-text-2); font-size: 10px; line-height: 1.35; }
.workflow-pipeline-node strong { display: block; margin-top: 2px; overflow-wrap: anywhere; color: var(--feishu-color-text-0); font-size: 11px; font-weight: 500; line-height: 1.45; }
.workflow-pipeline-node span { display: block; margin-top: 2px; color: var(--feishu-color-text-2); font-size: 10px; line-height: 1.45; }
.workflow-pipeline-prompt { border-color: var(--feishu-color-primary); background: var(--feishu-color-primary-light-default); }
.workflow-pipeline-model { border-color: #d9e5ff; background: #f4f8ff; }
.workflow-pipeline-output { border-color: #c8e7d4; background: #f3faf5; }
.workflow-pipeline-handoff { border-style: dashed; background: var(--feishu-color-bg-0); }
.workflow-graph ul.workflow-tree-root,.workflow-graph ul.workflow-tree-path { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.workflow-graph ul.workflow-tree-root > li,.workflow-graph ul.workflow-tree-path > li { display: flex; flex-direction: column; align-items: center; width: 100%; position: relative; }
.workflow-graph ul.workflow-tree-root > li + li::before,.workflow-graph ul.workflow-tree-path > li + li::before { content: ''; position: absolute; left: 50%; top: -22px; height: 22px; border-left: 2px solid var(--feishu-color-primary); }
.workflow-graph ul.workflow-tree-branches { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; width: 100%; position: relative; margin-top: 28px; padding-top: 16px; border-top: 2px solid var(--feishu-color-primary); }
.workflow-graph ul.workflow-tree-branches::before { content: ''; position: absolute; left: 50%; top: -28px; height: 28px; border-left: 2px solid var(--feishu-color-primary); }
.workflow-graph ul.workflow-tree-branches > li { position: relative; min-width: 0; }
.workflow-graph ul.workflow-tree-branches > li::before { content: ''; position: absolute; left: 50%; top: -16px; height: 16px; border-left: 2px solid var(--feishu-color-primary); }
.workflow-graph ul.workflow-tree-path { position: relative; width: 100%; margin-top: 22px; }
.workflow-graph ul.workflow-tree-path::before { content: ''; position: absolute; left: 50%; top: -22px; height: 22px; border-left: 2px solid var(--feishu-color-primary); }
.workflow-center-page .workflow-stage-item { display: grid; grid-template-columns: 25px minmax(0,1fr); column-gap: 7px; box-sizing: border-box; width: 100%; padding: 9px 8px; border: 1px solid var(--feishu-color-border); border-radius: 8px; background: var(--feishu-color-bg-0) !important; color: var(--feishu-color-text-1); text-align: left; cursor: pointer; box-shadow: 0 2px 7px rgba(31,35,41,.06) !important; }
.workflow-center-page .workflow-stage-item:hover { background: var(--feishu-color-fill-0) !important; }
.workflow-center-page .workflow-stage-item[aria-current="step"] { background: var(--feishu-color-primary-light-default) !important; color: var(--feishu-color-primary); }
.workflow-stage-item > span:first-child { grid-row: 1 / 3; color: var(--feishu-color-text-3); font-size: 11px; }
.workflow-stage-item > strong { min-width: 0; font-size: 12px; font-weight: 500; }
.workflow-decision { display: grid; place-items: center; box-sizing: border-box; width: 76px; height: 76px; margin-top: 24px; position: relative; color: var(--feishu-color-primary); text-align: center; font-size: 11px; font-weight: 500; }
.workflow-decision::before { content: ''; position: absolute; inset: 11px; border: 2px solid var(--feishu-color-primary); border-radius: 5px; background: var(--feishu-color-primary-light-default); transform: rotate(45deg); }
.workflow-decision::after { content: ''; position: absolute; left: 50%; top: -24px; height: 24px; border-left: 2px solid var(--feishu-color-primary); }
.workflow-decision > span { position: relative; z-index: 1; max-width: 50px; }
.workflow-stage-effects { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.workflow-stage-item > .workflow-stage-effects { grid-column: 2; }
.workflow-stage-effect { display: inline-block; padding: 1px 5px; border: 1px solid var(--feishu-color-border); border-radius: 4px; color: var(--feishu-color-text-2); background: var(--feishu-color-bg-0); font-size: 10px; font-style: normal; line-height: 1.5; }
.workflow-stage-item[aria-current="step"] .workflow-stage-effect,.workflow-tree-branch[aria-current="step"] .workflow-stage-effect { color: var(--feishu-color-primary); border-color: var(--feishu-color-primary); }
.workflow-center-page .workflow-tree-branch { display: grid; box-sizing: border-box; width: 100%; padding: 8px; border: 1px solid var(--feishu-color-border); border-radius: 8px; background: var(--feishu-color-bg-0) !important; color: var(--feishu-color-text-1); text-align: left; cursor: pointer; box-shadow: 0 2px 7px rgba(31,35,41,.06) !important; }
.workflow-center-page .workflow-tree-branch:hover { background: var(--feishu-color-fill-0) !important; }
.workflow-center-page .workflow-tree-branch[aria-current="step"] { background: var(--feishu-color-primary-light-default) !important; color: var(--feishu-color-primary); }
.workflow-tree-branch small { color: var(--feishu-color-text-3); font-size: 10px; }
.workflow-tree-branch strong { font-size: 12px; font-weight: 500; }
.workflow-stage-branch { grid-column: 2; display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; color: var(--feishu-color-text-2); font-size: 10px; line-height: 1.4; }
.workflow-stage-branch b { width: 100%; font-weight: 400; }
.workflow-stage-branch em { padding: 2px 5px; border: 1px solid var(--feishu-color-border); border-radius: 4px; background: var(--feishu-color-bg-0); font-style: normal; }
.workflow-stage-inherited { grid-column: 2; margin-top: 4px; color: var(--feishu-color-text-2); font-size: 10px; }
.workflow-task-detail { min-width: 0; padding: 16px 0 24px 20px; }
.workflow-task-heading { margin-bottom: 18px; }
.workflow-task-heading small { color: var(--feishu-color-text-2); font-size: 12px; }
.workflow-task-heading h2 { margin: 4px 0 6px; font-size: 18px; font-weight: 500; }
.workflow-task-heading p { margin: 0; color: var(--feishu-color-text-2); font-size: 12px; }
.workflow-execution-flow { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0 0 22px; }
.workflow-execution-arrow { display: none; }
.workflow-execution-node { min-width: 0; padding: 9px; border: 1px solid var(--feishu-color-border); border-radius: 7px; background: var(--feishu-color-bg-0); }
.workflow-execution-node small { display: block; margin-bottom: 5px; color: var(--feishu-color-text-2); font-size: 10px; }
.workflow-execution-node strong { display: block; overflow-wrap: anywhere; color: var(--feishu-color-text-1); font-size: 11px; font-weight: 500; line-height: 1.4; }
.workflow-execution-arrow { align-self: center; color: var(--feishu-color-primary); font-size: 16px; }
.workflow-architecture-condition { margin: 0 0 20px; padding: 12px 14px; border: 1px solid var(--feishu-color-border); border-radius: 8px; background: var(--feishu-color-fill-0); }
.workflow-architecture-condition h4 { margin: 0 0 8px; font-size: 13px; font-weight: 500; }
.workflow-architecture-condition p { margin: 5px 0; color: var(--feishu-color-text-1); font-size: 12px; line-height: 1.6; }
.workflow-architecture-condition p strong { font-weight: 500; }
.workflow-architecture-condition small { display: block; margin-top: 8px; color: var(--feishu-color-text-3); font-size: 11px; }
.workflow-stage-section > h3,.workflow-prompt-section h3 { margin: 0 0 4px; font-size: 15px; font-weight: 500; }
.workflow-stage-section > p,.workflow-prompt-heading p { margin: 0 0 14px; color: var(--feishu-color-text-2); font-size: 12px; }
.workflow-prompt-section { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--feishu-color-border); }
.workflow-prompt-heading { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.workflow-prompt-heading label { display: grid; gap: 6px; width: min(100%,360px); color: var(--feishu-color-text-1); font-size: 12px; }
.workflow-prompt-heading select { width: 100%; min-height: 36px; padding: 5px 10px; border: 1px solid var(--feishu-color-border); border-radius: 7px; background: var(--feishu-color-bg-0); color: var(--feishu-color-text-0); }
.workflow-stage-list { display: grid; gap: 12px; }
.workflow-stage-card { margin: 0 0 12px; padding: 16px 18px; border: 1px solid var(--feishu-color-border); border-radius: 8px; background: var(--feishu-color-bg-0); }
.workflow-stage-card-head { display: flex; gap: 12px; align-items: flex-start; }
.workflow-stage-card-head > span { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 7px; background: var(--feishu-color-primary-light-default); color: var(--feishu-color-primary); font-size: 12px; font-weight: 500; }
.workflow-stage-card-head > div { min-width: 0; }
.workflow-stage-card h4 { margin: 2px 0 5px; font-size: 14px; font-weight: 500; }
.workflow-stage-card-head p { margin: 0; color: var(--feishu-color-text-2); font-size: 12px; line-height: 1.6; }
.workflow-branch-condition { display: flex; gap: 6px; flex-wrap: wrap; margin: 12px 0 0; padding: 8px 10px; border-radius: 6px; background: var(--feishu-color-fill-0); color: var(--feishu-color-text-1); font-size: 12px; line-height: 1.6; }
.workflow-branch-condition strong { font-weight: 500; }
.workflow-stage-specific-form { margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--feishu-color-border); border-radius: 8px; background: var(--feishu-color-bg-0); }
.workflow-stage-specific-form + .workflow-stage-specific-form { margin-top: 10px; }
.workflow-stage-specific-form > strong { display: block; margin: 0 0 9px; font-size: 13px; }
.workflow-stage-specific-form details { margin: 0 0 14px; color: var(--feishu-color-text-1); font-size: 12px; }
.workflow-stage-specific-form details summary { cursor: pointer; }
.workflow-stage-specific-form details pre { max-height: 180px; margin: 8px 0 0; padding: 10px; overflow: auto; border-radius: 6px; background: var(--feishu-color-fill-0); color: var(--feishu-color-text-1); font: 12px/1.6 var(--feishu-font-family); white-space: pre-wrap; overflow-wrap: anywhere; }
.workflow-prompt-base { margin: 10px 0 14px; }
.workflow-prompt-base > span { display: block; margin-bottom: 6px; color: var(--feishu-color-text-1); font-size: 12px; }
.workflow-prompt-base pre { max-height: 280px; margin: 0; padding: 10px; overflow: auto; border-radius: 6px; background: var(--feishu-color-fill-0); color: var(--feishu-color-text-1); font: 12px/1.6 var(--feishu-font-family); white-space: pre-wrap; overflow-wrap: anywhere; }
.workflow-prompt-readback { margin: 0 0 14px; }
.workflow-prompt-readback > span { display: block; margin-bottom: 6px; color: var(--feishu-color-text-1); font-size: 12px; }
.workflow-prompt-readback pre { max-height: 280px; margin: 0; padding: 10px; overflow: auto; border-left: 3px solid var(--feishu-color-primary); border-radius: 0 6px 6px 0; background: var(--feishu-color-primary-light-default); color: var(--feishu-color-text-1); font: 12px/1.6 var(--feishu-font-family); white-space: pre-wrap; overflow-wrap: anywhere; }
.workflow-branch-path { display: block; margin: 0 0 11px; color: var(--feishu-color-text-1); font-size: 13px; font-weight: 500; }
.workflow-stage-specific-form label { display: grid; gap: 8px; color: var(--feishu-color-text-1); font-size: 13px; font-weight: 500; }
.workflow-stage-specific-form textarea { box-sizing: border-box; width: 100%; min-height: 100px; padding: 9px 11px; border: 1px solid var(--feishu-color-border); border-radius: 6px; background: var(--feishu-color-fill-0); color: var(--feishu-color-text-0); font: 13px/1.6 var(--feishu-font-family); resize: vertical; }
.workflow-stage-specific-form textarea:focus { outline: none; border-color: var(--feishu-color-primary); box-shadow: var(--workbench-focus-ring); }
.workflow-stage-specific-form [data-stage-status]:not(:empty) { margin: 8px 0 0; color: var(--feishu-color-primary); font-size: 12px; }
.workflow-stage-specific-form [data-stage-restore] { color: var(--feishu-color-primary); background: transparent; }
.workflow-stage-fixed { margin: 10px 0 0 42px; color: var(--feishu-color-text-3); font-size: 12px; }
.workflow-stage-prompt-label { margin: 15px 0 10px 42px; color: var(--feishu-color-text-1); font-size: 13px; font-weight: 500; }
.workflow-stage-card [data-stage-prompt] .workflow-task-role,.workflow-stage-card [data-fallback-editor] .workflow-task-role { max-width: none; margin-left: 42px; }
.workflow-stage-card .workflow-task-locked { margin: 12px 0 0 42px; background: var(--feishu-color-fill-0); }
.workflow-stage-unregistered { margin: 0 0 16px; padding: 12px 14px; border-radius: 8px; background: var(--feishu-color-fill-0); color: var(--feishu-color-text-2); font-size: 12px; }
.workflow-editor-heading { padding-top: 17px; border-top: 1px solid var(--feishu-color-border); }
.workflow-editor-heading h3 { margin: 0 0 4px; font-size: 14px; font-weight: 500; }
.workflow-editor-heading p { margin: 0 0 15px; font-size: 12px; }
.workflow-task-role { max-width: 850px; margin: 0 0 12px; padding: 15px 16px; border: 1px solid var(--feishu-color-border); border-radius: 8px; background: var(--feishu-color-bg-0); }
.workflow-task-role h4 { margin: 0 0 4px; font-size: 14px; font-weight: 500; }
.workflow-task-role p { margin: 0 0 10px; font-size: 12px; }
.workflow-task-role .workflow-stage-prompt label { display: grid; gap: 8px; font-size: 13px; font-weight: 500; }
.workflow-task-role .workflow-stage-prompt textarea { box-sizing: border-box; width: 100%; min-height: 104px; padding: 9px 11px; border: 1px solid var(--feishu-color-border); border-radius: 6px; background: var(--feishu-color-fill-0); color: var(--feishu-color-text-0); font: 13px/1.6 var(--feishu-font-family); resize: vertical; }
.workflow-task-role .workflow-stage-prompt textarea:focus { outline: none; border-color: var(--feishu-color-primary); box-shadow: var(--workbench-focus-ring); }
.workflow-task-role .workflow-stage-prompt details { margin: 10px 0 7px; }
.workflow-task-role .workflow-stage-prompt pre { max-height: 220px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.workflow-prompt-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
.workflow-prompt-actions button[data-prompt-restore] { color: var(--feishu-color-primary); background: transparent; }
.workflow-task-locked { max-width: 850px; margin: 0; padding: 12px; border-radius: 6px; background: var(--feishu-color-bg-0); font-size: 13px; }
.workflow-prompt-status:not(:empty) { margin: 0 0 10px; color: var(--feishu-color-primary); }
@media(max-width:1200px) and (min-width:981px) { .workflow-task-layout { grid-template-columns: 130px 370px minmax(0,1fr); } .workflow-task-detail { padding-left: 14px; } }
@media(max-width:980px) { .workflow-task-layout { grid-template-columns: 1fr; gap: 0; } .workflow-task-directory,.workflow-stage-directory { padding: 8px 0 12px; border-right: 0; border-bottom: 1px solid var(--feishu-color-border); } .workflow-task-directory nav { display: flex; gap: 8px; max-height: none; overflow-x: auto; } .workflow-task-directory .workflow-task-item { flex: 0 0 150px; } .workflow-stage-directory nav { max-height: 330px; } .workflow-task-detail { padding-left: 0; } }
@media(max-width:760px) { .workflow-branch-condition,.workflow-stage-specific-form,.workflow-stage-card .workflow-task-locked { margin-left: 0; } }
