.help-label{display:inline-flex;align-items:center;gap:4px}.field-help{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:2px;border:0;border-radius:50%;background:transparent;color:#6b8bb3;font-size:13px;cursor:pointer;vertical-align:middle;transition:color .15s,background .15s}.field-help:hover,.field-help:focus-visible{color:#1e3a5f;background:#e8eef6;outline:none}.help-tip-more{opacity:.75;font-size:12px}.help-title{display:inline-flex;align-items:center;gap:8px;color:#1e3a5f}.help-body .help-lead{font-size:14.5px;color:#1f2937}.help-bullets{padding-left:20px;margin:0 0 12px}.help-bullets li{margin-bottom:4px}.help-section-title{margin:16px 0 8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5b6474}.help-example{border:1px solid #e6e9ef;border-left:3px solid #15803d;border-radius:8px;padding:10px 12px;margin-bottom:10px;background:#fbfcfe}.help-example-title{font-weight:600;margin-bottom:4px}.help-example-text{color:#5b6474;font-size:13px;margin-bottom:6px}.help-code{position:relative;margin:0!important}.help-code pre{margin:0;padding:8px 10px;background:#0f1c2e;color:#e6edf6;border-radius:6px;font-size:12px;line-height:1.5;overflow-x:auto;white-space:pre}.help-code .ant-typography-copy{position:absolute;top:6px;right:8px;color:#9fb3c8}.help-warning{margin-top:12px;padding:8px 12px;border-radius:8px;background:#fff8e6;border:1px solid #f5d48f;font-size:13px}:root{--shell-navy: #1e3a5f;--shell-green: #15803d;--shell-amber: #b45309;--shell-red: #b91c1c;--shell-border: #e5e9f0;--shell-muted: #64748b;--shell-card-shadow: 0 1px 2px rgba(15, 28, 46, .04), 0 2px 8px rgba(15, 28, 46, .05)}.app-sider .side-nav{padding-bottom:24px}.app-sider .side-nav .ant-menu-submenu-title{font-weight:500}.app-sider .side-nav .side-nav-group-active>.ant-menu-submenu-title{color:#fff}.app-sider .side-nav .ant-menu-sub .ant-menu-item{font-size:13.5px}.app-sider .side-nav .ant-menu-item-selected{box-shadow:inset 3px 0 #7fb2ff}.published-badge{display:inline-flex;align-items:center;gap:6px;color:var(--shell-green);font-size:13px;white-space:nowrap}@media(max-width:991px){.published-badge{display:none}}.publish-bar{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 24px;background:linear-gradient(90deg,#fff8eb,#fffbf3);border-bottom:1px solid #f6d9a8;color:#7c4a03;font-size:13.5px}.publish-bar-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publish-bar-detail{color:#9a6a24}.publish-bar-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 #f59e0b8c;animation:shell-pulse 2s infinite}.publish-bar .publish-bar-action{flex:none;font-weight:600;color:var(--shell-navy);padding-inline:0}@keyframes shell-pulse{0%{box-shadow:0 0 #f59e0b8c}70%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@media(prefers-reduced-motion:reduce){.publish-bar-dot{animation:none}}@media(max-width:640px){.publish-bar{padding:6px 16px;font-size:13px}}.publish-lead{display:flex;align-items:center;gap:16px;padding:16px;margin-bottom:16px;border-radius:10px;background:#f5f8fc;border:1px solid var(--shell-border)}.publish-lead-count{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:22px;font-weight:700;color:#fff;background:var(--shell-navy)}.publish-lead-title{font-weight:600;font-size:15px}.publish-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.publish-drawer-footer>:last-child{margin-inline-start:auto}.publish-done{text-align:center;padding:40px 16px}.publish-done-icon{font-size:56px;color:var(--shell-green);margin-bottom:12px;animation:shell-pop .45s cubic-bezier(.2,1.4,.4,1)}@keyframes shell-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.change-summary{display:flex;flex-direction:column;gap:12px}.change-group{border:1px solid var(--shell-border);border-radius:10px;background:#fff;overflow:hidden}.change-group-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid var(--shell-border);font-weight:600;color:var(--shell-navy)}.change-group-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#e8eef6;font-size:13px}.change-group-link{margin-inline-start:auto;font-weight:400;font-size:12.5px}.change-group ul{list-style:none;margin:0;padding:4px 0}.change-line{display:flex;align-items:baseline;gap:10px;padding:6px 12px}.change-sign{flex:none;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;font-weight:700;font-size:12px}.change-name{font-weight:500;overflow-wrap:anywhere}.change-verb{color:var(--shell-muted);font-size:12.5px}.change-added .change-sign{background:#dcfce7;color:var(--shell-green)}.change-changed .change-sign{background:#e0ecfb;color:var(--shell-navy)}.change-removed .change-sign{background:#fee2e2;color:var(--shell-red)}.advanced-collapse{margin-top:16px}.advanced-collapse .ant-collapse-header{color:var(--shell-muted)!important;padding-inline:0!important}.advanced-collapse .ant-collapse-content-box{padding-inline:0!important}.dash{display:flex;flex-direction:column;gap:16px}.dash .ant-card{box-shadow:var(--shell-card-shadow);border-color:#edf0f5}.dash-hero{display:flex;align-items:center;gap:20px;padding:24px;border-radius:14px;border:1px solid;box-shadow:var(--shell-card-shadow)}.dash-hero.ok{background:linear-gradient(120deg,#f0fdf4,#fff 70%);border-color:#bbf7d0}.dash-hero.warn{background:linear-gradient(120deg,#fff8eb,#fff 70%);border-color:#f6d9a8}.dash-hero.error{background:linear-gradient(120deg,#fef2f2,#fff 70%);border-color:#fecaca}.dash-hero.loading{background:#fff;border-color:#edf0f5}.dash-hero-icon{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:28px;color:#fff}.dash-hero.ok .dash-hero-icon{background:var(--shell-green);box-shadow:0 0 0 6px #dcfce7}.dash-hero.warn .dash-hero-icon{background:#d97706;box-shadow:0 0 0 6px #fef3c7}.dash-hero.error .dash-hero-icon{background:var(--shell-red);box-shadow:0 0 0 6px #fee2e2}.dash-hero-body{flex:1;min-width:0}.dash-hero-title{font-size:22px;font-weight:700;color:#0f1c2e;line-height:1.25}.dash-hero-sub{color:#475569;margin-top:4px}.dash-issues{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-issue{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dash-issue-dot{flex:none;width:8px;height:8px;border-radius:50%}.dash-issue-dot.error{background:var(--shell-red)}.dash-issue-dot.warn{background:#d97706}.dash-issue-text{font-weight:500;color:#1f2937}.dash-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dash-kpi{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.dash-kpi:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0f1c2e1a!important}.dash-kpi:focus-visible{outline:2px solid var(--shell-navy);outline-offset:2px}.dash-kpi .ant-card-body{display:flex;align-items:center;gap:16px;padding:20px}.dash-kpi-icon{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px}.dash-kpi-value{font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.dash-kpi-title{color:#334155;font-weight:500}.dash-kpi-note{color:var(--shell-muted);font-size:12.5px}.dash-cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}.dash-col{display:flex;flex-direction:column;gap:16px;min-width:0}.setup-list{list-style:none;margin:0;padding:0}.setup-step{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #f1f4f8}.setup-step:first-child{border-top:0}.setup-mark{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:2px solid #cbd5e1;color:var(--shell-muted);background:#fff}.setup-step.done .setup-mark{border-color:var(--shell-green);background:var(--shell-green);color:#fff}.setup-step.next .setup-mark{border-color:var(--shell-navy);color:var(--shell-navy)}.setup-step-body{flex:1;min-width:0}.setup-step-title{font-weight:500}.setup-step.done .setup-step-title{color:var(--shell-muted)}.setup-step-hint{color:var(--shell-muted);font-size:12.5px}.setup-wide .setup-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}.setup-wide .setup-step:nth-child(-n+3){border-top:0}.setup-celebrate{display:flex;align-items:center;gap:12px}.setup-celebrate-icon{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:var(--shell-green);font-size:20px}.attn-list{list-style:none;margin:0;padding:0}.attn-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f1f4f8}.attn-item:first-child{border-top:0;padding-top:0}.attn-count{flex:none;min-width:44px;height:32px;padding:0 8px;border-radius:8px;display:grid;place-items:center;font-weight:700;background:#fef2f2;color:var(--shell-red);font-variant-numeric:tabular-nums}.attn-count.warn{background:#fff7ed;color:var(--shell-amber)}.attn-body{flex:1;min-width:0}.attn-cat{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--shell-muted)}.attn-msg{font-weight:500;overflow-wrap:anywhere}.attn-meta{color:var(--shell-muted);font-size:12.5px}.agent-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #f1f4f8}.agent-row:first-child{border-top:0;padding-top:0}.agent-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#cbd5e1}.agent-dot.online{background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.agent-dot.offline{background:#ef4444;box-shadow:0 0 0 3px #fee2e2}.agent-dot.pending{background:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.agent-body{flex:1;min-width:0}.agent-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-meta{color:var(--shell-muted);font-size:12.5px}@media(max-width:1100px){.dash-cols{grid-template-columns:minmax(0,1fr)}}@media(max-width:800px){.setup-wide .setup-list{grid-template-columns:minmax(0,1fr)}.setup-wide .setup-step:nth-child(-n+3){border-top:1px solid #f1f4f8}.setup-wide .setup-step:first-child{border-top:0}}@media(max-width:640px){.dash-hero{padding:16px;gap:12px;align-items:flex-start}.dash-hero-icon{width:40px;height:40px;font-size:20px}.dash-hero-title{font-size:18px}.dash-kpis{grid-template-columns:minmax(0,1fr);gap:12px}.dash-kpi .ant-card-body{padding:14px 16px}.dash-kpi-value{font-size:24px}}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.settings-field-unit{color:var(--shell-muted)}.settings-card,.config-page .ant-card{box-shadow:var(--shell-card-shadow);border-color:#edf0f5}.vm-company+.vm-company{margin-top:16px}@media(max-width:800px){.settings-grid{grid-template-columns:minmax(0,1fr)}}.show-sm{display:none}@media(max-width:640px){.show-sm{display:inline}}:root{--ms-navy: #1e3a5f;--ms-navy-2: #2c5282;--ms-navy-bg: #e8eef6;--ms-navy-bg-2: #f3f6fb;--ms-green: #15803d;--ms-green-bg: #ecfdf3;--ms-amber: #b7791f;--ms-amber-bg: #fff8e6;--ms-red: #c62828;--ms-red-bg: #fff1f0;--ms-violet: #6d28d9;--ms-violet-bg: #f4f0ff;--ms-line: #e6e9ef;--ms-text-2: #5b6474;--ms-text-3: #8a93a3;--ms-radius: 10px;--ms-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}.ms-mono{font-family:var(--ms-mono);font-size:12px}.ms-help{display:block;font-size:12px;line-height:1.5}.ms-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 8px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ms-text-2)}.ms-section-title:first-child{margin-top:0}.ms-subtitle{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.ms-subtitle-icon{color:var(--ms-navy)}.ms-subtitle-tpl{color:var(--ms-text-3)}.ms-err-list{margin:4px 0 0;padding-left:18px}.ms-inline-link{padding:0;height:auto}.ms-linklike{background:none;border:0;padding:0;color:inherit;text-align:left;cursor:pointer;font:inherit}.ms-linklike:hover{text-decoration:underline}.ml-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ml-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.ml-card{position:relative;display:flex;gap:14px;padding:16px 12px 16px 16px;background:#fff;border:1px solid var(--ms-line);border-radius:var(--ms-radius);cursor:pointer;transition:box-shadow .18s,border-color .18s,transform .18s}.ml-card:hover,.ml-card:focus-visible{border-color:#c9d4e5;box-shadow:0 6px 20px #1e3a5f14;transform:translateY(-1px);outline:none}.ml-card-icon,.ms-tpl-icon,.ms-op-icon,.ms-pv-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--ms-navy-bg);color:var(--ms-navy);font-size:18px}.ml-card-body{flex:1;min-width:0}.ml-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ml-card-name{font-weight:600;font-size:15px;color:#1f2937;overflow-wrap:anywhere}.ml-status{margin:0;flex:none}.ml-card-flow{margin-top:4px;color:var(--ms-text-2);display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ml-card-op{color:var(--ms-navy);font-weight:500}.ml-arrow{color:var(--ms-text-3)}.ml-card-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;color:var(--ms-text-3)}.ml-card-meta .anticon{margin-right:2px}.ml-card-actions{flex:none;align-self:flex-start}.ml-empty{max-width:920px;margin:8px auto 0}.ml-empty-hero{text-align:center;padding:36px 16px 28px;background:linear-gradient(180deg,var(--ms-navy-bg-2),#fff);border:1px solid var(--ms-line);border-radius:14px;margin-bottom:28px}.ml-empty-icon{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:50%;background:var(--ms-navy);color:#fff;font-size:28px;box-shadow:0 10px 30px #1e3a5f40}.ml-empty-tpl .ms-tpl.is-blank{margin-top:12px;width:100%;border-style:dashed}.ms-steps-bar{background:#fff;border:1px solid var(--ms-line);border-radius:var(--ms-radius);padding:14px 18px;margin-bottom:16px}.ms-wizard{background:#fff;border:1px solid var(--ms-line);border-radius:var(--ms-radius);padding:20px}.ms-wizard-help{font-size:14px}.ms-wizard-foot{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--ms-line)}.ms-picker-search{max-width:560px;margin-bottom:8px}.ms-picker-group{margin-top:20px}.ms-picker-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;color:var(--ms-navy);margin-bottom:10px}.ms-picker-sub{font-weight:400;font-size:12px}.ms-op-grid,.ms-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.ms-op,.ms-tpl{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px;text-align:left;background:#fff;border:1px solid var(--ms-line);border-radius:var(--ms-radius);cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.ms-op:hover,.ms-tpl:hover,.ms-op:focus-visible,.ms-tpl:focus-visible{border-color:var(--ms-navy-2);box-shadow:0 4px 16px #1e3a5f1a;outline:none}.ms-op.is-selected{border-color:var(--ms-navy);background:var(--ms-navy-bg-2);box-shadow:0 0 0 2px #1e3a5f26}.ms-op-body,.ms-tpl-body{display:flex;flex-direction:column;min-width:0;gap:2px}.ms-op-name,.ms-tpl-name{font-weight:600;color:#1f2937}.ms-op-tech{font-family:var(--ms-mono);font-size:11px;color:var(--ms-text-3);overflow-wrap:anywhere}.ms-op-support{font-size:12px;color:var(--ms-green)}.ms-op-check{position:absolute;top:10px;right:10px;color:var(--ms-navy);font-size:18px}.ms-tpl{align-items:center}.ms-tpl-desc{font-size:12px;color:var(--ms-text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ms-tpl{padding-top:30px}.ms-tpl.is-blank{padding-top:14px}.ms-tpl-product{position:absolute;top:8px;right:8px;margin:0;background:var(--ms-navy-bg);color:var(--ms-navy)}.ms-tpl-icon{background:var(--ms-green-bg);color:var(--ms-green)}.ms-sample{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.ms-sample-right{border-left:1px solid var(--ms-line);padding-left:24px;min-width:0}.ms-sample-err{margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--ms-red-bg);color:var(--ms-red)}.ms-sample-ok{margin-bottom:10px;color:var(--ms-green);font-weight:500}.ant-drawer .ms-sample{grid-template-columns:1fr}.ant-drawer .ms-sample-right{border-left:0;padding-left:0}.ms-namebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ms-namebar label{font-weight:600;color:var(--ms-text-2)}.ms-namebar .ant-input{max-width:420px;flex:1 1 240px}.ms-namebar-meta{margin-left:auto}.ms-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:10px 14px;margin-bottom:14px;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--ms-line);border-radius:var(--ms-radius);box-shadow:0 2px 10px #1e3a5f0d;flex-wrap:wrap}.ms-bar .ant-progress-text{font-weight:700}.ms-bar-text{flex:1 1 240px;min-width:0}.ms-bar-main{font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ms-bar-tag{margin:0}.ms-bar-sub{font-size:12px;color:var(--ms-text-2)}.ms-sug-btn{border-color:#f0c36d;background:var(--ms-amber-bg);color:#8a5a00}.ms-sug ul{list-style:none;margin:0 0 12px;padding:0;max-height:300px;overflow:auto;min-width:280px}.ms-sug li{display:flex;gap:8px;padding:5px 0;border-bottom:1px dashed var(--ms-line);font-size:13px}.ms-sug-target{font-weight:600}.ms-sug-arrow{color:var(--ms-text-3)}.ms-sug-src{font-family:var(--ms-mono);font-size:12px;color:var(--ms-navy)}.ms-grid{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr) minmax(300px,360px);gap:14px;align-items:start}.ms-grid.is-advanced{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.ms-col{background:#fff;border:1px solid var(--ms-line);border-radius:var(--ms-radius);min-width:0}.ms-grid.is-advanced>.ms-col:first-child{padding:14px}.ms-col-src,.ms-col-preview{position:sticky;top:76px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}.ms-col-preview{overflow:auto}.ms-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ms-line);font-weight:600;color:var(--ms-navy);flex-wrap:wrap}.ms-col-head .anticon{margin-right:4px}.ms-col-sub{font-weight:400;font-size:12px}.ms-armed{display:flex;align-items:center;gap:8px;margin:10px 10px 0;padding:8px 10px;border-radius:8px;background:var(--ms-navy);color:#fff;font-size:13px;animation:ms-pop .2s ease-out}.ms-armed span{flex:1}.ms-armed .ant-btn{color:#fff}.ms-src-note{margin:10px 10px 0;padding:8px 10px;border-radius:8px;background:var(--ms-amber-bg);color:#7a4f00;font-size:12px}.ms-src{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:0;flex:1}.ms-src-tree{overflow:auto;min-height:80px;margin:0 -4px}.ms-src-empty{display:block;padding:12px}.ms-src-row{display:flex;align-items:center;gap:6px;min-height:30px;padding:3px 8px;border-radius:6px;font-size:13px;cursor:default;-webkit-user-select:none;user-select:none;outline:none}.ms-src-row[role=button]{cursor:pointer}.ms-src-row:hover,.ms-src-row:focus-visible{background:var(--ms-navy-bg-2)}.ms-src-row.is-pickable{cursor:grab}.ms-src-row.is-armed{cursor:pointer}.ms-src-row.is-armed:hover{background:var(--ms-navy-bg);box-shadow:inset 0 0 0 1px var(--ms-navy-2)}.ms-src-row.is-blocked{opacity:.55}.ms-src-caret{width:12px;flex:none;color:var(--ms-text-3);font-size:10px}.ms-src-glyph{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 3px;border-radius:4px;font-size:10px;font-weight:700;font-family:var(--ms-mono);background:#f1f3f7;color:var(--ms-text-2)}.ms-src-glyph.t-number{background:#e8f4ff;color:#1d5fa8}.ms-src-glyph.t-string{background:#eef7ee;color:#2f6b2f}.ms-src-glyph.t-array{background:var(--ms-violet-bg);color:var(--ms-violet)}.ms-src-key{font-weight:500;white-space:nowrap}.ms-src-row.is-used .ms-src-key:after{content:"●";margin-left:5px;font-size:8px;color:var(--ms-green);vertical-align:middle}.ms-src-val{flex:1;min-width:0;text-align:right;color:var(--ms-text-3);font-family:var(--ms-mono);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-src-hint{display:none;flex:none;font-size:11px;color:var(--ms-navy);font-weight:600}.ms-src-row.is-armed:hover .ms-src-hint{display:inline}.ms-src-row.is-armed:hover .ms-src-val{display:none}.ms-src-list{border-left:2px solid #ddd3fb;margin:2px 0 2px 6px;border-radius:2px}.ms-src-row.is-list .ms-src-key{color:var(--ms-violet)}.ms-list-tag{margin:0 0 0 auto;background:var(--ms-violet-bg);color:var(--ms-violet);font-size:11px}.ms-src-list-caption{font-size:11px;color:var(--ms-violet);opacity:.8;margin:0 0 2px}.ms-mini-tag{margin:0;font-size:10px}.ms-targets{padding:6px 12px 14px}.ms-group{margin-top:12px}.ms-group-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:6px 2px;border-bottom:1px solid var(--ms-line);margin-bottom:6px}.ms-group-title{font-weight:700;color:var(--ms-navy);font-size:13px;letter-spacing:.02em}.ms-group-hint{font-size:12px;color:var(--ms-text-3)}.ms-group.is-optional .ms-group-title{color:var(--ms-text-2)}.ms-field{position:relative;display:grid;grid-template-columns:22px minmax(140px,.9fr) minmax(0,1.4fr) 28px;align-items:center;gap:10px;padding:8px 8px 8px 6px;margin:4px 0;border:1px solid transparent;border-left:3px solid transparent;border-radius:8px;cursor:pointer;outline:none;transition:background .15s,border-color .15s,box-shadow .15s}.ms-field:hover,.ms-field:focus-visible{background:var(--ms-navy-bg-2)}.ms-field.is-ok{border-left-color:var(--ms-green)}.ms-field.is-missing{border-left-color:#e9b949}.ms-field.is-error{border-left-color:var(--ms-red);background:snow}.ms-field.is-custom{border-left-color:var(--ms-violet)}.ms-field.is-active{background:var(--ms-navy-bg);border-color:var(--ms-navy-2);box-shadow:0 0 0 3px #1e3a5f1f}.ms-field.is-over{background:#eaf7ef;border-color:var(--ms-green);border-style:dashed;box-shadow:0 0 0 3px #15803d26}.ms-field.is-disabled{cursor:default;opacity:.6}.ms-field.is-disabled:hover{background:transparent}.ms-field-dot{display:inline-flex;justify-content:center;font-size:15px;color:#c7ccd6}.ms-field.is-ok .ms-field-dot{color:var(--ms-green)}.ms-field.is-missing .ms-field-dot{color:#e9b949}.ms-field.is-error .ms-field-dot{color:var(--ms-red)}.ms-field.is-custom .ms-field-dot{color:var(--ms-violet)}.ms-field-main{min-width:0}.ms-field-label{font-weight:600;color:#1f2937}.ms-req{color:#c27c00;margin-left:3px}.ms-field-help{font-size:12px;color:var(--ms-text-3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ms-field-err{font-size:12px;color:var(--ms-red);line-height:1.4}.ms-list-err{margin:4px 8px}.ms-field-binding{min-width:0}.ms-field-actions{display:flex;justify-content:flex-end}.ms-slot-empty{display:block;padding:5px 10px;border:1px dashed #cfd6e2;border-radius:6px;color:var(--ms-text-3);font-size:12px}.ms-field.is-active .ms-slot-empty{border-color:var(--ms-navy-2);color:var(--ms-navy);animation:ms-pulse 1.4s ease-in-out infinite}.ms-chip-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.ms-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:2px 9px;border-radius:999px;background:var(--ms-navy-bg);color:var(--ms-navy);font-family:var(--ms-mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-chip.is-const{background:#f1f3f7;color:#374151;font-family:inherit}.ms-chip.is-custom{background:var(--ms-violet-bg);color:var(--ms-violet);font-family:inherit;border:0;cursor:pointer}.ms-chip-kind{font-size:11px;font-weight:600;color:var(--ms-text-2)}.ms-chip-value{font-size:12px;color:var(--ms-green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ms-step-tag{margin:0;background:var(--ms-amber-bg);color:#8a5a00;font-size:11px}.ms-more{padding-left:32px}.ms-list-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0;padding:10px 12px;border-radius:8px;background:var(--ms-violet-bg);color:#3b1d80;font-weight:500}.ms-list-pick.is-missing{background:var(--ms-amber-bg);color:#7a4f00}.ms-list-icon{color:var(--ms-violet)}.ms-list-select{min-width:180px}.ms-list-count{margin-left:auto;font-size:12px;font-weight:400;color:var(--ms-text-2)}.ms-list-fields{padding-left:10px;border-left:2px solid #ddd3fb;margin-left:6px}.ms-unsupported{padding:16px 8px}.ms-preview{padding:0 0 12px}.ms-pv-head{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--ms-line);font-weight:600;color:var(--ms-navy)}.ms-pv-state{margin-left:auto;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px}.ms-pv-state.is-ok{background:var(--ms-green-bg);color:var(--ms-green)}.ms-pv-state.is-warn{background:var(--ms-amber-bg);color:#8a5a00}.ms-pv-state.is-idle{background:#f1f3f7;color:var(--ms-text-2)}.ms-pv-doc{margin:12px;padding:14px;border-radius:10px;background:#fff;border:1px solid var(--ms-line);box-shadow:0 1px #fff inset,0 8px 24px #1e3a5f12;background-image:linear-gradient(180deg,var(--ms-navy-bg-2),#fff 64px)}.ms-pv-doc-title{display:flex;gap:10px;align-items:center;margin-bottom:12px}.ms-pv-icon{width:34px;height:34px;font-size:16px;background:var(--ms-navy);color:#fff}.ms-pv-name{font-weight:700;font-size:15px;color:#1f2937}.ms-pv-sub{font-size:11px;color:var(--ms-text-3)}.ms-pv-dl{margin:0;display:grid;gap:6px}.ms-pv-kv{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px dotted var(--ms-line);padding-bottom:4px}.ms-pv-kv dt{color:var(--ms-text-2);flex:none}.ms-pv-kv dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere;min-width:0}.ms-pv-empty{color:var(--ms-text-3);font-size:12px;padding:4px 0}.ms-pv-lines-wrap{margin-top:14px}.ms-pv-lines-title{font-size:12px;font-weight:700;color:var(--ms-violet);margin-bottom:4px}.ms-pv-lines{width:100%;border-collapse:collapse;font-size:12px}.ms-pv-lines th{text-align:left;font-weight:600;color:var(--ms-text-2);border-bottom:1px solid var(--ms-line);padding:4px}.ms-pv-lines td{padding:5px 4px;border-bottom:1px dotted var(--ms-line);vertical-align:top}.ms-pv-lines .num{text-align:right;white-space:nowrap}.ms-pv-lines .strong{font-weight:700}.ms-pv-lines tfoot td{border-bottom:0;border-top:1px solid #cfd6e2;font-weight:600;color:var(--ms-navy)}.ms-pv-code{font-family:var(--ms-mono);font-weight:600}.ms-pv-problems{list-style:none;margin:0 12px;padding:10px 12px;border-radius:8px;background:var(--ms-amber-bg);color:#6b4500;font-size:12px;display:grid;gap:6px}.ms-pv-problems.is-server{margin:8px 0 0;background:var(--ms-red-bg);color:var(--ms-red)}.ms-pv-problems li{display:flex;gap:6px;align-items:baseline}.ms-pv-problems .anticon{flex:none}.ms-pv-server{margin:12px 12px 0;display:grid;gap:8px}.ms-pv-server-ok{color:var(--ms-green);font-weight:600;font-size:13px}.ms-drawer .ant-drawer-body{padding-top:12px}.ms-drawer-foot{display:flex;justify-content:space-between;gap:8px}.ms-mode-body{margin-top:10px}.ms-opt{display:flex;justify-content:space-between;gap:12px}.ms-opt-val{color:var(--ms-text-3);font-family:var(--ms-mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}.ms-concat{display:grid;gap:6px}.ms-concat-row{display:flex;gap:4px;align-items:center}.ms-lit{color:var(--ms-text-3)}.ms-steps{display:grid;gap:8px}.ms-step{border:1px solid var(--ms-line);border-radius:8px;padding:8px 10px;background:#fffdf7}.ms-step-head{display:flex;align-items:center;gap:8px}.ms-step-no{display:inline-flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:var(--ms-amber-bg);color:#8a5a00;font-size:11px;font-weight:700;border:1px solid #f0c36d}.ms-step-title{font-weight:600;flex:1}.ms-step-body{margin:8px 0 4px}.ms-vmap{display:grid;gap:6px}.ms-vmap-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:6px;align-items:center}.ms-vmap-arrow{color:var(--ms-text-3)}.ms-vmap-fallback{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px}.ms-result{padding:10px 12px;border-radius:8px;background:#f5f6f8;color:var(--ms-text-2);font-size:14px;overflow-wrap:anywhere}.ms-result.is-ok{background:var(--ms-green-bg);color:var(--ms-green);font-weight:600}.ms-result.is-error{background:var(--ms-red-bg);color:var(--ms-red)}.ms-result-arrow{opacity:.7}.ms-adv-collapse{margin-top:16px}.ms-formula{font-family:var(--ms-mono);font-size:12px;background:#f6f8fa;border:1px solid var(--ms-line);border-radius:6px;padding:8px 10px;white-space:pre-wrap;word-break:break-all;margin:0 0 12px}.ms-adv-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ms-adv-head .ms-help{flex:1 1 260px}.ms-formulas{display:grid;gap:10px}.ms-formula-row{display:grid;gap:3px}.ms-formula-path{font-family:var(--ms-mono);font-size:12px;color:var(--ms-navy);font-weight:600}@keyframes ms-pulse{0%,to{box-shadow:0 0 #2c528200}50%{box-shadow:0 0 0 3px #2c52822e}}@keyframes ms-pop{0%{transform:translateY(-4px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.ms-field.is-active .ms-slot-empty,.ms-armed{animation:none}.ml-card{transition:none}}@media(max-width:1280px){.ms-grid{grid-template-columns:minmax(230px,280px) minmax(0,1fr)}.ms-grid>.ms-col-preview{grid-column:1 / -1;position:static;max-height:none}.ms-grid.is-advanced{grid-template-columns:1fr}}@media(max-width:860px){.ms-grid{grid-template-columns:1fr}.ms-col-src{position:static;max-height:420px;order:2}.ms-col-target{order:1}.ms-col-preview{order:3}.ms-sample{grid-template-columns:1fr}.ms-sample-right{border-left:0;padding-left:0}.ms-field{grid-template-columns:20px minmax(0,1fr) 28px}.ms-field-binding{grid-column:2 / 3;grid-row:2}.ms-field-actions{grid-column:3;grid-row:1}.ms-bar{position:static}.ml-grid,.ms-op-grid,.ms-tpl-grid{grid-template-columns:1fr}.ms-wizard{padding:14px}.ms-namebar-meta{margin-left:0}}.ms-field-warn{font-size:12px;color:#8a5a00;line-height:1.4}.ms-list-hint{flex-basis:100%;font-size:12px;font-weight:400}.wh-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:16px}.wh-tpl{display:flex;gap:10px;align-items:flex-start;width:100%;padding:10px 12px;text-align:left;border:1px solid #e6e9ef;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;font:inherit;color:inherit}.wh-tpl:hover,.wh-tpl:focus-visible{border-color:#1e3a5f;box-shadow:0 2px 8px #1e3a5f1f;outline:none}.wh-tpl.is-selected{border-color:#15803d;box-shadow:inset 3px 0 #15803d}.wh-tpl-icon{flex:none;font-size:18px;color:#1e3a5f;margin-top:2px}.wh-tpl-title{font-weight:600;font-size:13px;line-height:1.35}.wh-tpl-summary{font-size:12px;color:#5b6474;line-height:1.4;margin-top:2px}.wh-tpl-head{display:flex;align-items:center;gap:4px;margin-bottom:8px;font-weight:600}.wh-sample{margin-top:4px}.wh-sample .help-code pre{max-height:260px}.wh-guide .ant-drawer-body{padding-top:8px}.wh-guide-section{margin-bottom:24px}.wh-guide-section h3{margin:8px 0 10px;font-size:15px;color:#1e3a5f}.wh-guide-steps{padding-left:20px;margin:0}.wh-guide-steps li{margin-bottom:6px}.wh-guide-list{margin-top:10px}.wh-guide-alert{margin-bottom:10px}.wh-guide-note{margin:10px 0 6px!important;font-size:13px}.wh-guide-tabs .help-code pre{max-height:420px}.wh-guide .ant-table{font-size:13px}@media(max-width:600px){.wh-templates{grid-template-columns:1fr}}.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: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--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))}:root{--wf-navy: #1e3a5f;--wf-navy-2: #2c5282;--wf-line: #e3e8ef;--wf-text-2: #5b6474;--wf-text-3: #8a93a3;--wf-green: #15803d;--wf-red: #c62828;--wf-amber: #b7791f;--wf-tone-start: #15803d;--wf-tone-end: #475569;--wf-tone-flow: #6d28d9;--wf-tone-data: #0e7490;--wf-tone-logo: #1e3a5f;--wf-tone-int: #b45309}.wf-designer{display:grid;grid-template-columns:232px minmax(0,1fr) 400px;height:calc(100vh - 240px);min-height:560px;border:1px solid var(--wf-line);border-radius:12px;overflow:hidden;background:#fff}.wf-designer.is-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100vh;border-radius:0}.wf-designer:not(:has(.wf-palette)){grid-template-columns:minmax(0,1fr) 400px}@media(max-width:1199px){.wf-designer,.wf-designer:not(:has(.wf-palette)){grid-template-columns:1fr;height:auto}.wf-designer .wf-canvas{height:520px}.wf-palette .wf-palette-list{display:flex;flex-wrap:wrap;gap:6px}}.wf-palette{display:flex;flex-direction:column;gap:8px;padding:12px;border-right:1px solid var(--wf-line);background:#fafbfd;min-height:0}.wf-pane-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--wf-text-2)}.wf-palette-list{flex:1;overflow-y:auto;min-height:0}.wf-palette-group{margin-bottom:10px}.wf-palette-group-title{font-size:11.5px;color:var(--wf-text-3);margin:6px 2px 4px}.wf-palette-item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:7px 8px;margin-bottom:4px;border:1px solid var(--wf-line);border-left:3px solid var(--tone);border-radius:8px;background:#fff;cursor:grab;text-align:left;transition:box-shadow .15s,transform .15s}.wf-palette-item:hover:not(:disabled){box-shadow:0 2px 8px #0f1c2e1a;transform:translateY(-1px)}.wf-palette-item:focus-visible{outline:2px solid var(--wf-navy-2);outline-offset:1px}.wf-palette-icon{color:var(--tone);font-size:16px;line-height:20px}.wf-palette-text{display:flex;flex-direction:column;min-width:0}.wf-palette-label{font-weight:500;font-size:13px;color:#1f2937}.wf-palette-desc{font-size:11.5px;color:var(--wf-text-3);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wf-palette-empty,.wf-palette-hint{font-size:11.5px;color:var(--wf-text-3);line-height:1.45}.tone-start{--tone: var(--wf-tone-start)}.tone-end{--tone: var(--wf-tone-end)}.tone-flow{--tone: var(--wf-tone-flow)}.tone-data{--tone: var(--wf-tone-data)}.tone-logo{--tone: var(--wf-tone-logo)}.tone-int{--tone: var(--wf-tone-int)}.wf-canvas{position:relative;min-width:0;min-height:0;background:#f6f8fb;outline:none}.wf-toolbar{display:flex;align-items:center;gap:2px;padding:4px 6px;background:#fff;border:1px solid var(--wf-line);border-radius:10px;box-shadow:0 2px 8px #0f1c2e0f}.wf-toolbar-sep{width:1px;height:18px;margin:0 4px;background:var(--wf-line)}.wf-canvas .react-flow__controls{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0f1c2e14}.wf-canvas .react-flow__minimap{border-radius:8px;border:1px solid var(--wf-line);overflow:hidden}.wf-node{width:236px;min-height:64px;background:#fff;border:1px solid var(--wf-line);border-top:3px solid var(--tone);border-radius:10px;box-shadow:0 1px 2px #0f1c2e0d,0 4px 12px #0f1c2e0f;transition:box-shadow .15s,border-color .15s,opacity .2s;font-size:13px}.wf-node:hover{box-shadow:0 2px 4px #0f1c2e0f,0 8px 20px #0f1c2e1a}.wf-node.is-selected{border-color:var(--wf-navy-2);box-shadow:0 0 0 3px #2c52822e,0 8px 20px #0f1c2e1a}.wf-node.has-issue{border-color:#f2b8b5}.wf-node.is-comp{border-style:dashed;border-top-style:solid;background:#fbfbfd}.wf-node-body{display:flex;align-items:flex-start;gap:10px;padding:10px 12px}.wf-node-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:8px;color:var(--tone);background:color-mix(in srgb,var(--tone) 10%,#fff);font-size:16px}.wf-node-text{flex:1;min-width:0}.wf-node-kind{font-size:11px;color:var(--wf-text-3);text-transform:uppercase;letter-spacing:.04em}.wf-node-name{font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-node-sum{font-size:11.5px;color:var(--wf-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.wf-node-issue{color:var(--wf-red);font-size:15px}.wf-node-run{font-size:16px}.wf-tip-list{margin:0;padding-left:16px}.wf-ports{display:flex;justify-content:space-around;border-top:1px dashed var(--wf-line);padding:4px 6px 8px}.wf-port{position:relative;display:flex;flex-direction:column;align-items:center;min-width:36px}.wf-port.is-plain{min-height:4px}.wf-port-label{font-size:11px;color:var(--wf-text-2);background:#f3f5f9;border-radius:6px;padding:0 6px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-ports:has(.is-plain:only-child){border-top:0;padding:0}.wf-canvas .wf-h{width:11px;height:11px;border:2px solid #fff;background:var(--wf-navy-2);box-shadow:0 0 0 1px var(--wf-navy-2);transition:transform .12s}.wf-canvas .wf-h:hover{transform:translate(-50%,50%) scale(1.35)}.wf-canvas .wf-h-in:hover{transform:translate(-50%,-50%) scale(1.35)}.wf-canvas .wf-port .wf-h-out{bottom:-14px}.wf-canvas .wf-h-out.is-multi{border-radius:3px}.wf-canvas .wf-h-err{background:var(--wf-red);box-shadow:0 0 0 1px var(--wf-red)}.wf-canvas .wf-h-err:hover{transform:translate(50%,-50%) scale(1.35)}.wf-canvas .react-flow__handle.connectingto,.wf-canvas .react-flow__handle.valid{background:var(--wf-green);box-shadow:0 0 0 4px #15803d40}.wf-canvas .wf-edge{stroke:#8796ad;stroke-width:1.8}.wf-canvas .wf-edge.is-selected{stroke:var(--wf-navy-2);stroke-width:2.6}.wf-canvas .wf-edge.is-error{stroke:var(--wf-red);stroke-dasharray:6 4}.wf-canvas .wf-edge.is-comp{stroke:var(--wf-text-3);stroke-dasharray:2 4}.wf-canvas .wf-edge.is-traced{stroke:var(--wf-green);stroke-width:3;stroke-dasharray:8 5;animation:wf-flow .9s linear infinite}.wf-canvas .wf-edge.is-dim{opacity:.35}@keyframes wf-flow{to{stroke-dashoffset:-13}}@media(prefers-reduced-motion:reduce){.wf-canvas .wf-edge.is-traced{animation:none}}.wf-edge-label{position:absolute;pointer-events:all;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:1px 8px;border-radius:999px;background:#fff;border:1px solid var(--wf-line);color:var(--wf-text-2)}.wf-edge-label.is-error{color:var(--wf-red);border-color:#f2b8b5}.wf-edge-label.is-traced{color:var(--wf-green);border-color:#b7e4c7}.wf-edge-del{border:0;background:var(--wf-red);color:#fff;width:16px;height:16px;border-radius:50%;font-size:9px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.wf-node.run-done{border-top-color:var(--wf-green)}.wf-node.run-failed{border-top-color:var(--wf-red);box-shadow:0 0 0 3px #c6282826}.wf-node.run-waiting,.wf-node.run-running,.wf-node.run-pending{border-top-color:var(--wf-amber)}.wf-node.run-none{opacity:.45}.wf-node-run.run-done{color:var(--wf-green)}.wf-node-run.run-failed{color:var(--wf-red)}.wf-node-run.run-waiting,.wf-node-run.run-running,.wf-node-run.run-pending{color:var(--wf-amber)}.wf-node-run.run-cancelled,.wf-node-run.run-halted{color:var(--wf-text-3)}.wf-side{border-left:1px solid var(--wf-line);overflow-y:auto;min-height:0;background:#fff}.wf-side .ant-card{border:0;border-radius:0}.wf-side-section{padding:16px;border-bottom:1px solid var(--wf-line)}.wf-side-section:last-child{border-bottom:0}.wf-issue-list{margin:0;padding:0;list-style:none}.wf-issue-list li{display:flex;gap:8px;padding:6px 0;font-size:13px;border-bottom:1px solid #f1f3f7}.wf-issue-list li:last-child{border-bottom:0}.wf-issue-list button{border:0;background:none;padding:0;color:var(--wf-navy-2);cursor:pointer;font-weight:500}.wf-kbd{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px;color:var(--wf-text-2)}.wf-kbd kbd{font-family:var(--ms-mono, ui-monospace, monospace);font-size:11px;background:#f3f5f9;border:1px solid var(--wf-line);border-radius:4px;padding:0 5px;white-space:nowrap}.wf-run-banner{font-size:12px}.report-params{margin-bottom:16px}.report-param-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 16px;align-items:end}.report-param-grid .ant-form-item{margin-bottom:8px}.report-run .ant-form-item-label>label:after{content:none}.report-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.report-errors{margin:0;padding-left:18px}.report-total td{background:#1e3a5f0f}.report-chart{margin-bottom:16px}.report-bars{display:flex;flex-direction:column;gap:6px}.report-bar-row{display:grid;grid-template-columns:minmax(80px,200px) 1fr minmax(70px,auto);gap:8px;align-items:center;min-height:22px;cursor:default}.report-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.report-bar-value{font-size:12px;font-variant-numeric:tabular-nums;text-align:right;color:#000000a6}.report-bar-track{position:relative;height:14px}.report-bar{position:absolute;top:0;bottom:0;min-width:2px;background:var(--portal-primary, #1e3a5f);border-radius:0 4px 4px 0}.report-bar-neg{border-radius:4px 0 0 4px;opacity:.6}@media(max-width:480px){.report-bar-row{grid-template-columns:90px 1fr 70px}}.report-edit-row{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}.report-edit-row:last-child{border-bottom:0}.report-edit-col{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.report-template-card{cursor:default}:root{--studio-navy: #1e3a5f;--studio-green: #15803d;--studio-border: #e3e8ef;--studio-muted: #64748b;--studio-soft: #f5f8fc}.portal-studio .studio-dirty .ant-badge-status-text,.portal-studio .studio-saved .ant-badge-status-text{font-size:13px;color:var(--studio-muted)}.portal-studio .studio-dirty .ant-badge-status-text{color:#b45309;font-weight:500}.studio-note{margin-bottom:16px}.studio-check{border-radius:10px;padding:10px 14px;margin-bottom:16px;border:1px solid;animation:studio-fade .25s ease-out}.studio-check-ok{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.studio-check-issues{background:#fffbeb;border-color:#fde68a;color:#713f12}.studio-check-head{display:flex;align-items:center;gap:8px;font-weight:600}.studio-check-text{flex:1}.studio-issues{margin:8px 0 2px;padding-left:22px;columns:2 320px;column-gap:32px}.studio-issues li{margin:3px 0;break-inside:avoid}.studio-issue-link{background:none;border:none;padding:0;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#713f1259;text-underline-offset:3px;font:inherit}.studio-issue-link:hover,.studio-issue-link:focus-visible{text-decoration-color:currentColor;outline:none}.studio-modebar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.studio-grid{display:grid;grid-template-columns:236px minmax(0,1fr) minmax(0,1.12fr);gap:16px;align-items:start}.studio-locked .studio-pane-tree,.studio-locked .studio-pane-editor{pointer-events:none;opacity:.55}.studio-pane{background:#fff;border:1px solid var(--studio-border);border-radius:12px;padding:16px;min-width:0}.studio-pane-tree{padding:12px 8px;position:sticky;top:16px}.studio-pane-preview{position:sticky;top:16px;padding:12px;background:var(--studio-soft)}.studio-pane-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--studio-muted)}.studio-tree-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;margin-top:10px}.studio-tree-head:first-child{margin-top:0}.studio-tree-empty{padding:4px 10px 8px;font-size:13px;color:var(--studio-muted)}.studio-tree-item{position:relative;display:flex;align-items:center;border-radius:8px;margin:1px 0;transition:background .15s}.studio-tree-item:hover{background:#f1f5f9}.studio-tree-item-active,.studio-tree-item-active:hover{background:#e8eef6;box-shadow:inset 3px 0 0 var(--studio-navy)}.studio-tree-item-over{box-shadow:inset 0 2px 0 var(--studio-navy)}.studio-tree-item[draggable=true]{cursor:grab}.studio-tree-handle{color:#cbd5e1;font-size:12px;margin-left:4px}.studio-tree-button{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:none;border:none;padding:8px 6px;text-align:left;cursor:pointer;font:inherit;color:#1f2937;border-radius:8px}.studio-tree-button:focus-visible{outline:2px solid var(--studio-navy);outline-offset:-2px}.studio-tree-item-active .studio-tree-button{font-weight:600;color:var(--studio-navy)}.studio-tree-icon{color:var(--studio-navy);flex:none}.studio-tree-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.studio-tree-hint{font-size:11px;color:var(--studio-muted);white-space:nowrap}.studio-tree-issue{width:8px;height:8px;border-radius:50%;background:#dc2626;flex:none;box-shadow:0 0 0 3px #dc262626}.studio-tree-extra{display:none;padding-right:2px}.studio-tree-item:hover .studio-tree-extra,.studio-tree-item:focus-within .studio-tree-extra,.studio-tree-item-active .studio-tree-extra{display:inline-flex}.studio-editor-empty{padding:48px 16px;text-align:center;color:var(--studio-muted)}.studio-editor-body{animation:studio-fade .2s ease-out}.studio-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.studio-kind-tag{background:#e8eef6;color:var(--studio-navy);font-weight:600}.studio-title-input{font-size:20px;font-weight:600;padding-inline:0;margin-top:2px}.studio-section{padding:14px 0;border-top:1px solid #eef2f6;display:flex;flex-direction:column;gap:10px}.studio-section-title{font-weight:600;color:#0f172a;display:flex;align-items:center;gap:6px}.studio-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.studio-help{font-size:12.5px;color:var(--studio-muted);font-weight:400}.studio-label{display:flex;flex-direction:column;gap:6px;font-weight:500;color:#1f2937}.studio-required{color:#dc2626;margin-left:3px}.studio-inline{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.studio-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.studio-switches{display:flex;flex-direction:column;gap:10px}.studio-gaps{margin:4px 0 0;padding-left:18px}.studio-collapse{margin:0 -4px}.studio-collapse .ant-collapse-header{color:var(--studio-muted)!important;padding-inline:4px!important}.studio-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.studio-choices-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.studio-choice{position:relative;display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:14px;background:#fff;border:1px solid var(--studio-border);border-radius:12px;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.studio-choice:hover:not(:disabled){border-color:#94a3b8;box-shadow:0 6px 18px #0f172a14;transform:translateY(-1px)}.studio-choice:focus-visible{outline:2px solid var(--studio-navy);outline-offset:2px}.studio-choice:disabled{cursor:not-allowed;opacity:.5}.studio-choice-active,.studio-choice-active:hover:not(:disabled){border-color:var(--studio-navy);box-shadow:0 0 0 3px #1e3a5f1f}.studio-choice-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#e8eef6;color:var(--studio-navy);font-size:18px}.studio-choice-active .studio-choice-icon{background:var(--studio-navy);color:#fff}.studio-choice-title{display:block;font-weight:600;color:#0f172a}.studio-choice-text{display:block;font-size:12.5px;color:var(--studio-muted);margin-top:2px;line-height:1.45}.studio-choice-check{position:absolute;top:10px;right:10px;color:var(--studio-green);font-size:16px}.studio-choice-badge{margin-top:8px}.studio-fields{display:flex;flex-direction:column;gap:8px}.studio-field{border:1px solid #eef2f6;border-radius:10px;padding:8px 10px;background:#fcfdfe;display:flex;flex-direction:column;gap:6px}.studio-field:focus-within{border-color:#c7d4e5;background:#fff}.studio-field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.75fr) auto;gap:8px;align-items:center}.studio-field-flags{display:flex;flex-wrap:wrap;align-items:center;gap:4px 4px;font-size:13px}.studio-field-flags .ant-checkbox-wrapper{font-size:13px;color:#334155}.studio-field-extra{display:flex;align-items:center;gap:12px}.studio-field-name{margin-left:auto;font-size:11px;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.studio-type-option{display:inline-flex;gap:6px;align-items:center}.studio-field-actions{justify-self:end}.studio-store{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.studio-columns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.studio-column-tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;margin-inline-end:0}.studio-map-row{display:grid;grid-template-columns:minmax(120px,.9fr) 20px minmax(140px,1fr) auto;gap:8px;align-items:center;padding:4px 6px;border-radius:8px}.studio-map-row-missing{background:#fff7ed}.studio-map-target{font-weight:500;color:#1f2937}.studio-map-arrow{color:#94a3b8;text-align:center}.studio-map-eq{font-weight:700}.studio-map-source{width:100%}.studio-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.studio-details summary{cursor:pointer;color:var(--studio-muted)}.studio-colors{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.studio-swatch{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;cursor:pointer;transition:transform .15s}.studio-swatch:hover{transform:scale(1.1)}.studio-swatch:focus-visible{outline:2px solid var(--studio-navy);outline-offset:2px}.studio-swatch-active{box-shadow:0 0 0 2px #fff,0 0 0 4px #0f172a}.studio-preview{display:flex;flex-direction:column;gap:10px}.studio-preview-head{display:flex;align-items:center;justify-content:space-between}.studio-preview-head .studio-pane-title:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--studio-green);margin-right:7px;vertical-align:1px;animation:studio-pulse 2s ease-in-out infinite}.studio-preview-frame{border-radius:10px;overflow:hidden;border:1px solid #d5dde8;box-shadow:0 10px 30px #0f172a1a;background:#f4f6f9;max-height:calc(100vh - 220px);overflow-y:auto}.studio-preview-shell{min-height:420px;zoom:.82}.studio-preview-shell.studio-preview-full{zoom:1;min-height:70vh;border-radius:8px;overflow:hidden}.studio-preview-shell .portal-top{padding:8px 16px;transition:background .3s}.studio-preview-content{padding:16px;min-width:0}.studio-preview-menu{margin:-16px -16px 16px;background:#fff;line-height:42px}.studio-preview-modal .ant-modal-body{padding:0}.studio-wizard-steps{margin:8px 0 20px}.studio-wizard-body{min-height:300px;max-height:62vh;overflow-y:auto;padding:2px}.studio-wizard-footer{display:flex;justify-content:space-between}.studio-summary{display:grid;gap:8px;padding:14px;background:var(--studio-soft);border-radius:10px}.studio-summary>div{display:grid;grid-template-columns:160px 1fr;gap:12px}.studio-summary span{color:var(--studio-muted)}.studio-summary b{font-weight:600;word-break:break-word}.studio-start{max-width:760px;margin:32px auto;text-align:center;animation:studio-fade .3s ease-out}.studio-start-icon{width:72px;height:72px;margin:0 auto 12px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;background:linear-gradient(135deg,#1e3a5f,#2f5d8f);box-shadow:0 12px 30px #1e3a5f4d}.studio-start-text{max-width:560px;margin:0 auto 24px!important}.studio-start-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;text-align:left;margin-bottom:16px}.studio-choice-hero{border-color:var(--studio-navy);box-shadow:0 0 0 3px #1e3a5f1a}.studio-choice-hero .studio-choice-icon{background:var(--studio-navy);color:#fff}.studio-publish-summary ul{padding-left:18px;margin:8px 0}@keyframes studio-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes studio-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.studio-check,.studio-editor-body,.studio-start,.studio-preview-head .studio-pane-title:before{animation:none}.studio-choice,.studio-swatch{transition:none}}@media(max-width:1279px){.studio-grid{grid-template-columns:220px minmax(0,1fr)}.studio-pane-preview{grid-column:1 / -1;position:static}}@media(max-width:767px){.studio-grid{grid-template-columns:minmax(0,1fr)}.studio-pane-tree{position:static}.studio-tree-extra{display:inline-flex}.studio-field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.studio-field-actions{grid-column:1 / -1}.studio-map-row{grid-template-columns:1fr;gap:4px}.studio-map-arrow{display:none}.studio-summary>div{grid-template-columns:1fr;gap:0}.studio-preview-shell{zoom:.9}}:root{--sc-navy: #1e3a5f;--sc-navy-bg: #e8eef6;--sc-green: #15803d;--sc-green-bg: #ecfdf3;--sc-amber: #b7791f;--sc-amber-bg: #fff8e6;--sc-red: #c62828;--sc-violet: #6d28d9;--sc-violet-bg: #f4f0ff;--sc-blue: #1d4ed8;--sc-blue-bg: #eef4ff;--sc-line: #e6e9ef;--sc-text-2: #5b6474;--sc-text-3: #8a93a3;--sc-radius: 10px}.sc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.sc-toolbar .sc-search{max-width:320px}.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.sc-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:#fff;border:1px solid var(--sc-line);border-radius:var(--sc-radius);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:box-shadow .18s,border-color .18s,transform .18s}.sc-card:hover,.sc-card:focus-visible{border-color:#c9d4e5;box-shadow:0 6px 20px #1e3a5f14;transform:translateY(-1px);outline:none}.sc-card-top{display:flex;align-items:flex-start;gap:12px}.sc-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;font-size:18px;background:var(--sc-navy-bg);color:var(--sc-navy)}.sc-icon.is-sales{background:var(--sc-green-bg);color:var(--sc-green)}.sc-icon.is-finance{background:var(--sc-amber-bg);color:var(--sc-amber)}.sc-icon.is-notification{background:var(--sc-violet-bg);color:var(--sc-violet)}.sc-icon.is-replication,.sc-icon.is-masterData{background:var(--sc-blue-bg);color:var(--sc-blue)}.sc-icon.is-large{width:48px;height:48px;font-size:22px}.sc-card-name{font-weight:600;font-size:15px;color:#1f2937;overflow-wrap:anywhere}.sc-card-sub{margin-top:2px}.sc-card-summary{color:var(--sc-text-2);font-size:13px;line-height:1.5}.sc-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:auto;font-size:12px;color:var(--sc-text-3)}.sc-ops{display:flex;flex-wrap:wrap;gap:4px}.sc-ops .ant-tag{margin:0;font-size:11px}.sc-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.sc-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px}.sc-hero{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}.sc-hero p{margin:4px 0 0;color:var(--sc-text-2);line-height:1.6}.sc-objects{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sc-objects li{display:flex;gap:10px;align-items:flex-start}.sc-objects .sc-obj-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--sc-navy-bg);color:var(--sc-navy)}.sc-obj-name{font-weight:500;overflow-wrap:anywhere}.sc-obj-desc{display:block;font-size:12px;color:var(--sc-text-2);line-height:1.5}.sc-prereq{margin:0;padding-left:18px;color:var(--sc-text-2);line-height:1.6}.sc-flow-triggers{margin-bottom:8px}.sc-flow-canvas{border:1px solid var(--sc-line);border-radius:var(--sc-radius);background:#fafbfd;overflow:hidden}.sc-flow-canvas .react-flow__node.sc-node{width:200px;padding:0;border:1px solid #c9d4e5;border-left:4px solid var(--sc-navy);border-radius:8px;background:#fff;box-shadow:none;text-align:left;cursor:default}.sc-flow-canvas .react-flow__node.sc-node.is-start,.sc-flow-canvas .react-flow__node.sc-node.is-end{border-left-color:var(--sc-green)}.sc-flow-canvas .react-flow__node.sc-node.is-branch{border-left-color:var(--sc-amber)}.sc-flow-canvas .react-flow__node.sc-node.is-hook{border-left-color:var(--sc-violet)}.sc-flow-canvas .react-flow__node.sc-node.is-query,.sc-flow-canvas .react-flow__node.sc-node.is-wait{border-left-color:var(--sc-blue)}.sc-flow-canvas .react-flow__node.sc-node.is-join{border-left-color:var(--sc-text-3)}.sc-node-body{padding:6px 10px}.sc-node-type{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--sc-text-3)}.sc-node-name{font-size:12px;font-weight:600;color:#1f2937;line-height:1.35}.sc-node-detail{font-size:11px;color:var(--sc-text-2);line-height:1.35}.sc-edge.is-error .react-flow__edge-path{stroke:var(--sc-red)}.sc-steps{margin:12px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.sc-steps-name{font-weight:500}.sc-steps-meta{display:block;font-size:12px;color:var(--sc-text-2)}.sc-wizard-steps{margin-bottom:24px}.sc-wizard{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.sc-wizard-aside{color:var(--sc-text-2);font-size:13px;line-height:1.6}.sc-wizard-actions{display:flex;justify-content:space-between;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--sc-line)}.sc-option-desc{display:block;font-size:12px;color:var(--sc-text-2)}.sc-created{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sc-created li{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sc-secret{margin-top:12px}.sc-secret-path{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}@media(max-width:960px){.sc-detail,.sc-wizard{grid-template-columns:minmax(0,1fr)}.sc-side{position:static}}@media(max-width:480px){.sc-grid{grid-template-columns:minmax(0,1fr)}.sc-toolbar .sc-search{max-width:none;width:100%}}html,body,#root{margin:0;min-height:100%;background:#f4f6f9}.app-sider .brand{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px}.brand-name{color:#fff;font-weight:700;letter-spacing:.12em;font-size:14px}.brand-sub{color:#ffffffa6;font-size:12px;margin-top:2px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #e5e9f0;gap:16px}.app-content{padding:24px;max-width:1440px;width:100%;margin:0 auto;box-sizing:border-box}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:12px;border-bottom:3px solid #1e3a5f}.json-view{background:#0f1c2e;color:#dbe7f5;padding:12px 14px;border-radius:6px;font-size:12px;line-height:1.5;overflow:auto;margin:0;white-space:pre}.json-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:12px!important}.secret-box{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;padding:4px 11px;border:1px solid #d9d9d9;border-radius:6px 0 0 6px;background:#fafafa;min-width:0}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1e3a5f,#2d5286 55%,#f4f6f9 55%);padding:16px}.kpi-card .ant-statistic-title{font-size:13px}.template-notes{margin:6px 0 0;padding-inline-start:18px;font-size:12px;color:#0000008c}.problem-list{margin:4px 0 0;padding-inline-start:18px}.step-item-selected{background:#eef2f7}.picker-page{min-height:100vh;background:#f4f6f9}.picker-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#1e3a5f}.picker-brand{color:#fff;font-weight:700;letter-spacing:.12em;font-size:14px}.picker-brand-sub{color:#ffffffb3;font-size:12px}.picker-body{padding:24px;max-width:1440px;margin:0 auto;box-sizing:border-box}.picker-row-current>td{background:#eef4ff!important}.tenant-console{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;border-radius:8px;border:2px solid;line-height:1.2}.tenant-console-name{font-weight:700;font-size:15px}.tenant-console-sub{font-size:12px;color:#595959}.app-sider .brand-tenant{margin-top:10px;padding:6px 8px;border-radius:6px;color:#fff;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-option-desc{font-size:12px;color:#00000080;white-space:normal;line-height:1.35}.portal-shell{--portal-primary: #1e3a5f;min-height:100vh;display:flex;flex-direction:column;background:#f4f6f9}.portal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 24px;background:var(--portal-primary);color:#fff;box-shadow:0 1px 4px #00000026}.portal-brand{display:flex;align-items:center;gap:12px;min-width:0}.portal-logo{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);font-weight:800;font-size:15px;letter-spacing:.04em;flex:none}.portal-brand-title{font-weight:700;font-size:17px;line-height:1.2}.portal-brand-sub{font-size:12px;opacity:.75}.portal-top .portal-user,.portal-top .portal-user .ant-avatar{color:#fff}.portal-top .portal-user .ant-avatar{background:#ffffff38}.portal-top .portal-preview-tag{background:#ffffff29;border-color:#fff6;color:#fff;margin-inline-end:0}.portal-top .portal-top-button{background:transparent;border-color:#ffffff8c;color:#fff}.portal-top .portal-top-button:hover{background:#ffffff1f!important;border-color:#fff!important;color:#fff!important}.portal-body{flex:1;background:transparent}.portal-sider{border-right:1px solid #e5e9f0;padding-top:8px}.portal-sider .ant-menu{border-inline-end:none!important}.portal-sider .ant-menu-item-selected{font-weight:600}.portal-content .page-header{border-bottom-color:var(--portal-primary)}.portal-dropzone{background:#fff}.portal-columns{list-style:none;margin:0;padding:0}.portal-columns li{padding:4px 0;border-bottom:1px dashed #edf0f4}.portal-columns li:last-child{border-bottom:none}.portal-columns-label{font-size:12px;color:#0000008c}.portal-doc-invalid>td{background:#fff7f7!important}.portal-doc-errors{margin:0;padding-inline-start:16px;color:#cf1322;font-size:12px}.portal-record-form .ant-form-item{margin-bottom:14px}.portal-status-tag{font-size:13px;padding:2px 8px}.portal-guide-list{margin:0;padding-inline-start:18px;font-size:13px}.portal-guide-list li{margin-bottom:6px}.nowrap{white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.kpi-grid .kpi-card{height:100%}.kpi-card:focus-visible,.ant-table-row[tabindex]:focus-visible{outline:2px solid #1e3a5f;outline-offset:-2px}@media(max-width:640px){.app-content,.picker-body{padding:16px}.app-header{padding:0 12px}.picker-top,.portal-top{padding:10px 16px;flex-wrap:wrap}.picker-search,.picker-search .ant-input-search{width:100%!important}.page-header>:last-child{max-width:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.app-sider-overlay,.portal-sider-overlay{position:fixed!important;top:0;bottom:0;left:0;z-index:1001;overflow-y:auto;box-shadow:4px 0 16px #0000002e}.app-sider-overlay.ant-layout-sider-collapsed,.portal-sider-overlay.ant-layout-sider-collapsed{box-shadow:none}.portal-sider-overlay{padding-top:8px}.sider-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000059}.portal-top .portal-menu-button,.portal-top .portal-menu-button:hover{color:#fff!important}@media(max-width:991px){.app-header{height:auto;min-height:64px;line-height:1.4;padding-block:8px}.tenant-console-sub,.tenant-console .ant-tag{display:none}.tenant-console-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.header-user-name{display:none}.app-header>.ant-space>.ant-space-item>.ant-tag{display:none}.ant-alert-with-description{flex-wrap:wrap}.ant-alert-with-description .ant-alert-action{margin-inline-start:0;margin-top:8px;flex-basis:100%}}@media(max-width:640px){.hide-sm{display:none}}.portal-doc-errors{min-width:240px;white-space:normal}.ant-table-content{overflow-x:auto}.kpi-grid .kpi-card .ant-statistic-title{min-height:2.9em}
