.auth-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:start}.auth-workspace-main{min-width:0}.auth-workspace-side{display:grid;gap:12px;min-width:0}.auth-workspace-header,.relation-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px}.auth-workspace-header h3,.auth-workspace-header p,.relation-panel h4{margin:0}.auth-workspace-header p{margin-top:4px;color:#64748b;font-size:13px}.relation-panel{display:grid;gap:12px}.relation-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.relation-list{display:grid;gap:8px}.relation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #eef2f7;border-radius:8px;padding:10px;background:#f8fafc}.relation-row>div:first-child{display:grid;gap:3px;min-width:0}.relation-row-actions{display:flex;align-items:center;gap:8px}.relation-row strong,.relation-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-row span{color:#64748b;font-size:12px}.auth-empty-panel{display:grid;place-items:center;min-height:80px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px}.auth-package-workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:12px;align-items:start}.auth-package-main,.auth-package-side{display:grid;gap:12px;min-width:0}.package-summary-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.package-summary-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.package-summary-counts span{min-width:0;border:1px solid #e5e7eb;border-radius:8px;padding:8px;background:#f8fafc;color:#334155;text-align:center;font-size:12px;font-weight:700}.package-config-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.package-config-tab{border:0;border-radius:6px;padding:9px 10px;background:transparent;color:#475569;cursor:pointer;font-weight:700}.package-config-tab.active{background:#111827;color:#fff}.auth-inline-form{border:1px solid #e5e7eb;border-radius:8px;padding:14px;background:#fff}.resource-assignment-panel{display:grid;gap:12px;border:1px solid #e5e7eb;border-radius:8px;padding:14px;background:#fff}.resource-assignment-panel header,.resource-assignment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.resource-assignment-panel h4{margin:0}.resource-assignment-panel header span{color:#64748b;font-size:12px;font-weight:700}.resource-assignment-toolbar input{min-width:0;flex:1}.resource-assignment-list{display:grid;gap:8px;max-height:320px;overflow:auto}.resource-assignment-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid #eef2f7;border-radius:8px;padding:10px;background:#f8fafc;cursor:pointer}.resource-assignment-row input{width:16px;height:16px}.resource-assignment-row span{display:grid;gap:3px;min-width:0}.resource-assignment-row strong,.resource-assignment-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-assignment-row em{color:#64748b;font-size:12px;font-style:normal}.package-menu-panel{display:grid;gap:12px;border:1px solid #e5e7eb;border-radius:8px;padding:14px;background:#fff}.package-menu-panel header,.package-menu-toolbar,.package-menu-panel header>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.package-menu-panel header>div{min-width:0;align-items:baseline;justify-content:flex-start}.package-menu-panel h4{margin:0}.package-menu-panel header span{color:#64748b;font-size:12px;font-weight:700;white-space:nowrap}.package-menu-toolbar input{min-width:0;flex:1}.package-menu-tree{display:grid;gap:6px;max-height:520px;overflow:auto}.package-menu-node{display:grid;gap:6px}.package-menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;border:1px solid #eef2f7;border-radius:8px;padding:8px 10px;background:#f8fafc}.package-menu-check{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;cursor:pointer}.package-menu-check input{width:16px;height:16px}.package-menu-check span{display:grid;gap:2px;min-width:0}.package-menu-check strong,.package-menu-check em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.package-menu-check em{color:#64748b;font-size:12px;font-style:normal}.package-menu-actions{display:flex;align-items:center;gap:8px}.package-menu-mapping-tag{border-radius:999px;padding:2px 7px;background:#e0f2fe;color:#0369a1;font-size:12px;font-weight:700;white-space:nowrap}.package-menu-children{display:grid;gap:6px;padding-left:18px}.mapping-modal-panel{width:min(960px,100%)}.mapping-visual-form{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:14px}.mapping-edit-panel,.mapping-preview-panel{display:grid;align-content:start;gap:10px;min-width:0}.mapping-edit-panel input,.mapping-edit-panel select,.mapping-edit-panel button{width:100%}.mapping-source-card{display:grid;gap:3px;border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#f8fafc}.mapping-source-card span,.mapping-preview-flow span,.mapping-source-card em,.mapping-preview-node-button span{color:#64748b;font-size:12px}.mapping-source-card strong,.mapping-source-card em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-source-card em{font-style:normal}.mapping-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px;gap:8px}.mapping-form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.mapping-preview-panel{border-left:1px solid #e5e7eb;padding-left:14px}.mapping-preview-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}.mapping-preview-flow>div{display:grid;gap:4px;min-width:0;border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#fff}.mapping-preview-flow strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-preview-flow b{color:#94a3b8;font-size:18px}.mapping-preview-meta{display:flex;flex-wrap:wrap;gap:8px}.mapping-preview-meta span{border-radius:999px;padding:3px 8px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700}.mapping-parent-tree{display:grid;gap:8px;min-height:260px}.mapping-parent-root,.mapping-preview-node-button{border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#334155;cursor:pointer;text-align:left}.mapping-parent-root{padding:9px 10px;font-weight:700}.mapping-parent-root.active,.mapping-preview-node-button.active{border-color:#111827;background:#111827;color:#fff}.mapping-preview-tree{display:grid;gap:6px;max-height:320px;overflow:auto}.mapping-preview-node{display:grid;gap:6px}.mapping-preview-node-button{position:relative;display:grid;gap:2px;width:100%;padding:8px 10px}.mapping-preview-node-button:disabled{cursor:not-allowed}.mapping-preview-node-button.current{border-style:dashed}.mapping-preview-node-button.hidden{opacity:.56}.mapping-preview-node-button strong,.mapping-preview-node-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-preview-node-button em{position:absolute;top:7px;right:8px;color:#0369a1;font-size:12px;font-style:normal;font-weight:700}.mapping-preview-node-button.active span,.mapping-preview-node-button.active em{color:#d1d5db}.mapping-preview-children{display:grid;gap:6px;padding-left:18px}@media(max-width:760px){.mapping-visual-form{grid-template-columns:1fr}.mapping-preview-panel{border-left:0;border-top:1px solid #e5e7eb;padding-top:14px;padding-left:0}.mapping-form-grid{grid-template-columns:1fr}}.package-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.package-edit-form textarea,.package-edit-form button{grid-column:1 / -1}.profile-summary-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;border-radius:8px;padding:18px;background:#fff;box-shadow:0 2px 10px #0f172a0f}.profile-summary-card div{display:grid;gap:6px}.profile-summary-card span{color:#64748b;font-size:13px}.profile-summary-card strong{color:#172033;font-size:16px}.user-signature-preview{width:120px;height:48px;object-fit:contain;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.mobile-decorator-modal .ant-modal-body{padding-top:18px;max-height:calc(100vh - 140px);overflow:hidden}.mobile-decorator-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;height:calc(100vh - 128px);overflow:hidden}.mobile-decorator-page-header{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card);padding:14px 16px}.mobile-decorator-page-header>div{display:flex;align-items:center;gap:14px}.mobile-decorator-page-header h2{margin:0;color:var(--text-primary);font-size:20px}.mobile-decorator-page-header p{margin:4px 0 0;color:var(--text-secondary)}.mobile-decorator-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;height:100%;min-height:560px;overflow:hidden}.mobile-resource-sidebar{min-width:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fafc;padding:14px}.mobile-design-stage{min-width:0;overflow:auto}.mobile-design-stage,.mobile-design-body{height:100%}.mobile-scheme-context{display:grid;gap:10px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:14px}.mobile-scheme-context>div{display:grid;gap:4px}.mobile-scheme-context strong{color:var(--text-primary);font-size:16px}.mobile-scheme-context span{color:var(--text-secondary);font-size:13px}.mobile-design-body{min-height:0}.mobile-preview-pane{display:grid;align-content:start;gap:14px;height:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fafc;box-shadow:var(--shadow-card);padding:16px}.mobile-launch-route-sidebar{display:grid;gap:10px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:14px}.mobile-launch-route-sidebar>div{display:grid;gap:4px}.mobile-launch-route-sidebar strong{color:var(--text-primary);font-size:16px}.mobile-launch-route-sidebar span{color:var(--text-secondary);font-size:13px}.mobile-launch-route-workspace{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;min-height:0;height:100%}.mobile-launch-route-list{display:grid;align-content:start;gap:10px;min-width:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:12px}.mobile-launch-route-card{display:grid;gap:10px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:12px;text-align:left}.mobile-launch-route-card .ant-space{justify-content:flex-end}.mobile-launch-route-card-active{border-color:#93c5fd;background:#eff6ff}.mobile-launch-route-card>div{display:grid;gap:4px}.mobile-launch-route-card strong{color:var(--text-primary);font-size:14px}.mobile-launch-route-card span{color:var(--text-secondary);font-size:12px}.mobile-launch-route-empty{margin:0;color:var(--text-secondary);font-size:13px}.mobile-launch-route-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:16px}.mobile-launch-route-form .ant-select,.mobile-launch-route-form .ant-input,.mobile-launch-route-form .ant-input-affix-wrapper,.mobile-launch-route-form .ant-input-textarea{width:100%}.mobile-launch-route-form label{display:grid;gap:6px}.mobile-launch-route-form label span{color:var(--text-secondary);font-size:12px}.mobile-launch-route-form label .mobile-launch-route-label-with-help{display:inline-flex;align-items:center;gap:6px}.mobile-launch-route-help-button{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:var(--text-secondary);font-size:11px;line-height:1;cursor:help;padding:0}.mobile-launch-route-help-button:hover{border-color:#1677ff;color:#1677ff}.mobile-launch-route-form-wide{grid-column:1 / -1}.mobile-launch-route-form-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.mobile-launch-route-section-title{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:12px}.mobile-launch-route-array-editor{display:grid;gap:8px}.mobile-launch-route-array-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:start}.mobile-preview-pane h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.mobile-preview-pane p{margin:4px 0 0;color:var(--text-secondary)}.mobile-phone-frame{width:360px;min-height:640px;margin:0 auto;overflow:hidden;border:8px solid #111827;border-radius:32px;background:#f3f4f6;box-shadow:0 18px 38px #0f172a38}.mobile-phone-status{height:22px;background:#111827}.mobile-phone-header{display:flex;align-items:center;height:72px;padding:0 18px;color:#fff}.mobile-phone-header strong{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.mobile-phone-body{min-height:480px;max-height:520px;overflow:auto;padding:14px}.mobile-preview-card{position:relative;border-radius:14px;background:#fff;padding:14px;box-shadow:0 8px 20px #0f172a14}.mobile-preview-banner,.mobile-preview-notice,.mobile-preview-search,.mobile-preview-data-card,.mobile-preview-list{margin-bottom:12px;border-radius:14px;background:#fff;box-shadow:0 8px 20px #0f172a14;position:relative}.mobile-preview-banner{display:grid;align-content:end;min-height:92px;padding:14px;background:linear-gradient(135deg,#2563eb,#14b8a6);color:#fff}.mobile-preview-banner strong{font-size:16px}.mobile-preview-banner span{color:#ffffffd1;font-size:12px}.mobile-preview-notice,.mobile-preview-search{padding:10px 12px;color:var(--text-secondary);font-size:12px}.mobile-preview-notice{background:#fff7ed;color:#c2410c}.mobile-preview-search{border:1px solid #e5e7eb;border-radius:18px;box-shadow:none}.mobile-preview-data-card{display:flex;align-items:center;justify-content:space-between;padding:14px}.mobile-preview-data-card span{color:var(--text-secondary);font-size:12px}.mobile-preview-data-card strong{color:var(--brand);font-size:22px}.mobile-preview-list{display:grid;gap:8px;padding:12px}.mobile-preview-list header{color:var(--text-primary);font-weight:600}.mobile-preview-list div{display:flex;justify-content:space-between;border-top:1px solid #f1f5f9;padding-top:8px}.mobile-preview-list em,.mobile-preview-list p{margin:0;color:var(--text-secondary);font-style:normal;font-size:12px}.mobile-empty-drop{display:grid;place-items:center;min-height:180px;border:1px dashed #bfdbfe;border-radius:14px;background:#eff6ff;color:var(--brand);font-size:12px}.mobile-preview-card>span{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;color:var(--text-primary);font-weight:600}.mobile-preview-card>em{display:block;margin-top:12px;border:1px dashed #bfdbfe;border-radius:10px;background:#eff6ff;color:var(--brand);font-style:normal;font-size:12px;line-height:32px;text-align:center}.mobile-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}.mobile-preview-grid p{grid-column:1 / -1;margin:0;text-align:center}.mobile-preview-entry{position:relative;display:grid;justify-items:center;gap:6px;min-width:0}.mobile-preview-entry i,.mobile-preview-tabs i{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#e0f2fe;color:var(--brand);font-style:normal;font-size:12px;font-weight:700}.mobile-preview-entry span{max-width:100%;overflow:hidden;color:var(--text-secondary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mobile-preview-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-height:58px;border-top:1px solid #e5e7eb;background:#fff;padding:6px 8px}.mobile-preview-tabs span{position:relative;display:grid;justify-items:center;align-content:center;gap:3px;overflow:hidden;color:var(--text-secondary);font-size:11px;text-align:center}.mobile-component-controls,.mobile-preview-entry-actions,.mobile-preview-tabs em{display:flex;flex-wrap:wrap;gap:4px}.mobile-component-controls{justify-content:flex-end;margin-bottom:6px}.mobile-preview-entry-actions,.mobile-preview-tabs em{justify-content:center;opacity:0;transition:opacity .16s ease}.mobile-preview-entry:hover .mobile-preview-entry-actions,.mobile-preview-tabs span:hover em{opacity:1}.mobile-component-controls button,.mobile-preview-entry-actions button,.mobile-preview-tabs em button{border:1px solid #dbeafe;border-radius:6px;background:#fff;color:var(--brand);cursor:pointer;font-size:11px;line-height:20px}.mobile-component-controls button:last-child,.mobile-preview-entry-actions button:last-child,.mobile-preview-tabs em button:last-child{border-color:#fecaca;color:#ef4444}.zero-form-resource-panel{display:grid;gap:12px}.zero-form-resource-panel header{display:grid;gap:10px}.zero-form-resource-panel h3{margin:0;color:var(--text-primary);font-size:16px}.zero-form-resource-panel p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.zero-form-resource-list,.layout-component-list{display:grid;gap:8px}.layout-component-card{display:grid;gap:4px;width:100%;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px;text-align:left;cursor:grab}.layout-component-card:disabled{cursor:not-allowed;opacity:.55}.layout-component-card strong{color:var(--text-primary)}.layout-component-card span{color:var(--text-secondary);font-size:12px}.zero-form-resource-card{display:grid;gap:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px}.zero-form-resource-card strong{overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.zero-form-resource-card span,.zero-form-resource-empty{color:var(--text-secondary);font-size:12px}.zero-form-resource-card div{display:flex;flex-wrap:wrap;gap:8px}.mobile-entry-form{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-entry-form label,.mobile-component-form label{display:grid;gap:6px}.mobile-entry-form label>span,.mobile-component-form label>span{color:var(--text-secondary);font-size:13px}.mobile-entry-form-wide,.mobile-entry-form-actions,.mobile-component-form-wide{grid-column:1 / -1}.mobile-entry-form-actions{display:flex;justify-content:flex-end}.mobile-component-form{grid-template-columns:repeat(2,minmax(0,1fr))}.component-upload-row{display:grid;gap:8px}.component-upload-row>span{color:var(--text-secondary);font-size:13px}.component-upload-row em{color:#ef4444;font-style:normal;font-size:12px}.component-upload-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:128px;height:34px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:var(--brand);cursor:pointer;font-size:13px}.component-upload-button input{display:none}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.workflow-canvas-section{display:grid;grid-template-rows:54px minmax(620px,calc(100vh - 210px));background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.workflow-canvas-section.with-property-panel{grid-template-columns:minmax(620px,1fr) 380px}.workflow-designer-toolbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:0 10px;border-bottom:1px solid #e5e7eb;background:#fff}.workflow-canvas-section select{border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;background:#fff;width:100%}.workflow-designer-tools,.workflow-designer-actions{display:flex;align-items:center;gap:8px;min-width:0}.workflow-designer-tools{overflow-x:auto}.workflow-tool-button,.workflow-icon-button{display:inline-flex;align-items:center;justify-content:center;height:34px;border:0;background:transparent;color:#1f2937;cursor:grab;white-space:nowrap}.workflow-tool-button{gap:6px;padding:0 8px;font-size:14px}.workflow-tool-button svg{font-size:16px}.workflow-icon-button{width:32px;color:#475569;cursor:pointer}.workflow-icon-button:disabled{color:#cbd5e1;cursor:not-allowed}.workflow-tool-button:disabled{color:#cbd5e1;cursor:not-allowed}.workflow-tool-button:active{cursor:grabbing}.workflow-toolbar-divider{width:1px;height:18px;background:#dbe2ea}.workflow-version-indicator{color:#172033;font-size:14px;white-space:nowrap}.workflow-version-indicator:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#f59e0b;vertical-align:1px}.workflow-version-selector{display:inline-flex;align-items:center;gap:8px;min-width:260px}.workflow-version-selector select{width:174px;height:34px;padding:0 28px 0 10px;border-radius:4px;font-size:13px}.workflow-version-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0f172a52}.workflow-version-modal{width:min(620px,calc(100vw - 40px));max-height:calc(100vh - 80px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 20px 50px #0f172a2e}.workflow-version-modal header,.workflow-version-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e5e7eb}.workflow-version-modal footer{justify-content:flex-end;border-top:1px solid #e5e7eb;border-bottom:0}.workflow-version-modal h4{margin:0;color:#172033;font-size:16px}.workflow-version-modal p{margin:6px 0 0;color:#64748b;font-size:13px}.workflow-version-list{display:grid;gap:10px;overflow:auto;padding:14px 18px}.workflow-version-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.workflow-version-row.active{border-color:#1677ff;background:#f5f9ff}.workflow-version-row strong,.workflow-version-row span{display:block}.workflow-version-row strong{color:#172033;font-size:14px;font-weight:600}.workflow-version-row span{margin-top:4px;color:#64748b;font-size:12px}.workflow-version-row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.workflow-canvas{grid-column:1;height:100%;min-height:620px;border:0;border-radius:0;overflow:hidden;background:#f8fafc}.workflow-canvas .react-flow__pane{background-image:radial-gradient(#dbe7f3 1px,transparent 1px);background-size:24px 24px}.workflow-canvas .react-flow__controls{border:0;border-radius:8px;box-shadow:0 8px 20px #0f172a14}.workflow-canvas .react-flow__minimap{border-radius:8px;box-shadow:0 8px 20px #0f172a14}.workflow-designer-node{position:relative;display:flex;align-items:center;gap:8px;min-width:168px;height:50px;padding:0 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#172033;box-shadow:0 8px 18px #0f172a0f}.workflow-designer-node.selected{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff29}.workflow-designer-node strong{overflow:hidden;font-size:15px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.workflow-node-icon{display:inline-flex;align-items:center;justify-content:center;color:#1677ff;font-size:18px}.workflow-node-icon.start{color:#22c55e}.workflow-node-icon.action{color:#14b8a6}.workflow-node-icon.condition{color:#f97316}.workflow-node-icon.end{color:#94a3b8}.workflow-node-handle{width:12px;height:12px;border:2px solid #fff;background:#8bbcff}.workflow-property-panel{grid-column:2;grid-row:2;display:grid;align-content:start;gap:16px;min-height:620px;padding:0 18px 18px;border-left:1px solid #e5e7eb;background:#fff}.workflow-property-tabs,.workflow-property-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #e5e7eb}.workflow-property-subtabs{grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #eef2f7;border-radius:8px;overflow:hidden;background:#f1f5f9}.workflow-property-tabs button,.workflow-property-subtabs button{height:58px;border:0;background:transparent;color:#172033;font-size:15px;cursor:pointer}.workflow-property-tabs button.active{color:#00a99d;font-weight:700;box-shadow:inset 0 -3px #00a99d}.workflow-property-subtabs button{height:36px;font-size:14px}.workflow-property-subtabs button.active{background:#fff;color:#00a99d;font-weight:700}.workflow-node-property-editor{display:grid;gap:20px}.workflow-process-property-editor{display:grid;gap:22px}.workflow-edge-property-editor{display:grid;gap:18px;padding-top:18px}.workflow-edge-basic-info{display:grid;gap:8px}.workflow-edge-basic-info h4{margin:0;color:#172033;font-size:18px;font-weight:700}.workflow-edge-basic-info span{overflow:hidden;padding:8px 10px;border:1px solid #d7dee8;border-radius:6px;background:#f8fafc;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.workflow-edge-condition{display:grid;gap:14px}.workflow-edge-condition label{display:grid;gap:6px}.workflow-edge-condition label span{color:#475569;font-size:12px;font-weight:700}.workflow-edge-condition input{width:100%;border:1px solid #d7dee8;border-radius:8px;padding:9px 10px;background:#fff;color:#172033;font:inherit}.workflow-property-group{display:grid;gap:16px}.workflow-property-group h4,.workflow-property-group-title h4{margin:0;color:#172033;font-size:18px;font-weight:700}.workflow-property-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.workflow-property-group-title select{max-width:132px;border:0;background:#f8fafc;color:#475569;font-size:14px}.workflow-checkbox-row{display:flex;align-items:center;gap:10px;color:#475569;font-size:15px}.workflow-checkbox-row.disabled,.workflow-switch-row.disabled{color:#94a3b8}.workflow-checkbox-row input,.workflow-field-permission-row input{width:18px;height:18px;accent-color:#00a99d}.workflow-switch-row{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:12px;color:#475569;font-size:15px}.workflow-switch-row>span,.workflow-select-row>span{display:inline-flex;align-items:center;gap:6px;min-width:0}.workflow-switch{position:relative;width:54px;height:32px;border:0;border-radius:999px;background:#c4c7cc;cursor:pointer;transition:background .2s ease}.workflow-switch:disabled{cursor:not-allowed;opacity:.65}.workflow-switch span{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a2e;transition:transform .2s ease}.workflow-switch.checked{background:#00a99d}.workflow-switch.checked span{transform:translate(22px)}.workflow-select-row{display:grid;gap:8px;color:#475569;font-size:15px}.workflow-help-tooltip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#b8bec8;color:#fff;font-style:normal;font-size:12px;cursor:help}.workflow-node-basic-info{display:grid;gap:12px}.workflow-node-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.workflow-node-title-row strong,.workflow-assignee-block h4,.workflow-node-action-panel h4{margin:0;color:#172033;font-size:18px;font-weight:700}.workflow-node-title-row strong span,.workflow-assignee-block h4 span{color:#ef4444}.workflow-node-title-row em{min-width:120px;padding:8px 12px;border:1px solid #d7dee8;border-radius:6px;background:#f8fafc;color:#172033;font-style:normal;text-align:center}.workflow-node-basic-info input,.workflow-property-search input{width:100%;border:1px solid #d7dee8;border-radius:8px;padding:9px 10px;background:#fff;color:#172033;font:inherit}.workflow-node-basic-info>span{color:#64748b;font-size:12px}.workflow-node-property-editor label{display:grid;gap:6px}.workflow-node-property-editor label span{color:#475569;font-size:12px;font-weight:700}.workflow-assignee-block{display:grid;gap:14px}.workflow-assignee-block h4{display:inline-flex;align-items:center;gap:6px}.workflow-assignee-placeholder{display:grid;place-items:center;min-height:112px;border:1px dashed #cbd5e1;border-radius:8px;color:#475569;font-size:16px}.workflow-node-action-panel,.workflow-node-rule-panel{display:grid;gap:18px}.workflow-action-card{display:grid;gap:0;padding:14px 20px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.workflow-action-card .workflow-switch-row{min-height:44px;border-bottom:1px solid #e5e7eb}.workflow-action-card .workflow-switch-row:last-child{border-bottom:0}.workflow-limit-button{width:100%;height:44px;border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#172033;font-size:15px;cursor:pointer}.workflow-field-permission{display:grid;gap:12px}.workflow-property-search{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:6px}.workflow-property-search svg{color:#64748b}.workflow-field-permission-head,.workflow-field-permission-row{display:grid;grid-template-columns:minmax(120px,1fr) 52px 64px 52px;align-items:center;gap:8px}.workflow-field-permission-head{color:#172033;font-weight:700}.workflow-field-permission-head span,.workflow-field-permission-row span{font-size:14px}.workflow-field-permission-row{min-height:34px;color:#172033}.workflow-field-permission-row input{justify-self:center}.dynamic-file-field{display:grid;gap:8px;border:1px dashed transparent;border-radius:8px;padding:8px;transition:border-color .2s ease,background .2s ease}.dynamic-file-field.drag-active{border-color:#2563eb;background:#eff6ff}.dynamic-file-picker{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:34px;border:1px solid #cbd5e1;border-radius:8px;padding:0 12px;background:#fff;color:#334155;cursor:pointer;font-size:13px;font-weight:600}.dynamic-file-picker input{display:none}.dynamic-file-drop-hint{color:#94a3b8;font-size:12px}.dynamic-file-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dynamic-file-card{display:inline-flex;align-items:center;gap:6px;max-width:320px;border:1px solid #dbeafe;border-radius:8px;padding:6px 8px;background:#eff6ff}.dynamic-file-card.image-card{align-items:flex-start;max-width:360px}.dynamic-file-card img{width:56px;height:56px;border-radius:6px;object-fit:cover;background:#fff}.dynamic-file-card a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;color:#1d4ed8;text-decoration:none;word-break:break-all}.dynamic-file-card a small{color:#64748b}.dynamic-file-card button,.dynamic-file-clear{border:0;background:transparent;color:#dc2626;cursor:pointer}.dynamic-upload-list{display:grid;gap:8px}.dynamic-upload-item{display:grid;gap:5px;max-width:360px;border:1px solid #e2e8f0;border-radius:8px;padding:8px;background:#fff}.dynamic-upload-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#334155;font-size:12px}.dynamic-upload-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dynamic-upload-title small{flex:0 0 auto;color:#64748b}.dynamic-upload-progress{overflow:hidden;height:6px;border-radius:999px;background:#e2e8f0}.dynamic-upload-progress span{display:block;height:100%;border-radius:inherit;background:#2563eb;transition:width .2s ease}.dynamic-file-empty{color:#94a3b8;font-size:12px}.dynamic-file-error{color:#dc2626;font-size:12px}.signature-field{display:grid;gap:10px}.signature-field canvas{width:min(100%,420px);height:180px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;touch-action:none}.signature-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.signature-actions input{width:160px}.signature-actions button,.signature-preview button{border:1px solid #cbd5e1;border-radius:8px;min-height:32px;padding:0 10px;background:#fff;color:#334155;cursor:pointer}.signature-preview{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#475569;font-size:13px}.signature-preview img{width:140px;height:60px;object-fit:contain;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.field-signature-display{display:inline-grid;gap:6px;margin:0}.field-signature-display img{width:180px;height:72px;object-fit:contain;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.field-signature-display figcaption{color:#64748b;font-size:12px;line-height:1.2}.field-signature-display.compact img{width:120px;height:48px}.field-signature-display.compact figcaption{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zero-data{gap:0}.form-data-workspace{display:grid;gap:24px}.zero-business-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.zero-business-header h2{margin:0;color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.35}.zero-business-header p{margin:10px 0 0;color:var(--text-secondary);font-size:16px;line-height:1.5}.zero-business-paper{overflow:hidden;background:var(--surface-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.zero-filter-bar{padding:14px 24px 18px;border-bottom:1px solid var(--border)}.zero-filter-panel{display:grid;gap:14px}.zero-filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.zero-filter-title{display:inline-flex;align-items:center;gap:6px;margin-right:8px;color:var(--text-primary);font-size:16px;font-weight:600}.zero-filter-title .anticon{color:var(--brand)}.zero-filter-keyword{width:260px}.zero-filter-select{width:150px}.zero-business-paper .ant-table{color:var(--text-primary)}.zero-business-paper .ant-table-thead>tr>th{background:#fafafa;border-bottom-color:var(--border);color:var(--text-primary);font-size:15px;font-weight:700}.zero-business-paper .ant-table-tbody>tr>td{border-bottom-color:var(--border);font-size:15px}.zero-business-paper .ant-table-tbody>tr:hover>td{background:#f8fbff}.zero-business-paper .ant-table-cell-fix-right{box-shadow:-8px 0 12px #0f172a0a}.zero-business-paper .ant-pagination{margin:16px 24px 26px}.zero-status-tag{display:inline-flex;align-items:center;min-height:24px;border:1px solid #bfdbfe;border-radius:6px;padding:0 8px;background:#eff6ff;color:var(--brand);font-size:13px}.zero-record-editor{display:grid;gap:14px}.zero-record-editor label{display:grid;gap:8px;color:var(--text-secondary);font-size:14px;font-weight:600}.zero-record-editor input,.zero-record-editor select,.zero-record-editor textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;background:#fff;color:var(--text-primary);font:inherit;transition:border-color .16s ease,box-shadow .16s ease}.zero-record-editor input,.zero-record-editor select{height:38px;padding:0 12px}.zero-record-editor textarea{min-height:96px;padding:10px 12px;resize:vertical}.zero-record-editor input:focus,.zero-record-editor select:focus,.zero-record-editor textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px #1677ff1f}.zero-record-editor .form-fill-inline-options{flex-wrap:wrap;border-color:var(--border-strong);border-radius:var(--radius-md);background:#fff}.form-data-empty{display:grid;place-items:center;min-height:120px;color:var(--text-secondary);background:#f8fafc;border-radius:var(--radius-md)}.form-data-permission-empty{display:grid;place-items:center;min-height:320px;padding:32px 24px}.record-detail-panel{display:grid;gap:14px}.record-detail-meta,.record-detail-grid{display:grid;gap:10px;margin:0}.record-detail-meta,.record-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-detail-meta div,.record-detail-grid div{display:grid;gap:4px;min-width:0;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px;background:#f8fafc}.record-detail-meta dt,.record-detail-grid dt{color:var(--text-secondary);font-size:12px}.record-detail-meta dd,.record-detail-grid dd{min-width:0;margin:0;color:var(--text-primary);overflow-wrap:anywhere}.record-detail-error{border-radius:var(--radius-md);padding:12px;background:#fff1f0;color:#ff4d4f}@media(max-width:960px){.zero-business-header{flex-direction:column}.zero-filter-keyword,.zero-filter-select{width:100%}}.form-designer-shell{display:grid;gap:12px;min-height:calc(100vh - 170px)}.form-designer-header{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px}.form-designer-header>div:nth-child(2){min-width:0}.form-designer-tabs{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:4px;border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc}.form-designer-tabs button{border:0;border-radius:6px;padding:8px 14px;background:transparent;color:#475569;cursor:pointer;font-size:14px;font-weight:600}.form-designer-tabs button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 2px #0f172a14}.form-designer-header-actions{display:inline-flex;align-items:center;gap:8px}.designer-dirty-indicator{color:#d97706;font-size:13px;font-weight:600}.form-designer-header h3,.form-designer-header p,.designer-palette h4,.designer-property-panel h4{margin:0}.form-designer-header p{margin-top:4px;color:#64748b;font-size:13px}.form-designer-layout{display:grid;grid-template-columns:220px minmax(360px,1fr) 300px;gap:12px;min-height:560px;align-items:start}@media(max-width:1200px){.form-designer-layout{grid-template-columns:1fr}.designer-palette,.designer-property-panel{position:static;top:auto;max-height:none}}.designer-palette,.designer-canvas,.designer-property-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px;min-width:0}.designer-palette{display:grid;align-content:start;gap:12px;position:sticky;top:12px}.designer-palette-groups{display:grid;gap:12px}.designer-palette-group{display:grid;gap:8px}.designer-palette-group h5{margin:0;color:#475569;font-size:13px;font-weight:700}.designer-palette-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.designer-palette button{border:1px solid #dbe4ef;border-radius:8px;padding:8px;background:#f8fafc;color:#172033;cursor:pointer;text-align:center;min-height:36px;line-height:1.25;overflow-wrap:anywhere}.designer-palette button:hover{border-color:#93c5fd;background:#eff6ff}.designer-palette button:disabled{border-color:#e5e7eb;background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.designer-canvas{display:grid;grid-template-rows:auto 1fr;gap:12px;background:#f4f7fb;overflow:hidden}.designer-canvas-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#475569}.designer-canvas-title>div{display:flex;align-items:center;gap:10px;min-width:0}.designer-canvas-title strong{color:#172033;font-size:13px}.designer-form-page{display:grid;grid-template-rows:auto 1fr;gap:14px;width:min(100%,720px);min-height:0;margin:0 auto;padding:20px 24px;background:#fff;border:1px solid #e3e8f0;border-radius:8px;box-shadow:0 10px 26px #0f172a0f}.designer-form-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #eef2f7}.designer-form-page-header h4{margin:0;color:#172033;font-size:16px;font-weight:700}.designer-form-page-header span{flex:0 0 auto;color:#64748b;font-size:12px}.designer-field-list{display:grid;align-content:start;gap:10px;min-height:0;overflow:auto}.designer-field-card{display:flex;align-items:flex-start;gap:10px;border:1px solid transparent;border-radius:6px;padding:12px;background:#fff}.designer-field-card:hover{border-color:#dbeafe;background:#fbfdff}.designer-field-card.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.designer-field-card em{margin-left:3px;color:#dc2626;font-style:normal}.designer-field-card small{color:#64748b;font-size:12px}.designer-field-select{display:grid;gap:7px;flex:1;min-width:0;border:0;padding:0;background:transparent;color:#172033;cursor:pointer;text-align:left}.designer-control,.designer-control-options{display:flex;align-items:center;width:100%;min-height:34px;border:1px solid #dbe4ef;border-radius:6px;padding:7px 10px;color:#94a3b8;background:#f8fafc;font-size:13px}.designer-control-select:after{content:"";width:7px;height:7px;margin-left:auto;border-right:1px solid #94a3b8;border-bottom:1px solid #94a3b8;transform:rotate(45deg) translateY(-2px)}.designer-control-textarea{min-height:68px}.designer-control-upload{justify-content:center;border-style:dashed}.designer-control-options{gap:8px;border:0;padding:0;background:transparent}.designer-control-options i{width:14px;height:14px;border:1px solid #cbd5e1;border-radius:50%;background:#fff}.designer-control-divider{display:block;width:100%;border-top:1px dashed #cbd5e1}.designer-field-actions{display:flex;flex-wrap:nowrap;gap:6px}.designer-field-actions button{border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;background:#f8fafc;color:#475569;cursor:pointer}.designer-field-actions button:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9}.designer-field-actions button.danger{border-color:#fecaca;background:#fee2e2;color:#b91c1c}.designer-empty{display:grid;place-items:center;min-height:280px;color:#64748b;border-radius:8px;background:#f8fafc;border:1px dashed #cbd5e1}.designer-property-panel{display:grid;align-content:start;gap:14px;max-height:calc(100vh - 250px);overflow:auto;position:sticky;top:12px;padding:18px}.designer-selected-field{display:grid;gap:4px;padding:10px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px}.designer-selected-field span{color:#64748b;font-size:12px}.designer-property-empty{display:grid;place-items:center;min-height:64px;color:#64748b;border:1px dashed #d7e2f0;border-radius:6px;background:#f8fafc;font-size:14px;font-weight:600}.field-editor-form{display:grid;gap:14px}.field-property-group{display:grid;gap:12px;padding:14px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc}.field-property-group-plain{padding:0;border:0;background:transparent}.field-property-group textarea{min-height:92px;resize:vertical}.field-property-group label{display:grid;gap:6px}.field-editor-form input,.field-editor-form select,.field-editor-form textarea{width:100%;min-height:36px;border:1px solid #d7dee8;border-radius:6px;padding:7px 10px;background:#fff;color:#172033;font:inherit;font-size:14px;line-height:1.4;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field-editor-form select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.field-editor-form input::placeholder,.field-editor-form textarea::placeholder{color:#94a3b8}.field-editor-form input:focus,.field-editor-form select:focus,.field-editor-form textarea:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.field-editor-form input:disabled,.field-editor-form select:disabled,.field-editor-form textarea:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.field-property-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field-property-group span{color:#475569;font-size:12px;font-weight:700}.form-preview-panel{display:grid;gap:16px;min-width:min(560px,72vw)}.form-preview-panel header{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.form-preview-panel h4,.form-preview-panel p{margin:0}.form-preview-panel p{color:#64748b;font-size:13px}.business-page-config-form fieldset{display:grid;gap:10px;min-width:0;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.business-page-config-form legend{padding:0 6px;color:#475569;font-size:13px;font-weight:700}.business-page-config-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.business-page-config-options label{display:flex;align-items:center;gap:8px;min-width:0;color:#172033}.business-page-config-options input{width:16px;height:16px;flex:0 0 auto}.form-preview-fields{display:grid;gap:14px}.form-preview-field{display:grid;gap:8px;color:#172033;font-size:14px}.form-preview-field>span{font-weight:600}.form-preview-field input,.form-preview-field select,.form-preview-field textarea{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;background:#f8fafc;color:#475569;font:inherit}.form-preview-field textarea{min-height:92px;resize:vertical}.form-preview-inline-options{min-height:38px;display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#475569}.form-preview-inline-options label{display:inline-flex;align-items:center;gap:6px}.form-preview-divider{width:100%;border:0;border-top:1px dashed #cbd5e1;margin:4px 0}.form-preview-signature-pad{display:grid;place-items:center;min-height:100px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:#64748b}.mobile-form-config{display:grid;gap:18px}.mobile-form-config-toolbar{display:grid;grid-template-columns:minmax(180px,220px) minmax(240px,1fr);gap:14px;align-items:end}.mobile-form-config-toolbar label,.mobile-form-step-fields label{display:grid;gap:6px;color:#475569;font-size:13px}.mobile-form-config input{min-height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;color:#172033;font:inherit}.mobile-form-switch{min-height:38px;display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.mobile-form-switch input,.mobile-form-field-card input{width:16px;height:16px;min-height:auto;padding:0}.mobile-form-switch span{color:#172033;font-weight:600}.mobile-form-config-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:430px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.mobile-form-step-list,.mobile-form-step-editor{display:grid;align-content:start;gap:12px;padding:14px}.mobile-form-step-list{border-right:1px solid #e2e8f0;background:#f8fafc}.mobile-form-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.mobile-form-panel-title strong{color:#172033}.mobile-form-panel-title span{color:#64748b;font-size:13px}.mobile-form-step-card{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-areas:"index title" "index meta";gap:2px 10px;width:100%;border:1px solid transparent;border-radius:8px;padding:10px;background:#fff;text-align:left;cursor:pointer}.mobile-form-step-card span{grid-area:index;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e2e8f0;color:#475569;font-weight:700}.mobile-form-step-card strong{grid-area:title;overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.mobile-form-step-card em{grid-area:meta;color:#64748b;font-size:12px;font-style:normal}.mobile-form-step-card.active{border-color:#1677ff;background:#eef6ff}.mobile-form-step-card.active span{background:#1677ff;color:#fff}.mobile-form-step-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-form-field-picker{display:grid;gap:12px}.mobile-form-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:260px;overflow:auto;padding-right:4px}.mobile-form-field-card{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-areas:"check name" "check code";gap:2px 8px;border:1px solid #e2e8f0;border-radius:8px;padding:10px;background:#fff;cursor:pointer}.mobile-form-field-card input{grid-area:check;margin-top:2px}.mobile-form-field-card span{grid-area:name;overflow:hidden;color:#172033;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mobile-form-field-card em{grid-area:code;overflow:hidden;color:#64748b;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.mobile-form-field-card.checked{border-color:#1677ff;background:#eef6ff}.mobile-form-empty{display:grid;place-items:center;gap:12px;min-height:280px;color:#64748b}@media(max-width:900px){.mobile-form-config-toolbar,.mobile-form-config-layout,.mobile-form-step-fields,.mobile-form-field-grid{grid-template-columns:1fr}.mobile-form-step-list{border-right:0;border-bottom:1px solid #e2e8f0}}.form-fill-workspace{display:grid;gap:12px;width:min(100%,920px);margin:0 auto}.form-fill-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;background:var(--surface-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px 20px}.form-fill-title{display:grid;gap:6px;min-width:0}.form-fill-title h3,.form-fill-title p{margin:0}.form-fill-title h3{color:var(--text-primary);font-size:18px;font-weight:600;line-height:1.35}.form-fill-title p{overflow:hidden;color:var(--text-tertiary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.form-fill-panel{display:grid;gap:18px;background:var(--surface-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.form-fill-panel>label{display:grid;gap:8px;color:var(--text-primary);font-size:14px;font-weight:500}.form-fill-panel input,.form-fill-panel select,.form-fill-panel textarea{width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:8px 11px;background:#fff;color:var(--text-primary);font:inherit;font-weight:400;transition:border-color .16s ease,box-shadow .16s ease}.form-fill-panel input:hover,.form-fill-panel select:hover,.form-fill-panel textarea:hover{border-color:var(--brand-hover)}.form-fill-panel input:focus,.form-fill-panel select:focus,.form-fill-panel textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px #1677ff1a;outline:none}.form-fill-panel textarea{min-height:96px;resize:vertical}.form-fill-inline-options{min-height:40px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#fff;color:var(--text-secondary);font-weight:400}.form-fill-inline-options label{display:inline-flex;align-items:center;gap:6px}.form-fill-inline-options input{width:auto;min-height:auto}.form-fill-panel .dynamic-file-field{min-height:128px;align-content:start;border-color:#d9d9d9;background:#fafafa;padding:18px}.form-fill-panel .dynamic-file-field.drag-active{border-color:var(--brand);background:var(--brand-light)}.form-fill-panel .dynamic-file-picker{min-height:36px;border-radius:var(--radius-md);border-color:var(--border-strong);color:var(--text-primary)}.form-fill-panel .dynamic-file-drop-hint,.form-fill-panel .dynamic-file-empty{color:var(--text-tertiary)}.form-fill-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:18px;border-top:1px solid var(--border)}.form-fill-actions button[type=submit]{border:1px solid var(--brand);border-radius:var(--radius-md);padding:7px 14px;background:var(--brand);color:#fff;cursor:pointer;font:inherit;line-height:1.5715;box-shadow:0 2px #0591ff1a;transition:border-color .16s ease,background .16s ease}.form-fill-actions button[type=submit]:hover{border-color:var(--brand-hover);background:var(--brand-hover)}.form-fill-actions button[type=submit]:disabled{cursor:not-allowed;border-color:#d9d9d9;color:var(--text-tertiary);background:#f5f5f5;box-shadow:none}.form-fill-empty{display:grid;place-items:center;min-height:160px;color:var(--text-secondary);background:#fafafa;border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.workflow-detail-panel{display:grid;gap:16px}.workflow-business-cell{display:grid;gap:4px;min-width:180px}.workflow-business-cell strong,.workflow-business-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-business-cell span{color:#64748b;font-size:12px}.workflow-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workflow-detail-summary div{display:grid;gap:4px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.workflow-detail-summary span,.workflow-log-item span{color:#64748b;font-size:12px}.workflow-log-list,.workflow-flow-map{display:grid;gap:10px}.workflow-log-list h4,.workflow-flow-map h4,.workflow-task-trace h4,.workflow-log-item p{margin:0}.workflow-flow-track{display:flex;align-items:stretch;gap:10px;overflow-x:auto;padding:2px 0 8px}.workflow-flow-node{position:relative;display:grid;gap:5px;min-width:148px;padding:11px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.workflow-flow-node:not(:last-child):after{content:"";position:absolute;top:50%;right:-10px;width:10px;height:1px;background:#d8dee8}.workflow-flow-node span{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eef2f7;color:#475569;font-size:12px}.workflow-flow-node strong{overflow:hidden;color:#172033;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.workflow-flow-node em{color:#64748b;font-size:12px;font-style:normal}.workflow-flow-node.done{border-color:#bbf7d0;background:#f0fdf4}.workflow-flow-node.done span{background:#16a34a;color:#fff}.workflow-flow-node.current{border-color:#bfdbfe;background:#eff6ff}.workflow-flow-node.current span{background:#2563eb;color:#fff}.workflow-flow-node.blocked{border-color:#fecaca;background:#fef2f2}.workflow-flow-node.blocked span{background:#dc2626;color:#fff}.workflow-flow-node.pending{border-color:#e5e7eb;background:#f8fafc}.workflow-flow-node.pending span{background:#cbd5e1;color:#fff}.workflow-log-item{display:grid;gap:4px;padding:10px;border-left:3px solid #2563eb;background:#f8fafc}.workflow-task-trace{display:grid;gap:10px}.workflow-task-trace-item{display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.workflow-task-trace-item strong,.workflow-task-trace-item p{grid-column:1 / -1}.workflow-task-trace-item span{color:#64748b;font-size:12px}.workflow-task-trace-item p{margin:0}.workflow-record-detail{display:grid;gap:10px}.workflow-record-detail h4{margin:0}.workflow-record-meta{display:grid;gap:4px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.workflow-record-meta span,.workflow-record-grid dt{color:#64748b;font-size:12px}.workflow-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.workflow-record-grid div{display:grid;gap:4px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.workflow-record-grid dd{margin:0;overflow-wrap:anywhere}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:#f0f2f5;color:#000000e0;--brand: #1677ff;--brand-hover: #4096ff;--brand-active: #0958d9;--brand-light: #e6f4ff;--accent-color: #1677ff;--accent-strong: #0958d9;--sidebar-bg: #001529;--sidebar-hover-bg: #1f2a3c;--sidebar-active-bg: #1677ff;--content-bg: #f0f2f5;--surface-bg: #ffffff;--surface-alt: #fafafa;--border: #f0f0f0;--border-strong: #d9d9d9;--text-primary: rgba(0, 0, 0, .88);--text-secondary: rgba(0, 0, 0, .65);--text-tertiary: rgba(0, 0, 0, .45);--text-inverse: #ffffff;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-card: 0 1px 2px 0 rgba(0,0,0,.03), 0 1px 6px -1px rgba(0,0,0,.02), 0 2px 4px 0 rgba(0,0,0,.02);--shadow-hover: 0 6px 16px 0 rgba(0,0,0,.08), 0 3px 6px -4px rgba(0,0,0,.12), 0 9px 28px 8px rgba(0,0,0,.05);--shadow-modal: 0 9px 28px 8px rgba(0,0,0,.05), 0 6px 16px 0 rgba(0,0,0,.08), 0 3px 6px -4px rgba(0,0,0,.12);--font-mono: "SF Mono", "Cascadia Mono", "JetBrains Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:auto}.shell{display:grid;grid-template-columns:232px 1fr;grid-template-rows:56px 1fr;min-width:1180px;height:100vh;background:var(--content-bg)}.shell-collapsed{grid-template-columns:64px 1fr}.sidebar{grid-column:1;grid-row:1 / 3;position:sticky;top:0;display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--sidebar-bg);color:#e2e8f0;padding:0;border-right:1px solid rgba(255,255,255,.08)}.sidebar-brand{display:flex;align-items:center;gap:12px;width:100%;min-height:70px;border:0;padding:18px 20px 16px;background:transparent;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.brand-text{display:grid;gap:2px;min-width:0}.brand-text strong{color:#fff;font-size:16px;line-height:1.2}.brand-text em{color:#ffffff73;font-size:11px;font-style:normal}.sidebar-rule{height:1px;margin:0 20px 8px;background:#ffffff14}.sidebar-toggle{display:inline-grid;place-items:center;cursor:pointer}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;height:30px;border:0;padding:0 8px;background:transparent;color:#ffffff8c;border-radius:var(--radius-md);font-size:13px;transition:background .16s ease,color .16s ease}.sidebar-toggle:hover{background:#ffffff1a;color:#fff}.nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:transparent;padding-bottom:80px}.nav-menu{border-inline-end:0!important;background:transparent!important}.nav-menu.ant-menu-dark,.nav-menu.ant-menu-dark .ant-menu-sub{background:transparent!important}.nav-menu .ant-menu-item,.nav-menu .ant-menu-submenu-title{height:38px!important;line-height:38px!important;margin:2px 12px!important;width:calc(100% - 24px)!important;border-radius:var(--radius-md)!important;color:#ffffffd9!important;font-size:14px!important}.nav-menu .ant-menu-item:hover,.nav-menu .ant-menu-submenu-title:hover{background:var(--sidebar-hover-bg)!important;color:#fff!important}.nav-menu .ant-menu-item-selected{background:var(--sidebar-active-bg)!important;color:#fff!important;font-weight:600}.nav-menu .ant-menu-item-group-title{height:28px;padding:12px 20px 4px!important;color:#ffffff61!important;font-size:12px;line-height:1}.menu-label{display:inline-flex;align-items:center;gap:6px;width:100%;min-width:0}.menu-label-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-label-badge{flex:0 0 auto}.menu-favorite-button{display:inline-grid;flex:0 0 auto;place-items:center;width:18px;height:18px;border:0;padding:0;color:#ffffff5c;background:transparent;border-radius:50%;cursor:pointer;opacity:0;transition:color .16s ease,opacity .16s ease,background .16s ease}.nav-menu .ant-menu-item:hover .menu-favorite-button,.nav-menu .ant-menu-submenu-title:hover .menu-favorite-button,.menu-favorite-button.active{opacity:1}.menu-favorite-button:hover,.menu-favorite-button.active{color:#fadb14;background:#ffffff1a}.nav-menu .ant-menu-submenu-arrow{color:#ffffffa6!important}.shell-collapsed .sidebar-toggle span,.shell-collapsed .brand-text{display:none}.shell-collapsed .sidebar-brand{justify-content:center;padding:18px 12px 16px}.shell-collapsed .sidebar-rule{margin:0 12px 8px}.shell-collapsed .nav-menu .ant-menu-item,.shell-collapsed .nav-menu .ant-menu-submenu-title{margin:2px 8px!important;width:calc(100% - 16px)!important;padding-inline:0!important;text-align:center}.shell-collapsed .nav-menu .ant-menu-item-group-title,.shell-collapsed .menu-label-badge,.shell-collapsed .menu-favorite-button{display:none}.sidebar-footer{position:sticky;bottom:0;flex-shrink:0;border-top:1px solid rgba(255,255,255,.08);padding:10px 16px;background:var(--sidebar-bg)}.shell-collapsed .sidebar-footer{padding:10px 12px}.workspace{grid-column:2;grid-row:2;display:grid;grid-template-rows:52px 1fr;min-width:0;height:calc(100vh - 56px)}.topbar{grid-column:2;grid-row:1;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;height:56px;padding:0 24px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 2px #00000008}.topbar-breadcrumb{flex-shrink:0}.topbar-breadcrumb .ant-breadcrumb{font-size:13px}.topbar-breadcrumb .ant-breadcrumb-separator{color:var(--text-tertiary)}.topbar-breadcrumb .ant-breadcrumb-link{color:var(--text-secondary)}.topbar-breadcrumb .ant-breadcrumb li:last-child .ant-breadcrumb-link{color:var(--text-primary);font-weight:500}.topbar-search{display:flex;align-items:center;gap:8px;min-width:0;width:min(360px,42vw);height:32px;border:1px solid var(--border);border-radius:var(--radius-md);padding:0 12px;background:var(--content-bg);color:var(--text-tertiary);cursor:pointer;font-size:13px;transition:border-color .15s ease}.topbar-search:hover{border-color:var(--brand)}.topbar-search kbd{margin-left:auto;border:1px solid var(--border);border-radius:3px;padding:1px 6px;background:#fff;color:var(--text-secondary);font:10px var(--font-mono)}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--brand);color:#fff;font-size:20px;font-weight:700}.tabbar{display:flex;align-items:center;min-width:0;padding:0 12px;background:#fff;border-bottom:1px solid #eef2f7}.page-tabs{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto}.page-tab{display:inline-flex;align-items:center;gap:8px;max-width:180px;height:34px;border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:0 10px;background:#fff;color:var(--text-secondary);white-space:nowrap}.page-tab-title{min-width:0;border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.page-tab-title:first-child{overflow:hidden;text-overflow:ellipsis}.page-tab-active{border-color:var(--brand);background:var(--brand-light);color:var(--brand-active);font-weight:700}.page-tab-close{border:0;padding:0;background:transparent;color:#94a3b8;cursor:pointer;font-size:16px;line-height:1}.topbar-actions{flex-shrink:0}.topbar-icon-button,.user-block{display:inline-flex;align-items:center;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.topbar-icon-button{justify-content:center;width:36px;height:32px}.topbar-icon-button:hover,.user-block:hover{background:var(--content-bg);color:var(--text-primary)}.topbar-icon-button .anticon{font-size:16px}.user-block{gap:10px;height:32px;padding:0 8px 0 10px;margin-left:4px}.user-info{display:grid;gap:2px;line-height:1.2;text-align:left}.user-info strong{color:var(--text-primary);font-size:13px;font-weight:500}.user-info em{color:var(--text-secondary);font-size:11px;font-style:normal}.content{display:grid;grid-template-rows:1fr;min-width:0;min-height:0}.content-scroll{min-width:0;min-height:0;overflow-y:auto;padding:20px 24px 32px;background:var(--content-bg)}.admin-page{display:grid;gap:16px;max-width:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-heading h2{margin:0;font-size:22px}.page-heading p{margin:6px 0 0;color:var(--text-secondary);font-size:14px}.panel{background:var(--surface-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px;max-width:960px}.ant-btn{border-radius:var(--radius-md);font-weight:400;box-shadow:none}.ant-btn-primary{background:var(--brand);border-color:var(--brand);box-shadow:0 2px #0591ff1a}.ant-btn-primary:hover{background:var(--brand-hover)!important;border-color:var(--brand-hover)!important}.ant-btn-primary:active{background:var(--brand-active)!important;border-color:var(--brand-active)!important}.ant-btn-link.ant-btn-sm{height:24px;padding-inline:4px}.hint{margin-top:12px;color:var(--text-secondary)}.auth-center{display:grid;gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-grid>div{background:var(--surface-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:12px}.summary-grid p{margin:8px 0 0;color:var(--text-secondary)}.primary-button,.table-action-button,.modal-form button:not(.ant-btn),.secondary-button{border:1px solid transparent;border-radius:var(--radius-md);padding:7px 14px;cursor:pointer;font:inherit;line-height:1.5715;transition:border-color .16s ease,color .16s ease,background .16s ease}.primary-button,.modal-form button:not(.ant-btn){border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 2px #0591ff1a}.primary-button:hover,.modal-form button:not(.ant-btn):hover{border-color:var(--brand-hover);background:var(--brand-hover)}.table-action-button{height:24px;border:0;padding:0 4px;background:transparent;color:var(--brand);box-shadow:none;font-size:14px}.table-action-button:hover{background:transparent;color:var(--brand-hover)}.table-action-button.danger{border:0;background:transparent;color:#ff4d4f}.table-action-button.danger:hover{background:transparent;color:#ff7875}.table-action-group{display:flex;flex-wrap:wrap;gap:2px}.secondary-button{border-color:var(--border-strong);background:#fff;color:var(--text-primary)}.secondary-button:hover{border-color:var(--brand);color:var(--brand)}.secondary-button:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9}.modal-form{display:grid;gap:12px}.modal-form input,.modal-form select,.modal-form textarea,.pagination-controls select{border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;background:#fff}.modal-form textarea{min-height:96px;resize:vertical;font-family:inherit}.field-config-panel{display:grid;gap:16px}.field-config-list{max-height:260px;overflow:auto;border:1px solid #e5e7eb;border-radius:8px}.admin-section-grid{display:grid;gap:16px}.admin-section{display:grid;gap:16px;background:transparent}.section-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:56px}.section-page-header h2{margin:0;color:var(--text-primary);font-size:22px;font-weight:600;line-height:1.4}.section-page-header p{margin:6px 0 0;color:var(--text-secondary);font-size:14px}.section-page-actions{display:flex;align-items:center;gap:16px}.section-filter-card,.section-table-card{border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-card)}.section-filter-card .ant-card-body,.section-table-card .ant-card-body{padding:0}.section-filter-row{display:grid;grid-template-columns:auto minmax(260px,1fr) auto auto;align-items:center;gap:16px;min-height:88px;padding:20px 24px}.section-filter-title{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:16px;font-weight:600;white-space:nowrap}.section-filter-title .anticon{color:var(--brand)}.menu-tree-section h3{margin:0;font-size:16px}.pagination-controls,.pagination-info{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.filter-grid{display:grid;grid-template-columns:minmax(260px,360px);gap:12px 16px;min-width:0}.filter-grid label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px}.filter-grid input{width:100%}.filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.section-footer{display:flex;justify-content:flex-end;padding:12px 24px;border-top:1px solid var(--border)}.pagination-bar{display:flex;justify-content:flex-end;align-items:center;gap:16px;width:100%;min-height:32px;padding:0;background:#fff}.table-wrap{max-height:min(520px,calc(100vh - 360px));overflow:auto;border:0;border-radius:0;background:#fff}table{width:100%;border-collapse:collapse;min-width:640px}th,td{border-bottom:1px solid #e5e7eb;padding:10px 12px;text-align:left;font-size:14px}th{position:sticky;top:0;z-index:1;background:#dedede;color:#334155;font-weight:700}tbody tr:nth-child(2n){background:#f0f1f3}tr:last-child td{border-bottom:0}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:12px}.status-enabled{background:#dcfce7;color:#166534}.status-disabled{background:#fee2e2;color:#991b1b}.menu-tree{border-top:1px solid #f1f5f9;padding-top:8px}.menu-list{list-style:none;padding-left:0}.menu-list ul{margin-top:8px;padding-left:20px}.empty-text{color:#64748b}.error-text{color:#b91c1c}.toast-stack{position:fixed;top:20px;right:20px;z-index:60;display:grid;gap:10px;width:min(360px,calc(100vw - 40px))}.toast{display:flex;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-left-width:4px;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a24;padding:12px}.toast p{margin:4px 0 0;color:#64748b}.toast-success{border-left-color:#16a34a}.toast-danger{border-left-color:#dc2626}.toast-info{border-left-color:#2563eb}.ghost-button{border:0;background:transparent;color:#64748b;cursor:pointer}@media(max-width:900px){.topbar{padding:0 18px}.topbar-actions{gap:8px}.text-link-button{display:none}.pagination-bar,.page-heading,.section-header{align-items:flex-start;flex-direction:column}}.login-page{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);width:100vw;height:100vh;overflow:hidden;background:var(--content-bg)}.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:56px 64px;background:linear-gradient(135deg,#001529,#00264d);color:#fff;overflow:hidden}.login-brand-head{display:flex;align-items:center;gap:12px}.login-brand-head div{display:grid;gap:3px}.login-brand-head strong{font-size:18px}.login-brand-head span:not(.brand-mark),.login-brand-main p,.login-brand-foot,.login-stat-row em{color:#ffffff9e}.login-brand-main h1{margin:0;color:#fff;font-size:40px;line-height:1.3}.login-brand-main p{max-width:460px;margin:20px 0 0;line-height:1.8}.login-stat-row{display:flex;gap:32px;margin-top:32px}.login-stat-row span{display:grid;gap:4px}.login-stat-row strong{font-size:20px}.login-stat-row em{font-size:13px;font-style:normal}.login-form-panel{display:grid;place-items:center;padding:40px;background:var(--surface-bg)}.login-card{width:min(400px,100%)}.login-card h2{margin:0;font-size:26px}.login-card>p{margin:8px 0 32px;color:var(--text-secondary)}.login-form{display:grid;gap:0}.login-form .ant-form-item{margin-bottom:18px}.login-form-extra{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.login-form-extra button{border:0;background:transparent;color:var(--brand);font-size:13px;cursor:pointer}.login-demo-box{display:grid;gap:10px;margin-top:24px;border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;background:var(--surface-alt);font-size:12px;color:var(--text-secondary)}.login-demo-box strong{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-weight:500}.login-demo-box strong .anticon{color:var(--brand)}.login-demo-box button{width:fit-content;border:0;background:transparent;color:var(--brand);cursor:pointer;font-weight:700}
