/* ========================================
   织网 (WebWeave) - 协作流程编辑器样式
   ======================================== */

/* === 流程编辑器画布 === */
.workflow-editor-canvas {
  width: 100%;
  height: 100%;
  cursor: grab;
  position: relative;
}

.workflow-editor-canvas:active {
  cursor: grabbing;
}

/* === 流程节点 === */
.workflow-node {
  transition: transform var(--duration-normal);
  cursor: move;
}

.workflow-node:hover {
  transform: scale(1.1);
}

.workflow-node.selected {
  filter: url(#workflow-glow);
  opacity: 1.2;
}

/* === 流程边 === */
.workflow-edge {
  transition: all var(--duration-normal);
  cursor: pointer;
}

.workflow-edge:hover {
  stroke-width: 4 !important;
  filter: url(#workflow-glow);
}

.workflow-edge.selected {
  stroke-width: 4 !important;
  filter: url(#workflow-glow);
}

/* === 流程选择器 === */
.workflow-selector {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 100;
  background: linear-gradient(145deg, rgba(10, 10, 10, 0.98), rgba(26, 26, 46, 0.95));
  border: 2px solid var(--sacred-gold);
  border-radius: var(--radius-lg);
  padding: 20px;
  min-width: 300px;
  box-shadow: var(--holy-glow-medium);
}

.workflow-list {
  max-height: 400px;
  overflow-y: auto;
}

.workflow-item {
  padding: 15px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all var(--duration-normal);
}

.workflow-item:hover {
  transform: translateX(5px);
  box-shadow: var(--holy-glow-soft);
}

/* === 右键菜单 === */
.workflow-context-menu {
  position: fixed;
  background: linear-gradient(145deg, rgba(10, 10, 10, 0.98), rgba(26, 26, 46, 0.95));
  border: 2px solid var(--sacred-gold);
  border-radius: var(--radius-md);
  padding: 10px;
  z-index: 1000;
  box-shadow: var(--holy-glow-medium);
  min-width: 150px;
}

.context-menu-item {
  padding: 8px 15px;
  cursor: pointer;
  color: var(--holy-white);
  border-radius: var(--radius-sm);
  transition: all var(--duration-normal);
}

.context-menu-item:hover {
  background: rgba(184, 134, 11, 0.3);
}

/* === 节点类型特定样式 === */
.workflow-node[data-node-type="start"] {
  filter: drop-shadow(0 0 10px rgba(46, 204, 113, 0.5));
}

.workflow-node[data-node-type="end"] {
  filter: drop-shadow(0 0 10px rgba(139, 0, 0, 0.5));
}

.workflow-node[data-node-type="task"] {
  filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));
}

.workflow-node[data-node-type="decision"] {
  filter: drop-shadow(0 0 10px rgba(255, 140, 0, 0.5));
}

.workflow-node[data-node-type="parallel"] {
  filter: drop-shadow(0 0 10px rgba(30, 58, 138, 0.5));
}

.workflow-node[data-node-type="loop"] {
  filter: drop-shadow(0 0 10px rgba(184, 134, 11, 0.5));
}

/* === 响应式 === */
@media (max-width: 1024px) {
  .workflow-selector {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-bottom: 20px;
  }
}
