.workflow-builder {
  position: relative;
  max-width: 960px;
  margin: 40px auto 0;
  overflow: hidden;
  border: 1px solid #e5ded4;
  border-radius: 23px;
  color: #182c31;
  background: #fffdf9;
  box-shadow: 0 25px 55px rgba(77, 53, 34, 0.08);
  text-align: left;
}
.workflow-builder__stage { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 296px; min-height: 500px; isolation: isolate; }
.workflow-builder__eyebrow { display: block; color: #a08d7d; font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.workflow-builder__add-menu { position: absolute; z-index: 6; top: 16px; left: 16px; width: 32px; height: 32px; }
.workflow-builder__add { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #c9573f; border-radius: 9px; color: #fffaf3; background: #c9573f; box-shadow: 0 3px 8px #533a2410; transition: background 160ms, box-shadow 160ms; }
.workflow-builder__add > span { font-size: 24px; line-height: 1; font-weight: 400; }
.workflow-builder__add.is-pressed { background: #a94430; box-shadow: 0 0 0 4px #c9573f20; }
.workflow-builder__tools { position: absolute; top: calc(100% + 8px); left: 0; display: grid; width: 180px; gap: 5px; padding: 7px; border: 1px solid #e5d8c9; border-radius: 12px; background: #fffefa; box-shadow: 0 12px 28px #533a2420; visibility: hidden; opacity: 0; transition: opacity 180ms; }
.workflow-builder__tools.is-open { visibility: visible; opacity: 1; }
.workflow-builder__tool { display: flex; min-height: 44px; align-items: center; gap: 7px; padding: 7px; border: 1px solid #e5dcd0; border-radius: 8px; background: #fffdf9; }
.workflow-builder__tool strong { min-width: 0; font-size: 11px; line-height: 1.4; font-weight: 650; }
.workflow-builder__tool.is-picked { opacity: 0.35; }
.workflow-builder__tool.is-used { opacity: 0.5; }
.workflow-builder__icon { display: grid; width: 26px; height: 28px; flex: 0 0 26px; place-items: center; border-radius: 6px; color: #c05b40; background: #fceddf; }
.workflow-builder__icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.workflow-builder__grip { margin-left: auto; color: #beafa0; font-size: 16px; }
.workflow-builder__canvas { --builder-branch-gap: 20px; position: relative; container-type: inline-size; display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; padding: 24px 18px; background: radial-gradient(#dacebd70 0.7px, transparent 0.7px) 0 0 / 17px 17px, #fffaf1; }
.workflow-builder__branches { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--builder-branch-gap); }
.workflow-builder__branch { display: grid; min-width: 0; grid-template-rows: 1fr 18px 1fr; justify-items: center; }
.workflow-builder__branch .workflow-builder__slot { max-width: none; height: 100%; }
.workflow-builder__branch .workflow-builder__node { min-height: 76px; height: 100%; gap: 7px; padding: 9px; }
.workflow-builder__node > div { min-width: 0; overflow-wrap: break-word; }
.workflow-builder__fork, .workflow-builder__merge { position: relative; width: calc(50% + var(--builder-branch-gap) / 2); height: 40px; flex: 0 0 40px; }
.workflow-builder__fork::before, .workflow-builder__merge::before { position: absolute; left: 50%; width: 1px; height: 20px; background: #d8caba; content: ""; }
.workflow-builder__fork::before { top: 0; }
.workflow-builder__merge::before { bottom: 0; }
.workflow-builder__fork::after, .workflow-builder__merge::after { position: absolute; right: 0; left: 0; height: 20px; border: 1px solid #d8caba; content: ""; }
.workflow-builder__fork::after { bottom: 0; border-bottom: 0; border-radius: 8px 8px 0 0; }
.workflow-builder__merge::after { top: 0; border-top: 0; border-radius: 0 0 8px 8px; }
.workflow-builder__fork > i, .workflow-builder__merge > i { position: absolute; bottom: 1px; width: 7px; height: 7px; border-right: 1px solid #d8caba; border-bottom: 1px solid #d8caba; transform: translateX(-50%) rotate(45deg); }
.workflow-builder__fork > i { left: 0; }
.workflow-builder__fork > i:last-child { left: 100%; }
.workflow-builder__merge > i { left: 50%; }
.workflow-builder__branch-label { position: absolute; z-index: 1; top: 11px; padding: 2px 6px; color: #918170; background: #fffaf1; font-size: 10px; line-height: 14px; transform: translateX(-50%); }
.workflow-builder__branch-label--left { left: 0; }
.workflow-builder__branch-label--right { left: 100%; }
.workflow-builder__line { position: relative; width: 1px; height: 18px; flex: 0 0 18px; background: #d8caba; }
.workflow-builder__line::after { position: absolute; bottom: 0; left: -3px; width: 7px; height: 7px; border-right: 1px solid #d8caba; border-bottom: 1px solid #d8caba; transform: rotate(45deg); content: ""; }
.workflow-builder__slot { position: relative; width: 100%; max-width: 256px; min-height: 65px; border: 1px dashed #d7c6b5; border-radius: 11px; background: rgba(255, 252, 246, 0.6); }
.workflow-builder__placeholder { display: grid; position: absolute; inset: 0; place-items: center; color: #b1a18f; font-size: 11px; }
.workflow-builder__node { display: flex; position: relative; min-height: 63px; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: #fff; box-shadow: 0 6px 16px rgba(87, 63, 42, 0.045); opacity: 0; transition: opacity 180ms, box-shadow 220ms; }
.workflow-builder__slot.is-placed { border-style: solid; border-color: #e4dacc; }
.workflow-builder__slot.is-placed .workflow-builder__node { opacity: 1; }
.workflow-builder__slot.is-placed .workflow-builder__placeholder { opacity: 0; }
.workflow-builder__slot.is-selected { border-color: #cc7358; box-shadow: 0 0 0 3px rgba(201, 87, 63, 0.07); }
.workflow-builder__slot.is-drop-target { border-color: #cc7358; background: #f8ebdb; }
.workflow-builder__node strong { display: block; font-size: 12px; line-height: 1.3; font-weight: 690; }
.workflow-builder__node small { display: block; margin-top: 4px; color: #9b8a7c; font-size: 9px; line-height: 1.35; }
.workflow-builder__node > b { display: grid; width: 17px; height: 17px; flex: 0 0 17px; margin-left: auto; place-items: center; border-radius: 50%; color: #fff; background: #5a8a72; font-size: 9px; opacity: 0; }
.workflow-builder__slot.is-complete .workflow-builder__node > b { opacity: 1; }
.workflow-builder__slot.is-running, .workflow-builder.is-ready .workflow-builder__generate { border-color: #5a8a72; }
.workflow-builder__slot.is-running .workflow-builder__node, .workflow-builder.is-ready .workflow-builder__generate .workflow-builder__node { box-shadow: 0 0 0 3px rgba(81, 128, 100, 0.18); }
.workflow-builder__trigger .workflow-builder__eyebrow { margin-bottom: 4px; color: #bb795a; font-size: 9px; }
.workflow-builder__settings { position: relative; min-width: 0; min-height: 500px; padding: 20px 18px 52px; border-left: 1px solid #e9e0d5; background: #fffdf9; }
.workflow-builder__panel[hidden] { display: none; }
.workflow-builder__panel h3 { margin: 6px 0 14px; color: #21363b; font-size: 18px; font-weight: 650; line-height: 1.2; letter-spacing: -0.035em; }
.workflow-builder__field-label { display: block; margin-bottom: 8px; color: #7c7868; font-size: 11px; font-weight: 600; }
.workflow-builder__multiselect { position: relative; }
.workflow-builder__dropdown { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border: 1px solid #e2d7ca; border-radius: 9px; color: #6f7064; background: #fff; font-size: 12px; transition: border-color 160ms, box-shadow 160ms; }
.workflow-builder__dropdown > i { font-size: 17px; line-height: 1; font-style: normal; }
.workflow-builder__dropdown.is-open, .workflow-builder__dropdown.is-pressed { border-color: #c77958; box-shadow: 0 0 0 3px #c9573f10; }
.workflow-builder__dropdown.is-open > i { transform: rotate(180deg); }
.workflow-builder__options { position: absolute; z-index: 4; top: calc(100% + 7px); right: 0; left: 0; padding: 6px; border: 1px solid #e5d8c9; border-radius: 11px; background: #fffefa; box-shadow: 0 12px 28px #533a2420; opacity: 0; visibility: hidden; }
.workflow-builder__options.is-open { opacity: 1; visibility: visible; }
.workflow-builder__option { display: flex; min-height: 40px; align-items: center; gap: 8px; padding: 7px; border-radius: 6px; color: #3e514f; font-size: 11px; }
.workflow-builder__option > i { display: grid; width: 15px; height: 15px; flex: 0 0 15px; place-items: center; border: 1px solid #d8d3c7; border-radius: 4px; color: transparent; background: #fff; font-size: 10px; font-style: normal; }
.workflow-builder__option > small { margin-left: auto; color: #9a8b7b; font-size: 9px; }
.workflow-builder__option.is-checked { background: #f0f6ee; }
.workflow-builder__option.is-checked > i { color: #fff; border-color: #6c9277; background: #6c9277; }
.workflow-builder__option.is-hovered { background: #f9eddf; }
.workflow-builder__options-footer { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; padding: 6px 6px 0; border-top: 1px solid #eee4d8; }
.workflow-builder__options-footer > small { color: #8b8072; font-size: 10px; }
.workflow-builder__done { padding: 6px 14px; border-radius: 6px; color: #fff; background: #263d40; font-size: 11px; font-weight: 600; }
.workflow-builder__done.is-pressed { background: #c9573f; }
.workflow-builder__selected-fields { min-height: 216px; }
.workflow-builder__setting[hidden] { display: none; }
.workflow-builder__setting { margin-top: 8px; padding: 9px; border: 1px solid #eee4d8; border-radius: 9px; background: #fbf8f2; transition: border-color 200ms, background 200ms; }
.workflow-builder__setting > span { color: #42514e; font-size: 12px; line-height: 1.3; font-weight: 650; }
.workflow-builder__setting > div { display: flex; min-height: 18px; align-items: center; justify-content: space-between; gap: 7px; margin-top: 6px; }
.workflow-builder__setting small { color: #918170; font-size: 10px; line-height: 1.45; }
.workflow-builder__setting b { display: flex; align-items: center; gap: 6px; color: #74907b; font-size: 9px; font-weight: 600; white-space: nowrap; }
.workflow-builder__setting i { display: grid; width: 14px; height: 14px; place-items: center; border: 1px solid #dbd9c9; border-radius: 4px; color: transparent; background: #fffdf9; font-size: 9px; font-style: normal; }
.workflow-builder__setting.is-defined { border-color: #dbe7db; background: #f5f9f2; }
.workflow-builder__setting.is-defined i { border-color: #799a7d; color: #fff; background: #719576; }
.workflow-builder__setting.is-editing { border-color: #d09570; background: #fff5e7; }
.workflow-builder__saved { position: absolute; left: 18px; bottom: 20px; color: #5e866b; font-size: 10px; opacity: 1; }
.workflow-builder__ghost { display: flex; position: absolute; z-index: 7; top: 0; left: 0; min-height: 54px; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid #c77958; border-radius: 10px; background: #fffdf8; box-shadow: 0 12px 25px rgba(98, 59, 34, 0.18); opacity: 0; pointer-events: none; }
.workflow-builder__ghost strong { font-size: 12px; line-height: 1.4; font-weight: 650; }
.workflow-builder__cursor { position: absolute; z-index: 8; top: 0; left: 0; width: 21px; height: 25px; fill: #253b3e; stroke: #fff9ef; stroke-width: 1.5; opacity: 0; pointer-events: none; filter: drop-shadow(0 2px 2px #35281833); }
@container (max-width: 400px) {
  .workflow-builder__branch .workflow-builder__node { min-height: 116px; flex-direction: column; justify-content: center; text-align: center; }
  .workflow-builder__branch .workflow-builder__node > b { position: absolute; top: 8px; right: 8px; width: 14px; height: 14px; margin: 0; font-size: 8px; }
  .workflow-builder__branch .workflow-builder__node small { font-size: 11px; }
}
@media (max-width: 1000px) {
  .workflow-builder__stage { grid-template-columns: minmax(0, 1fr) 280px; }
}
.workflow-mobile { display: none; }
@media (max-width: 760px) {
  .workflow-builder { max-width: 420px; margin-top: 34px; border-radius: 17px; }
  .workflow-builder__stage { display: none; }
  .workflow-mobile { position: relative; display: flex; flex-direction: column; align-items: stretch; padding: 22px 14px; background: radial-gradient(#dacebd70 0.7px, transparent 0.7px) 0 0 / 17px 17px, #fffaf1; }
  .workflow-mobile .workflow-builder__icon { width: 28px; height: 28px; flex-basis: 28px; }
  .workflow-mobile__card { position: relative; display: flex; min-height: 48px; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #e4dacc; border-radius: 10px; background: #fff; color: #182c31; font: inherit; text-align: left; box-shadow: 0 4px 12px #573f2a08; transition: border-color 180ms, box-shadow 180ms; }
  .workflow-mobile__main { align-self: center; width: 78%; }
  button.workflow-mobile__card { cursor: pointer; }
  button.workflow-mobile__card:disabled { cursor: default; opacity: 1; }
  .workflow-mobile__card > div, .workflow-mobile__copy { min-width: 0; }
  .workflow-mobile__card strong { display: block; font-size: 14px; font-weight: 650; line-height: 1.25; }
  .workflow-mobile__card small { display: block; margin-top: 2px; color: #7a6d61; font-size: 12px; line-height: 1.3; }
  .workflow-mobile__card > b { display: grid; width: 15px; height: 15px; flex: 0 0 15px; margin-left: auto; place-items: center; border-radius: 50%; background: #5a8a72; color: #fff; font-size: 10px; opacity: 0; }
  .workflow-mobile__card.is-complete > b { opacity: 1; }
  .workflow-mobile__card.is-running { border-color: #5a8a72; box-shadow: 0 0 0 3px #51806426; }
  .workflow-mobile__card.is-pressed, .workflow-mobile__card.is-added { border-color: #c9573f; box-shadow: 0 0 0 3px #c9573f12; }
  .workflow-mobile__card.is-empty { border-style: dashed; background: #fffaf1; }
  .workflow-mobile__card.is-empty.is-pressed { background: #f9e8d8; }
  .workflow-mobile__card.is-empty > :not(.workflow-mobile__placeholder) { visibility: hidden; }
  .workflow-mobile__placeholder { position: absolute; inset: 0; display: none; place-items: center; color: #c9573f; font-size: 26px; font-weight: 400; }
  .workflow-mobile__card.is-empty .workflow-mobile__placeholder { display: grid; }
  .workflow-mobile__card.is-added .workflow-mobile__copy, .workflow-mobile__card.is-added .workflow-builder__icon { animation: mobile-step-appear 280ms ease-out both; }
  @keyframes mobile-step-appear { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
  .workflow-mobile__line { position: relative; align-self: center; width: 1px; height: 12px; flex: 0 0 12px; background: #d8caba; }
  .workflow-mobile__line::after { position: absolute; bottom: 1px; left: -3px; width: 7px; height: 7px; border-right: 1px solid #d8caba; border-bottom: 1px solid #d8caba; transform: rotate(45deg); content: ""; }
  .workflow-mobile__fork, .workflow-mobile__merge { position: relative; width: calc(50% + 7px); height: 20px; align-self: center; flex-shrink: 0; }
  .workflow-mobile__fork { margin-top: 12px; border: 1px solid #d8caba; border-bottom: 0; border-radius: 7px 7px 0 0; }
  .workflow-mobile__fork::before { position: absolute; bottom: 100%; left: 50%; height: 13px; border-left: 1px solid #d8caba; content: ""; }
  .workflow-mobile__merge { margin-bottom: 12px; border: 1px solid #d8caba; border-top: 0; border-radius: 0 0 7px 7px; }
  .workflow-mobile__merge::after { position: absolute; top: 100%; left: 50%; height: 13px; border-left: 1px solid #d8caba; content: ""; }
  .workflow-mobile__branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .workflow-mobile__branch { display: flex; min-width: 0; flex-direction: column; }
  .workflow-mobile__branch-label { margin: 0 0 8px; color: #7a6d61; font-size: 12px; line-height: 1.4; text-align: center; }
  .workflow-mobile__branch .workflow-mobile__card { min-height: 42px; gap: 5px; padding: 7px; }
  .workflow-mobile__branch .workflow-builder__icon { width: 22px; height: 25px; flex-basis: 22px; }
  .workflow-mobile__branch .workflow-builder__icon svg { width: 17px; height: 17px; }
  .workflow-mobile__branch .workflow-mobile__card > b { position: absolute; top: -5px; right: -4px; box-shadow: 0 0 0 2px #fffaf1; }
  .workflow-mobile__generate { background: #f0f6ef; border-color: #cdddcf; }
  .workflow-mobile button:focus-visible { outline: 2px solid #182c31; outline-offset: 3px; }
  .workflow-mobile__cursor { position: absolute; z-index: 8; top: 0; left: 0; width: 21px; height: 25px; fill: #253b3e; stroke: #fff9ef; stroke-width: 1.5; opacity: 0; pointer-events: none; }
}
@media (max-width: 360px) {
  .workflow-mobile__branch .workflow-mobile__card { gap: 4px; padding-inline: 5px; }
  .workflow-mobile__branch .workflow-mobile__card strong { font-size: 13px; }
  .workflow-mobile__branch .workflow-builder__icon { width: 18px; flex-basis: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .workflow-builder__node, .workflow-builder__setting, .workflow-builder__tools, .workflow-builder__add, .workflow-builder__dropdown { transition: none; }
  .workflow-builder__ghost, .workflow-builder__cursor { display: none; }
  .workflow-mobile__card { transition: none; }
  .workflow-mobile__card.is-added .workflow-mobile__copy, .workflow-mobile__card.is-added .workflow-builder__icon { animation: none; }
  .workflow-mobile__cursor { display: none; }
}
