@charset "UTF-8";.side-item-list[data-v-4187aa0f] {
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  font-size: 14px;
  background-color: var(--el-bg-color);
  border: 1px solid var(--el-border-color);
  border-radius: 5px;
}
.side-item-list .side-item[data-v-4187aa0f] {
  position: relative;
  height: 50px;
  padding: 0 20px;
  line-height: 50px;
  cursor: pointer;
}
.side-item-default[data-v-4187aa0f] {
  color: var(--el-text-color-primary);
  border-right: 2px solid transparent;
}
.side-item-select[data-v-4187aa0f] {
  color: var(--el-color-primary);
  background-color: var(--el-color-primary-light-9);
  border-right: 2px solid var(--el-color-primary);
}
.el-badge[data-v-4187aa0f] .el-badge__content {
  top: 0;
  border: none;
}
.el-badge[data-v-4187aa0f] {
  position: absolute;
  top: 0;
  right: 15px;
}.crm-bid-action[data-v-188d02ff] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-bid-action[data-v-188d02ff] .el-button + .el-button {
  margin-left: 0;
}
/**
 * 操作列对齐：.el-dropdown 是 vertical-align: top，.el-button 是 middle，混排会偏高，
 * 这里统一交给 flex 垂直居中。
 */
.crm-bid-platform-action[data-v-b862c7b5] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.crm-bid-platform-action[data-v-b862c7b5] .el-button + .el-button {
  margin-left: 0;
}
[data-v-af051e8e] .el-timeline {
  margin: 10px 0 0 110px;
}
[data-v-af051e8e] .el-timeline .el-timeline-item__wrapper {
  position: relative;
  top: -20px;
}
[data-v-af051e8e] .el-timeline .el-timeline-item__wrapper .el-timeline-item__timestamp {
  position: absolute !important;
  top: 10px;
  left: -150px;
}
[data-v-af051e8e] .el-timeline .el-timeline-right-content {
  display: flex;
  align-items: center;
  min-height: 30px;
  padding: 10px;
  background-color: #fff;
}
[data-v-af051e8e] .el-timeline .el-timeline-right-content::before {
  position: absolute;
  top: 10px;
  left: 13px; /* 将伪元素水平居中 */
  border-color: transparent #fff transparent transparent; /* 尖角颜色，左侧朝向 */
  border-style: solid;
  border-width: 8px; /* 调整尖角大小 */
  content: ""; /* 必须设置 content 属性 */
}
.dot-node-style[data-v-af051e8e] {
  position: absolute;
  left: -5px;
  display: flex;
  width: 20px;
  height: 20px;
  font-size: 10px;
  color: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
}
/**
 * 操作列对齐：统一交给 flex 垂直居中，并把 el-button 默认的 margin-left 换成 gap，
 * 避免按钮之间的间距不一致。
 * ⚠️ 与 `components/FollowUpList.vue` 同名同款，两处要同步改。
 */
.crm-followup-action[data-v-83411264] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-followup-action[data-v-83411264] .el-button + .el-button {
  margin-left: 0;
}.crm-contact-action[data-v-8d00bc19] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-contact-action[data-v-8d00bc19] .el-button + .el-button {
  margin-left: 0;
}.card-title[data-v-e4af26ac] {
  font-size: 14px;
  font-weight: 600;
}
.card-title[data-v-e4af26ac]::before {
  position: relative;
  top: 8px;
  left: -5px;
  display: inline-block;
  width: 3px;
  height: 14px;
  background: var(--el-color-primary);
  border-radius: 5px;
  content: "";
  transform: translateY(-50%);
}
/**
 * 操作列对齐：
 * element-plus 里 .el-dropdown 是 `vertical-align: top`，而 .el-button 是 `vertical-align: middle`，
 * 两者混排时「更多」会比「编辑」偏高。这里统一交给 flex 垂直居中。
 * 同时把 el-button 默认的 `margin-left: 12px` 换成 gap，避免「更多」前面缺 12px、后面又叠一层。
 */
.crm-customer-action[data-v-0ddc50a9] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-customer-action[data-v-0ddc50a9] .el-button + .el-button {
  margin-left: 0;
}

/**
 * 公司名称后的状态标记：★ 标星（重点客户）/ ↑ 置顶 / ☇ 已共享
 * 颜色引用 Element Plus 主题变量，跟随主题
 */
.customer-flag[data-v-0ddc50a9] {
  margin-left: 4px;
  font-weight: 600;
  cursor: default;
}
.customer-flag.flag-star[data-v-0ddc50a9] {
  color: var(--el-color-warning);
}
.customer-flag.flag-pin[data-v-0ddc50a9] {
  color: var(--el-color-danger);
}
.customer-flag.flag-shared[data-v-0ddc50a9] {
  color: var(--el-color-success);
}
/**
 * 操作列对齐：统一交给 flex 垂直居中，并把 el-button 默认的 margin-left 换成 gap，
 * 避免按钮之间的间距不一致。
 */
.crm-followup-action[data-v-244e2e61] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-followup-action[data-v-244e2e61] .el-button + .el-button {
  margin-left: 0;
}.crm-followup-action[data-v-d9b40cc0] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-followup-action[data-v-d9b40cc0] .el-button + .el-button {
  margin-left: 0;
}.crm-followup-action[data-v-5328def9] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-followup-action[data-v-5328def9] .el-button + .el-button {
  margin-left: 0;
}.crm-followup-action[data-v-54e35b5f] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-followup-action[data-v-54e35b5f] .el-button + .el-button {
  margin-left: 0;
}
.crm-order-tip[data-v-912d7cfb] {
  color: var(--el-text-color-secondary);
  font-size: 12px;
  line-height: 18px;
}
.crm-order-tip--danger[data-v-912d7cfb] {
  color: var(--el-color-danger);
}

/** 详情模式：整表只读 */
.crm-order-form--readonly[data-v-912d7cfb] {
  pointer-events: none;
}.crm-order-toolbar[data-v-29e481d0] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.crm-order-toolbar[data-v-29e481d0] .el-button + .el-button {
  margin-left: 0;
}
.crm-order-selected[data-v-29e481d0] {
  color: var(--el-text-color-secondary);
  font-size: 13px;
}
.crm-order-action[data-v-29e481d0] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-order-action[data-v-29e481d0] .el-button + .el-button {
  margin-left: 0;
}.crm-order-followup-action[data-v-39f9412b] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-order-followup-action[data-v-39f9412b] .el-button + .el-button {
  margin-left: 0;
}.crm-order-followup-action[data-v-b5117e04] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-order-followup-action[data-v-b5117e04] .el-button + .el-button {
  margin-left: 0;
}.crm-order-followup-action[data-v-3dc8d6f0] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-order-followup-action[data-v-3dc8d6f0] .el-button + .el-button {
  margin-left: 0;
}.crm-followup-action[data-v-c79c7059] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.crm-followup-action[data-v-c79c7059] .el-button + .el-button {
  margin-left: 0;
}