/* sequential-workflow-designer 0.40.2 (MIT) */
/* .sqd-designer */
.sqd-designer {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
}

.sqd-designer,
.sqd-drag,
.sqd-context-menu {
  font-size: 13px;
  line-height: 1em;
}

.sqd-hidden {
  display: none !important;
}

.sqd-disabled {
  opacity: 0.25;
}

/* .sqd-toolbox */
.sqd-toolbox,
.sqd-toolbox-filter-input {
  font-size: 11px;
  line-height: 1.2em;
}

.sqd-toolbox {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 20;
  box-sizing: border-box;
  width: 130px;
  -webkit-user-select: none;
  user-select: none;
}

.sqd-toolbox-header {
  position: relative;
  padding: 15px 10px;
  cursor: pointer;
}

.sqd-toolbox-header-title {
  display: block;
  font-size: 1.2em;
  line-height: 1em;
  font-weight: bold;
}

.sqd-toolbox-toggle-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 16px;
  height: 16px;
  margin: -8px 0 0;
}

.sqd-toolbox-header:hover .sqd-toolbox-toggle-icon {
  opacity: 0.6;
}

.sqd-scrollbox {
  position: relative;
  overflow: hidden;
}

.sqd-scrollbox-body {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0 10px;
}

.sqd-toolbox-filter {
  padding: 0 10px 10px;
}

.sqd-toolbox-filter-input {
  display: block;
  box-sizing: border-box;
  padding: 6px 8px;
  outline: none;
  width: 100%;
}

.sqd-toolbox-group-title {
  text-align: center;
  padding: 5px 0;
  margin: 0 0 10px;
  width: 100%;
}

.sqd-toolbox-item {
  position: relative;
  box-sizing: border-box;
  margin: 0 0 10px;
  width: 100%;
  cursor: move;
}

.sqd-toolbox-item-icon {
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
}

.sqd-toolbox-item-icon-image {
  width: 100%;
  height: 100%;
}

.sqd-toolbox-item-text {
  position: relative;
  display: block;
  padding: 10px 10px 10px 30px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.sqd-drag {
  position: absolute;
  z-index: 9999999;
  pointer-events: none;
}

/* .sqd-control-bar */
.sqd-control-bar {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 20;
  padding: 8px 0 8px 8px;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
}

.sqd-control-bar-button {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  cursor: pointer;
  box-sizing: border-box;
}

.sqd-control-bar-button-icon {
  width: 24px;
  height: 24px;
  margin: 3px 0 0 3px;
}

.sqd-control-bar-button.sqd-disabled .sqd-control-bar-button-icon {
  opacity: 0.2;
}

/* .sqd-smart-editor */
.sqd-smart-editor-toggle {
  position: absolute;
  top: 0;
  z-index: 29;
  width: 36px;
  height: 64px;
  border-bottom-left-radius: 10px;
  cursor: pointer;
}

.sqd-smart-editor-toggle-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
}

.sqd-smart-editor-toggle:hover .sqd-smart-editor-toggle-icon {
  opacity: 0.6;
}

.sqd-smart-editor {
  z-index: 30;
}

.sqd-layout-desktop .sqd-smart-editor {
  position: relative;
  width: 300px;
}

.sqd-layout-desktop .sqd-smart-editor-toggle {
  right: 300px;
}

.sqd-layout-desktop .sqd-smart-editor-toggle.sqd-collapsed {
  right: 0;
}

.sqd-layout-mobile .sqd-smart-editor {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 41px;
}

.sqd-layout-mobile .sqd-smart-editor-toggle {
  left: 5px;
}

.sqd-layout-mobile .sqd-smart-editor-toggle.sqd-collapsed {
  left: auto;
  right: 0;
}

/* .sqd-context-menu */
.sqd-context-menu {
  position: absolute;
  z-index: 2000000000;
  overflow: hidden;
  padding: 5px;
}

.sqd-context-menu-group,
.sqd-context-menu-item {
  width: 130px;
  padding: 8px 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.sqd-context-menu-group {
  font-size: 11px;
  line-height: 1em;
}

.sqd-context-menu-item {
  cursor: pointer;
  transition: background 70ms;
}

/* .sqd-workspace */
.sqd-workspace {
  flex: 1;
  position: relative;
  display: block;
  -webkit-user-select: none;
  user-select: none;
}

.sqd-workspace-canvas {
  position: absolute;
  top: 0;
  left: 0;
  cursor: move;
}

.sqd-label-text {
  text-anchor: middle;
  dominant-baseline: central;
}

.sqd-placeholder .sqd-placeholder-rect {
  transition: fill 100ms;
}

.sqd-step-task-text {
  text-anchor: left;
  dominant-baseline: central;
}
/* internal */
.sqd-theme-light .sqd-toolbox {
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.15);
  border: none;
  border-radius: 10px;
}
.sqd-theme-light .sqd-toolbox-header-title {
  color: #000;
}
.sqd-theme-light .sqd-toolbox-filter-input {
  background: #fff;
  color: #000;
  border: 1px solid #c3c3c3;
  border-radius: 10px;
}
.sqd-theme-light .sqd-toolbox-filter-input:focus {
  border-color: #939393;
}
.sqd-theme-light .sqd-toolbox-group-title {
  color: #000;
  background: #e5e5e5;
  border-radius: 10px;
}

