.workflow-page{display:flex;flex-direction:column;gap:14px;min-width:0;color:var(--color-ink)}.workflow-heading,.workflow-toolbar,.workflow-meta,.workflow-library,.workflow-workbench,.simulation-result{border:1px solid var(--color-line);background:var(--color-surface)}.workflow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-top:3px solid var(--color-forest)}.workflow-heading h1{font-size:26px;line-height:1.18}.workflow-subtitle{margin:7px 0 0;color:var(--color-muted);font-size:var(--font-size-body)}.workflow-heading-actions,.workflow-toolbar-actions,.library-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.wf-button,.wf-icon-button{min-height:34px;border:1px solid transparent;border-radius:var(--radius);padding:0 11px;font-size:var(--font-size-ui);font-weight:650;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.wf-button:disabled,.wf-icon-button:disabled{cursor:not-allowed;opacity:.52}.wf-button-primary{border-color:var(--color-clay);background:var(--color-clay);color:var(--color-on-primary)}.wf-button-primary:hover:not(:disabled){border-color:var(--color-clay-deep);background:var(--color-clay-deep)}.wf-button-secondary{border-color:var(--color-line);background:var(--color-surface);color:var(--color-forest)}.wf-button-secondary:hover:not(:disabled){border-color:var(--color-forest-mid);background:#f0f5ef}.wf-button-quiet{border-color:transparent;background:transparent;color:var(--color-forest)}.wf-button-quiet:hover:not(:disabled){background:var(--color-paper)}.wf-button-danger-quiet{border-color:transparent;background:transparent;color:var(--color-danger-ink)}.wf-button-danger-quiet:hover:not(:disabled){background:var(--color-danger-bg)}.wf-icon-button{display:inline-grid;width:34px;min-width:34px;place-items:center;padding:0;background:transparent;color:var(--color-muted);font-size:21px;font-weight:400}.wf-icon-button:hover{background:var(--color-paper);color:var(--color-ink)}.wf-alert{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 42px 12px 15px;border:1px solid var(--color-danger-border);border-left:4px solid var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger-ink);font-size:var(--font-size-body)}.wf-alert small{color:var(--color-muted)}.wf-alert-close{position:absolute;top:6px;right:9px;border:0;background:transparent;color:inherit;font-size:20px}.workflow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px 9px 14px}.workflow-title-inline{display:flex;min-width:0;align-items:center;gap:9px}.workflow-title-inline strong{overflow:hidden;font-size:var(--font-size-base);text-overflow:ellipsis;white-space:nowrap}.wf-code-inline,.wf-dirty{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--font-size-small);white-space:nowrap}.wf-dirty{color:var(--color-clay-deep);font-family:var(--font-sans)}.wf-status{display:inline-flex;min-height:22px;align-items:center;border:1px solid transparent;border-radius:2px;padding:2px 7px;font-size:var(--font-size-small);font-weight:700;white-space:nowrap}.status-0{border-color:#dfd1b7;background:var(--badge-draft-bg);color:var(--badge-draft-fg)}.status-1{border-color:#a9c9a1;background:var(--color-success-bg);color:var(--color-success-ink)}.status-2{border-color:var(--color-line);background:var(--color-paper);color:var(--color-muted)}.wf-validation{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--color-line);border-left:4px solid var(--color-muted);padding:10px 14px;background:var(--color-surface);font-size:var(--font-size-ui)}.wf-validation.is-valid{border-color:var(--color-success-border);border-left-color:var(--color-lime);background:var(--color-success-bg);color:var(--color-success-ink)}.wf-validation.has-errors{border-color:var(--color-danger-border);border-left-color:var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger-ink)}.wf-validation ul{display:flex;flex-wrap:wrap;gap:5px 18px;margin:0;padding-left:16px}.wf-validation li{max-width:100%}.workflow-switch{margin:0}.workflow-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.workflow-meta .wf-field-name,.workflow-meta .workflow-departments{grid-column:1 / -1}.workflow-options{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,1fr));align-items:center;gap:10px 18px;border:1px solid var(--color-line);padding:10px 12px;background:var(--color-surface)}.workflow-description{margin:0}.workflow-description textarea{min-height:54px}.workflow-options .wf-check{margin:0}.workflow-readonly-note{margin:-7px 0 0;color:var(--color-muted);font-size:var(--font-size-small)}.wf-field{display:flex;min-width:0;flex-direction:column;gap:5px;margin-bottom:12px}.workflow-meta .wf-field{margin:0}.wf-field>span{color:var(--color-muted);font-size:var(--font-size-small);font-weight:650}.wf-field input,.wf-field select,.wf-field textarea,.library-filters select,.wf-search input,.connect-row select{width:100%;min-width:0;min-height:36px;border:1px solid var(--color-line);border-radius:var(--radius);padding:7px 9px;background:var(--color-surface);color:var(--color-ink);font-size:var(--font-size-ui)}.wf-field textarea{min-height:72px;resize:vertical;line-height:1.45}.wf-field .wf-multi-select{min-height:104px;padding:6px 8px}.wf-field .field-hint{margin:1px 0 0;color:var(--color-muted);font-size:var(--font-size-caption);line-height:1.4}.directory-note-error{margin:0 0 10px;border-left:2px solid var(--color-danger);padding:6px 8px;background:var(--color-danger-bg);color:var(--color-danger-ink);font-size:var(--font-size-small);line-height:1.4}.wf-field input:focus,.wf-field select:focus,.wf-field textarea:focus,.library-filters select:focus,.wf-search input:focus,.connect-row select:focus{border-color:var(--color-focus);outline:2px solid var(--color-focus-ring)}.wf-check{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;color:var(--color-ink);font-size:var(--font-size-ui);line-height:1.4}.wf-check input{width:15px;height:15px;margin:1px 0 0;accent-color:var(--color-accent-control)}.workflow-workbench{display:grid;min-height:630px;grid-template-columns:204px minmax(420px,1fr) 306px;overflow:hidden}.workflow-palette,.workflow-inspector{min-width:0;background:var(--color-surface)}.workflow-palette{border-right:1px solid var(--color-line)}.workflow-inspector{display:flex;flex-direction:column;border-left:1px solid var(--color-line)}.wf-panel-heading{display:flex;min-height:63px;align-items:center;gap:10px;border-bottom:1px solid var(--color-table-row-border);padding:11px 13px}.wf-panel-heading h2{font-size:var(--font-size-base)}.wf-panel-heading p{margin:3px 0 0;color:var(--color-muted);font-size:var(--font-size-small)}.workflow-palette-list{display:flex;flex-direction:column;gap:6px;padding:11px 9px}.palette-item{display:flex;min-height:58px;align-items:center;gap:9px;border:1px solid var(--color-table-row-border);border-radius:var(--radius);padding:8px;background:var(--color-surface);text-align:left}.palette-item:hover:not(:disabled){border-color:var(--color-forest-mid);background:#f7faf5}.palette-item:disabled{cursor:not-allowed;opacity:.5}.palette-item strong,.palette-item small{display:block}.palette-item strong{font-size:var(--font-size-ui)}.palette-item small{margin-top:3px;color:var(--color-muted);font-size:var(--font-size-caption);line-height:1.35}.palette-note{margin:auto 12px 12px;border-top:1px solid var(--color-table-row-border);padding-top:10px;color:var(--color-muted);font-size:var(--font-size-small);line-height:1.45}.node-symbol,.workflow-node-symbol{display:grid;width:30px;min-width:30px;height:30px;place-items:center;border-radius:2px;font-size:17px;font-weight:700}.node-symbol.start,.workflow-node-symbol.start{background:#e8f3dc;color:var(--color-forest-mid)}.node-symbol.approval,.workflow-node-symbol.approval{background:#f8e8df;color:var(--color-clay-deep)}.node-symbol.condition,.workflow-node-symbol.condition{background:#fbf2ce;color:#866b08}.node-symbol.parallel,.workflow-node-symbol.parallel{background:#dfece4;color:var(--color-forest)}.node-symbol.success,.workflow-node-symbol.success{background:#e8f3dc;color:var(--color-success-ink)}.node-symbol.danger,.workflow-node-symbol.danger{background:var(--color-danger-bg);color:var(--color-danger-ink)}.node-symbol.neutral,.workflow-node-symbol.neutral{background:var(--color-paper);color:var(--color-muted)}.workflow-canvas-wrap{display:flex;min-width:0;flex-direction:column;background:#f4f5ef}.canvas-caption,.canvas-footer{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--color-line);padding:0 13px;background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-small)}.canvas-caption span:first-child{color:var(--color-forest);font-family:var(--font-mono);font-size:var(--font-size-caption);font-weight:700}.canvas-footer{min-height:34px;border-top:1px solid var(--color-line);border-bottom:0;font-size:var(--font-size-caption)}.canvas-footer>span:first-child{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--color-clay)}.workflow-canvas-scroll{flex:1;min-height:520px;overflow:auto}.workflow-canvas{position:relative;width:1500px;min-height:850px;background-color:#f4f5ef;background-image:radial-gradient(var(--color-line) .75px,transparent .75px);background-size:18px 18px}.workflow-edges{position:absolute;top:0;right:0;bottom:0;left:0;width:1500px;height:850px;overflow:visible;pointer-events:none}.workflow-edges path{fill:none;stroke:var(--color-forest-mid);stroke-width:1.8}.workflow-edges marker path{fill:var(--color-forest-mid);stroke:none}.workflow-edges .edge-reject path{stroke:var(--color-danger);stroke-dasharray:5 4}.workflow-edges .edge-reject marker path{fill:var(--color-danger)}.workflow-edges text{fill:var(--color-muted);font-family:var(--font-sans);font-size:11px;text-anchor:middle}.workflow-node{position:absolute;display:flex;width:224px;min-height:76px;align-items:center;gap:10px;border:1px solid var(--color-line);border-left:4px solid var(--color-forest-mid);border-radius:var(--radius);padding:10px 8px;background:var(--color-surface);color:var(--color-ink);box-shadow:0 2px 6px #1a242012;text-align:left}.workflow-node:hover{border-color:var(--color-forest-mid);box-shadow:0 4px 12px #1a24201f}.workflow-node.is-selected{outline:2px solid var(--color-forest-mid);outline-offset:1px}.workflow-node.tone-approval{border-left-color:var(--color-clay)}.workflow-node.tone-condition{border-left-color:#bd9d13}.workflow-node.tone-parallel{border-left-color:var(--color-forest)}.workflow-node.tone-success{border-left-color:var(--color-lime)}.workflow-node.tone-danger{border-left-color:var(--color-danger)}.workflow-node-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.workflow-node-copy strong{overflow:hidden;font-size:var(--font-size-ui);text-overflow:ellipsis;white-space:nowrap}.workflow-node-copy small{color:var(--color-muted);font-size:var(--font-size-caption)}.node-drag-grip{display:grid;width:22px;min-width:22px;height:30px;place-items:center;color:var(--color-muted);cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.node-drag-grip:active{cursor:grabbing}.canvas-empty{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);border:1px dashed var(--color-line);padding:18px 24px;background:var(--color-surface);color:var(--color-muted)}.inspector-heading .node-symbol{flex:none}.inspector-heading>div{min-width:0;flex:1}.inspector-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-remove{flex:none}.inspector-scroll{flex:1;overflow:auto;padding:14px 14px 18px}.inspector-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0 9px;border-top:1px solid var(--color-table-row-border);padding-top:12px;font-size:var(--font-size-ui)}.text-action{border:0;padding:2px 0;background:transparent;color:var(--color-clay-deep);font-size:var(--font-size-small);font-weight:700}.text-action:hover{text-decoration:underline}.approver-row{margin:0 0 10px;border-left:2px solid var(--color-line);padding-left:9px}.remove-action{color:var(--color-danger-ink)}.condition-branch{margin:0 0 12px;border:1px solid var(--color-table-row-border);padding:9px;background:#fffefa}.condition-branch.is-default{border-color:#d8d4c8;background:var(--color-paper)}.condition-branch .wf-field{margin-bottom:9px}.condition-values{display:grid;grid-template-columns:1fr 1fr;gap:7px}.connection-editor{margin-top:8px;border-top:1px solid var(--color-table-row-border)}.connect-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.connect-row .wf-button{padding:0 10px}.field-hint{margin:4px 0 10px;color:var(--color-muted);font-size:var(--font-size-small)}.connection-list{display:flex;flex-direction:column;gap:5px;margin:10px 0 0;padding:0;list-style:none}.connection-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--color-table-row-border);padding:7px 8px}.connection-list li span{display:flex;min-width:0;flex-direction:column;gap:3px}.connection-list b{color:var(--color-forest);font-size:var(--font-size-small)}.connection-list small{overflow:hidden;color:var(--color-muted);font-size:var(--font-size-caption);text-overflow:ellipsis;white-space:nowrap}.remove-connection{display:grid;width:25px;height:25px;flex:none;place-items:center;border:0;background:transparent;color:var(--color-danger-ink);font-size:18px}.inspector-empty{display:grid;flex:1;align-content:center;justify-items:center;padding:25px;text-align:center}.inspector-empty>span{color:var(--color-lime);font-size:28px}.inspector-empty strong{margin-top:8px;font-size:var(--font-size-base)}.inspector-empty p{max-width:220px;color:var(--color-muted);font-size:var(--font-size-ui);line-height:1.5}.workflow-library{min-height:420px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-line);padding:15px 17px}.library-toolbar h2{font-size:var(--font-size-large)}.library-toolbar p{margin:4px 0 0;color:var(--color-muted);font-size:var(--font-size-small)}.library-filters{justify-content:flex-end}.library-filters select{width:auto}.wf-search{display:flex;min-width:220px;align-items:center;gap:5px;border:1px solid var(--color-line);padding-left:9px;color:var(--color-muted)}.wf-search input{min-height:34px;border:0;padding-left:3px;outline:0}.wf-search span{font-size:18px}.library-state{padding:44px 18px;color:var(--color-muted);text-align:center}.library-empty{display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;padding:36px 18px;text-align:center}.empty-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid #c2d2b6;background:#eef4e8;color:var(--color-forest);font-size:22px}.library-empty h3{margin-top:14px;font-size:var(--font-size-large)}.library-empty p{max-width:510px;margin:8px 0 17px;color:var(--color-muted);font-size:var(--font-size-body);line-height:1.5}.library-empty>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.workflow-table-wrap{overflow-x:auto}.workflow-table{width:100%;border-collapse:collapse;text-align:left}.workflow-table th{padding:10px 12px;background:var(--color-table-head);color:var(--color-muted);font-size:var(--font-size-caption);font-weight:700;white-space:nowrap}.workflow-table td{border-top:1px solid var(--color-table-row-border);padding:10px 12px;font-size:var(--font-size-ui)}.workflow-table tbody tr{cursor:pointer}.workflow-table tbody tr:hover{background:#f8faf5}.workflow-table td strong,.workflow-table td small{display:block}.workflow-table td small{margin-top:3px;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--font-size-caption)}.simulation-result{padding:12px 15px}.simulation-result-head{display:flex;align-items:center;gap:10px}.simulation-result-head strong{margin-right:auto}.simulation-status{border:1px solid var(--color-line);padding:4px 8px;font-size:var(--font-size-small);font-weight:700}.simulation-status.approved{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success-ink)}.simulation-status.rejected,.simulation-status.error{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-ink)}.simulation-result ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:13px 0 0;padding:0;list-style:none}.simulation-result li{display:flex;flex-direction:column;gap:5px;border-left:2px solid var(--color-lime);padding:7px 9px;background:var(--color-paper);font-size:var(--font-size-small)}.simulation-result li span{color:var(--color-muted);line-height:1.4}.wf-modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:rgba(20,40,32,.48)}.wf-modal{width:min(520px,100%);border:1px solid var(--color-line);border-top:4px solid var(--color-forest);padding:17px;background:var(--color-surface);box-shadow:0 16px 40px #14282033}.wf-modal header,.wf-modal footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.wf-modal header{margin-bottom:17px}.wf-modal h2{font-size:19px}.wf-modal footer{justify-content:flex-end;margin-top:13px}@media (max-width: 1280px){.workflow-meta,.workflow-options{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-description{grid-column:1 / -1}.workflow-workbench{grid-template-columns:176px minmax(360px,1fr) 280px}.workflow-toolbar{align-items:flex-start;flex-direction:column}}@media (max-width: 920px){.workflow-heading,.library-toolbar{align-items:flex-start;flex-direction:column}.workflow-heading-actions{width:100%}.workflow-workbench{grid-template-columns:1fr}.workflow-palette{border-right:0;border-bottom:1px solid var(--color-line)}.workflow-palette-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.palette-note{margin-top:0}.workflow-inspector{min-height:350px;border-top:1px solid var(--color-line);border-left:0}.workflow-canvas-scroll{min-height:470px}.library-filters{width:100%;justify-content:flex-start}}@media (max-width: 600px){.workflow-page{gap:10px}.workflow-heading{padding:15px}.workflow-heading h1{font-size:22px}.workflow-heading-actions .wf-button{flex:1}.workflow-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-meta .wf-field-name{grid-column:1 / -1}.workflow-options{grid-template-columns:1fr}.workflow-description{grid-column:auto}.workflow-title-inline{flex-wrap:wrap}.workflow-toolbar-actions{width:100%}.workflow-toolbar-actions .wf-button{flex:1 1 auto}.workflow-palette-list{grid-template-columns:1fr}.library-filters{align-items:stretch;flex-direction:column}.wf-search,.library-filters select{width:100%;min-height:36px}.library-empty{min-height:280px}.wf-validation{flex-direction:column}}.role-rule-page{display:grid;gap:16px;min-width:0}.role-rule-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:12px;padding:0 0 14px;border-bottom:1px solid var(--border-subtle, #d9dedb)}.role-rule-filters label,.role-rule-form label{display:grid;gap:6px;color:var(--text-secondary, #52615b);font-size:13px}.role-rule-filters select,.role-rule-form select{min-width:0;min-height:40px;padding:7px 10px;border:1px solid var(--border-default, #cbd3cf);border-radius:4px;background:var(--surface, #fff);color:var(--text-primary, #18231f);font:inherit}.role-rule-actions,.role-rule-row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.role-rule-row-actions{justify-content:flex-end}.role-rule-notice,.role-rule-error{margin:0;padding:10px 12px;border-left:3px solid #258360;background:#edf7f1;color:#174b38}.role-rule-error{border-color:#b83232;background:#fff1ef;color:#7e2424}.role-rule-form{display:grid;gap:14px}.role-rule-checkbox{display:flex!important;align-items:center;gap:9px!important;min-height:40px}.role-rule-checkbox input{width:16px;height:16px;accent-color:#167652}@media (max-width: 850px){.role-rule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.role-rule-actions{grid-column:1 / -1;justify-content:flex-end;flex-wrap:wrap}}@media (max-width: 500px){.role-rule-filters{grid-template-columns:minmax(0,1fr)}.role-rule-actions{justify-content:stretch}.role-rule-actions>button{flex:1}}
