.title {
  font-size: 16px;
  font-weight: bold;
  padding: 8px;
  background-color: white;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.node-toolbar {
  display: flex;
  gap: 8px;
  background-color: white;
  padding: 6px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.toolbar-btn {
  cursor: pointer;
  border: none;
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 12px;
  color: white;
  display: flex;
  align-items: center;
}

.delete-btn {
  background-color: #f56c6c;
}

.delete-btn:hover {
  background-color: #e64242;
}

.duplicate-btn {
  background-color: #409eff;
}

.duplicate-btn:hover {
  background-color: #2a8ce8;
}

/* Vue Flow 自定义样式 */

/* 自定义节点通用样式 */
.vue-flow__node {
  border-radius: 5px;
  font-size: 14px;
  text-align: center;
  border: 1px solid #ddd;
  background-color: white;
  width: 240px;
  min-height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  z-index: -99 !important;
}

.vue-flow__node:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}

.vue-flow__node.selected {
  box-shadow: 0 0 0 2px #18a0fb;
}

/* 开始节点样式 */
.vue-flow__node.start {
  background-color: #e6f7ff;
  border-color: #1890ff;
  color: #1890ff;
  font-weight: bold;
}

/* 结束节点样式 */
.vue-flow__node.end {
  background-color: #f6ffed;
  border-color: #52c41a;
  color: #52c41a;
  font-weight: bold;
}

/* 申请证书节点样式 */
.vue-flow__node.apply {
  background-color: #fff7e6;
  border-color: #fa8c16;
  color: #fa8c16;
}

/* 部署证书节点样式 */
.vue-flow__node.deploy {
  background-color: #f9f0ff;
  border-color: #722ed1;
  color: #722ed1;
}

/* 通知节点样式 */
.vue-flow__node.notify {
  background-color: #fcf4f6;
  border-color: #eb2f96;
  color: #eb2f96;
}

/* 边的样式 */
.vue-flow__edge {
  stroke: #b1b1b7;
  stroke-width: 2;
  z-index: -1;
}

.vue-flow__edge.selected {
  stroke: #18a0fb;
  stroke-width: 3;
}

.vue-flow__edge-path {
  stroke: #b1b1b7;
  stroke-width: 2;
  z-index: -1;
}

.vue-flow__edge-path:hover {
  stroke: #18a0fb;
}

.vue-flow__edge.selected .vue-flow__edge-path {
  stroke: #18a0fb;
  stroke-width: 3;
}

/* 连接点样式 */
.vue-flow__handle {
  width: 8px;
  height: 8px;
  background-color: #1890ff;
  border-color: white;
  z-index: 0;
}

/* 工具栏样式 */
.node-toolbar {
  display: flex;
  gap: 5px;
  padding: 3px;
  background: white;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.toolbar-btn {
  padding: 3px 8px;
  border: none;
  border-radius: 3px;
  background: #f5f5f5;
  color: #333;
  cursor: pointer;
  font-size: 12px;
}

.toolbar-btn:hover {
  background: #e8e8e8;
}

.delete-btn {
  background: #fff1f0;
  color: #f5222d;
}

.delete-btn:hover {
  background: #ffa39e;
}

.duplicate-btn {
  background: #e6f7ff;
  color: #1890ff;
}

.duplicate-btn:hover {
  background: #bae7ff;
}

/* 迷你地图样式 */
.vue-flow__minimap {
  background-color: #f5f5f5;
  border: 1px solid #eee;
}

/* 背景样式 */
.vue-flow__background {
  background-color: #fafafa;
}

/* 控制面板样式 */
.vue-flow__controls {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.vue-flow__controls-button {
  background: white;
  border: 1px solid #eee;
  color: #666;
}

.vue-flow__controls-button:hover {
  background: #f5f5f5;
} 