.sqd-theme-light .sqd-toolbox-item {
  color: #000;
  border: 1px solid #c3c3c3;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
  background: #fff;
  border-radius: 5px;
}
.sqd-theme-light .sqd-toolbox-item:hover {
  border-color: #939393;
  background: #fff;
}
.sqd-theme-light .sqd-toolbox-item .sqd-toolbox-item-icon.sqd-no-icon {
  background: #c6c6c6;
  border-radius: 4px;
}

.sqd-theme-light .sqd-control-bar {
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.15);
  border: none;
  border-radius: 10px;
}
.sqd-theme-light .sqd-control-bar-button {
  border: 1px solid #c3c3c3;
  background: #fff;
  border-radius: 5px;
}
.sqd-theme-light .sqd-control-bar-button:hover {
  border-color: #939393;
  background: #fff;
}
.sqd-theme-light .sqd-control-bar-button .sqd-icon-path {
  fill: #000;
}
.sqd-theme-light .sqd-control-bar-button.sqd-delete .sqd-icon-path {
  fill: #e01a24;
}

.sqd-theme-light .sqd-smart-editor {
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
}
.sqd-theme-light .sqd-smart-editor-toggle {
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
}

.sqd-theme-light.sqd-context-menu {
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
  border: none;
  border-radius: 4px;
}

.sqd-theme-light .sqd-context-menu-group {
  color: #888;
}

.sqd-theme-light .sqd-context-menu-item {
  color: #000;
  border-radius: 4px;
}

.sqd-theme-light .sqd-context-menu-item:hover {
  background: #eee;
}

.sqd-theme-light.sqd-designer {
  background: #f9f9f9;
}

.sqd-theme-light .sqd-line-grid-path {
  stroke: #e3e3e3;
  stroke-width: 1;
}

.sqd-theme-light .sqd-join {
  stroke-width: 2;
  stroke: #000;
}

.sqd-theme-light .sqd-region {
  stroke: #cecece;
  stroke-width: 2;
  stroke-dasharray: 3;
}
.sqd-theme-light .sqd-region.sqd-selected {
  stroke: #ed4800;
  stroke-width: 2;
  stroke-dasharray: 0;
}

.sqd-theme-light .sqd-placeholder .sqd-placeholder-rect {
  fill: #d8d8d8;
  stroke: #6a6a6a;
  stroke-width: 1;
  stroke-dasharray: 3;
}
.sqd-theme-light .sqd-placeholder.sqd-hover .sqd-placeholder-rect {
  fill: #ed4800;
}
.sqd-theme-light .sqd-placeholder-icon-path {
  fill: #2b2b2b;
}
.sqd-theme-light .sqd-placeholder.sqd-hover .sqd-placeholder-icon-path {
  fill: #fff;
}

.sqd-theme-light .sqd-validation-error {
  fill: #ffa200;
}
.sqd-theme-light .sqd-validation-error-icon-path {
  fill: #000;
}

.sqd-theme-light .sqd-root-start-stop-circle {
  fill: #2c18df;
}
.sqd-theme-light .sqd-root-start-stop-icon {
  fill: #fff;
}

.sqd-theme-light .sqd-step-task .sqd-step-task-rect {
  fill: #fff;
  stroke-width: 1;
  stroke: #c3c3c3;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.15));
}
.sqd-theme-light .sqd-step-task .sqd-step-task-rect.sqd-selected {
  stroke: #ed4800;
  stroke-width: 2;
}
.sqd-theme-light .sqd-step-task .sqd-step-task-text {
  fill: #000;
}
.sqd-theme-light .sqd-step-task .sqd-step-task-empty-icon {
  fill: #c6c6c6;
}
.sqd-theme-light .sqd-step-task .sqd-input {
  fill: #fff;
  stroke-width: 2;
  stroke: #000;
}
.sqd-theme-light .sqd-step-task .sqd-output {
  fill: #000;
  stroke-width: 0;
}

.sqd-theme-light .sqd-step-switch > .sqd-label-primary > .sqd-label-text {
  fill: #fff;
}
.sqd-theme-light .sqd-step-switch > .sqd-label-primary > .sqd-label-rect {
  fill: #2411db;
  stroke-width: 0;
}
.sqd-theme-light .sqd-step-switch > .sqd-label-secondary > .sqd-label-rect {
  fill: #000;
  stroke-width: 0;
}
.sqd-theme-light .sqd-step-switch > .sqd-label-secondary > .sqd-label-text {
  fill: #fff;
}
.sqd-theme-light .sqd-step-switch > g > .sqd-input {
  fill: #fff;
  stroke-width: 2;
  stroke: #000;
}

.sqd-theme-light .sqd-step-launch-pad > g > .sqd-input {
  fill: #fff;
  stroke-width: 2;
  stroke: #000;
}
.sqd-theme-light .sqd-step-launch-pad > g > .sqd-output {
  fill: #000;
  stroke-width: 0;
}

.sqd-theme-light .sqd-step-container > .sqd-label > .sqd-label-text {
  fill: #fff;
}
.sqd-theme-light .sqd-step-container > .sqd-label > .sqd-label-rect {
  fill: #2411db;
  stroke-width: 0;
}
.sqd-theme-light .sqd-step-container > g > .sqd-input {
  fill: #fff;
  stroke-width: 2;
  stroke: #000;
}
/* internal */
.sqd-theme-dark .sqd-toolbox {
  background: #3f3f3f;
  box-shadow: none;
  border: none;
  border-radius: 10px;
}
.sqd-theme-dark .sqd-toolbox-header-title {
  color: #fff;
}
.sqd-theme-dark .sqd-toolbox-filter-input {
  background: #242424;
  color: #fff;
  border: none;
  border-radius: 10px;
}
.sqd-theme-dark .sqd-toolbox-filter-input:focus {
  border-color: #939393;
}
.sqd-theme-dark .sqd-toolbox-group-title {
  color: #fff;
  background: #242424;
  border-radius: 10px;
}

.sqd-theme-dark .sqd-toolbox-item {
  color: #000;
  border: none;
  box-shadow: none;
  background: #c6c6c6;
  border-radius: 5px;
}
.sqd-theme-dark .sqd-toolbox-item:hover {
  border-color: none;
  background: #d3d3d3;
}
.sqd-theme-dark .sqd-toolbox-item .sqd-toolbox-item-icon.sqd-no-icon {
  background: #c6c6c6;
  border-radius: 4px;
}

.sqd-theme-dark .sqd-control-bar {
  background: #3f3f3f;
  box-shadow: none;
  border: none;
  border-radius: 10px;
}
.sqd-theme-dark .sqd-control-bar-button {
  border: none;
  background: #c6c6c6;
  border-radius: 5px;
}
.sqd-theme-dark .sqd-control-bar-button:hover {
  border-color: #939393;
  background: #d3d3d3;
}
.sqd-theme-dark .sqd-control-bar-button .sqd-icon-path {
  fill: #000;
}
.sqd-theme-dark .sqd-control-bar-button.sqd-delete .sqd-icon-path {
  fill: #e01a24;
}

.sqd-theme-dark .sqd-smart-editor {
  background: #3f3f3f;
  box-shadow: none;
}
.sqd-theme-dark .sqd-smart-editor-toggle {
  background: #6f6f6f;
  box-shadow: none;
}

.sqd-theme-dark.sqd-context-menu {
  background: #3f3f3f;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
  border: none;
  border-radius: 4px;
}

.sqd-theme-dark .sqd-context-menu-group {
  color: #ccc;
}

.sqd-theme-dark .sqd-context-menu-item {
  color: #fff;
  border-radius: 4px;
}

.sqd-theme-dark .sqd-context-menu-item:hover {
  background: #525252;
}

.sqd-theme-dark.sqd-designer {
  background: #1f1f1f;
}

.sqd-theme-dark .sqd-line-grid-path {
  stroke: #2a2a2a;
  stroke-width: 1;
}

.sqd-theme-dark .sqd-join {
  stroke-width: 2;
  stroke: #707070;
}

.sqd-theme-dark .sqd-region {
  stroke: #434343;
  stroke-width: 2;
  stroke-dasharray: 3;
}
.sqd-theme-dark .sqd-region.sqd-selected {
  stroke: #fff;
  stroke-width: 2;
  stroke-dasharray: 0;
}

.sqd-theme-dark .sqd-placeholder .sqd-placeholder-rect {
  fill: #0e0e0e;
  stroke: #6a6a6a;
  stroke-width: 1;
  stroke-dasharray: 3;
}
.sqd-theme-dark .sqd-placeholder.sqd-hover .sqd-placeholder-rect {
  fill: #ed4800;
}
.sqd-theme-dark .sqd-placeholder-icon-path {
  fill: #2b2b2b;
}
.sqd-theme-dark .sqd-placeholder.sqd-hover .sqd-placeholder-icon-path {
  fill: #fff;
}

.sqd-theme-dark .sqd-validation-error {
  fill: #ffa200;
}
.sqd-theme-dark .sqd-validation-error-icon-path {
  fill: #000;
}

.sqd-theme-dark .sqd-root-start-stop-circle {
  fill: #2c18df;
}
.sqd-theme-dark .sqd-root-start-stop-icon {
  fill: #fff;
}

.sqd-theme-dark .sqd-step-task .sqd-step-task-rect {
  fill: #c6c6c6;
  stroke-width: 1;
  stroke: none;
  filter: drop-shadow(0 1.5px 1.5px rgba(0, 0, 0, 0.15));
}
.sqd-theme-dark .sqd-step-task .sqd-step-task-rect.sqd-selected {
  stroke: #fff;
  stroke-width: 2;
}
.sqd-theme-dark .sqd-step-task .sqd-step-task-text {
  fill: #000;
}
.sqd-theme-dark .sqd-step-task .sqd-step-task-empty-icon {
  fill: #c6c6c6;
}
.sqd-theme-dark .sqd-step-task .sqd-input {
  fill: #c6c6c6;
  stroke-width: 2;
  stroke: #707070;
}
.sqd-theme-dark .sqd-step-task .sqd-output {
  fill: #707070;
  stroke-width: 0;
}

.sqd-theme-dark .sqd-step-switch > .sqd-label-primary > .sqd-label-text {
  fill: #fff;
}
.sqd-theme-dark .sqd-step-switch > .sqd-label-primary > .sqd-label-rect {
  fill: #2411db;
  stroke-width: 0;
}
.sqd-theme-dark .sqd-step-switch > .sqd-label-secondary > .sqd-label-rect {
  fill: #000;
  stroke-width: 0;
}
.sqd-theme-dark .sqd-step-switch > .sqd-label-secondary > .sqd-label-text {
  fill: #fff;
}
.sqd-theme-dark .sqd-step-switch > g > .sqd-input {
  fill: #c6c6c6;
  stroke-width: 2;
  stroke: #707070;
}

.sqd-theme-dark .sqd-step-launch-pad > g > .sqd-input {
  fill: #c6c6c6;
  stroke-width: 2;
  stroke: #707070;
}
.sqd-theme-dark .sqd-step-launch-pad > g > .sqd-output {
  fill: #707070;
  stroke-width: 0;
}

.sqd-theme-dark .sqd-step-container > .sqd-label > .sqd-label-text {
  fill: #fff;
}
.sqd-theme-dark .sqd-step-container > .sqd-label > .sqd-label-rect {
  fill: #2411db;
  stroke-width: 0;
}
.sqd-theme-dark .sqd-step-container > g > .sqd-input {
  fill: #c6c6c6;
  stroke-width: 2;
  stroke: #707070;
}

/* Layout and side panel of the workflow flow view (built into resources/dist). */
.wf-canvas { height: 70vh; min-height: 480px; border: 1px solid rgb(229 231 235); border-radius: 0.75rem; overflow: hidden; }
.dark .wf-canvas { border-color: rgb(255 255 255 / 0.1); }
.wf-canvas .sqd-toolbox { width: 15rem; }
.wf-canvas .sqd-smart-editor { width: 22rem; }
.wf-canvas .sqd-toolbox-item-text { font-size: 0.8rem; }
.wf-panel { padding: 1rem; font-size: 0.875rem; }
.wf-panel-title { margin: 0; font-size: 1rem; font-weight: 600; }
.wf-panel-type { margin: 0.125rem 0 0; opacity: 0.6; font-size: 0.75rem; }
.wf-panel-description { margin: 0.75rem 0 0; opacity: 0.8; }
.wf-panel-help { margin: 0; opacity: 0.7; }
.wf-panel-preview { margin-top: 0.75rem; }
.wf-panel-preview .fi-wf-step-preview { padding: 0; }
.wf-panel-actions { display: flex; gap: 0.5rem; margin-top: 1rem; flex-wrap: wrap; }
.wf-btn { border-radius: 0.5rem; padding: 0.375rem 0.75rem; font-size: 0.8rem; font-weight: 600; border: 1px solid rgb(209 213 219); background: white; cursor: pointer; }
.wf-btn:hover { background: rgb(243 244 246); }
.wf-btn-primary { background: rgb(245 158 11); border-color: rgb(245 158 11); color: white; }
.wf-btn-primary:hover { background: rgb(217 119 6); }
.wf-btn-danger { color: rgb(220 38 38); }
.dark .wf-btn { background: rgb(31 41 55); border-color: rgb(75 85 99); color: rgb(229 231 235); }
.dark .wf-btn-primary { background: rgb(245 158 11); color: rgb(17 24 39); }
/* Undo/redo would change the flow without the builder knowing; every change goes through the builder instead. */
.wf-canvas .sqd-control-bar-button[title="Undo"], .wf-canvas .sqd-control-bar-button[title="Redo"] { display: none; }
